about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-08-27 01:04:26 +0100
committerArun Isaac2026-08-27 01:12:03 +0100
commita8cf19418b66751760182952d80b327d7131f438 (patch)
tree3e4377cf365586796c129d75bcf2e787a6d96174
parent07e70427718f673a332b8a2a9dc74f80284e115e (diff)
downloaddomagi-a8cf19418b66751760182952d80b327d7131f438.tar.gz
domagi-a8cf19418b66751760182952d80b327d7131f438.tar.lz
domagi-a8cf19418b66751760182952d80b327d7131f438.zip
Refactor extract --path-range query into extract-path-range.sql.
-rw-r--r--domagi/domagi.py8
-rw-r--r--domagi/extract-path-range.sql6
-rw-r--r--meson.build1
3 files changed, 8 insertions, 7 deletions
diff --git a/domagi/domagi.py b/domagi/domagi.py
index f5cdde5..0abf006 100644
--- a/domagi/domagi.py
+++ b/domagi/domagi.py
@@ -240,13 +240,7 @@ def extract(con, outfile, segment_name, path_range, steps, threads, progress):
         out_con.execute(read_sql("schema.sql"))
     if path_range:
         path, start, end = re.match(r"^([^:]*):(\d+)-(\d+)", path_range).groups()
-        con.execute("""
-        CREATE TEMPORARY TABLE selected_segment AS
-          SELECT segment_id AS id
-          FROM path_segment
-          INNER JOIN path ON path.id=path_segment.path_id
-          WHERE path.name=$1 AND $2<path_segment.end AND path_segment.start<$3;
-        """,
+        con.execute(read_sql("extract-path-range.sql"),
                     [path, int(start), int(end)])
     elif segment_name:
         con.execute(read_sql("extract-node-traversal.sql"),
diff --git a/domagi/extract-path-range.sql b/domagi/extract-path-range.sql
new file mode 100644
index 0000000..897e57b
--- /dev/null
+++ b/domagi/extract-path-range.sql
@@ -0,0 +1,6 @@
+-- Select segments in the specified path range.
+CREATE TEMPORARY TABLE selected_segment AS
+  SELECT segment_id AS id
+  FROM path_segment
+  INNER JOIN path ON path.id=path_segment.path_id
+  WHERE path.name=$1 AND $2<path_segment.end AND path_segment.start<$3;
diff --git a/meson.build b/meson.build
index 4fbc671..8a37e32 100644
--- a/meson.build
+++ b/meson.build
@@ -14,6 +14,7 @@ install_data('domagi/matrix.sql',
              'domagi/chop-1.sql',
              'domagi/chop-2.sql',
              'domagi/extract-node-traversal.sql',
+             'domagi/extract-path-range.sql',
              'domagi/bed-depth.sql',
              'domagi/overlap.sql',
              'domagi/path-depth.sql',