Class MongoDBBackendModule
java.lang.Object
com.kingsrook.qqq.backend.module.mongodb.MongoDBBackendModule
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<? extends QBackendMetaData> Method to identify the class used for backend meta data for this module.Method where a backend module must be able to provide its type (name).Class<? extends QTableBackendDetails> Method to identify the class used for table-backend details for this module.Open a session with snapshot read concern, so all reads through it see one point in time - best effort, as: - snapshot reads need a replica set (or sharded cluster).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface
getConditionalUpdateInterface, getGetInterface, getHealthCheck, getStorageInterface, getUnsupportedCapabilities, resyncKeySequences, supportsQueryLockMode, supportsSubQueries
-
Constructor Details
-
MongoDBBackendModule
public MongoDBBackendModule()
-
-
Method Details
-
getBackendType
Method where a backend module must be able to provide its type (name).- Specified by:
getBackendTypein interfaceQBackendModuleInterface
-
getBackendMetaDataClass
Method to identify the class used for backend meta data for this module.- Specified by:
getBackendMetaDataClassin interfaceQBackendModuleInterface
-
getTableBackendDetailsClass
Method to identify the class used for table-backend details for this module.- Specified by:
getTableBackendDetailsClassin interfaceQBackendModuleInterface
-
getCountInterface
- Specified by:
getCountInterfacein interfaceQBackendModuleInterface
-
getQueryInterface
- Specified by:
getQueryInterfacein interfaceQBackendModuleInterface
-
getInsertInterface
- Specified by:
getInsertInterfacein interfaceQBackendModuleInterface
-
getUpdateInterface
- Specified by:
getUpdateInterfacein interfaceQBackendModuleInterface
-
getDeleteInterface
- Specified by:
getDeleteInterfacein interfaceQBackendModuleInterface
-
getAggregateInterface
- Specified by:
getAggregateInterfacein interfaceQBackendModuleInterface
-
openTransaction
- Specified by:
openTransactionin interfaceQBackendModuleInterface
-
openConsistentReadTransaction
public Optional<QBackendTransaction> openConsistentReadTransaction(ConsistentReadInput input) throws QException Open a session with snapshot read concern, so all reads through it see one point in time - best effort, as: - snapshot reads need a replica set (or sharded cluster). On a standalone server, or for TABLE scope, we use a plain session, and report PER_TABLE. - the snapshot is only kept for minSnapshotHistoryWindowInSeconds (300 by default) - reads after that fail (SnapshotTooOld), and the caller should fall back (e.g., to per-table consistency). Sharing a snapshot with other sessions isn't supported - so no exported id.- Specified by:
openConsistentReadTransactionin interfaceQBackendModuleInterface- Throws:
QException
-