Skip to main content

Crate cai_query

Crate cai_query 

Source
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§

ColumnInfo
Column information for DESCRIBE queries
FunctionRegistry
Function registry for SQL functions
QueryEngine
Query engine for executing SQL queries against storage
SchemaInfo
Schema information returned by SHOW TABLES and DESCRIBE queries

Enums§

FunctionArg
Function argument value
QueryError
Query engine errors
QueryResultData
Query result type - can be either entries or schema information
QueryType
Type of SQL query
SchemaQueryType
Type of schema query

Functions§

parse
Parse a SQL query string
sql
Convenience function to execute a SQL query

Type Aliases§

QueryResult
Query-specific result type
Result
Result type for CAI operations