1pub mod analyzer;
2pub mod completion;
3pub mod error;
4pub mod extractors;
5pub mod generated;
6pub mod linter;
7pub mod parser;
8#[cfg(feature = "templating")]
9pub mod templater;
10pub mod types;
11
12pub use analyzer::{analyze, split_statements};
14pub use completion::{completion_context, completion_items};
15pub use error::ParseError;
16pub use extractors::extract_tables;
17pub use linter::config::LintConfig;
18pub use parser::{parse_sql, parse_sql_with_dialect};
19
20pub use types::{
22 issue_codes,
24 AggregationInfo,
26 AnalysisOptions,
27 AnalyzeRequest,
28 AnalyzeResult,
30 CanonicalName,
31 CaseSensitivity,
32 ColumnSchema,
33 CompletionClause,
34 CompletionContext,
35 CompletionItem,
36 CompletionItemCategory,
37 CompletionItemKind,
38 CompletionItemsResult,
39 CompletionRequest,
40 ConstraintType,
41 Dialect,
42 Edge,
43 EdgeType,
44 FileSource,
45 FilterClauseType,
46 FilterPredicate,
47 ForeignKeyRef,
48 Issue,
49 IssueAutofix,
50 IssueAutofixApplicability,
51 IssueCount,
52 IssuePatchEdit,
53 JoinType,
54 LineageResult,
56 Node,
57 NodeType,
58 ResolutionSource,
59 ResolvedColumnSchema,
60 ResolvedSchemaMetadata,
61 ResolvedSchemaTable,
62 SchemaMetadata,
63 SchemaNamespaceHint,
64 SchemaOrigin,
65 SchemaTable,
66 Severity,
67 Span,
68 StatementMeta,
69 StatementSplitRequest,
70 StatementSplitResult,
71 Summary,
72 TableConstraintInfo,
73};
74
75#[cfg(feature = "templating")]
77pub use templater::{TemplateConfig, TemplateError, TemplateMode};
78
79#[cfg(test)]
81pub mod test_utils;
82
83#[cfg(test)]
84pub mod analyzer_helpers {
85 pub use crate::analyzer::helpers;
86}