Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
902df2d
version bump
tadgh Jul 21, 2023
9a996ce
Bump to core release 6.0.22 (#5028)
dotasek Jul 24, 2023
1697783
Resolve 5126 hfj res ver prov might cause migration error on db that …
TynerGjs Jul 26, 2023
ff507cd
5123 - Use DEFAULT partition for server-based requests if none specif…
steve-corbett-smilecdr Jul 27, 2023
4820759
consent remove all suppresses next link in bundle (#5119)
fil512 Jul 27, 2023
e077393
5117 MDM Score for No Match Fields Should Not Be Included in Total Sc…
jdar8 Jul 27, 2023
03e7d73
wip run 5.2.0 migrations and then add test data
nathandoef Jun 5, 2023
0be8da4
Fix h2
SouradeepSahaSmile Jun 6, 2023
8676556
Fix postgres
SouradeepSahaSmile Jun 7, 2023
dcbf8e2
Complete until v5.4
SouradeepSahaSmile Jun 29, 2023
e9298ee
add sql migration scripts:
SouradeepSahaSmile Jun 30, 2023
fb13ec2
Temp
SouradeepSahaSmile Jul 11, 2023
a1353cf
Add v6_0_0
SouradeepSahaSmile Jul 12, 2023
4229c86
Add v6_8_0
SouradeepSahaSmile Jul 14, 2023
38b6988
Final changes
SouradeepSahaSmile Jul 21, 2023
d2209ce
clean up
nathandoef Jul 28, 2023
4ec17c9
_source search parameter needs to support modifiers (#5095)
volodymyr-korzh Jul 31, 2023
ca2c7bd
Fix HFQL docs (#5151)
nathandoef Aug 1, 2023
b816844
Expunge operation on codesystem may throw 500 internal error with pre…
epeartree Aug 2, 2023
d970ca5
documentation update (#5154)
TipzCM Aug 2, 2023
f82da96
Fix hsql jdbc driver deps (#5168)
michaelabuckley Aug 2, 2023
4fc99e7
$delete-expunge over 10k resources will now delete all resources (#5144)
Aug 3, 2023
f6f855b
updating documentation (#5170)
TipzCM Aug 3, 2023
4cd93fd
_source search parameter modifiers for Subscription matching (#5159)
volodymyr-korzh Aug 3, 2023
112dfcd
Complete Oracle
SouradeepSahaSmile Jul 31, 2023
91ba93c
Remove V6_8_0
SouradeepSahaSmile Aug 4, 2023
4b04bc8
apply mvn: spotless
SouradeepSahaSmile Aug 4, 2023
a6d64bf
Removal of meta tags during updates do not trigger subscription (#5181)
epeartree Aug 8, 2023
7a13fcc
Issue 5173 get gateway everything doesnt return all patients (#5174)
jmarchionatto Aug 8, 2023
5e30780
Do not 500 and continue IG ingestion when different IGs try to save d…
Aug 8, 2023
2ee1268
Merge remote-tracking branch 'origin/rel_6_8' into nd-ss-2023-07-27-a…
SouradeepSahaSmile Aug 9, 2023
f2e6d29
Merge branch 'master' into ss-automated-migration
SouradeepSahaSmile Aug 18, 2023
5be847d
Update CDR insert tables
SouradeepSahaSmile Aug 22, 2023
6fc4943
Update CDR insert tables
SouradeepSahaSmile Aug 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*/
package ca.uhn.fhir.jpa.embedded;

import ca.uhn.fhir.util.VersionEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -37,10 +38,9 @@ public void initializePersistenceSchema(JpaEmbeddedDatabase theDatabase) {
theDatabase.executeSqlAsBatch(sql);
}

public void insertPersistenceTestData(JpaEmbeddedDatabase theDatabase) {
String fileName = String.format(
"migration/releases/%s/data/%s.sql",
HapiEmbeddedDatabasesExtension.FIRST_TESTED_VERSION, theDatabase.getDriverType());
public void insertPersistenceTestData(JpaEmbeddedDatabase theDatabase, VersionEnum theVersionEnum) {
String fileName =
String.format("migration/releases/%s/data/%s.sql", theVersionEnum, theDatabase.getDriverType());
String sql = getSqlFromResourceFile(fileName);
theDatabase.insertTestData(sql);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,29 @@ public void stop() {
deleteDatabaseDirectoryIfExists();
}

private List<String> getAllTableNames() {
List<String> allTableNames = new ArrayList<>();
List<Map<String, Object>> queryResults =
query("SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMA = 'PUBLIC'");
for (Map<String, Object> row : queryResults) {
String tableName = row.get("TABLE_NAME").toString();
allTableNames.add(tableName);
}
return allTableNames;
}

@Override
public void disableConstraints() {
getJdbcTemplate().execute("SET REFERENTIAL_INTEGRITY = FALSE");
}

@Override
public void enableConstraints() {
getJdbcTemplate().execute("SET REFERENTIAL_INTEGRITY = TRUE");
List<String> sql = new ArrayList<>();
for (String tableName : getAllTableNames()) {
sql.add(String.format("ALTER TABLE \"%s\" SET REFERENTIAL_INTEGRITY TRUE CHECK", tableName));
}
executeSqlAsBatch(sql);
}

@Override
Expand All @@ -83,10 +98,7 @@ private void deleteDatabaseDirectoryIfExists() {

private void dropTables() {
List<String> sql = new ArrayList<>();
List<Map<String, Object>> tableResult =
query("SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMA = 'PUBLIC'");
for (Map<String, Object> result : tableResult) {
String tableName = result.get("TABLE_NAME").toString();
for (String tableName : getAllTableNames()) {
sql.add(String.format("DROP TABLE %s CASCADE", tableName));
}
executeSqlAsBatch(sql);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ public void initializePersistenceSchema(DriverTypeEnum theDriverType) {
myDatabaseInitializerHelper.initializePersistenceSchema(getEmbeddedDatabase(theDriverType));
}

public void insertPersistenceTestData(DriverTypeEnum theDriverType) {
myDatabaseInitializerHelper.insertPersistenceTestData(getEmbeddedDatabase(theDriverType));
public void insertPersistenceTestData(DriverTypeEnum theDriverType, VersionEnum theVersionEnum) {
myDatabaseInitializerHelper.insertPersistenceTestData(getEmbeddedDatabase(theDriverType), theVersionEnum);
}

public String getSqlFromResourceFile(String theFileName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void stop() {

@Override
public void disableConstraints() {
purgeRecycleBin();
List<String> sql = new ArrayList<>();
List<Map<String, Object>> queryResults =
query("SELECT CONSTRAINT_NAME, TABLE_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE != 'P'");
Expand All @@ -68,6 +69,7 @@ public void disableConstraints() {

@Override
public void enableConstraints() {
purgeRecycleBin();
List<String> sql = new ArrayList<>();
List<Map<String, Object>> queryResults =
query("SELECT CONSTRAINT_NAME, TABLE_NAME FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE != 'P'");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,43 @@ public void disableConstraints() {
executeSqlAsBatch(sql);
}

public void validateConstraints() {
getJdbcTemplate()
.execute(
"""
do $$
declare r record;
BEGIN
FOR r IN (
SELECT FORMAT(
'UPDATE pg_constraint SET convalidated=false WHERE conname = ''%I''; ALTER TABLE %I VALIDATE CONSTRAINT %I;',
tc.constraint_name,
tc.table_name,
tc.constraint_name
) AS x
FROM information_schema.table_constraints AS tc
JOIN information_schema.tables t ON t.table_name = tc.table_name and t.table_type = 'BASE TABLE'
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY'
AND tc.constraint_schema = 'public'
)
LOOP
EXECUTE (r.x);
END LOOP;
END;
$$;""");
}

@Override
public void enableConstraints() {

List<String> sql = new ArrayList<>();
for (String tableName : getAllTableNames()) {
sql.add(String.format("ALTER TABLE \"%s\" ENABLE TRIGGER ALL", tableName));
}
executeSqlAsBatch(sql);
validateConstraints();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
INSERT INTO MPI_LINK (
PID,
CREATED,
EID_MATCH,
TARGET_TYPE,
LINK_SOURCE,
MATCH_RESULT,
NEW_PERSON,
PERSON_PID,
SCORE,
TARGET_PID,
UPDATED,
VECTOR,
VERSION,
GOLDEN_RESOURCE_PID,
RULE_COUNT
) VALUES (
1,
'2023-04-05 15:16:26.43',
1,
'PATIENT',
0,
2,
1,
1906,
NULL,
1905,
'2023-04-05 15:16:26.43',
NULL,
'1',
1906,
1
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
INSERT INTO MPI_LINK (
PID,
CREATED,
EID_MATCH,
TARGET_TYPE,
LINK_SOURCE,
MATCH_RESULT,
NEW_PERSON,
PERSON_PID,
SCORE,
TARGET_PID,
UPDATED,
VECTOR,
VERSION,
GOLDEN_RESOURCE_PID,
RULE_COUNT
) VALUES (
1,
'2023-04-05 15:16:26.43',
1,
'PATIENT',
0,
2,
1,
1906,
NULL,
1905,
'2023-04-05 15:16:26.43',
NULL,
'1',
1906,
1
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
INSERT INTO MPI_LINK (
PID,
CREATED,
EID_MATCH,
TARGET_TYPE,
LINK_SOURCE,
MATCH_RESULT,
NEW_PERSON,
PERSON_PID,
SCORE,
TARGET_PID,
UPDATED,
VECTOR,
VERSION,
GOLDEN_RESOURCE_PID,
RULE_COUNT
) VALUES (
1,
SYSDATE,
1,
'PATIENT',
0,
2,
1,
1906,
NULL,
1905,
SYSDATE,
NULL,
'1',
1906,
1
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
INSERT INTO MPI_LINK (
PID,
CREATED,
EID_MATCH,
TARGET_TYPE,
LINK_SOURCE,
MATCH_RESULT,
NEW_PERSON,
PERSON_PID,
SCORE,
TARGET_PID,
UPDATED,
VECTOR,
VERSION,
GOLDEN_RESOURCE_PID,
RULE_COUNT
) VALUES (
1,
'2023-04-05 15:16:26.43',
true,
'PATIENT',
0,
2,
true,
1906,
NULL,
1905,
'2023-04-05 15:16:26.43',
NULL,
'1',
1906,
1
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
INSERT INTO HFJ_RESOURCE (
RES_ID,
RES_VERSION,
HAS_TAGS,
RES_PUBLISHED,
RES_UPDATED,
SP_HAS_LINKS,
HASH_SHA256,
SP_INDEX_STATUS,
SP_CMPSTR_UNIQ_PRESENT,
SP_COORDS_PRESENT,
SP_DATE_PRESENT,
SP_NUMBER_PRESENT,
SP_QUANTITY_NRML_PRESENT,
SP_QUANTITY_PRESENT,
SP_STRING_PRESENT,
SP_TOKEN_PRESENT,
SP_URI_PRESENT,
RES_TYPE,
RES_VER
) VALUES (
1702,
'R4',
0,
'2023-06-15 09:58:42.92',
'2023-06-15 09:58:42.92',
0,
'6beed652b77f6c65d776e57341a0b5b0596ac9cfb0e8345a5a5cfbfaa59e2b62',
1,
0,
0,
0,
0,
0,
0,
0,
1,
1,
'Observation',
1
);


INSERT INTO HFJ_SPIDX_QUANTITY_NRML (
RES_ID,
RES_TYPE,
SP_UPDATED,
SP_MISSING,
SP_NAME, SP_ID,
SP_SYSTEM,
SP_UNITS,
HASH_IDENTITY_AND_UNITS,
HASH_IDENTITY_SYS_UNITS,
HASH_IDENTITY,
SP_VALUE
) VALUES (
1702,
'Observation',
'2023-04-05 15:16:26.43',
0, 'value-quantity',
2,
'https://unitsofmeasure.org',
'g',
-864931808150710347,
6382255012744790145,
-1901136387361512731,
0.012
);
Loading