Skip to content

Commit

Permalink
chore: reuse _create_temp_view; down to a single test failure local…
Browse files Browse the repository at this point in the history
…ly (!)
  • Loading branch information
cpcloud committed Sep 17, 2023
1 parent fdaa8a0 commit 14626e8
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions ibis/backends/duckdb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -654,14 +654,13 @@ def read_json(

options = [f"{key}={val}" for key, val in kwargs.items()]

sg_view_expr = self._compile_temp_view(
self._create_temp_view(
table_name,
sg.select("*").from_(
sg.func("read_json_auto", normalize_filenames(source_list), *options)
),
)

self.raw_sql(sg_view_expr)
return self.table(table_name)

def read_csv(
Expand Down Expand Up @@ -712,12 +711,11 @@ def read_csv(
for key, val in kwargs.items()
]

sg_view_expr = self._compile_temp_view(
self._create_temp_view(
table_name,
sg.select("*").from_(sg.func("read_csv", source_list, *options)),
)

self.raw_sql(sg_view_expr)
return self.table(table_name)

def read_parquet(
Expand Down Expand Up @@ -774,13 +772,11 @@ def _read_parquet_duckdb_native(
else:
pq_func = sg.func("read_parquet", source_list)

sg_view_expr = self._compile_temp_view(
self._create_temp_view(
table_name,
sg.select("*").from_(pq_func),
)

self.raw_sql(sg_view_expr)

def _read_parquet_pyarrow_dataset(
self, source_list: str | Iterable[str], table_name: str, **kwargs: Any
) -> None:
Expand Down Expand Up @@ -895,13 +891,12 @@ def read_postgres(
)
self._load_extensions(["postgres_scanner"])

sg_view_expr = self._compile_temp_view(
self._create_temp_view(
table_name,
sg.select("*").from_(
sg.func("postgres_scan_pushdown", uri, schema, table_name)
),
)
self.raw_sql(sg_view_expr)

return self.table(table_name)

Expand Down Expand Up @@ -947,15 +942,14 @@ def read_sqlite(self, path: str | Path, table_name: str | None = None) -> ir.Tab
raise ValueError("`table_name` is required when registering a sqlite table")
self._load_extensions(["sqlite"])

sg_view_expr = self._compile_temp_view(
self._create_temp_view(
table_name,
sg.select("*").from_(
sg.func(
"sqlite_scan", sg.to_identifier(str(path), quoted=True), table_name
)
),
)
self.raw_sql(sg_view_expr)

return self.table(table_name)

Expand Down

0 comments on commit 14626e8

Please sign in to comment.