Uses of Interface
org.linuxforhealth.fhir.database.utils.model.IDatabaseObject
-
Packages that use IDatabaseObject Package Description org.linuxforhealth.fhir.database.utils.model org.linuxforhealth.fhir.schema.control -
-
Uses of IDatabaseObject in org.linuxforhealth.fhir.database.utils.model
Classes in org.linuxforhealth.fhir.database.utils.model that implement IDatabaseObject Modifier and Type Class Description class
AlterSequenceStartWith
Modify an existing sequence to start with a higher valueclass
AlterTableAddColumn
Add new columns to an existing table.class
AlterTableIdentityCache
Modify the CACHE property of an AS IDENTITY column (changes the CACHE property of the underlying SEQUENCE).class
BaseObject
BaseObjectclass
CreateIndex
Index creation definition for creating new indexes after the table has been defined (e.g.class
DatabaseObject
Represents objects which are part of the database, but which do not belong to a particular schema (like tablespace, for example).class
FunctionDef
The definition of a function, whose content is provided by a Supplierfunction class
NopObject
A NOP (no operation) object which can be used to simplify dependencies by making this object depend on other, then everything else simply depend on this, should that be the sort of behavior you want.class
ObjectGroup
A collection ofIDatabaseObject
which are applied in order within one transactionclass
ProcedureDef
The definition of a stored procedure, whose content is provided by a Supplierfunction class
Sequence
Sequence related to the SQL sequenceclass
Table
An immutable definition of a tableclass
Tablespace
Used to create and drop tablespaces within a databaseclass
View
Defines a SQL VIEW objectMethods in org.linuxforhealth.fhir.database.utils.model that return types with arguments of type IDatabaseObject Modifier and Type Method Description java.util.Collection<IDatabaseObject>
DatabaseObject. getDependencies()
Get the collection of dependencies for this objectjava.util.Collection<IDatabaseObject>
PhysicalDataModel. searchByTag(java.lang.String tagName, java.lang.String tagValue)
Find all the objects matching the given tag name and value.Methods in org.linuxforhealth.fhir.database.utils.model with parameters of type IDatabaseObject Modifier and Type Method Description void
BaseObject. addDependency(IDatabaseObject obj)
Add the given obj as a dependency of this (obj must be created before this, or dropped after this)View.Builder
View.Builder. addDependency(IDatabaseObject obj)
Add theIDatabaseObject
as a dependency for this viewvoid
PhysicalDataModel. addObject(IDatabaseObject obj)
Just a general object we don't need to know the details ofMethod parameters in org.linuxforhealth.fhir.database.utils.model with type arguments of type IDatabaseObject Modifier and Type Method Description void
BaseObject. addDependencies(java.util.Collection<IDatabaseObject> obj)
Add the given collection of dependencies to our setvoid
IDatabaseObject. addDependencies(java.util.Collection<IDatabaseObject> deps)
Add the collection of dependencies to this objectvoid
Tablespace. addDependencies(java.util.Collection<IDatabaseObject> deps)
FunctionDef
PhysicalDataModel. addFunction(java.lang.String schemaName, java.lang.String objectName, int version, java.util.function.Supplier<java.lang.String> templateProvider, java.util.Collection<IDatabaseObject> dependencies, java.util.Collection<GroupPrivilege> privileges)
adds the function to the model.FunctionDef
PhysicalDataModel. addFunction(java.lang.String schemaName, java.lang.String objectName, int version, java.util.function.Supplier<java.lang.String> templateProvider, java.util.Collection<IDatabaseObject> dependencies, java.util.Collection<GroupPrivilege> privileges, int distributeByParamNum)
adds the function to the model.ProcedureDef
PhysicalDataModel. addProcedure(java.lang.String schemaName, java.lang.String objectName, int version, java.util.function.Supplier<java.lang.String> templateProvider, java.util.Collection<IDatabaseObject> dependencies, java.util.Collection<GroupPrivilege> privileges)
Add a stored procedure definition.void
BaseObject. fetchDependenciesTo(java.util.Collection<IDatabaseObject> out)
void
IDatabaseObject. fetchDependenciesTo(java.util.Collection<IDatabaseObject> out)
Fetch dependencies from this into the given out listvoid
Tablespace. fetchDependenciesTo(java.util.Collection<IDatabaseObject> out)
void
PhysicalDataModel. processObjectsWithTag(java.lang.String tagName, java.lang.String tagValue, java.util.function.Consumer<IDatabaseObject> c)
Call the consumer for each object matching the given tag name/value tuplevoid
BaseObject. visit(java.util.function.Consumer<IDatabaseObject> c)
void
DatabaseObject. visit(java.util.function.Consumer<IDatabaseObject> c)
void
IDatabaseObject. visit(java.util.function.Consumer<IDatabaseObject> c)
Visit this object, calling the consumer for itself, or its children if anyvoid
ObjectGroup. visit(java.util.function.Consumer<IDatabaseObject> c)
Constructor parameters in org.linuxforhealth.fhir.database.utils.model with type arguments of type IDatabaseObject Constructor Description ObjectGroup(java.lang.String schemaName, java.lang.String name, java.util.Collection<IDatabaseObject> groupIn)
Public constructorTable(java.lang.String schemaName, java.lang.String name, int version, java.util.Collection<ColumnBase> columns, PrimaryKeyDef pk, IdentityDef identity, java.util.Collection<IndexDef> indexes, java.util.Collection<ForeignKeyConstraint> fkConstraints, Tablespace tablespace, java.util.List<IDatabaseObject> dependencies, java.util.Map<java.lang.String,java.lang.String> tags, java.util.Collection<GroupPrivilege> privileges, java.util.List<Migration> migrations, java.util.List<With> withs, java.util.List<CheckConstraint> checkConstraints, DistributionType distributionType, java.lang.String distributionColumnName, boolean create)
Public constructorView(java.lang.String schemaName, java.lang.String objectName, int version, java.lang.String selectClause, java.util.Collection<IDatabaseObject> dependencies, java.util.Map<java.lang.String,java.lang.String> tags, java.util.Collection<GroupPrivilege> privileges, java.util.List<Migration> migrations)
Protected constructor -
Uses of IDatabaseObject in org.linuxforhealth.fhir.schema.control
Methods in org.linuxforhealth.fhir.schema.control with parameters of type IDatabaseObject Modifier and Type Method Description protected void
FhirSchemaGenerator. addResourceTables(PhysicalDataModel model, IDatabaseObject... dependency)
Add the collection of tables for each of the listed FHIR resource typesMethod parameters in org.linuxforhealth.fhir.schema.control with type arguments of type IDatabaseObject Modifier and Type Method Description void
FhirResourceTableGroup. addDateValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
CREATE TABLE device_date_values ( row_id BIGINT NOT NULL, parameter_name_id INT NOT NULL, date_start TIMESTAMP, date_end TIMESTAMP, resource_id BIGINT NOT NULL ) ; CREATE INDEX idx_device_date_values_pser ON device_date_values(parameter_name_id, date_start, date_end, resource_id); CREATE INDEX idx_device_date_values_pesr ON device_date_values(parameter_name_id, date_end, date_start, resource_id); CREATE INDEX idx_device_date_values_rpse ON device_date_values(resource_id, parameter_name_id, date_start, date_end); ALTER TABLE device_date_values ADD CONSTRAINT fk_device_date_values_pn FOREIGN KEY (parameter_name_id) REFERENCES parameter_names; ALTER TABLE device_date_values ADD CONSTRAINT fk_device_date_values_r FOREIGN KEY (resource_id) REFERENCES device_resources;void
FhirResourceTableGroup. addLatLngValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
CREATE TABLE device_latlng_values ( row_id BIGINT NOT NULL, parameter_name_id INT NOT NULL, latitude_value DOUBLE, longitude_value DOUBLE, resource_id BIGINT NOT NULL ) CREATE INDEX idx_device_latlng_values_pnnlv ON device_latlng_values(parameter_name_id, latitude_value, resource_id); CREATE INDEX idx_device_latlng_values_pnnhv ON device_latlng_values(parameter_name_id, longitude_value, resource_id); CREATE INDEX idx_device_latlng_values_rplat ON device_latlng_values(resource_id, parameter_name_id, latitude_value); CREATE INDEX idx_device_latlng_values_rplng ON device_latlng_values(resource_id, parameter_name_id, longitude_value); ALTER TABLE device_latlng_values ADD CONSTRAINT fk_device_latlng_values_pn FOREIGN KEY (parameter_name_id) REFERENCES parameter_names; ALTER TABLE device_latlng_values ADD CONSTRAINT fk_device_latlng_values_r FOREIGN KEY (resource_id) REFERENCES device_resources;void
FhirResourceTableGroup. addListLogicalResourceItems(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Special case for LIST resources where we attach a child table to its LIST_LOGICAL_RESOURCES to support usage of the list items in search queries.void
FhirResourceTableGroup. addLogicalResources(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the logical_resources table definition for the given resource prefixvoid
FhirResourceTableGroup. addNumberValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
CREATE TABLE device_number_values ( row_id BIGINT NOT NULL, parameter_name_id INT NOT NULL, number_value DOUBLE, resource_id BIGINT NOT NULL ) ; CREATE INDEX idx_device_number_values_pnnv ON device_number_values(parameter_name_id, number_value, resource_id); CREATE INDEX idx_device_number_values_rps ON device_number_values(resource_id, parameter_name_id, number_value); ALTER TABLE device_number_values ADD CONSTRAINT fk_device_number_values_pn FOREIGN KEY (parameter_name_id) REFERENCES parameter_names; ALTER TABLE device_number_values ADD CONSTRAINT fk_device_number_values_r FOREIGN KEY (resource_id) REFERENCES device_resources;void
FhirResourceTableGroup. addPatientCurrentRefs(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the extension table used to support references to the current resources lists defined by the spec: https://www.hl7.org/fhir/lifecycle.html#currentTable
FhirResourceTableGroup. addProfiles(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the resource-specific profiles table which maps to the normalized URI values stored in COMMON_CANONICAL_VALUESvoid
FhirResourceTableGroup. addQuantityValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
CREATE TABLE device_quantity_values ( row_id BIGINT NOT NULL, parameter_name_id INT NOT NULL, code VARCHAR(255 OCTETS) NOT NULL, quantity_value DOUBLE, quantity_value_low DOUBLE, quantity_value_high DOUBLE, code_system_id INT, resource_id BIGINT NOT NULL ) ; CREATE INDEX idx_device_quantity_values_pnnv ON device_quantity_values(parameter_name_id, code, quantity_value, resource_id, code_system_id); CREATE INDEX idx_device_quantity_values_rps ON device_quantity_values(resource_id, parameter_name_id, code, quantity_value, code_system_id); CREATE INDEX idx_device_quantity_values_pclhsr ON device_quantity_values(parameter_name_id, code, quantity_value_low, quantity_value_high, code_system_id, resource_id); CREATE INDEX idx_device_quantity_values_pchlsr ON device_quantity_values(parameter_name_id, code, quantity_value_high, quantity_value_low, code_system_id, resource_id); CREATE INDEX idx_device_quantity_values_rpclhs ON device_quantity_values(resource_id, parameter_name_id, code, quantity_value_low, quantity_value_high, code_system_id); CREATE INDEX idx_device_quantity_values_rpchls ON device_quantity_values(resource_id, parameter_name_id, code, quantity_value_high, quantity_value_low, code_system_id); ALTER TABLE device_quantity_values ADD CONSTRAINT fk_device_quantity_values_pn FOREIGN KEY (parameter_name_id) REFERENCES parameter_names; ALTER TABLE device_quantity_values ADD CONSTRAINT fk_device_quantity_values_r FOREIGN KEY (resource_id) REFERENCES device_resources;Table
FhirResourceTableGroup. addRefValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Schema V0027 adds a dedicated table for supporting reference values instead of using token values.void
FhirResourceTableGroup. addRefValuesView(java.util.List<IDatabaseObject> group, java.lang.String prefix)
View to encapsulate the join between xx_ref_values and logical_resource_ident tables, which makes it easier for the search query builder to compose search queries using reference parameters.void
FhirResourceTableGroup. addResources(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the resources table definitionTable
FhirResourceTableGroup. addResourceTokenRefs(java.util.List<IDatabaseObject> group, java.lang.String prefix)
parameter_name_id INT NOT NULL, code_system_id INT NOT NULL, token_value VARCHAR(255 OCTETS), resource_id BIGINT NOT NULL composite_id SMALLINT ) ; /** New schema for issue #1366.Table
FhirResourceTableGroup. addSecurity(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the common_token_values mapping table for security search parametersvoid
FhirResourceTableGroup. addStrValues(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Add the STR_VALUES table for the given resource name prefixTable
FhirResourceTableGroup. addTags(java.util.List<IDatabaseObject> group, java.lang.String prefix)
Resource-specific tags.void
FhirResourceTableGroup. addTokenValuesView(java.util.List<IDatabaseObject> group, java.lang.String prefix)
View created over common_token_values and resource_token_refs to hide the schema change (V0006 issue 1366) as much as possible from the search query generation.Constructor parameters in org.linuxforhealth.fhir.schema.control with type arguments of type IDatabaseObject Constructor Description FhirResourceTableGroup(PhysicalDataModel model, java.lang.String schemaName, java.util.Set<IDatabaseObject> procedureDependencies, Tablespace fhirTablespace, java.util.Collection<GroupPrivilege> privileges, java.util.List<With> withs)
Public constructor
-