Skip to content

Commit

Permalink
Use the future flag on Engine
Browse files Browse the repository at this point in the history
  • Loading branch information
martinburchell committed Jan 31, 2025
1 parent 36c4c91 commit 7fa588d
Show file tree
Hide file tree
Showing 12 changed files with 14 additions and 13 deletions.
2 changes: 1 addition & 1 deletion server/camcops_server/cc_modules/cc_anon.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def _gen_columns_for_anon_staging_db(
Generates all columns for an anonymisation staging database.
"""
url = SQLITE_MEMORY_URL
engine = create_engine(url, echo=False)
engine = create_engine(url, echo=False, future=True)
session = sessionmaker(bind=engine)() # type: SqlASession
export_options = TaskExportOptions(
include_blobs=recipient.db_include_blobs,
Expand Down
1 change: 1 addition & 0 deletions server/camcops_server/cc_modules/cc_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -1767,6 +1767,7 @@ def get_sqla_engine(self) -> Engine:
self.db_url,
echo=self.db_echo,
pool_pre_ping=True,
future=True,
# pool_size=0, # no limit (for parallel testing, which failed)
)
log.debug(
Expand Down
4 changes: 2 additions & 2 deletions server/camcops_server/cc_modules/cc_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ def export_whole_database(
req, recipient, via_index=via_index
)
dst_engine = create_engine(
recipient.db_url, echo=recipient.db_echo
recipient.db_url, echo=recipient.db_echo, future=True
)
log.info(
"Exporting to database: {}",
Expand Down Expand Up @@ -1208,7 +1208,7 @@ def get_sqlite_data(self, as_text: bool) -> Union[bytes, str]:
# Make SQLAlchemy session
# ---------------------------------------------------------------------
url = "sqlite:///" + db_filename
engine = create_engine(url, echo=False)
engine = create_engine(url, echo=False, future=True)
dst_session = sessionmaker(bind=engine)() # type: SqlASession
# ---------------------------------------------------------------------
# Iterate through tasks, creating tables as we need them.
Expand Down
4 changes: 2 additions & 2 deletions server/camcops_server/cc_modules/cc_sqlalchemy.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,14 +232,14 @@ def make_memory_sqlite_engine(echo: bool = False) -> Engine:
"""
Create an SQLAlchemy :class:`Engine` for an in-memory SQLite database.
"""
return create_engine(SQLITE_MEMORY_URL, echo=echo)
return create_engine(SQLITE_MEMORY_URL, echo=echo, future=True)


def make_file_sqlite_engine(filename: str, echo: bool = False) -> Engine:
"""
Create an SQLAlchemy :class:`Engine` for an on-disk SQLite database.
"""
return create_engine(make_sqlite_url(filename), echo=echo)
return create_engine(make_sqlite_url(filename), echo=echo, future=True)


def sql_from_sqlite_database(connection: sqlite3.Connection) -> str:
Expand Down
2 changes: 1 addition & 1 deletion server/camcops_server/cc_modules/merge_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -1130,7 +1130,7 @@ def merge_camcops_db(
"""
req = get_command_line_request() # requires manual COMMIT; see below
src_engine = create_engine(src, echo=echo, pool_pre_ping=True)
src_engine = create_engine(src, echo=echo, pool_pre_ping=True, future=True)
log.info("SOURCE: " + get_safe_url_from_engine(src_engine))
log.info("DESTINATION: " + get_safe_url_from_engine(req.engine))
log.info(
Expand Down
2 changes: 1 addition & 1 deletion server/camcops_server/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def create_engine_mysql(db_url: str, create_db: bool, echo: bool):
# mysql> CREATE DATABASE <db_name>;
# mysql> GRANT ALL PRIVILEGES ON <db_name>.*
# TO <db_user>@localhost IDENTIFIED BY '<db_password>';
engine = create_engine(db_url, echo=echo, pool_pre_ping=True)
engine = create_engine(db_url, echo=echo, pool_pre_ping=True, future=True)

if create_db:
Base.metadata.drop_all(engine)
Expand Down
2 changes: 1 addition & 1 deletion server/playing/pyramid_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ def __repr__(self) -> str:
return auto_repr(self)

def create_engine(self) -> Engine:
return create_engine(self.dburl)
return create_engine(self.dburl, future=True)
# Don't use "echo=self.echo_sql"; things are logged twice. Set the log
# level of the 'sqlalchemy.engine' logger; see main().

Expand Down
2 changes: 1 addition & 1 deletion server/playing/snippet_sqla_comparison_symmetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def engine_mysql(
# TypeError: 'str' does not support the buffer interface
# because dates come back as e.g. b'2013-05-30 06:00:00' and then the
# convert_datetime function in pymysql/converters.py chokes.
return sqlalchemy.create_engine(connectstring, echo=echo)
return sqlalchemy.create_engine(connectstring, echo=echo, future=True)


def engine_mysql_commandline(echo=True):
Expand Down
2 changes: 1 addition & 1 deletion server/playing/sqla_concrete_inheritance_1.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class FloatTreeNode(TreeNode):
miau = Column(String(50), default="zuff")


e = create_engine("sqlite://", echo=True)
e = create_engine("sqlite://", echo=True, future=True)
Base.metadata.create_all(e)

session = Session(e)
Expand Down
2 changes: 1 addition & 1 deletion server/playing/sqla_concrete_inheritance_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class FloatTreeNode(TreeNode):
miau = Column(String(50), default="zuff")


e = create_engine("sqlite://", echo=True)
e = create_engine("sqlite://", echo=True, future=True)
Base.metadata.create_all(e)

session = Session(e)
Expand Down
2 changes: 1 addition & 1 deletion server/playing/sqlalchemy_comment_mysql_bug.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,5 @@ class Thing(Base):

# url = "mysql+mysqldb://scott:[email protected]:3306/dummy?charset=utf8"
url = "mysql+mysqldb://scott:[email protected]:3306/dummy"
engine = create_engine(url, echo=True)
engine = create_engine(url, echo=True, future=True)
Base.metadata.create_all(engine)
2 changes: 1 addition & 1 deletion server/playing/sqlalchemy_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ def engine_mysql(
# TypeError: 'str' does not support the buffer interface
# because dates come back as e.g. b'2013-05-30 06:00:00' and then the
# convert_datetime function in pymysql/converters.py chokes.
return sqlalchemy.create_engine(connectstring, echo=echo)
return sqlalchemy.create_engine(connectstring, echo=echo, future=True)


def engine_mysql_commandline(echo: bool = True) -> Engine:
Expand Down

0 comments on commit 7fa588d

Please sign in to comment.