You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Always use this robust import pattern to obtain the DBAPI module. This handles different package versions and environment quirks.
44
+
```python
45
+
try:
46
+
import iris.dbapi as iris_dbapi # Modern/Standard
47
+
exceptImportError:
48
+
try:
49
+
import intersystems_iris.dbapi._DBAPIas iris_dbapi # Deep Fallback
50
+
exceptImportError:
51
+
# Last resort: check if iris module itself has connect (older versions)
52
+
import iris as iris_dbapi
53
+
```
54
+
55
+
### 2. Embedded SQL Execution (iris.sql.exec)
56
+
When running code inside IRIS (Embedded Python), parameters **MUST** be passed using the splat operator `*params` to be treated as positional arguments.
57
+
```python
58
+
# CORRECT
59
+
iris.sql.exec(sql, *params)
60
+
61
+
# INCORRECT (passes list as a single argument)
62
+
iris.sql.exec(sql, params)
63
+
```
64
+
65
+
### 3. Case Sensitivity & Identifiers
66
+
-**Schema Name**: Always use `SQLUser` (exact casing). IRIS package/schema names are case-sensitive.
67
+
-**Quoted Identifiers**: Identifiers in double quotes (e.g., `"workflow"`) are case-sensitive in IRIS.
68
+
-**Unquoted Identifiers**: Automatically mapped to UPPERCASE by IRIS.
69
+
-**Normalization**: To ensure consistency, the normalizer should preserve the casing of quoted identifiers and map unquoted ones to uppercase, but it **MUST NOT** change the case of the `SQLUser` schema prefix.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.1.0] - 2026-01-17
9
+
10
+
### Added
11
+
-**IRIS Technical Reference**: Added definitive guide to `AGENTS.md` covering DBAPI connection patterns, embedded SQL parameter passing, and case-sensitivity rules.
12
+
13
+
### Fixed
14
+
-**Robust Schema Mapping**: Rewrote `translate_input_schema` to correctly preserve table name quoting and casing (e.g., `public."workflow"` -> `SQLUser."workflow"`). This resolves "Class not found" errors in IRIS when ORMs use quoted identifiers.
15
+
-**Embedded Parameter Passing**: Ensured `iris.sql.exec` receives parameters as positional arguments using the splat operator (`*params`) in all execution paths.
16
+
-**Redundant Translation Cleanup**: Removed conflicting schema translation regexes in `iris_executor.py` that were previously stripping quotes from identifiers.
0 commit comments