From b7a214d880b5a8536ae0bafa70f3cefdbcda6517 Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 6 Dec 2022 08:46:11 -0600 Subject: [PATCH] Add missing luminex table foreign key constraints and indices --- .../dbscripts/postgresql/luminex-22.000-22.001.sql | 13 +++++++++++++ luminex/src/org/labkey/luminex/LuminexModule.java | 2 +- .../org/labkey/luminex/query/TitrationTable.java | 3 ++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 luminex/resources/schemas/dbscripts/postgresql/luminex-22.000-22.001.sql diff --git a/luminex/resources/schemas/dbscripts/postgresql/luminex-22.000-22.001.sql b/luminex/resources/schemas/dbscripts/postgresql/luminex-22.000-22.001.sql new file mode 100644 index 0000000000..054315f012 --- /dev/null +++ b/luminex/resources/schemas/dbscripts/postgresql/luminex-22.000-22.001.sql @@ -0,0 +1,13 @@ + +-- add missing FK constraint and indices for luminex.AnalyteTitration +ALTER TABLE luminex.AnalyteTitration ADD CONSTRAINT FK_AnalyteTitration_AnalyteId FOREIGN KEY (AnalyteId) REFERENCES luminex.Analyte(RowId); +CREATE INDEX IDX_LuminexAnalyteTitration_AnalyteId ON luminex.AnalyteTitration(AnalyteId); +ALTER TABLE luminex.AnalyteTitration ADD CONSTRAINT FK_AnalyteTitration_TitrationId FOREIGN KEY (TitrationId) REFERENCES luminex.Titration(RowId); +CREATE INDEX IDX_LuminexAnalyteTitration_TitrationId ON luminex.AnalyteTitration(TitrationId); + +-- add missing indices for FK constraints on existing table columns +CREATE INDEX IDX_LuminexCurveFit_AnalyteIdTitrationId ON luminex.CurveFit(AnalyteId, TitrationId); +CREATE INDEX IDX_LuminexRunExclusion_RunId ON luminex.RunExclusion(RunId); +CREATE INDEX IDX_LuminexRunExclusionAnalyte_AnalyteId ON luminex.RunExclusionAnalyte(AnalyteId); +CREATE INDEX IDX_LuminexWellExclusion_DataId ON luminex.WellExclusion(DataId); +CREATE INDEX IDX_LuminexWellExclusionAnalyte_AnalyteId ON luminex.WellExclusionAnalyte(AnalyteId); \ No newline at end of file diff --git a/luminex/src/org/labkey/luminex/LuminexModule.java b/luminex/src/org/labkey/luminex/LuminexModule.java index a54f1afdf3..231ad917ce 100644 --- a/luminex/src/org/labkey/luminex/LuminexModule.java +++ b/luminex/src/org/labkey/luminex/LuminexModule.java @@ -46,7 +46,7 @@ public String getName() @Override public @Nullable Double getSchemaVersion() { - return 22.000; + return 22.001; } @Override diff --git a/luminex/src/org/labkey/luminex/query/TitrationTable.java b/luminex/src/org/labkey/luminex/query/TitrationTable.java index c66bcf395f..9e772df851 100644 --- a/luminex/src/org/labkey/luminex/query/TitrationTable.java +++ b/luminex/src/org/labkey/luminex/query/TitrationTable.java @@ -57,7 +57,8 @@ public TitrationTable(LuminexProtocolSchema schema, ContainerFilter cf, boolean String bTRUE = getSchema().getSqlDialect().getBooleanTRUE(); String bFALSE = getSchema().getSqlDialect().getBooleanFALSE(); SQLFragment qcReportSQL = new SQLFragment(); - qcReportSQL.append("(CASE WHEN Standard=").append(bTRUE).append(" OR QCControl=").append(bTRUE); + qcReportSQL.append("(CASE WHEN ").append(ExprColumn.STR_TABLE_ALIAS).append(".Standard=").append(bTRUE) + .append(" OR ").append(ExprColumn.STR_TABLE_ALIAS).append(".QCControl=").append(bTRUE); qcReportSQL.append(" THEN ").append(bTRUE).append(" ELSE ").append(bFALSE).append(" END)"); addColumn(new ExprColumn(this, "IncludeInQcReport", qcReportSQL, JdbcType.BOOLEAN));