This PR attempts to make the underlying SQL adapter logic DBMS-agnostic, so that we can operate over most SQL-style databases, and not just SQLite.
Specifically, the Database class in ./blendsql/db/_database.py now uses sqlalchemy rather than sqlite3.
Additionally, the underlying 'temporary session table' logic was rewritten, so that we no longer manage cleaning-up of our temp tables within the Python level. Instead (and much more cleanly), we initialize all tables via CREATE TEMP TABLE commands, which work in both SQLite and PostgreSQL.
This PR attempts to make the underlying SQL adapter logic DBMS-agnostic, so that we can operate over most SQL-style databases, and not just SQLite.
Specifically, the Database class in ./blendsql/db/_database.py now uses sqlalchemy rather than sqlite3.
Additionally, the underlying 'temporary session table' logic was rewritten, so that we no longer manage cleaning-up of our temp tables within the Python level. Instead (and much more cleanly), we initialize all tables via
CREATE TEMP TABLE
commands, which work in both SQLite and PostgreSQL.Other notable commits:
CREATE TEMP TABLE
syntax