diff options
Diffstat (limited to 'dedup')
-rw-r--r-- | dedup/utils.py | 18 |
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) |