diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseTypeAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseTypeAdapter.java index 6860034c2a8..bab22adbc4d 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseTypeAdapter.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/IDatabaseTypeAdapter.java @@ -35,6 +35,14 @@ public default String doubleClause() { return "DOUBLE"; } + /** + * Generate a clause for smallint data type + * @return + */ + public default String smallintClause() { + return "SMALLINT"; + } + /** * Generate a clause for VARCHAR * @param size diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/ISchemaAdapter.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/ISchemaAdapter.java index 536404a32a3..7af8243cca8 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/ISchemaAdapter.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/ISchemaAdapter.java @@ -228,7 +228,7 @@ public void createIndex(String schemaName, String tableName, String indexName, S public void activateRowAccessControl(String schemaName, String tableName); /** - * Deactivate row access control on a table ALTER TABLE DEACTIVATE ROW + * Deactivate row access control on a table ALTER TABLE tbl_name DEACTIVATE ROW * ACCESS CONTROL * * @param schemaName diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/SchemaApplyContext.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/SchemaApplyContext.java index e7b0cf284e8..1c7cc32b2d9 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/SchemaApplyContext.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/api/SchemaApplyContext.java @@ -20,6 +20,11 @@ public class SchemaApplyContext { protected SchemaApplyContext(boolean includeForeignKeys) { this.includeForeignKeys = includeForeignKeys; } + + /** + * Get the includeForeignKeys flag + * @return + */ public boolean isIncludeForeignKeys() { return this.includeForeignKeys; } diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/citus/ConfigureConnectionDAO.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/citus/ConfigureConnectionDAO.java index 039c07682b0..c75b26004ff 100644 --- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/citus/ConfigureConnectionDAO.java +++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/citus/ConfigureConnectionDAO.java @@ -16,8 +16,10 @@ /** * DAO to configure the Citus database connection when performing schema build * activities. This must be performed before any of the following UDFs are called: - * - create_distributed_table - * - create_reference_table + * * to avoid the following error: *
  * org.postgresql.util.PSQLException: ERROR: cannot modify table "common_token_values" because there was a parallel operation on a distributed table in the transaction
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/PreparedStatementHelper.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/PreparedStatementHelper.java
index e2fd1de3f8f..7be7e257cf1 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/PreparedStatementHelper.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/common/PreparedStatementHelper.java
@@ -17,8 +17,12 @@
  */
 public class PreparedStatementHelper {
     // The PreparedStatement we delegate everything to
-    private final Calendar UTC = CalendarHelper.getCalendarForUTC();
     private final PreparedStatement ps;
+
+    // The calendar to make sure all times are treated as UTC
+    private final Calendar UTC = CalendarHelper.getCalendarForUTC();
+
+    // The current parameter index in the statement
     private int index = 1;
 
     /**
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IDatabaseObject.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IDatabaseObject.java
index 74d0a8a7b9c..1ea54e4170e 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IDatabaseObject.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IDatabaseObject.java
@@ -47,6 +47,7 @@ public interface IDatabaseObject {
     /**
      * Apply the DDL, but within its own transaction
      * @param target the target database we apply to
+     * @param context the context used to modify how the schema objects are applied
      * @param cp of thread-specific transactions
      * @param vhs the service interface for adding this object to the version history table
      */
@@ -107,6 +108,7 @@ public interface IDatabaseObject {
      * executed concurrently (but in the right order)
      * @param tc
      * @param target
+     * @param context
      * @param tp
      * @param vhs
      */
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IndexDef.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IndexDef.java
index 9867b98fcef..d6e900123a5 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IndexDef.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/IndexDef.java
@@ -67,9 +67,13 @@ public boolean isUnique() {
 
     /**
      * Apply this object to the given database target
+     * 
+     * @param schemaName
      * @param tableName
+     * @param tenantColumnName
      * @param target
-     * @param distributionRules
+     * @param distributionType
+     * @param distributionColumn
      */
     public void apply(String schemaName, String tableName, String tenantColumnName, ISchemaAdapter target,
             DistributionType distributionType, String distributionColumn) {
diff --git a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java
index 753718b1764..2aa9075ba10 100644
--- a/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java
+++ b/fhir-database-utils/src/main/java/com/ibm/fhir/database/utils/model/SmallIntColumn.java
@@ -23,7 +23,6 @@ public SmallIntColumn(String name, boolean nullable, String defaultValue) {
 
     @Override
     public String getTypeInfo(IDatabaseTypeAdapter adapter) {
-        // TODO ask the adapter for the type name to use for a smallint type column.
-        return "SMALLINT";
+        return adapter.smallintClause();
     }
 }
\ No newline at end of file
diff --git a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavor.java b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavor.java
index 662a310cd7a..30eb68cd212 100644
--- a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavor.java
+++ b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavor.java
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright IBM Corp. 2020
+ * (C) Copyright IBM Corp. 2020, 2022
  *
  * SPDX-License-Identifier: Apache-2.0
  */
diff --git a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavorImpl.java b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavorImpl.java
index 777da38703d..c1c14c3df2f 100644
--- a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavorImpl.java
+++ b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/connection/FHIRDbFlavorImpl.java
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright IBM Corp. 2020
+ * (C) Copyright IBM Corp. 2020, 2022
  *
  * SPDX-License-Identifier: Apache-2.0
  */
diff --git a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/dao/api/JDBCIdentityCache.java b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/dao/api/JDBCIdentityCache.java
index 64fe5b71e2f..746cbb3f925 100644
--- a/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/dao/api/JDBCIdentityCache.java
+++ b/fhir-persistence-jdbc/src/main/java/com/ibm/fhir/persistence/jdbc/dao/api/JDBCIdentityCache.java
@@ -117,9 +117,11 @@ public interface JDBCIdentityCache {
      * Get a list of logical_resource_id values matching the given logicalId without
      * knowing the resource type. This means we could get back multiple ids, one per
      * resource type, such as:
-     *   Claim/foo
-     *   Observation/foo
-     *   Patient/foo
+     * 
      * @param tokenValue
      * @return
      */
diff --git a/fhir-persistence/src/main/java/com/ibm/fhir/persistence/FHIRPersistence.java b/fhir-persistence/src/main/java/com/ibm/fhir/persistence/FHIRPersistence.java
index 9ee3113c1cd..d7f32e8b807 100644
--- a/fhir-persistence/src/main/java/com/ibm/fhir/persistence/FHIRPersistence.java
+++ b/fhir-persistence/src/main/java/com/ibm/fhir/persistence/FHIRPersistence.java
@@ -268,7 +268,7 @@ List changes(FHIRPersistenceContext context, int resour
     /**
      * Erases part or a whole of a resource in the data layer.
      *
-     * @param context
+     * @param context the FHIRPersistenceContext associated with this request
      * @param eraseDto the details of the user input
      * @return a record indicating the success or partial success of the erase
      * @throws FHIRPersistenceException
diff --git a/fhir-persistence/src/main/java/com/ibm/fhir/persistence/context/impl/FHIRPersistenceContextImpl.java b/fhir-persistence/src/main/java/com/ibm/fhir/persistence/context/impl/FHIRPersistenceContextImpl.java
index 5371e0382ac..b43d4241b01 100644
--- a/fhir-persistence/src/main/java/com/ibm/fhir/persistence/context/impl/FHIRPersistenceContextImpl.java
+++ b/fhir-persistence/src/main/java/com/ibm/fhir/persistence/context/impl/FHIRPersistenceContextImpl.java
@@ -107,8 +107,8 @@ public Builder withIfNoneMatch(Integer ifNoneMatch) {
         }
 
         /**
-         * Build with the shardKey value
-         * @param shardKey
+         * Build with the requestShard value
+         * @param requestShard
          * @return
          */
         public Builder withRequestShard(String requestShard) {