From f3e4a26c18111dcb97504ad05de73ced9ccfc4b6 Mon Sep 17 00:00:00 2001 From: wivern Date: Tue, 24 Mar 2020 13:34:21 +0300 Subject: [PATCH] reduces number of inserts --- .../circe/cohortdefinition/CohortExpressionQueryBuilder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/ohdsi/circe/cohortdefinition/CohortExpressionQueryBuilder.java b/src/main/java/org/ohdsi/circe/cohortdefinition/CohortExpressionQueryBuilder.java index a561424e..b0b54e2c 100644 --- a/src/main/java/org/ohdsi/circe/cohortdefinition/CohortExpressionQueryBuilder.java +++ b/src/main/java/org/ohdsi/circe/cohortdefinition/CohortExpressionQueryBuilder.java @@ -168,12 +168,13 @@ public String getCodesetQuery(ConceptSet[] conceptSets) { // construct main target codeset query String conceptExpressionQuery = conceptSetQueryBuilder.buildExpressionQuery(cs.expression); // attach the conceptSetId to the result query from the expession query builder - String conceptSetInsert = String.format("INSERT INTO #Codesets (codeset_id, concept_id)\nSELECT %d as codeset_id, c.concept_id FROM (%s) C;", cs.id, conceptExpressionQuery); + String conceptSetInsert = String.format("SELECT %d as codeset_id, c.concept_id FROM (%s) C", cs.id, conceptExpressionQuery); codesetInserts.add(conceptSetInsert); } } - codesetQuery = StringUtils.replace(codesetQuery, "@codesetInserts", StringUtils.join(codesetInserts, "\n")); + codesetQuery = StringUtils.replace(codesetQuery, "@codesetInserts", "INSERT INTO #Codesets (codeset_id, concept_id)\n" + + StringUtils.join(codesetInserts, " UNION ALL \n")) + ";"; return codesetQuery; }