MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / extract_column_name

Function extract_column_name

nodedb-sql/src/planner/select/helpers.rs:127–151  ·  view source on GitHub ↗
(expr: &ast::Expr)

Source from the content-addressed store, hash-verified

125}
126
127pub(super) fn extract_column_name(expr: &ast::Expr) -> Result<String> {
128 match expr {
129 ast::Expr::Identifier(ident) => Ok(normalize_ident(ident)),
130 ast::Expr::CompoundIdentifier(parts) if parts.len() >= 3 => {
131 let qualified: String = parts
132 .iter()
133 .map(normalize_ident)
134 .collect::<Vec<_>>()
135 .join(".");
136 Err(SqlError::Unsupported {
137 detail: format!(
138 "schema-qualified column reference '{qualified}': {SCHEMA_QUALIFIED_MSG}"
139 ),
140 })
141 }
142 ast::Expr::CompoundIdentifier(parts) => Ok(parts
143 .iter()
144 .map(normalize_ident)
145 .collect::<Vec<_>>()
146 .join(".")),
147 _ => Err(SqlError::Unsupported {
148 detail: format!("expected column name, got: {expr}"),
149 }),
150 }
151}
152
153pub fn extract_string_literal(expr: &ast::Expr) -> Result<String> {
154 match expr {

Callers 4

plan_vector_from_whereFunction · 0.85
plan_spatial_from_whereFunction · 0.85
try_extract_sort_searchFunction · 0.85

Calls 4

normalize_identFunction · 0.85
joinMethod · 0.80
lenMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected