Skip to main content

extract_table_operations

Function extract_table_operations 

Source
pub fn extract_table_operations(
    dialect: &dyn Dialect,
    sql: &str,
) -> Result<Vec<Result<TableOperation, Error>>, Error>
Expand description

Convenience function to extract table-level operations from SQL using the dialect defaults (no catalog, dialect-derived casing). For a catalog or a casing override, use extract_table_operations_with_options.

ยงExample

use sql_insight::sqlparser::dialect::GenericDialect;
use sql_insight::extractor::{extract_table_operations, StatementKind};

let dialect = GenericDialect {};
let result = extract_table_operations(&dialect, "SELECT * FROM users").unwrap();
let ops = result[0].as_ref().unwrap();
assert_eq!(ops.statement_kind, StatementKind::Select);
assert_eq!(ops.reads.len(), 1);
assert_eq!(ops.reads[0].reference.name.value, "users");
assert!(ops.writes.is_empty());