From ba330dd20853717060d7798820a235458a05eb23 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Thu, 19 Mar 2026 00:25:19 +0100 Subject: [PATCH] Fix sub-segment ordering: group subs after their parent in DB load ORDER BY sequence_number put all subs (>=1000) at the end. Now groups by parent (seq/1000), main first, then subs in order. Co-Authored-By: Claude Opus 4.6 --- db.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/db.py b/db.py index 483d018..1a4b564 100644 --- a/db.py +++ b/db.py @@ -428,8 +428,13 @@ class ProjectDB: data = json.loads(data) # Load all sequences as batch_data + # Group sub-segments (>=1000) after their parent: parent = seq_num / 1000 rows = self.conn.execute( - "SELECT data FROM sequences WHERE data_file_id = ? ORDER BY sequence_number", + "SELECT data FROM sequences WHERE data_file_id = ? " + "ORDER BY CASE WHEN sequence_number >= 1000 THEN sequence_number / 1000 " + "ELSE sequence_number END, " + "CASE WHEN sequence_number >= 1000 THEN 1 ELSE 0 END, " + "sequence_number", (df["id"],), ).fetchall() batch_data = []