-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DM-27985: Improvements to query system, especially temporal aspects #450
Commits on Dec 17, 2020
-
Configuration menu - View commit details
-
Copy full SHA for ed4f0d3 - Browse repository at this point
Copy the full SHA ed4f0d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a060fa - Browse repository at this point
Copy the full SHA 8a060faView commit details -
Rework interfaces for database representations of topological regions.
This adds a new SpatialRegionDatabaseRepresentation class to encapsulate how we store regions in the database, and shuffles some code between TimespanDatabaseRepresentation and its (and the new class's) base class, TopologicalEndpointDatabaseRepresentation. Because we still only have one representation for spatial regions in the database (opaque byte strings with no database-side operators), this doesn't change functionality, but it cleans up centralizes what was previously a lot of scattered hard-coding of how we handle regions. It may also make it a bit easier to support database-native regions with real operators someday in the future, but given that don't know if we'll ever want that, that's at most a small side bonus.
Configuration menu - View commit details
-
Copy full SHA for c2274c4 - Browse repository at this point
Copy the full SHA c2274c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55bc8c0 - Browse repository at this point
Copy the full SHA 55bc8c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 863d860 - Browse repository at this point
Copy the full SHA 863d860View commit details -
Improve stringification of DataCoordinate.
In addition to adding __repr__ and one __str__ to the classes returned by .full and .records, this makes DataCoordate.__repr__ report only required dimensions, because that's all that's in keys(). That's good because the inherited values() implementation returns a ValuesView with a __repr__ that prints the __repr__ of the whole mapping, so before this change, the keys *appearing* there would differ both from what was actually in the ValuesView and what was in the keys (and the same was true of items()/ItemsView, I think).
Configuration menu - View commit details
-
Copy full SHA for fb1eb5f - Browse repository at this point
Copy the full SHA fb1eb5fView commit details -
Rewrite Timespan with more careful edge-case handling and new methods.
This moves conversion to integer nanoseconds from astropy.time.Time to Timespan, instead of at the SQLAlchemy layer, which means we can finally make the edge-case handling (which has been improved - in that it's now consistent - in other ways) actually the same in Python and the DB. This also adds methods to construct TimespanDatabaseRepresentation instances from Timespan literals. That means we don't need to provide methods that relate TimespanDatabaseRepresentation to Timespan anymore. Code that starts with a mix of those types is now responsible for doing the conversion. On the other hand, because Timespan and TimespanDatabaseRepresentation can't exactly represent instants in time, we do need "overloads" for relatinship methods that take astropy.time.Time and sqlalchemy.sql.ColumnElement objects that represent times.
Configuration menu - View commit details
-
Copy full SHA for 0b29c0f - Browse repository at this point
Copy the full SHA 0b29c0fView commit details -
New module for converting WHERE expressions to SQL.
This one has support for timespan columns and bindparams, but is not used yet.
Configuration menu - View commit details
-
Copy full SHA for 3ef4a5c - Browse repository at this point
Copy the full SHA 3ef4a5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab2dad7 - Browse repository at this point
Copy the full SHA ab2dad7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86676a7 - Browse repository at this point
Copy the full SHA 86676a7View commit details -
Remove now-unused ClauseVisitor class.
This was the old way of converting expression trees to SQL.
Configuration menu - View commit details
-
Copy full SHA for c6e1999 - Browse repository at this point
Copy the full SHA c6e1999View commit details -
Reorganize expression-related modules.
This commit is _just_ moving code around and changing import statements.
Configuration menu - View commit details
-
Copy full SHA for 6e03ec7 - Browse repository at this point
Copy the full SHA 6e03ec7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5db051 - Browse repository at this point
Copy the full SHA f5db051View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7db96d7 - Browse repository at this point
Copy the full SHA 7db96d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35b7ad8 - Browse repository at this point
Copy the full SHA 35b7ad8View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa76e2e - Browse repository at this point
Copy the full SHA fa76e2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4163701 - Browse repository at this point
Copy the full SHA 4163701View commit details -
Move time-nsec conversion into a singleton class.
This defers all operations until first use (instead of import-time) and adds a bit of encapsulation.
Configuration menu - View commit details
-
Copy full SHA for f130e09 - Browse repository at this point
Copy the full SHA f130e09View commit details -
Replace "tsRepr" with "TimespanReprClass"
...and similarly for regRepr->RegionReprClass. These symbols invariably refer to a type object that is a subclass of TimespanDatabaseRepresentation (or SpatialRegionDatabaseRepresentation).
Configuration menu - View commit details
-
Copy full SHA for 1fe42b6 - Browse repository at this point
Copy the full SHA 1fe42b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75c3c1f - Browse repository at this point
Copy the full SHA 75c3c1fView commit details