Repository navigation
Release 0.2.2 - #21
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What ships
boolby 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 as1or0. The conversion is also correct under SQLAlchemy 2.0.SQLAlchemy>=2.0, is unchanged.Versions bumped in both places:
pyproject.tomlandsqlalchemy_seerdb/__init__.py.test/test_version.pypasses.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
Falseas 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 failsBooleanTest; 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:
latest)Under SQLAlchemy 2.1, measured locally against real 11g:
BooleanTestpasses 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