diff options
| author | Arun Isaac | 2026-08-27 01:04:26 +0100 |
|---|---|---|
| committer | Arun Isaac | 2026-08-27 01:12:03 +0100 |
| commit | a8cf19418b66751760182952d80b327d7131f438 (patch) | |
| tree | 3e4377cf365586796c129d75bcf2e787a6d96174 | |
| parent | 07e70427718f673a332b8a2a9dc74f80284e115e (diff) | |
| download | domagi-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.py | 8 | ||||
| -rw-r--r-- | domagi/extract-path-range.sql | 6 | ||||
| -rw-r--r-- | meson.build | 1 |
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', |
