Details
-
Epic
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
Go SDK Protostellar Support
-
0
Description
This is effectively a parent ticket for subtasks. This will involve creating a new backend which will be switched to instead of gocbcore, depending on connection string scheme or something like that.
Gocb should be able to switch to using the PS client rather than gocbcore as the backend. This will likely be done by using the connectionManager and having wrappers for both gocbcore and PS which both implement the abstraction and then perform conversion.
Backend selection will depend on the connection string scheme. It probably makes sense to have 2 connectionManager implementations, and gocb.Connect itself picks which to use. Alternatively we could have 1 connectionManager which will decide which backend to use and internally toggle its own mode.
Everything currently calls connectionManager.GetXProvider() to do work so these functions will need to always return interfaces (I think they already do).
For initial implementation this should probably be to create abstractions and make the gocbcoreps implementation return unimplemented errors or similar. Any references to gocbcore types etc.. should be moved into the gocbcore implementation, and tests should continue to pass.
All types specific to a backend should not be in the top level internal API and should be translated in the implementation layer.
Attachments
Issue Links
- is parent task of
-
GOCBC-1456 Add support for search indexes management to PS
- Resolved
-
GOCBC-1396 Implement open bucket call in ps client
- Resolved
-
GOCBC-1397 Implement connect call in ps client
- Resolved
-
GOCBC-1378 Create a protostellar client that can round trip a Get operation
- Resolved
-
GOCBC-1380 Implement CRUD operations in PS client
- Resolved
-
GOCBC-1381 Implement query in PS client
- Resolved
-
GOCBC-1382 Implement FTS in PS client
- Closed
-
GOCBC-1384 Map connection properties to PS client
- Closed
- relates to
-
GOCBC-1365 Pathfind: Initial Exploration of Protostellar
- Closed