Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
612 changes: 612 additions & 0 deletions luminex/resources/schemas/dbscripts/postgresql/luminex-0.00-17.10.sql

Large diffs are not rendered by default.

660 changes: 660 additions & 0 deletions luminex/resources/schemas/dbscripts/sqlserver/luminex-0.00-17.10.sql

Large diffs are not rendered by default.

1,087 changes: 1,087 additions & 0 deletions ms2/resources/schemas/dbscripts/postgresql/ms2-0.00-17.10.sql

Large diffs are not rendered by default.

1,169 changes: 1,169 additions & 0 deletions ms2/resources/schemas/dbscripts/sqlserver/ms2-0.00-17.10.sql

Large diffs are not rendered by default.

188 changes: 188 additions & 0 deletions nab/resources/schemas/dbscripts/postgresql/nab-0.00-17.10.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
/*
* Copyright (c) 2017-2018 LabKey Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/* nab-12.30-13.10.sql */

CREATE SCHEMA nab;

CREATE TABLE nab.cutoffvalue
(
rowid SERIAL NOT NULL,
nabspecimenid INT NOT NULL,
cutoff DOUBLE PRECISION,
point DOUBLE PRECISION,
pointoorindicator VARCHAR(20),

ic_poly DOUBLE PRECISION,
ic_polyoorindicator VARCHAR(20),
ic_4pl DOUBLE PRECISION,
ic_4ploorindicator VARCHAR(20),
ic_5pl DOUBLE PRECISION,
ic_5ploorindicator VARCHAR(20),

CONSTRAINT pk_nab_cutoffvalue PRIMARY KEY (rowid)
);

CREATE TABLE nab.nabspecimen
(
rowid SERIAL NOT NULL,
dataid INT,
runid INT NOT NULL,
specimenlsid lsidtype NOT NULL,
FitError DOUBLE PRECISION,
WellgroupName VARCHAR(100),

auc_poly DOUBLE PRECISION,
positiveauc_poly DOUBLE PRECISION,
auc_4pl DOUBLE PRECISION,
positiveauc_4pl DOUBLE PRECISION,
auc_5pl DOUBLE PRECISION,
positiveauc_5pl DOUBLE PRECISION,

-- For legacy migration purposes
objecturi VARCHAR(300),
objectid INT NOT NULL,
protocolid INT,
viruslsid lsidtype,

CONSTRAINT pk_nab_specimen PRIMARY KEY (rowid),
CONSTRAINT fk_nabspecimen_experimentrun FOREIGN KEY (runid)
REFERENCES exp.experimentrun (rowid) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_nabspecimen_specimenlsid FOREIGN KEY (specimenlsid)
REFERENCES exp.material (lsid)
ON UPDATE NO ACTION ON DELETE NO ACTION
);

CREATE INDEX idx_nabspecimen_runid ON nab.nabspecimen(runid);
CREATE INDEX idx_nabspecimen_objectid ON nab.nabspecimen(objectid);
CREATE INDEX idx_nabspecimen_dataid ON nab.nabspecimen(dataid);

ALTER TABLE nab.cutoffvalue ADD CONSTRAINT fk_cutoffvalue_nabspecimen FOREIGN KEY (nabspecimenid)
REFERENCES nab.nabspecimen (rowid) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE nab.nabspecimen ADD CONSTRAINT fk_nabspecimen_protocolid FOREIGN KEY (protocolid)
REFERENCES exp.protocol (rowid) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;


CREATE INDEX IDX_NAbSpecimen_ProtocolId ON nab.NAbSpecimen(ProtocolId);
CREATE INDEX IDX_CutoffValue_NabSpecimenId ON nab.cutoffvalue USING btree (NabSpecimenId);

/* nab-14.20-14.30.sql */

CREATE SCHEMA nabvirus;

/* nab-15.10-15.11.sql */

CREATE INDEX IDX_NAbSpecimen_SpecimenLSID ON nab.NAbSpecimen(SpecimenLSID);

/* nab-15.20-15.21.sql */

CREATE TABLE nab.dilutiondata
(
RowId SERIAL NOT NULL,
Dilution DOUBLE PRECISION,
DilutionOrder INT,
PercentNeutralization DOUBLE PRECISION,
NeutralizationPlusMinus DOUBLE PRECISION,
Min DOUBLE PRECISION,
Max DOUBLE PRECISION,
Mean DOUBLE PRECISION,
StdDev DOUBLE PRECISION,
WellgroupName VARCHAR(100),
ReplicateName VARCHAR(100),
RunDataId INT,
MinDilution DOUBLE PRECISION,
MaxDilution DOUBLE PRECISION,
PlateNumber INT,
RunId INT,
ProtocolId INT,
Container ENTITYID NOT NULL,

CONSTRAINT pk_dilutiondata PRIMARY KEY (RowId)

);

ALTER TABLE nab.dilutiondata ADD CONSTRAINT fk_dilutiondata_experimentrun FOREIGN KEY (RunId)
REFERENCES exp.experimentrun (RowId) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE nab.dilutiondata ADD CONSTRAINT fk_dilutiondata_rundataid FOREIGN KEY (RunDataId)
REFERENCES nab.nabspecimen (RowId) ON UPDATE NO ACTION ON DELETE NO ACTION;

