dennishuo opened a new pull request, #1070:
URL: https://github.com/apache/polaris/pull/1070

   Though this isn't 100% of the persistence refactor yet for unlocking 
non-transactional databases, this gets the main structure of the lower-level 
store layer mostly settled and possibly ready for parallel implementation work.
   
   Fully remove the vestigial "entitiesDropped" methods; these were originally 
for UNDROP but ended up not being used; they can be reintroduced with better 
design in the future if we want to add UNDROP.
   
   Extract BasePersistence interface as parent interface of 
PolarisMetaStoreSession which now becomes an abstract class;
    only leave the transaction-specific methods in PolarisMetaStoreSession.
   
   Eliminate all direct interaction with the "triplet tables" 
(entities/entitiesActive/entitiesChangeTracking) from 
PolarisMetaStoreManagerImpl in favor of aggregate methods declared in 
`BasePersistence`, and have the abstract base class `PolarisMetaStoreSession` 
handle the juggling of the three related tables.
   
   This includes lookupEntities[Active], writeToEntities[Active], 
deleteFromEntities[Active], etc.
   
   The new `writeEntity` method in `BasePersistence` now also includes 
`originalEntity` to make it more explicit what to use for the compare-and-swap. 
Technically we 90% only need the `originalEntity.getEntityVersion()` and 
`originalEntity.getGrantRecordsVersion()`, and in just the `renameEntity` case 
we also need to use `originalEntity.getParentId()` and 
`originalEntity.getName()`, but for now it doesn't hurt to just plumb in the 
entire original entity.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to