Skip to content
Merged

Fixes #804

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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto
2 changes: 1 addition & 1 deletion R/createDdl.R
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ createDdl <- function(cdmVersion){
if ('person_id' %in% fieldNames){
hintContent <- "--HINT DISTRIBUTE_ON_KEY(person_id)"
} else {
hintContent <- "--HINT DISTRIBUTE_ON_KEY(RANDOM)"
hintContent <- "--HINT DISTRIBUTE_ON_RANDOM"
}

# Add SORT_ON_KEY if table is in sortKeyMap and has all the sort fields
Expand Down
8 changes: 6 additions & 2 deletions R/writeDDL.R
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,19 @@ writeDdl <- function(targetDialect, cdmVersion, outputfolder, cdmDatabaseSchema
sql <- createDdl(cdmVersion)
sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect)
sql <- SqlRender::translate(sql, targetDialect = targetDialect)
sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF

# Post-processing: remove conditional markers and handle dialects
lines <- strsplit(sql, "\n")[[1]]

if (tolower(targetDialect) == "redshift") {
# For Redshift: remove conditional markers but keep the HINT lines
lines <- lines[!grepl("\\{#?if|\\{/if\\}", lines)]
} else {
# For non-Redshift: remove HINT directives and conditional markers
lines <- lines[!grepl("--HINT|\\{#?if|\\{/if\\}", lines)]
}

sql <- paste(lines, collapse = "\n")

filename <- paste("OMOPCDM", gsub(" ", "_", targetDialect), cdmVersion, "ddl.sql", sep = "_")
Expand Down Expand Up @@ -84,6 +85,7 @@ writePrimaryKeys <- function(targetDialect, cdmVersion, outputfolder, cdmDatabas
sql <- createPrimaryKeys(cdmVersion)
sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect)
sql <- SqlRender::translate(sql, targetDialect = targetDialect)
sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF

# Post-processing: remove any conditional markers that may have been added
lines <- strsplit(sql, "\n")[[1]]
Expand Down Expand Up @@ -115,6 +117,7 @@ writeForeignKeys <- function(targetDialect, cdmVersion, outputfolder, cdmDatabas
sql <- createForeignKeys(cdmVersion)
sql <- SqlRender::render(sql = sql, cdmDatabaseSchema = cdmDatabaseSchema, targetDialect = targetDialect)
sql <- SqlRender::translate(sql, targetDialect = targetDialect)
sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF

# Post-processing: remove any conditional markers that may have been added
lines <- strsplit(sql, "\n")[[1]]
Expand Down Expand Up @@ -147,6 +150,7 @@ writeIndex <- function(targetDialect, cdmVersion, outputfolder, cdmDatabaseSchem
sql <- readr::read_file(system.file(file.path("sql", "sql_server", sqlFilename), package = "CommonDataModel"))
sql <- SqlRender::render(sql, targetDialect = targetDialect, cdmDatabaseSchema = cdmDatabaseSchema)
sql <- SqlRender::translate(sql, targetDialect = targetDialect)
sql <- gsub("\r\n?", "\n", sql) ## force line endings to be LF

filename <- paste("OMOPCDM", gsub(" ", "_", targetDialect), cdmVersion, "indices.sql", sep = "_")
# Use writeLines instead of SqlRender::writeSql to avoid line wrapping
Expand Down
1,032 changes: 516 additions & 516 deletions inst/csv/OMOP_CDMv5.3_Field_Level.csv

Large diffs are not rendered by default.

166 changes: 83 additions & 83 deletions inst/csv/OMOP_CDMv5.3_Table_Level.csv

Large diffs are not rendered by default.

866 changes: 433 additions & 433 deletions inst/csv/OMOP_CDMv5.4_Field_Level.csv

Large diffs are not rendered by default.

90 changes: 45 additions & 45 deletions inst/csv/OMOP_CDMv5.4_Table_Level.csv

Large diffs are not rendered by default.

916 changes: 458 additions & 458 deletions inst/csv/OMOP_CDMv5.5_Field_Level.csv

Large diffs are not rendered by default.

96 changes: 48 additions & 48 deletions inst/csv/OMOP_CDMv5.5_Table_Level.csv

Large diffs are not rendered by default.

868 changes: 434 additions & 434 deletions inst/csv/OMOP_CDMv6.0_Field_Level.csv

Large diffs are not rendered by default.

20 changes: 0 additions & 20 deletions inst/ddl/5.3/iris/OMOPCDM_iris_5.3_ddl.sql
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,6 @@ CREATE TABLE @cdmDatabaseSchema.note (
visit_occurrence_id integer NULL,
visit_detail_id integer NULL,
note_source_value varchar(50) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.note_nlp (
note_nlp_id integer NOT NULL,
note_id integer NOT NULL,
Expand Down Expand Up @@ -242,14 +241,12 @@ CREATE TABLE @cdmDatabaseSchema.specimen (
unit_source_value varchar(50) NULL,
anatomic_site_source_value varchar(50) NULL,
disease_status_source_value varchar(50) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.fact_relationship (
domain_concept_id_1 integer NOT NULL,
fact_id_1 integer NOT NULL,
domain_concept_id_2 integer NOT NULL,
fact_id_2 integer NOT NULL,
relationship_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.location (
location_id integer NOT NULL,
address_1 varchar(50) NULL,
Expand All @@ -259,15 +256,13 @@ CREATE TABLE @cdmDatabaseSchema.location (
zip varchar(9) NULL,
county varchar(20) NULL,
location_source_value varchar(50) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.care_site (
care_site_id integer NOT NULL,
care_site_name varchar(255) NULL,
place_of_service_concept_id integer NULL,
location_id integer NULL,
care_site_source_value varchar(50) NULL,
place_of_service_source_value varchar(50) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.provider (
provider_id integer NOT NULL,
provider_name varchar(255) NULL,
Expand Down Expand Up @@ -301,7 +296,6 @@ CREATE TABLE @cdmDatabaseSchema.payer_plan_period (
stop_reason_concept_id integer NULL,
stop_reason_source_value varchar(50) NULL,
stop_reason_source_concept_id integer NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.cost (
cost_id integer NOT NULL,
cost_event_id integer NOT NULL,
Expand Down Expand Up @@ -351,7 +345,6 @@ CREATE TABLE @cdmDatabaseSchema.condition_era (
condition_era_start_date date NOT NULL,
condition_era_end_date date NOT NULL,
condition_occurrence_count integer NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.metadata (
metadata_concept_id integer NOT NULL,
metadata_type_concept_id integer NOT NULL,
Expand All @@ -360,7 +353,6 @@ CREATE TABLE @cdmDatabaseSchema.metadata (
value_as_concept_id integer NULL,
metadata_date date NULL,
metadata_datetime datetime NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.cdm_source (
cdm_source_name varchar(255) NOT NULL,
cdm_source_abbreviation varchar(25) NULL,
Expand All @@ -372,7 +364,6 @@ CREATE TABLE @cdmDatabaseSchema.cdm_source (
cdm_release_date date NULL,
cdm_version varchar(10) NULL,
vocabulary_version varchar(20) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.concept (
concept_id integer NOT NULL,
concept_name varchar(255) NOT NULL,
Expand All @@ -384,51 +375,43 @@ CREATE TABLE @cdmDatabaseSchema.concept (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.vocabulary (
vocabulary_id varchar(20) NOT NULL,
vocabulary_name varchar(255) NOT NULL,
vocabulary_reference varchar(255) NOT NULL,
vocabulary_version varchar(255) NULL,
vocabulary_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema."DOMAIN" (
domain_id varchar(20) NOT NULL,
domain_name varchar(255) NOT NULL,
domain_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.concept_class (
concept_class_id varchar(20) NOT NULL,
concept_class_name varchar(255) NOT NULL,
concept_class_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.concept_relationship (
concept_id_1 integer NOT NULL,
concept_id_2 integer NOT NULL,
relationship_id varchar(20) NOT NULL,
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.relationship (
relationship_id varchar(20) NOT NULL,
relationship_name varchar(255) NOT NULL,
is_hierarchical varchar(1) NOT NULL,
defines_ancestry varchar(1) NOT NULL,
reverse_relationship_id varchar(20) NOT NULL,
relationship_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.concept_synonym (
concept_id integer NOT NULL,
concept_synonym_name varchar(1000) NOT NULL,
language_concept_id integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.concept_ancestor (
ancestor_concept_id integer NOT NULL,
descendant_concept_id integer NOT NULL,
min_levels_of_separation integer NOT NULL,
max_levels_of_separation integer NOT NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.source_to_concept_map (
source_code varchar(50) NOT NULL,
source_concept_id integer NOT NULL,
Expand All @@ -439,7 +422,6 @@ CREATE TABLE @cdmDatabaseSchema.source_to_concept_map (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.drug_strength (
drug_concept_id integer NOT NULL,
ingredient_concept_id integer NOT NULL,
Expand All @@ -453,7 +435,6 @@ CREATE TABLE @cdmDatabaseSchema.drug_strength (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.cohort_definition (
cohort_definition_id integer NOT NULL,
cohort_definition_name varchar(255) NOT NULL,
Expand All @@ -462,7 +443,6 @@ CREATE TABLE @cdmDatabaseSchema.cohort_definition (
cohort_definition_syntax varchar(MAX) NULL,
subject_concept_id integer NOT NULL,
cohort_initiation_date date NULL );
-- "haven't looked into this yet, skip it for now""
CREATE TABLE @cdmDatabaseSchema.attribute_definition (
attribute_definition_id integer NOT NULL,
attribute_name varchar(255) NOT NULL,
Expand Down
40 changes: 20 additions & 20 deletions inst/ddl/5.3/netezza/OMOPCDM_netezza_5.3_ddl.sql
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ CREATE TABLE @cdmDatabaseSchema.note_nlp (
term_exists varchar(1) NULL,
term_temporal varchar(50) NULL,
term_modifiers varchar(2000) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.specimen (
specimen_id integer NOT NULL,
person_id integer NOT NULL,
Expand All @@ -254,7 +254,7 @@ CREATE TABLE @cdmDatabaseSchema.fact_relationship (
domain_concept_id_2 integer NOT NULL,
fact_id_2 integer NOT NULL,
relationship_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.location (
location_id integer NOT NULL,
address_1 varchar(50) NULL,
Expand All @@ -264,15 +264,15 @@ CREATE TABLE @cdmDatabaseSchema.location (
zip varchar(9) NULL,
county varchar(20) NULL,
location_source_value varchar(50) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.care_site (
care_site_id integer NOT NULL,
care_site_name varchar(255) NULL,
place_of_service_concept_id integer NULL,
location_id integer NULL,
care_site_source_value varchar(50) NULL,
place_of_service_source_value varchar(50) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.provider (
provider_id integer NOT NULL,
provider_name varchar(255) NULL,
Expand All @@ -287,7 +287,7 @@ CREATE TABLE @cdmDatabaseSchema.provider (
specialty_source_concept_id integer NULL,
gender_source_value varchar(50) NULL,
gender_source_concept_id integer NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.payer_plan_period (
payer_plan_period_id integer NOT NULL,
person_id integer NOT NULL,
Expand Down Expand Up @@ -330,7 +330,7 @@ CREATE TABLE @cdmDatabaseSchema.cost (
revenue_code_source_value varchar(50) NULL,
drg_concept_id integer NULL,
drg_source_value varchar(3) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
SORT_ON_KEY(INTERLEAVED:drug_concept_id,person_id)
CREATE TABLE @cdmDatabaseSchema.drug_era (
drug_era_id integer NOT NULL,
Expand Down Expand Up @@ -366,7 +366,7 @@ CREATE TABLE @cdmDatabaseSchema.metadata (
value_as_concept_id integer NULL,
metadata_date date NULL,
metadata_datetime TIMESTAMP NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.cdm_source (
cdm_source_name varchar(255) NOT NULL,
cdm_source_abbreviation varchar(25) NULL,
Expand All @@ -378,7 +378,7 @@ CREATE TABLE @cdmDatabaseSchema.cdm_source (
cdm_release_date date NULL,
cdm_version varchar(10) NULL,
vocabulary_version varchar(20) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.concept (
concept_id integer NOT NULL,
concept_name varchar(255) NOT NULL,
Expand All @@ -390,51 +390,51 @@ CREATE TABLE @cdmDatabaseSchema.concept (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.vocabulary (
vocabulary_id varchar(20) NOT NULL,
vocabulary_name varchar(255) NOT NULL,
vocabulary_reference varchar(255) NOT NULL,
vocabulary_version varchar(255) NULL,
vocabulary_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.domain (
domain_id varchar(20) NOT NULL,
domain_name varchar(255) NOT NULL,
domain_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.concept_class (
concept_class_id varchar(20) NOT NULL,
concept_class_name varchar(255) NOT NULL,
concept_class_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.concept_relationship (
concept_id_1 integer NOT NULL,
concept_id_2 integer NOT NULL,
relationship_id varchar(20) NOT NULL,
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.relationship (
relationship_id varchar(20) NOT NULL,
relationship_name varchar(255) NOT NULL,
is_hierarchical varchar(1) NOT NULL,
defines_ancestry varchar(1) NOT NULL,
reverse_relationship_id varchar(20) NOT NULL,
relationship_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.concept_synonym (
concept_id integer NOT NULL,
concept_synonym_name varchar(1000) NOT NULL,
language_concept_id integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.concept_ancestor (
ancestor_concept_id integer NOT NULL,
descendant_concept_id integer NOT NULL,
min_levels_of_separation integer NOT NULL,
max_levels_of_separation integer NOT NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.source_to_concept_map (
source_code varchar(50) NOT NULL,
source_concept_id integer NOT NULL,
Expand All @@ -445,7 +445,7 @@ CREATE TABLE @cdmDatabaseSchema.source_to_concept_map (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.drug_strength (
drug_concept_id integer NOT NULL,
ingredient_concept_id integer NOT NULL,
Expand All @@ -459,7 +459,7 @@ CREATE TABLE @cdmDatabaseSchema.drug_strength (
valid_start_date date NOT NULL,
valid_end_date date NOT NULL,
invalid_reason varchar(1) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.cohort_definition (
cohort_definition_id integer NOT NULL,
cohort_definition_name varchar(255) NOT NULL,
Expand All @@ -468,11 +468,11 @@ CREATE TABLE @cdmDatabaseSchema.cohort_definition (
cohort_definition_syntax VARCHAR(1000) NULL,
subject_concept_id integer NOT NULL,
cohort_initiation_date date NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
CREATE TABLE @cdmDatabaseSchema.attribute_definition (
attribute_definition_id integer NOT NULL,
attribute_name varchar(255) NOT NULL,
attribute_description VARCHAR(1000) NULL,
attribute_type_concept_id integer NOT NULL,
attribute_syntax VARCHAR(1000) NULL )
DISTRIBUTE ON (RANDOM);
DISTRIBUTE ON RANDOM;
Loading
Loading