Repository navigation
9.38.0
One fix, on Oracle, in three parts: an identity column could not be created, was never read back, and made its schema undroppable.
Full notes: https://weasel.jasperfx.net/release-9-38
Released after the fact. 9.38.0 went to NuGet on 2026-10-04 without a tag, a GitHub release or a notes page. The packages are real and unchanged — this release and the
9.38.0tag are the paperwork catching up, and nothing here is new behaviour since then.
Oracle: an identity column round-trips
#667.
GENERATED BY DEFAULT AS IDENTITY is its own clause rather than part of the column type, and neither the DDL side nor the read side accounted for that:
- The emitted DDL was invalid — the clause was written after the null constraint, which Oracle rejects with
ORA-03076. The identity clause stands in theDEFAULTslot; they are alternatives, not additions. SoAutoIncrement()could not create a table at all. - Identity was never read back —
ColumnSqldid not selectIDENTITY_COLUMNandReadColumnnever setIsAutoNumber, so every column came back non-identity. - A schema containing an identity column could not be dropped — the teardown tried to drop the system-generated
ISEQ$$_…sequence behind the column, which Oracle refuses withORA-32794. One identity column anywhere in the schema was enough to make the schema undroppable.
Upgrading
IsAutoNumber now counts towards TableColumn equality, so adding or dropping identity on an existing Oracle column is finally reported as a difference. That is only safe together with the reader fix — comparing a flag that is never read back would make every identity column drift forever.
If you worked around the broken AutoIncrement() by writing the identity clause into a column's type string, drop that workaround and call AutoIncrement(). A type string carrying the clause can never match what the catalog reports back, so the column keeps drifting.