Expand description
CAI Query - SQL parser and query engine
Provides SQL-like query interface for CAI entries with support for:
- SELECT with WHERE, ORDER BY, LIMIT, GROUP BY
- SHOW TABLES - list available tables
- DESCRIBE table_name - show table schema
- Built-in functions: date_format, concat, length, upper, lower, substring, coalesce, now
- Function registry for extensible SQL functions
§Example
use cai_query::{QueryEngine, sql};
use cai_storage::MemoryStorage;
let storage = MemoryStorage::new();
let engine = QueryEngine::new(storage);
// Simple SELECT
let _results = engine.execute("SELECT * FROM entries LIMIT 10").await?;
// Show tables
let _results = engine.execute("SHOW TABLES").await?;
// Describe table
let _results = engine.execute("DESCRIBE entries").await?;Structs§
- Column
Info - Column information for DESCRIBE queries
- Function
Registry - Function registry for SQL functions
- Query
Engine - Query engine for executing SQL queries against storage
- Schema
Info - Schema information returned by SHOW TABLES and DESCRIBE queries
Enums§
- Function
Arg - Function argument value
- Query
Error - Query engine errors
- Query
Result Data - Query result type - can be either entries or schema information
- Query
Type - Type of SQL query
- Schema
Query Type - Type of schema query
Functions§
Type Aliases§
- Query
Result - Query-specific result type
- Result
- Result type for CAI operations