mirror of
https://github.com/bitechdev/ResolveSpec.git
synced 2026-08-30 13:02:36 +00:00
* Implement custom types: SqlGeometry, SqlGeography, SqlHalfVector, SqlSparseVector, SqlBitVector * Add spatial filter operators and vector similarity operators * Include metadata and OpenAPI reporting for geometry/vector column types * Create tests for EWKB and WKT conversions
4.0 KiB
4.0 KiB
ResolveSpec - TODO List
This document tracks incomplete features and improvements for the ResolveSpec project.
In Progress
Database Layer
- SQLite schema translation (schema.table → schema_table)
- Driver name normalization across adapters
- Database Connection Manager (dbmanager) package
Documentation
- Add dbmanager to README
- Add WebSocketSpec to top-level intro
- Add MQTTSpec to top-level intro
- Remove migration sections from README
- Complete API reference documentation
- Add examples for all supported databases
Planned Features
ResolveSpec JS Client Implementation & Testing
-
ResolveSpec Client API (resolvespec-js)
- Core API implementation (read, create, update, delete, getMetadata)
- Unit tests for API functions
- Integration tests with server
- Error handling and edge cases
-
HeaderSpec Client API (resolvespec-js)
- Client API implementation
- Unit tests
- Integration tests with server
-
FunctionSpec Client API (resolvespec-js)
- Client API implementation
- Unit tests
- Integration tests with server
-
WebSocketSpec Client API (resolvespec-js)
- WebSocketClient class implementation (read, create, update, delete, meta, subscribe, unsubscribe)
- Unit tests for WebSocketClient
- Connection handling tests
- Subscription tests
- Integration tests with server
-
resolvespec-js Testing Infrastructure
- Set up test framework (Jest or Vitest)
- Configure test coverage reporting
- Add test utilities and mocks
- Create test documentation
ResolveSpec Python Client Implementation & Testing
See resolvespec-python/todo.md for detailed Python client implementation tasks.
Core Functionality
-
Enhanced Preload Filtering
- Column selection for nested preloads
- Advanced filtering conditions for relations
- Performance optimization for deep nesting
-
Advanced Query Features
- Custom SQL join support
- Computed column improvements
- Recursive query support
-
PostGIS & pgvector (PostgreSQL)
- Custom types:
SqlGeometry/SqlGeography(GeoJSON I/O),SqlHalfVector,SqlSparseVector,SqlBitVector - Spatial filter operators (
st_dwithin,st_intersects,bbox, …) in resolvespec + restheadspec - Vector similarity filter operators (
l2_within,cosine_within,ip_within) - KNN structured option (
options.vector_search/X-Vector-Search-*headers) - Metadata + OpenAPI report geometry/vector column types
- Integration tests against a PostGIS + pgvector database (needs test DB with extensions)
- Custom types:
-
Testing & Quality
- Increase test coverage to 70%+
- Add integration tests for all ORMs
- Add concurrency tests for thread safety
- Performance benchmarks
Infrastructure
- Improved error handling and reporting
- Enhanced logging capabilities
- Additional monitoring metrics
- Performance profiling tools
Documentation Tasks
- Complete API reference
- Add troubleshooting guides
- Create architecture diagrams
- Expand database adapter documentation
Known Issues
- Long preload alias names may exceed PostgreSQL identifier limit
- Some edge cases in computed column handling
GormResult.LastInsertId()(pkg/common/adapters/database/gorm.go:936) always returns0, nil— GORM does not expose last insert ID viasql.Resultfor most dialects. Auto-generated IDs from GORM inserts are not propagated back throughLastInsertId, which breaks the ID-retrieval path inrecursive_crud.go. Fix: read the ID back from the model struct afterCreate()using reflection, or use GORM'sStatement.LastInsertId.
Last Updated: 2026-08-29 Updated: Added PostGIS + pgvector support (types, filter operators, KNN, metadata/OpenAPI)