Skip to content

Release 0.2.2 - #21

Merged
lemenkov merged 1 commit into
seerdb:masterfrom
lemenkov:release-0.2.2
Sep 24, 2026
Merged

lemenkov merged 1 commit into
seerdb:masterfrom
lemenkov:release-0.2.2

Conversation

@lemenkov

Copy link
Copy Markdown
Member

What ships

  • A Boolean column's 1/0 is converted to a bool by the dialect itself (Convert a Boolean column's 1/0 to a bool in the dialect #20). SQLAlchemy 2.1's generic Oracle dialect no longer converts it; it relies on an output type handler only its own cx_Oracle / python-oracledb dialects install. So before 23ai, where a Boolean is a NUMBER, a Boolean came back as 1 or 0. The conversion is also correct under SQLAlchemy 2.0.
  • CI pins SQLAlchemy to one exact version, 2.0.54 (CI: pin SQLAlchemy to an exact version #19). The runtime dependency, SQLAlchemy>=2.0, is unchanged.

Versions bumped in both places: pyproject.toml and sqlalchemy_seerdb/__init__.py. test/test_version.py passes.

Driver floor

It stays at seerdb>=2.5.0: nothing in this release depends on an unreleased driver fix.

One thing to know for SQLAlchemy 2.1 on 23ai: the driver had a bug of its own there, where a bool declared NUMBER, as 2.1 declares every Boolean, stored False as TRUE. It is fixed on seerdb's master (seerdb/seerdb#1202) and ships with the next seerdb release. With seerdb 2.5.0, SQLAlchemy 2.1 on 23ai still fails BooleanTest; SQLAlchemy 2.0, which this release's CI runs, is unaffected.

Validation

The compliance suite, on SQLAlchemy 2.0.54 (the pin), passed every leg of #20's final PR run, which is the code on master now:

driver 11g 23ai
released (latest) pass pass
tag pass pass
master pass pass

Under SQLAlchemy 2.1, measured locally against real 11g: BooleanTest passes 4/4 with this dialect. This release is what the driver repository's SQLAlchemy 2.1 track (seerdb/seerdb#1203) needs: its real-Oracle legs test the dialect at its newest tag.

Known failures: none.

🤖 Generated with Claude Code

Changes since 0.2.1:

- A Boolean column's 1/0 is converted to a bool by the dialect itself
  (seerdb#20). SQLAlchemy 2.1 stopped doing it in the generic Oracle
  dialect, so before 23ai a Boolean came back as 1 or 0.
- CI pins SQLAlchemy to one exact version, 2.0.54 (seerdb#19).

The driver floor stays seerdb>=2.5.0: nothing here depends on an
unreleased driver fix.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
@lemenkov
lemenkov merged commit e1f5916 into seerdb:master Sep 24, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant