@@ -16,6 +16,7 @@ import (
1616 "github.com/stackql/any-sdk/pkg/jsonpath"
1717 "github.com/stackql/any-sdk/pkg/netutils"
1818 "github.com/stackql/any-sdk/pkg/nomenclature"
19+ sdk_persistence "github.com/stackql/any-sdk/public/persistence"
1920 "github.com/stackql/any-sdk/public/sqlengine"
2021 "github.com/stackql/stackql/internal/stackql/acid/tsm"
2122 "github.com/stackql/stackql/internal/stackql/acid/txn_context"
@@ -67,6 +68,7 @@ type HandlerContext interface { //nolint:revive // don't mind stuttering this on
6768 GetSQLDataSource (name string ) (sql_datasource.SQLDataSource , bool )
6869 GetSQLEngine () sqlengine.SQLEngine
6970 GetSQLSystem () sql_system.SQLSystem
71+ GetPersistenceSystem () sdk_persistence.PersistenceSystem
7072 GetGarbageCollector () garbagecollector.GarbageCollector
7173 GetDrmConfig () drm.Config
7274 SetTxnCounterMgr (txncounter.Manager )
@@ -124,6 +126,7 @@ type standardHandlerContext struct {
124126 lRUCache * lrucache.LRUCache
125127 sqlEngine sqlengine.SQLEngine
126128 sqlSystem sql_system.SQLSystem
129+ persistenceSystem sdk_persistence.PersistenceSystem
127130 garbageCollector garbagecollector.GarbageCollector
128131 drmConfig drm.Config
129132 txnCounterMgr txncounter.Manager
@@ -216,6 +219,9 @@ func (hc *standardHandlerContext) SetOutErrFile(w io.Writer) {
216219func (hc * standardHandlerContext ) GetLRUCache () * lrucache.LRUCache { return hc .lRUCache }
217220func (hc * standardHandlerContext ) GetSQLEngine () sqlengine.SQLEngine { return hc .sqlEngine }
218221func (hc * standardHandlerContext ) GetSQLSystem () sql_system.SQLSystem { return hc .sqlSystem }
222+ func (hc * standardHandlerContext ) GetPersistenceSystem () sdk_persistence.PersistenceSystem {
223+ return hc .persistenceSystem
224+ }
219225func (hc * standardHandlerContext ) GetGarbageCollector () garbagecollector.GarbageCollector {
220226 return hc .garbageCollector
221227}
@@ -322,7 +328,7 @@ func (hc *standardHandlerContext) GetProvider(providerName string) (provider.IPr
322328 prov , ok := hc .providers [providerName ]
323329 //nolint:nestif // TODO: review
324330 if ! ok {
325- prov , err = provider .GetProvider (hc .runtimeContext , ds .Name , ds .Tag , hc .registry , hc .sqlSystem )
331+ prov , err = provider .GenerateProvider (hc .runtimeContext , ds .Name , ds .Tag , hc .registry , hc .sqlSystem , hc . persistenceSystem )
326332 if err == nil {
327333 hc .providers [providerName ] = prov
328334 // update auth info with provider default if auth not already present
@@ -519,6 +525,7 @@ func (hc *standardHandlerContext) Clone() HandlerContext {
519525 sqlEngine : hc .sqlEngine ,
520526 sqlDataSources : hc .sqlDataSources ,
521527 sqlSystem : hc .sqlSystem ,
528+ persistenceSystem : hc .persistenceSystem ,
522529 garbageCollector : hc .garbageCollector ,
523530 outErrFile : hc .outErrFile ,
524531 outfile : hc .outfile ,
@@ -594,6 +601,7 @@ func NewHandlerCtx(
594601 sqlEngine : sqlEngine ,
595602 sqlDataSources : inputBundle .GetSQLDataSources (),
596603 sqlSystem : inputBundle .GetSQLSystem (),
604+ persistenceSystem : inputBundle .GetPersistenceSystem (),
597605 garbageCollector : inputBundle .GetGC (),
598606 txnCounterMgr : inputBundle .GetTxnCounterManager (),
599607 txnStore : inputBundle .GetTxnStore (),
@@ -608,9 +616,13 @@ func NewHandlerCtx(
608616 outfile : outWriter ,
609617 outErrFile : outErrWriter ,
610618 }
611- drmCfg , err := drm .GetDRMConfig (inputBundle .GetSQLSystem (),
619+ drmCfg , err := drm .GenerateDRMConfig (
620+ inputBundle .GetSQLSystem (),
621+ inputBundle .GetPersistenceSystem (),
612622 inputBundle .GetTypingConfig (),
613- rv .namespaceCollection , controlAttributes )
623+ rv .namespaceCollection ,
624+ controlAttributes ,
625+ )
614626 if err != nil {
615627 return nil , err
616628 }
0 commit comments