Skip to content

Commit

Permalink
refactor(backends): remove redundant implementations of `_register_in…
Browse files Browse the repository at this point in the history
…_memory_tables`
  • Loading branch information
cpcloud authored and jcrist committed Jun 21, 2024
1 parent 5bb4971 commit 5235a4b
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 16 deletions.
10 changes: 8 additions & 2 deletions ibis/backends/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1018,9 +1018,15 @@ def _register_udfs(self, expr: ir.Expr) -> None:
if self.supports_python_udfs:
raise NotImplementedError(self.name)

def _register_in_memory_tables(self, expr: ir.Expr):
def _register_in_memory_tables(self, expr: ir.Expr) -> None:
for memtable in expr.op().find(ops.InMemoryTable):
self._register_in_memory_table(memtable)

def _register_in_memory_table(self, op: ops.InMemoryTable):
if self.supports_in_memory_tables:
raise NotImplementedError(self.name)
raise NotImplementedError(
f"{self.name} must implement `_register_in_memory_table` to support in-memory tables"
)

def _run_pre_execute_hooks(self, expr: ir.Expr) -> None:
"""Backend-specific hooks to run before an expression is executed."""
Expand Down
5 changes: 0 additions & 5 deletions ibis/backends/datafusion/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -410,11 +410,6 @@ def _register_in_memory_table(self, op: ops.InMemoryTable) -> None:
empty_dataset = ds.dataset([], schema=schema.to_pyarrow())
self.con.register_dataset(name=name, dataset=empty_dataset)

def _register_in_memory_tables(self, expr: ir.Expr) -> None:
if self.supports_in_memory_tables:
for memtable in expr.op().find(ops.InMemoryTable):
self._register_in_memory_table(memtable)

def read_csv(
self, path: str | Path, table_name: str | None = None, **kwargs: Any
) -> ir.Table:
Expand Down
3 changes: 2 additions & 1 deletion ibis/backends/druid/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import pandas as pd
import pyarrow as pa

import ibis.expr.operations as ops
import ibis.expr.types as ir


Expand Down Expand Up @@ -179,7 +180,7 @@ def list_tables(
tables = result.fetchall()
return self._filter_with_like([table.TABLE_NAME for table in tables], like=like)

def _register_in_memory_tables(self, expr):
def _register_in_memory_table(self, op: ops.InMemoryTable):
"""No-op. Table are inlined, for better or worse."""

def _cursor_batches(
Expand Down
4 changes: 0 additions & 4 deletions ibis/backends/duckdb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1551,10 +1551,6 @@ def _get_schema_using_query(self, query: str) -> sch.Schema:
}
)

def _register_in_memory_tables(self, expr: ir.Expr) -> None:
for memtable in expr.op().find(ops.InMemoryTable):
self._register_in_memory_table(memtable)

def _register_in_memory_table(self, op: ops.InMemoryTable) -> None:
# only register if we haven't already done so
if (name := op.name) not in self.list_tables():
Expand Down
4 changes: 0 additions & 4 deletions ibis/backends/sql/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,10 +252,6 @@ def create_view(
pass
return self.table(name, database=(catalog, db))

def _register_in_memory_tables(self, expr: ir.Expr) -> None:
for memtable in expr.op().find(ops.InMemoryTable):
self._register_in_memory_table(memtable)

def drop_view(
self,
name: str,
Expand Down

0 comments on commit 5235a4b

Please sign in to comment.