Skip to main content

uqa_sql/
lib.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! SQL parser and compiler: `PostgreSQL` grammar via `libpg_query`, UQA
8//! function registry, expression evaluator, FTS query mini-language.
9
10#![allow(
11    clippy::useless_format,
12    clippy::manual_let_else,
13    clippy::match_wildcard_for_single_variants,
14    clippy::items_after_statements,
15    clippy::needless_pass_by_value,
16    clippy::unnecessary_wraps,
17    clippy::match_same_arms,
18    clippy::unnested_or_patterns,
19    clippy::unnecessary_join,
20    clippy::unnecessary_map_or,
21    clippy::too_many_lines,
22    clippy::needless_return,
23    clippy::redundant_closure,
24    clippy::redundant_closure_for_method_calls,
25    clippy::map_unwrap_or,
26    clippy::manual_string_new,
27    clippy::option_if_let_else,
28    clippy::cast_lossless,
29    clippy::format_collect
30)]
31
32pub mod ast;
33mod async_sql_engine;
34pub mod compiler;
35pub mod error;
36pub mod expr;
37pub mod fts_query;
38pub mod params;
39pub mod plpgsql;
40pub mod registry;
41pub mod result;
42
43pub use ast::{ColumnType, Statement};
44pub use async_sql_engine::AsyncSQLEngine;
45pub use compiler::{compile, plan_only_for_test};
46pub use error::SQLError;
47pub use fts_query::{parse_query_string as parse_fts_query_string, tokenize as fts_tokenize};
48pub use fts_query::{FTSNode, FTSParser, FTSToken, FTSTokenType};
49pub use params::SQLParam;
50pub use result::{ResultRow, SQLResult};