sqlparser_canonicalize/
lib.rs1#![no_std]
2#![doc = include_str!("../README.md")]
3
4extern crate alloc;
5
6use alloc::string::String;
7
8use thiserror::Error;
9
10mod canonicalize;
11
12pub use canonicalize::{Canonicalizer, hash_canonical};
13
14#[derive(Clone, Debug, Error, Eq, PartialEq)]
16#[non_exhaustive]
17pub enum CanonicalizeError {
18 #[error("SQL parse error: {0}")]
20 Parse(String),
21 #[error("SQL input is longer than {limit} bytes")]
23 InputTooLong { limit: usize },
24 #[error("Expression nests deeper than {limit} levels")]
26 TooDeep { limit: usize },
27 #[error("Canonical text would not read back as itself: {0}")]
30 NotRoundTrippable(String),
31 #[error("Unsupported SQL: {0}")]
33 Unsupported(String),
34}