//! Full-Text Search Support for TideORM
//!
//! This module builds backend-specific full-text search SQL for PostgreSQL,
//! MySQL or MariaDB, and SQLite.
//!
//! The generated query shape depends on the active backend, so if search works
//! on one database and fails on another, start by checking backend selection,
//! index setup, and the exact search mode being requested.
//!
//! Use plain search first, then add ranking or highlighting only after the base
//! query shape and index coverage are behaving correctly on the active backend.
use std::fmt;
use std::marker::PhantomData;
use crate::config::DatabaseType;
use crate::error::{Error, Result};
use crate::internal::sql_safety::{
escape_fts5_query_literal_terms as escape_fts5_query, escape_sql_literal,
format_identifier_reference, quote_ident,
sanitize_postgres_proximity_tsquery_literals as sanitize_postgres_proximity_tsquery,
sanitize_postgres_tsquery_literals as sanitize_postgres_tsquery,
};
use crate::internal::{ConnectionTrait, FromQueryResult, Value, build_statement_with_values};
use crate::model::Model;
// =============================================================================
mod core;
mod index_helpers;
mod search_builder;
pub use core::*;
pub use index_helpers::*;
pub use search_builder::*;