From 3e7661ee8e66a3da7de4f6c8e8bcefcc633e26c9 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 06:39:17 +0000 Subject: [PATCH] Optimize OMOP schema creation by batching DDL execution Co-authored-by: zrt219 <199104500+zrt219@users.noreply.github.com> --- openmed/openmed/interop/omop/cdm_loader.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/openmed/openmed/interop/omop/cdm_loader.py b/openmed/openmed/interop/omop/cdm_loader.py index 6c1d803..391edd1 100644 --- a/openmed/openmed/interop/omop/cdm_loader.py +++ b/openmed/openmed/interop/omop/cdm_loader.py @@ -763,8 +763,11 @@ def write_omop_parquet( def create_omop_schema(con: Any) -> Any: """Create the minimal OMOP CDM table subset on a DB-API connection.""" - for table in _TABLE_ORDER: - con.execute(_SQL_DDL[table]) + script = ";\n".join(_SQL_DDL[table] for table in _TABLE_ORDER) + if hasattr(con, "executescript"): + con.executescript(script) + else: + con.execute(script) return con