summaryrefslogtreecommitdiff
path: root/dedup
diff options
context:
space:
mode:
Diffstat (limited to 'dedup')
-rw-r--r--dedup/utils.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/dedup/utils.py b/dedup/utils.py
index 6fb233b..fd30378 100644
--- a/dedup/utils.py
+++ b/dedup/utils.py
@@ -1,12 +1,20 @@
from debian.debian_support import version_compare
+import sqlalchemy.event
def fetchiter(cursor):
- rows = cursor.fetchmany()
+ rows = cursor.fetchmany(1024)
while rows:
for row in rows:
yield row
- rows = cursor.fetchmany()
+ rows = cursor.fetchmany(1024)
-def sql_add_version_compare(db):
- db.create_collation("debian_version", version_compare)
- db.create_function("debian_version_compare", 2, version_compare)
+def enable_sqlite_foreign_keys(engine):
+ @sqlalchemy.event.listens_for(engine, "connect")
+ def pragma_foreign_keys(connection, _):
+ connection.execute("PRAGMA foreign_keys=ON;")
+
+def sqlite_add_version_compare(engine):
+ @sqlalchemy.event.listens_for(engine, "connect")
+ def add_version_compare(connection, _):
+ connection.create_collation("debian_version", version_compare)
+ connection.create_function("debian_version_compare", 2, version_compare)