Skip to content

Reset object tables and types too - #13

Merged
lemenkov merged 1 commit into
masterfrom
reset-object-tables
Sep 13, 2026
Merged

lemenkov merged 1 commit into
masterfrom
reset-object-tables

Conversation

@lemenkov

Copy link
Copy Markdown
Member

USER_TABLES does not list object tables (CREATE TABLE ... OF some_type) — only USER_OBJECT_TABLES / USER_ALL_TABLES do — while the dialect's reflection (ALL_TABLES) sees them like any other table. So one such leftover survived a reset and failed 41 ComponentReflectionTest cases that compare the whole table set, for a reason that looked like a driver bug. (The driver's integration suite creates PYORACLE_AREF_PEOPLE OF PYORACLE_AREF_T when it shares the schema.)

The reset gains two kinds, in dependency order: object tables after the plain ones, then the types they are built on (DROP TYPE … FORCE, then the plain spelling). A backend without those dictionary views — the Mirror over PostgreSQL — reports them unavailable and carries on, as for the others.

Verified on 11g: a planted object table + type and the driver suite's own leftovers, 8 of 8 dropped, USER_OBJECTS empty afterwards; the Mirror-over-PG path still lists its plain tables. ruff check / ruff format --check clean.

🤖 Generated with Claude Code

USER_TABLES does not list object tables (CREATE TABLE ... OF some_type);
only USER_OBJECT_TABLES / USER_ALL_TABLES do, while the dialect's
reflection sees them like any other table. So one such leftover -- the
driver's integration suite creates PYORACLE_AREF_PEOPLE OF
PYORACLE_AREF_T when it shares the schema -- survived a reset and failed
41 ComponentReflectionTest cases that compare the whole table set, for a
reason that looked like a driver bug.

Two more kinds: object tables after the plain ones, and the types they
are built on after them (a type in use by a table will not drop; FORCE
first for a type referenced by another type, then the plain spelling).
A backend without those dictionary views -- the Mirror over PostgreSQL --
reports them unavailable and carries on, as for the others.

Verified on 11g: a planted object table + type and the driver suite's
own leftovers, 8 of 8 dropped, nothing left in USER_OBJECTS; the
Mirror-over-PG path still lists its plain tables.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
@lemenkov
lemenkov merged commit eaa6777 into master Sep 13, 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