@@ -16,6 +16,12 @@ func init() {
1616type NoSQLClient interface {
1717 Query (ctx context.Context , req nosql.QueryRequest ) (nosql.QueryResponse , error )
1818 UpdateRow (ctx context.Context , req nosql.UpdateRowRequest ) (nosql.UpdateRowResponse , error )
19+ CreateTable (ctx context.Context , req nosql.CreateTableRequest ) (nosql.CreateTableResponse , error )
20+ DeleteRow (ctx context.Context , req nosql.DeleteRowRequest ) (nosql.DeleteRowResponse , error )
21+ DeleteTable (ctx context.Context , req nosql.DeleteTableRequest ) (nosql.DeleteTableResponse , error )
22+ GetRow (ctx context.Context , req nosql.GetRowRequest ) (nosql.GetRowResponse , error )
23+ GetTable (ctx context.Context , req nosql.GetTableRequest ) (nosql.GetTableResponse , error )
24+ UpdateTable (ctx context.Context , req nosql.UpdateTableRequest ) (nosql.UpdateTableResponse , error )
1925}
2026
2127type NoSQLClientWrapper struct {
@@ -41,23 +47,43 @@ func NRNewNoSQLClientWithConfigurationProvider(configProvider common.Configurati
4147}
4248
4349func extractRequestFieldsOCI (req any ) (string , string , string ) {
50+
51+ requestNilCheck := func (value * string ) string {
52+ if value != nil {
53+ return * value
54+ }
55+ return ""
56+ }
57+
4458 var collection , statement , compartmentID string
4559 switch r := req .(type ) {
4660 case nosql.QueryRequest :
4761 // Could do FROM <table-name> type of parse?
48- if r .QueryDetails .CompartmentId != nil {
49- compartmentID = * r .QueryDetails .CompartmentId
50- }
51- if r .Statement != nil {
52- statement = * r .Statement
53- }
62+ compartmentID = requestNilCheck (r .QueryDetails .CompartmentId )
63+ statement = requestNilCheck (r .QueryDetails .Statement )
5464 case nosql.UpdateRowRequest :
55- if r .TableNameOrId != nil {
56- collection = * r .TableNameOrId
57- }
58- if r .UpdateRowDetails .CompartmentId != nil {
59- compartmentID = * r .UpdateRowDetails .CompartmentId
60- }
65+ collection = requestNilCheck (r .TableNameOrId )
66+ compartmentID = requestNilCheck (r .UpdateRowDetails .CompartmentId )
67+ case nosql.CreateTableRequest :
68+ collection = requestNilCheck (r .CreateTableDetails .Name )
69+ compartmentID = requestNilCheck (r .CreateTableDetails .CompartmentId )
70+ statement = requestNilCheck (r .CreateTableDetails .DdlStatement )
71+ case nosql.DeleteRowRequest :
72+ collection = requestNilCheck (r .TableNameOrId )
73+ compartmentID = requestNilCheck (r .CompartmentId )
74+ case nosql.DeleteTableRequest :
75+ collection = requestNilCheck (r .TableNameOrId )
76+ compartmentID = requestNilCheck (r .CompartmentId )
77+ case nosql.GetRowRequest :
78+ collection = requestNilCheck (r .TableNameOrId )
79+ compartmentID = requestNilCheck (r .CompartmentId )
80+ case nosql.GetTableRequest :
81+ collection = requestNilCheck (r .TableNameOrId )
82+ compartmentID = requestNilCheck (r .CompartmentId )
83+ case nosql.UpdateTableRequest :
84+ collection = requestNilCheck (r .TableNameOrId )
85+ compartmentID = requestNilCheck (r .UpdateTableDetails .CompartmentId )
86+ statement = requestNilCheck (r .UpdateTableDetails .DdlStatement )
6187 default :
6288 // keep strings empty
6389 }
@@ -106,3 +132,39 @@ func (cw *NoSQLClientWrapper) UpdateRow(ctx context.Context, req *NoSQLClientReq
106132 return cw .Client .UpdateRow (ctx , req .ClientRequest )
107133 })
108134}
135+
136+ func (cw * NoSQLClientWrapper ) CreateTable (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.CreateTableRequest ]) (* NoSQLClientResponseWrapper [nosql.CreateTableResponse ], error ) {
137+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.CreateTableResponse , error ) {
138+ return cw .Client .CreateTable (ctx , req .ClientRequest )
139+ })
140+ }
141+
142+ func (cw * NoSQLClientWrapper ) DeleteRow (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.DeleteRowRequest ]) (* NoSQLClientResponseWrapper [nosql.DeleteRowResponse ], error ) {
143+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.DeleteRowResponse , error ) {
144+ return cw .Client .DeleteRow (ctx , req .ClientRequest )
145+ })
146+ }
147+
148+ func (cw * NoSQLClientWrapper ) DeleteTable (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.DeleteTableRequest ]) (* NoSQLClientResponseWrapper [nosql.DeleteTableResponse ], error ) {
149+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.DeleteTableResponse , error ) {
150+ return cw .Client .DeleteTable (ctx , req .ClientRequest )
151+ })
152+ }
153+
154+ func (cw * NoSQLClientWrapper ) GetRow (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.GetRowRequest ]) (* NoSQLClientResponseWrapper [nosql.GetRowResponse ], error ) {
155+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.GetRowResponse , error ) {
156+ return cw .Client .GetRow (ctx , req .ClientRequest )
157+ })
158+ }
159+
160+ func (cw * NoSQLClientWrapper ) GetTable (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.GetTableRequest ]) (* NoSQLClientResponseWrapper [nosql.GetTableResponse ], error ) {
161+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.GetTableResponse , error ) {
162+ return cw .Client .GetTable (ctx , req .ClientRequest )
163+ })
164+ }
165+
166+ func (cw * NoSQLClientWrapper ) UpdateTable (ctx context.Context , req * NoSQLClientRequestWrapper [nosql.UpdateTableRequest ]) (* NoSQLClientResponseWrapper [nosql.UpdateTableResponse ], error ) {
167+ return executeWithDatastoreSegmentOCI (ctx , req , func () (nosql.UpdateTableResponse , error ) {
168+ return cw .Client .UpdateTable (ctx , req .ClientRequest )
169+ })
170+ }
0 commit comments