Class DerbyResourceReferenceDAO
- java.lang.Object
-
- com.ibm.fhir.persistence.jdbc.dao.impl.ResourceReferenceDAO
-
- com.ibm.fhir.persistence.jdbc.derby.DerbyResourceReferenceDAO
-
- All Implemented Interfaces:
IResourceReferenceDAO
,AutoCloseable
public class DerbyResourceReferenceDAO extends ResourceReferenceDAO
Postgres-specific extension of theResourceReferenceDAO
to work around some SQL syntax and Postgres concurrency issues
-
-
Constructor Summary
Constructors Constructor Description DerbyResourceReferenceDAO(IDatabaseTranslator t, Connection c, String schemaName, ICommonTokenValuesCache cache)
Public constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doCanonicalValuesUpsert(String paramList, Collection<String> urls)
Insert any missing values into the common_canonical_values tablevoid
doCodeSystemsUpsert(String paramList, Collection<String> systemNames)
Insert any missing values into the code_systems tableprotected void
doCommonTokenValuesUpsert(String paramList, Collection<CommonTokenValue> tokenValues)
Execute the insert (upsert) into the common_token_values table for the given collection of values.Set<CommonTokenValueResult>
readCommonTokenValueIds(Collection<CommonTokenValue> tokenValues)
Find database ids for a set of common token valuesvoid
upsertCommonTokenValues(List<ResourceTokenValueRec> values)
Add reference value records for each unique reference name in the given list-
Methods inherited from class com.ibm.fhir.persistence.jdbc.dao.impl.ResourceReferenceDAO
addNormalizedValues, close, flush, getCache, getConnection, getResourceReferenceCache, getSchemaName, getTranslator, insertResourceProfiles, insertResourceSecurity, insertResourceTags, insertResourceTokenRefs, insertSystemResourceProfiles, insertSystemResourceSecurity, insertSystemResourceTags, insertSystemResourceTokenRefs, persist, readCanonicalId, readCommonTokenValueId, readCommonTokenValueIdList, upsertCanonicalValues, upsertCodeSystems
-
-
-
-
Constructor Detail
-
DerbyResourceReferenceDAO
public DerbyResourceReferenceDAO(IDatabaseTranslator t, Connection c, String schemaName, ICommonTokenValuesCache cache)
Public constructor- Parameters:
t
-c
-schemaName
-cache
-
-
-
Method Detail
-
readCommonTokenValueIds
public Set<CommonTokenValueResult> readCommonTokenValueIds(Collection<CommonTokenValue> tokenValues)
Description copied from interface:IResourceReferenceDAO
Find database ids for a set of common token values- Specified by:
readCommonTokenValueIds
in interfaceIResourceReferenceDAO
- Overrides:
readCommonTokenValueIds
in classResourceReferenceDAO
- Returns:
- a non-null, possibly-empty set of ids from common_token_values.common_token_value_id; CommonTokenValues with no corresponding record will be omitted from the set
-
doCodeSystemsUpsert
public void doCodeSystemsUpsert(String paramList, Collection<String> systemNames)
Description copied from class:ResourceReferenceDAO
Insert any missing values into the code_systems table- Specified by:
doCodeSystemsUpsert
in classResourceReferenceDAO
-
doCanonicalValuesUpsert
public void doCanonicalValuesUpsert(String paramList, Collection<String> urls)
Description copied from class:ResourceReferenceDAO
Insert any missing values into the common_canonical_values table- Specified by:
doCanonicalValuesUpsert
in classResourceReferenceDAO
-
doCommonTokenValuesUpsert
protected void doCommonTokenValuesUpsert(String paramList, Collection<CommonTokenValue> tokenValues)
Description copied from class:ResourceReferenceDAO
Execute the insert (upsert) into the common_token_values table for the given collection of values. Note, this insert from negative outer join requires the database concurrency implementation to be correct. This does not work for Postgres, hence Postgres gets its own implementation of this method- Specified by:
doCommonTokenValuesUpsert
in classResourceReferenceDAO
-
upsertCommonTokenValues
public void upsertCommonTokenValues(List<ResourceTokenValueRec> values)
Description copied from class:ResourceReferenceDAO
Add reference value records for each unique reference name in the given list- Overrides:
upsertCommonTokenValues
in classResourceReferenceDAO
-
-