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 copy;
36pub mod error;
37pub mod expr;
38pub mod fts_query;
39pub mod params;
40pub mod plpgsql;
41pub mod registry;
42pub mod result;
43
44pub use ast::{ColumnType, Statement};
45pub use async_sql_engine::AsyncSQLEngine;
46pub use compiler::{compile, plan_only_for_test};
47pub use error::SQLError;
48pub use fts_query::{parse_query_string as parse_fts_query_string, tokenize as fts_tokenize};
49pub use fts_query::{FTSNode, FTSParser, FTSToken, FTSTokenType};
50pub use params::SQLParam;
51pub use result::{ResultRow, SQLResult};