Release v0.0.17
Summary
This release delivers comprehensive PostgreSQL catalog and function support with significant performance optimizations, enhancing compatibility with major ORM frameworks including Django, SQLAlchemy, Rails, and Ecto.
New Features
- PostgreSQL Session Functions: Complete session information access with
current_user(),session_user(),current_database(),current_schema(), andcurrent_schemas()functions for ORM connection management - PostgreSQL Permission Functions: Full authorization and access control with enhanced
pg_has_role()andhas_table_privilege()functions supporting role membership checking and table access control - information_schema.triggers: Complete trigger introspection with all 17 PostgreSQL-standard columns for business logic discovery
- pg_tablespace Catalog: Enterprise tablespace management support with standard PostgreSQL tablespaces (pg_default, pg_global)
- information_schema.check_constraints: Check constraint metadata support for ORM validation frameworks
- information_schema.referential_constraints: Foreign key constraint introspection with all 9 PostgreSQL-standard columns
- information_schema.views: Complete view metadata support with 10 PostgreSQL-standard columns
- information_schema.routines: Function metadata for 40+ built-in functions across all categories
- pg_stats Table: Query optimization and performance hints with realistic statistics generation
- pg_roles and pg_user: Complete user and role management system for enterprise authentication
- pg_description: Object comment and documentation system with COMMENT DDL integration
- pg_proc Function Metadata: Comprehensive function introspection with 35+ built-in functions
- Enhanced pg_attribute: Column metadata with defaults, constraints, identity/SERIAL detection
- pg_index Support: Complete index management with multi-column index introspection
- pg_constraint Support: Full constraint introspection for foreign key, primary key, unique, and check constraints
- pg_depend Support: Rails sequence ownership detection for auto-increment columns
Improvements
- Performance Optimizations: Session identifier translation with memchr-optimized pattern detection
- Dual-processor Support: Integrated SessionIdentifierTranslator into both LazyQueryProcessor and UnifiedProcessor
- Binary Protocol Enhancements: Complete array binary encoding for psycopg3 compatibility
- Session-aware Architecture: Connection-per-session for proper transaction isolation across all catalog queries
- ORM Compatibility: Full support for Django inspectdb, SQLAlchemy reflection, Rails introspection, and Ecto schema analysis
Bug Fixes
- Fixed critical data type issues in referential_constraints (confrelid column read as INTEGER instead of STRING)
- Fixed arithmetic test failures with proper floating-point division using CAST(... AS REAL)
- Fixed information_schema binary protocol support with proper field descriptions
- Fixed clippy warnings improving code quality and maintainability
- Fixed cast translation issues preventing ARRAY[] syntax from working correctly
Breaking Changes
None - All changes are backward compatible with enhanced functionality