SuperDuperDB / superduperdb

🔮 SuperDuperDB: Bring AI to your database! Build, deploy and manage any AI application directly with your existing data infrastructure, without moving your data. Including streaming inference, scalable model training and vector search.
https://superduperdb.com
Apache License 2.0
4.54k stars 444 forks source link

Fix/snowflake compatibility #2181

Closed blythed closed 2 weeks ago

blythed commented 2 weeks ago

We should update ibis for the latest features and support. This required a few fixes, which this PR provides.

blythed commented 2 weeks ago

After adding this line except (NoSuchTableError, IbisError) then the UT pass

diff --git a/superduperdb/backends/ibis/data_backend.py b/superduperdb/backends/ibis/data_backend.py
index af3085ad2..bd0ec0462 100644
--- a/superduperdb/backends/ibis/data_backend.py
+++ b/superduperdb/backends/ibis/data_backend.py
@@ -5,7 +5,7 @@ from warnings import warn
 import ibis
 import pandas
 from ibis.backends import BaseBackend
-
+from ibis.common.exceptions import IbisError
 from pandas.core.frame import DataFrame
 from sqlalchemy.exc import NoSuchTableError

@@ -153,7 +153,7 @@ class IbisDataBackend(BaseDataBackend):
         try:
             self.conn.table(f'_outputs.{predict_id}')
             return True
-        except NoSuchTableError:
+        except (NoSuchTableError, IbisError):
             return False

Ah yes, thanks. This is because ibis now has dropped using SQL-Alchemy I believe.