Skip to content

Commit

Permalink
fix(clickhouse): thread database through insert method
Browse files Browse the repository at this point in the history
  • Loading branch information
cpcloud committed Oct 9, 2024
1 parent afa2bc9 commit 894ab3d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions ibis/backends/clickhouse/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,7 @@ def insert(
obj: pd.DataFrame | ir.Table,
settings: Mapping[str, Any] | None = None,
overwrite: bool = False,
database: str | None = None,
**kwargs: Any,
):
import pandas as pd
Expand All @@ -436,18 +437,24 @@ def insert(
self.truncate_table(name)

if isinstance(obj, pa.Table):
return self.con.insert_arrow(name, obj, settings=settings, **kwargs)
return self.con.insert_arrow(
name, obj, database=database, settings=settings, **kwargs
)
elif isinstance(obj, pd.DataFrame):
return self.con.insert_arrow(
name, pa.Table.from_pandas(obj), settings=settings, **kwargs
name,
pa.Table.from_pandas(obj),
database=database,
settings=settings,
**kwargs,
)
elif not isinstance(obj, ir.Table):
obj = ibis.memtable(obj)

query = self._build_insert_from_table(target=name, source=obj)
query = self._build_insert_from_table(target=name, source=obj, db=database)
external_tables = self._collect_in_memory_tables(obj, {})
external_data = self._normalize_external_tables(external_tables)
return self.con.command(query.sql(self.name), external_data=external_data)
return self.con.command(query.sql(self.dialect), external_data=external_data)

def raw_sql(
self,
Expand Down

0 comments on commit 894ab3d

Please sign in to comment.