Skip to content

Commit 2599c9b

Browse files
committed
fix(sqlalchemy): use exec_driver_sql in view teardown
1 parent 49a4991 commit 2599c9b

File tree

6 files changed

+9
-21
lines changed

6 files changed

+9
-21
lines changed

ibis/backends/base/sql/alchemy/__init__.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -581,9 +581,7 @@ def _quote(self, name: str) -> str:
581581
return self.con.dialect.identifier_preparer.quote(name)
582582

583583
def _get_temp_view_definition(
584-
self,
585-
name: str,
586-
definition: sa.sql.compiler.Compiled,
584+
self, name: str, definition: sa.sql.compiler.Compiled
587585
) -> str:
588586
raise NotImplementedError(
589587
f"The {self.name} backend does not implement temporary view creation"
@@ -593,8 +591,8 @@ def _register_temp_view_cleanup(self, name: str, raw_name: str) -> None:
593591
query = f"DROP VIEW IF EXISTS {name}"
594592

595593
def drop(self, raw_name: str, query: str):
596-
with self.con.begin() as con:
597-
con.execute(query)
594+
with self.begin() as con:
595+
con.exec_driver_sql(query)
598596
self._temp_views.discard(raw_name)
599597

600598
atexit.register(drop, self, raw_name, query)

ibis/backends/duckdb/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,7 @@ def _get_sqla_table(
474474
return super()._get_sqla_table(name, schema, **kwargs)
475475

476476
def _get_temp_view_definition(
477-
self,
478-
name: str,
479-
definition: sa.sql.compiler.Compiled,
477+
self, name: str, definition: sa.sql.compiler.Compiled
480478
) -> str:
481479
yield f"CREATE OR REPLACE TEMPORARY VIEW {name} AS {definition}"
482480

ibis/backends/mssql/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ def _metadata(self, query):
5959
yield column["name"], _type_from_result_set_info(column)
6060

6161
def _get_temp_view_definition(
62-
self,
63-
name: str,
64-
definition: sa.sql.compiler.Compiled,
62+
self, name: str, definition: sa.sql.compiler.Compiled
6563
) -> str:
6664
yield f"CREATE OR ALTER VIEW {name} AS {definition}"

ibis/backends/mysql/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,7 @@ def _metadata(self, query: str) -> Iterable[tuple[str, dt.DataType]]:
136136
)
137137

138138
def _get_temp_view_definition(
139-
self,
140-
name: str,
141-
definition: sa.sql.compiler.Compiled,
139+
self, name: str, definition: sa.sql.compiler.Compiled
142140
) -> str:
143141
yield f"CREATE OR REPLACE VIEW {name} AS {definition}"
144142

ibis/backends/postgres/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ def udf(
176176
def _metadata(self, query: str) -> Iterable[tuple[str, dt.DataType]]:
177177
raw_name = util.guid()
178178
name = self._quote(raw_name)
179-
type_info_sql = f"""\
179+
type_info_sql = """\
180180
SELECT
181181
attname,
182182
format_type(atttypid, atttypmod) AS type
@@ -194,8 +194,6 @@ def _metadata(self, query: str) -> Iterable[tuple[str, dt.DataType]]:
194194
con.execute(sa.text(f"DROP VIEW IF EXISTS {name}"))
195195

196196
def _get_temp_view_definition(
197-
self,
198-
name: str,
199-
definition: sa.sql.compiler.Compiled,
197+
self, name: str, definition: sa.sql.compiler.Compiled
200198
) -> str:
201199
yield f"CREATE OR REPLACE VIEW {name} AS {definition}"

ibis/backends/sqlite/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,7 @@ def _get_schema_using_query(self, query: str) -> sch.Schema:
256256
return sch.Schema.from_tuples(self._metadata(query))
257257

258258
def _get_temp_view_definition(
259-
self,
260-
name: str,
261-
definition: sa.sql.compiler.Compiled,
259+
self, name: str, definition: sa.sql.compiler.Compiled
262260
) -> str:
263261
yield f"DROP VIEW IF EXISTS {name}"
264262
yield f"CREATE VIEW {name} AS {definition}"

0 commit comments

Comments
 (0)