CREATE INDEX IDX_DilutionData_RunId ON nab.DilutionData(RunId);

CREATE TABLE nab.welldata
(
RowId SERIAL NOT NULL,
RunId INT NOT NULL,
SpecimenLsid lsidtype,
RunDataId INT,
DilutionDataId INT,
ProtocolId INT,
"Row" INT,
"Column" INT,
Value REAL,
ControlWellgroup VARCHAR(100),
VirusWellgroup VARCHAR(100),
SpecimenWellgroup VARCHAR(100),
ReplicateWellgroup VARCHAR(100),
ReplicateNumber INT,
Container ENTITYID NOT NULL,
PlateNumber INT,
PlateVirusName VARCHAR(100),

CONSTRAINT pk_welldata PRIMARY KEY (RowId),
CONSTRAINT fk_welldata_experimentrun FOREIGN KEY (RunId)
REFERENCES exp.experimentrun (RowId) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_welldata_specimenlsid FOREIGN KEY (SpecimenLsid)
REFERENCES exp.material (Lsid)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_welldata_rundataid FOREIGN KEY (RunDataId)
REFERENCES nab.nabspecimen (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_welldata_dilutiondataid FOREIGN KEY (DilutionDataId)
REFERENCES nab.dilutiondata (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION

);

CREATE INDEX idx_welldata_runid ON nab.welldata(RunId);

/* nab-16.20-16.30.sql */

-- note : nab-16.20-nab-16.21 was backported to release 16.2 to fix issue : 27040
-- when scripts are consolidated for 16.3 we will need to account for both 16.20-16.30 and 16.21-16.30 upgrade paths
CREATE INDEX IDX_WellData_DilutionDataId ON nab.wellData(dilutionDataId);

-- conditionally create the index, this is necessary because the index creation did not exist initially
-- in script: nab-16.20-16.21 but was added later to fix issue 27040
CREATE FUNCTION nab.ensureIndex() RETURNS void AS $$
BEGIN
IF NOT EXISTS(SELECT * FROM pg_indexes WHERE SchemaName = 'nab' AND TableName = 'welldata' AND IndexName = 'idx_welldata_dilutiondataid') THEN
EXECUTE 'CREATE INDEX IDX_WellData_DilutionDataId ON nab.wellData(dilutionDataId)';
END IF;
END
$$ LANGUAGE plpgsql;

SELECT nab.ensureIndex();
DROP FUNCTION nab.ensureIndex();

/* nab-16.30-17.10.sql */

/* nab-16.30-16.31.sql */

ALTER TABLE nab.WellData ADD Excluded BOOLEAN NOT NULL DEFAULT FALSE;
194 changes: 194 additions & 0 deletions nab/resources/schemas/dbscripts/sqlserver/nab-0.00-17.10.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
/*
* Copyright (c) 2015-2017 LabKey Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/* nab-12.30-13.10.sql */

CREATE SCHEMA nab;
GO

CREATE TABLE nab.CutoffValue
(
RowId INT IDENTITY (1, 1) NOT NULL,
NAbSpecimenId INT NOT NULL,
Cutoff DOUBLE PRECISION,
Point DOUBLE PRECISION,
PointOORIndicator NVARCHAR(20),

IC_Poly DOUBLE PRECISION,
IC_PolyOORIndicator NVARCHAR(20),
IC_4pl DOUBLE PRECISION,
IC_4plOORIndicator NVARCHAR(20),
IC_5pl DOUBLE PRECISION,
IC_5plOORIndicator NVARCHAR(20),

CONSTRAINT PK_NAb_CutoffValue PRIMARY KEY (RowId)
);

CREATE TABLE nab.NAbSpecimen
(
RowId INT IDENTITY (1, 1) NOT NULL,
DataId INT,
RunId INT NOT NULL,
SpecimenLSID LSIDtype NOT NULL,
FitError DOUBLE PRECISION,
WellgroupName NVARCHAR(100),

AUC_poly DOUBLE PRECISION,
PositiveAUC_Poly DOUBLE PRECISION,
AUC_4pl DOUBLE PRECISION,
PositiveAUC_4pl DOUBLE PRECISION,
AUC_5pl DOUBLE PRECISION,
PositiveAUC_5pl DOUBLE PRECISION,

-- For legacy migration purposes
ObjectUri NVARCHAR(300),
ObjectId INT NOT NULL,
ProtocolId INT,
viruslsid lsidtype,

CONSTRAINT PK_NAb_Specimen PRIMARY KEY (RowId),
CONSTRAINT FK_NAbSpecimen_ExperimentRun FOREIGN KEY (RunId)
REFERENCES Exp.ExperimentRun (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT FK_NAbSpecimen_SpecimenLSID FOREIGN KEY (SpecimenLSID)
REFERENCES Exp.Material (LSID)
ON UPDATE NO ACTION ON DELETE NO ACTION
);

CREATE INDEX IDX_NAbSpecimen_RunId ON nab.NAbSpecimen(RunId);
CREATE INDEX IDX_NAbSpecimen_ObjectId ON nab.NAbSpecimen(ObjectId);
CREATE INDEX IDX_NAbSpecimen_DataId ON nab.NAbSpecimen(DataId);

ALTER TABLE nab.CutoffValue ADD CONSTRAINT FK_CutoffValue_NAbSpecimen FOREIGN KEY (NAbSpecimenId)
REFERENCES nab.NAbSpecimen (rowid);
ALTER TABLE nab.NAbSpecimen ADD CONSTRAINT FK_NAbSpecimen_ProtocolId FOREIGN KEY (ProtocolId)
REFERENCES Exp.Protocol (rowid);


CREATE INDEX IDX_NAbSpecimen_ProtocolId ON nab.NAbSpecimen(ProtocolId);
CREATE INDEX IDX_CutoffValue_NabSpecimenId ON nab.cutoffvalue(NabSpecimenId);
GO

/* nab-14.20-14.30.sql */

CREATE SCHEMA nabvirus;
GO

/* nab-15.10-15.11.sql */

CREATE INDEX IDX_NAbSpecimen_SpecimenLSID ON nab.NAbSpecimen(SpecimenLSID);

/* nab-15.20-15.21.sql */

CREATE TABLE nab.DilutionData
(
RowId INT IDENTITY (1, 1) NOT NULL,
Dilution DOUBLE PRECISION,
DilutionOrder INT,
PercentNeutralization DOUBLE PRECISION,
NeutralizationPlusMinus DOUBLE PRECISION,
Min DOUBLE PRECISION,
Max DOUBLE PRECISION,
Mean DOUBLE PRECISION,
StdDev DOUBLE PRECISION,
WellgroupName NVARCHAR(100),
ReplicateName NVARCHAR(100),
RunDataId INT,
MaxDilution DOUBLE PRECISION,
MinDilution DOUBLE PRECISION,
PlateNumber INT,
RunId INT,
ProtocolId INT,
Container ENTITYID NOT NULL,

CONSTRAINT PK_NAb_DilutionData PRIMARY KEY (RowId)
);

ALTER TABLE nab.DilutionData ADD CONSTRAINT FK_DilutionData_ExperimentRun FOREIGN KEY (RunId)
REFERENCES Exp.ExperimentRun (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE nab.DilutionData ADD CONSTRAINT FK_DilutionData_RunDataId FOREIGN KEY (RunDataId)
REFERENCES nab.NAbSpecimen (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION;

CREATE INDEX IDX_DilutionData_RunId ON nab.DilutionData(RunId);

CREATE TABLE nab.WellData
(
RowId INT IDENTITY (1, 1) NOT NULL,
RunId INT NOT NULL,
SpecimenLsid LSIDtype NULL,
RunDataId INT NULL,
DilutionDataId INT,
ProtocolId INT,
"Row" INT,
"Column" INT,
Value REAL,
ControlWellgroup NVARCHAR(100),
VirusWellgroup NVARCHAR(100),
SpecimenWellgroup NVARCHAR(100),
ReplicateWellgroup NVARCHAR(100),
ReplicateNumber INT,
Container EntityId NOT NULL,
PlateNumber INT,
PlateVirusName NVARCHAR(100),

CONSTRAINT PK_NAb_WellData PRIMARY KEY (RowId),
CONSTRAINT FK_WellData_ExperimentRun FOREIGN KEY (RunId)
REFERENCES Exp.ExperimentRun (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT FK_WellData_SpecimenLSID FOREIGN KEY (SpecimenLSID)
REFERENCES Exp.Material (LSID)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT FK_WellData_RunDataId FOREIGN KEY (RunDataId)
REFERENCES NAb.NAbSpecimen (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT FK_WellData_DilutionDataId FOREIGN KEY (DilutionDataId)
REFERENCES NAb.DilutionData (RowId)
ON UPDATE NO ACTION ON DELETE NO ACTION

);

CREATE INDEX IDX_WellData_RunId ON nab.WellData(RunId);

/* nab-16.20-16.30.sql */

-- note : nab-16.20-nab-16.21 was backported to release 16.2 to fix issue : 27040
-- when scripts are consolidated for 16.3 we will need to account for both 16.20-16.30 and 16.21-16.30 upgrade paths
CREATE INDEX IDX_WellData_DilutionDataId ON nab.wellData(dilutionDataId);

GO

-- conditionally create the index, this is necessary because the index creation did not exist initially
-- in script: nab-16.20-16.21 but was added later to fix issue 27040
CREATE PROCEDURE nab.ensureIndex AS
BEGIN
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name = 'IDX_WellData_DilutionDataId')
BEGIN
execute('CREATE INDEX IDX_WellData_DilutionDataId ON nab.wellData(dilutionDataId)');
END
END;
GO

EXEC nab.ensureIndex
GO

DROP PROCEDURE nab.ensureIndex
GO

/* nab-16.30-17.10.sql */

ALTER TABLE nab.WellData ADD Excluded BIT NOT NULL DEFAULT 0;