Package org.linuxforhealth.fhir.database.utils.api
-
Interface Summary Interface Description ICatalogAccess Catalog Access to the backend adminstrative functionsIConnectionProvider Provides an abstract way to obtain a JDBC connection.IDatabaseAdapter Abstraction of the SQL to use for a given database.IDatabaseStatement Definition of the Database StatementIDatabaseSupplier<T> Represents a statement runnable byIDatabaseAdapter
returning a result of type T.IDatabaseTarget Abstraction of the ability to execute statements against a database.IDatabaseTranslator Lets us adjust DDL/DML/SQL statements to match the target database.IDatabaseTypeAdapter Used to handle the syntax differences between databases for certain types like varbinary/varchar as bit data etc.ILeaseManager Provides feedback on whether this instance owns the lease to the configured FHIR data schemaILeaseManagerConfig Provides configuration items used by the LeaseManagerISchemaAdapter Adapter to create a particular flavor of the FHIR schemaITransaction Simple service interface which allows us to hide how transactions are managed for the current thread.ITransactionProvider Abstraction of the service providing access to instances ofITransaction
which themselves are used to hide the underlying transaction implementation.IVersionHistoryService Service interface used to update the version history table (just before a transaction ends) -
Class Summary Class Description AllVersionHistoryService Useful implementation for when you want to apply all versions (e.g.ConnectionDetails Simple wrapper to encapsulate database connection infoDistributionContext Carrier for the distribution context passed to some adapter methodsPartitionInfo DTO for pertinent data from SYSCAT.DATAPARTITIONSSchemaApplyContext Used to control how the schema gets appliedSchemaApplyContext.Builder Builder forSchemaApplyContext
-
Enum Summary Enum Description DistributionType The type of distribution to use for a tablePartitionUnit ParititionUnit Enumeration indicates how frequently a Parition is created.SchemaType The flavor of database schema PLAIN - the schema we typically deploy to Derby or PostgreSQL DISTRIBUTED - for use with distributed technologies like Citus DB SHARDED - explicitly sharded using an injected shard_key columnTenantStatus Tenant Status Enumeration -
Exception Summary Exception Description BadTenantFrozenException BadTenantFrozenExceptionBadTenantKeyException BadTenantKeyExceptionBadTenantNameException BadTenantNameExceptionConcurrentUpdateException Schema update could not be completed because another instance of the update tool was runningConnectionException Translation of a SQLException representing an issue related to database connectivity.DataAccessException Simple runtime exception so that we can catch and handle where we needDatabaseNotReadyException DatabaseNotReadyExceptionDuplicateNameException The name of the object to be created is identical to an existing name.DuplicateSchemaException Translation of a duplicate schema to an exceptionLockException Translated exception for a SQLException representing a lock timeout or deadlock exceptionTableSpaceRemovalException When there is an issue removing the TablespaceUndefinedNameException Throws an undefined name exceptionUniqueConstraintViolationException Translation of a duplicate key or value constraint SQLException.