Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: daf_butler
-
Story Points:3
-
Epic Link:
-
Team:Data Release Production
Description
From #dm-middleware on slack:
I'd like to get Datastores using the new schema stuff I added recently (TableSpec/FieldSpec) for anything they want to keep in the registry database, and I want to stop using a dict interface, as it's hard to map _setitem_ to insert and update, especially for bulk operations. I'm thinking of:
- Removing DatabaseDict and DatabaseDictRecordBase entirely.
- Add abstract methods to StoredDatastoreItemInfo to translate to/from dictionaries that correspond to records to be saved.
- Moving the logic for inserting and retrieving StoredDatastoreItemInfo from the database directly into GenericDatastoreBase. That would probably be _insert_info and _fetch_info methods that replace _info_to_record and _record_to_info.
- Overriding _insert_info and _fetch_info in InMemoryDatastore to save into a dict instead of letting GenericDatastoreBase's implementations write to the database.
Attachments
Issue Links
Activity
Description |
From #dm-middleware on slack:
{quote}I'd like to get Datastores using the new schema stuff I added recently (TableSpec/FieldSpec) for anything they want to keep in the registry database, and I want to stop using a dict interface, as it's hard to map __setitem__ to insert and update, especially for bulk operations. I'm thinking of: * Removing DatabaseDict and DatabaseDictRecordBase entirely. * Add abstract methods to StoredDatastoreItemInfo to translate to/from dictionaries that correspond to records to be saved. * Moving the logic for inserting and retrieving StoredDatastoreItemInfo from the database directly into GenericDatastoreBase. That would probably be _insert_info and _fetch_info methods that replace _info_to_record and _record_to_info. * Overriding _insert_info and _fetch_info in InMemoryDatastore to save into a dict instead of letting GenericDatastoreBase's implementations write to the database.{quote} |
Status | To Do [ 10001 ] | In Progress [ 3 ] |
Remote Link | This issue links to "Page (Confluence)" [ 22046 ] |
Reviewers | Tim Jenness [ tjenness ] | |
Status | In Progress [ 3 ] | In Review [ 10004 ] |
Labels | gen3-middleware | gen2-deprecation-blocker gen3-middleware |
Status | In Review [ 10004 ] | Reviewed [ 10101 ] |
Resolution | Done [ 10000 ] | |
Status | Reviewed [ 10101 ] | Done [ 10002 ] |
Tim Jenness, I know you're traveling, but you're still pretty clearly the best candidate for this review. No rush - I'll need to land some other changes before we can gain much advantage from these, and at least the first few of those will be quite orthogonal.