From 4b0a25cefad8d7f88b165afcbe0ad9724d8b8538 Mon Sep 17 00:00:00 2001 From: Anatoliy Bilenko Date: Mon, 5 Feb 2024 18:57:26 +0200 Subject: [PATCH] Constrained relations index --- chronoscope/db.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/chronoscope/db.py b/chronoscope/db.py index 7c50936..3b598ab 100644 --- a/chronoscope/db.py +++ b/chronoscope/db.py @@ -32,11 +32,15 @@ class attr(T): name = p.TextField() val = p.TextField() -class relation(T): +class relation(p.Model): orig = p.IntegerField() dest = p.IntegerField() type = p.TextField() + class Meta: + database = db + primary_key = p.CompositeKey("orig", "dest") + TABLES = [tick, attr, relation] @@ -57,7 +61,7 @@ def close(): def mkidx(): db.execute_sql("CREATE INDEX tick_idx on tick(id);") - db.execute_sql("CREATE INDEX relation_idx on relation(orig);") + db.execute_sql("CREATE INDEX relation_idx on relation(orig,dest);") db.execute_sql("CREATE INDEX attr_idx on attr(id);") def line_nr(file: str) -> int: