mod alias;
mod constraints;
mod id;
mod naming;
mod query;
mod span;
mod type_check;
mod types;

pub use alias::{alias_visibility_warning, lateral_alias_warning};
pub use constraints::{
    build_column_schemas_with_constraints, extract_column_constraints, extract_table_constraints,
};
pub use id::{
    generate_column_node_id, generate_edge_id, generate_node_id, generate_output_node_id,
    generate_statement_scoped_node_id,
};
pub use naming::{
    canonical_name_from_object_name, extract_simple_name, extract_simple_name_from_object_name,
    ident_value, is_quoted_identifier, parse_canonical_name, split_qualified_identifiers,
    unquote_identifier,
};
pub use query::{classify_query_type, is_simple_column_ref};
pub use span::{
    find_all_identifier_spans, find_cte_body_span, find_cte_definition_span,
    find_derived_table_alias_span, find_identifier_span, find_relation_occurrence_spans,
    line_col_to_offset,
};
pub use type_check::check_expr_types;
pub use types::{canonical_type_from_data_type, infer_expr_type, normalize_schema_type};
