Skip to content

Commit 2147718

Browse files
committed
fix: remove non-existent _DBAPI references, use official iris.connect() API
- Removed incorrect _DBAPI checks from iris_connection.py and iris_dbapi_connector.py - Simplified to use only official 'import iris' + 'iris.connect()' API as documented - Per InterSystems documentation: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=BPYNAT_pyapi - _DBAPI never existed in v5.1.2 or v5.3.0 - All contract tests pass (12 passed, 4 skipped) Files modified: - iris_vector_rag/common/iris_connection.py:66-78 - iris_vector_rag/common/iris_dbapi_connector.py:109-123
1 parent eebcea2 commit 2147718

File tree

2 files changed

+7
-17
lines changed

2 files changed

+7
-17
lines changed

iris_vector_rag/common/iris_connection.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,15 @@ def _get_iris_dbapi_module():
6666
try:
6767
import iris as iris_dbapi
6868

69-
# Check if iris_dbapi module has _DBAPI submodule with connect method
70-
if hasattr(iris_dbapi, "_DBAPI") and hasattr(iris_dbapi._DBAPI, "connect"):
71-
logger.info(
72-
"Successfully imported 'iris' module with DBAPI interface via _DBAPI"
73-
)
74-
return iris_dbapi._DBAPI
75-
elif hasattr(iris_dbapi, "connect"):
69+
# Check if iris module has connect method (official API)
70+
if hasattr(iris_dbapi, "connect"):
7671
logger.info(
7772
"Successfully imported 'iris' module with DBAPI interface directly"
7873
)
7974
return iris_dbapi
8075
else:
8176
logger.error(
82-
"iris module imported but neither _DBAPI nor connect attribute found!"
77+
"iris module imported but connect() method not found!"
8378
)
8479

8580
# UV compatibility workaround: manually load _init_elsdk.py

iris_vector_rag/common/iris_dbapi_connector.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,22 +109,17 @@ def _get_iris_dbapi_module():
109109
# DEBUG: Log what we got
110110
logger.debug(f"Imported iris module: type={type(iris_dbapi)}, has__file__={hasattr(iris_dbapi, '__file__')}")
111111
logger.debug(f"iris_dbapi.__file__={getattr(iris_dbapi, '__file__', 'NO __file__')}")
112-
logger.debug(f"hasattr(iris_dbapi, '_DBAPI')={hasattr(iris_dbapi, '_DBAPI')}")
113112
logger.debug(f"hasattr(iris_dbapi, 'connect')={hasattr(iris_dbapi, 'connect')}")
114113
if hasattr(iris_dbapi, 'connect'):
115114
logger.debug(f"iris_dbapi.connect={iris_dbapi.connect}")
116115

117-
# Check if iris_dbapi module has _DBAPI submodule with connect method
118-
if hasattr(iris_dbapi, "_DBAPI") and hasattr(iris_dbapi._DBAPI, "connect"):
119-
# The _DBAPI submodule provides the DBAPI interface
120-
logger.info("Successfully imported 'iris' module with DBAPI interface via _DBAPI")
121-
return iris_dbapi._DBAPI
122-
elif hasattr(iris_dbapi, "connect"):
123-
# The iris_dbapi module itself provides the DBAPI interface
116+
# Check if iris module has connect method (official API)
117+
if hasattr(iris_dbapi, "connect"):
118+
# The iris module provides the DBAPI interface
124119
logger.info("Successfully imported 'iris' module with DBAPI interface directly")
125120
return iris_dbapi
126121
else:
127-
logger.error("iris module imported but neither _DBAPI nor connect attribute found!")
122+
logger.error("iris module imported but connect() method not found!")
128123
logger.error(f"Available attributes: {[x for x in dir(iris_dbapi) if not x.startswith('_')][:20]}")
129124

130125
# Workaround for pytest module caching issue:

0 commit comments

Comments
 (0)