Skip to main content

extract_columns

Function extract_columns 

Source
pub fn extract_columns(stmt: &Statement) -> Vec<String>
Expand description

Extract column names referenced in a statement.

Returns a deduplicated, sorted list of column names (without table prefix). Only bare column references (table.column is normalized to column) from SELECT, WHERE, ORDER BY, GROUP BY, and JOIN ON clauses are included. Wildcard * selections are excluded.

§Example

use oxisql_parse::{parse_one, extract_columns};

let stmt = parse_one("SELECT id, name FROM users WHERE age > 18").unwrap();
let cols = extract_columns(&stmt);
assert!(cols.contains(&"id".to_string()));
assert!(cols.contains(&"name".to_string()));
assert!(cols.contains(&"age".to_string()));