Skip to content

Feature/api schema#62

Merged
jamals86 merged 11 commits intomainfrom
feature/api-schema
Jan 2, 2026
Merged

Feature/api schema#62
jamals86 merged 11 commits intomainfrom
feature/api-schema

Conversation

@jamals86
Copy link
Copy Markdown
Collaborator

@jamals86 jamals86 commented Jan 2, 2026

No description provided.

Introduces DDL guard helpers to centralize authorization and system namespace modification checks, refactors privilege checks in SQL handlers, and blocks DDL on system tables. Adds detailed system and cache metrics to AppContext. Implements a GitHub Actions CI workflow for formatting, linting, and testing. Refactors table creation logic for better cache priming and catalog persistence. Adds live queries index definitions and related tests. Updates dependencies and documentation, and introduces new UI components for SQL Studio.
Added MAX_SQL_QUERY_LENGTH constant and enforced a 1MB SQL query length limit to prevent DoS attacks. Introduced ANONYMOUS_USER_ID and ExecutionContext::is_anonymous(), and added block_anonymous_write() guard to block all DDL/DML write operations for anonymous users. Centralized reserved namespace and column name validation, expanded reserved lists, and improved error handling in health_monitor and flush_table handlers. Updated docs/Notes.md to reflect completed and verified security and validation tasks.
Refactored live query SQL parsing in query_parser.rs to use sqlparser-rs AST for extracting table names, WHERE clauses, and projections, improving security and correctness. Added file handle diagnostics module to kalamdb-filestore with atomic counters, logging, and leak detection; integrated tracking into remote_materializer. Updated flush executor to use spawn_blocking for RocksDB and Parquet I/O to avoid blocking the async runtime. Updated documentation to reflect completed tasks.
Table names, namespace IDs, and column names are now normalized to lowercase for case-insensitive behavior, with updated constructors and tests. Documentation links and references were updated to reflect the new docs structure. The live connections manager now uses bounded channels for notifications and events, adds DoS protection with a max connections limit, and improves notification delivery with backpressure handling. Various code comments, error messages, and test cases were improved for clarity and correctness.
Adds strict validation for user IDs, namespace IDs, and table names to prevent path traversal and injection attacks. Introduces SQL redaction utilities to mask sensitive data in logs. Secures storage path handling against traversal and sensitive directory access. Updates authentication to enforce role consistency between JWT claims and database. Improves test coverage for security edge cases and adjusts job manager shutdown to use atomic operations for performance.
Removes total_batches from BatchControl and updates status logic for batch pagination. Adds schema information to the subscription_ack WebSocket message, propagates schema through backend and CLI, and updates protocol documentation. Improves JWT secret configuration consistency and enhances CLI/test coverage for batch control. Updates TypeScript SDK example to use JWT authentication and reflect new protocol fields.
@jamals86 jamals86 merged commit e75bb27 into main Jan 2, 2026
0 of 3 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