Skip to content

Complete ReadOnlyCatalogInterface implementation#28

Merged
rustyconover merged 1 commit into
mainfrom
feature/readonly-catalog-interface
Jan 6, 2026
Merged

Complete ReadOnlyCatalogInterface implementation#28
rustyconover merged 1 commit into
mainfrom
feature/readonly-catalog-interface

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Summary

  • Add CatalogReadOnlyError exception to vgi/exceptions.py
  • Complete ReadOnlyCatalogInterface with all DDL method overrides that raise CatalogReadOnlyError
  • Read-only catalogs support only read operations (list catalogs/schemas, get table/view info, scan functions)

Changes

  • vgi/exceptions.py: Added CatalogReadOnlyError exception class
  • vgi/catalog/catalog_interface.py: Implemented all DDL method overrides in ReadOnlyCatalogInterface:
    • catalog_create, catalog_drop
    • catalog_transaction_begin, catalog_transaction_commit, catalog_transaction_rollback
    • schema_create, schema_drop
    • table_create, table_drop, table_comment_set, table_rename
    • table_column_add, table_column_drop, table_column_rename
    • table_column_default_set, table_column_default_drop, table_column_type_change
    • table_not_null_drop, table_not_null_set
    • view_create, view_drop, view_rename, view_comment_set

Test plan

  • All 661 tests pass
  • mypy passes with no issues
  • ruff check and format pass

🤖 Generated with Claude Code

Add CatalogReadOnlyError exception and implement ReadOnlyCatalogInterface
that raises this error for all DDL operations (create, drop, rename, modify).

Read-only catalogs only support read operations:
- catalogs() - list catalogs
- catalog_attach/detach - attach to/detach from catalogs
- schemas() - list schemas
- schema_get() - get schema info
- schema_contents() - list schema contents
- table_get(), view_get() - get table/view info
- table_scan_function_get() - get scan function for tables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@rustyconover rustyconover merged commit ea63412 into main Jan 6, 2026
0 of 16 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