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

Function parse_sql

nodedb/src/control/planner/procedural/parser/statements.rs:254–258  ·  view source on GitHub ↗

Capture a raw SQL statement until the next semicolon. Used for DML (INSERT/UPDATE/DELETE) as well as NodeDB SQL extensions (PUBLISH TO, etc.) that start with an identifier token.

(tokens: &[Token], pos: &mut usize)

Source from the content-addressed store, hash-verified

252/// Used for DML (INSERT/UPDATE/DELETE) as well as NodeDB SQL extensions
253/// (PUBLISH TO, etc.) that start with an identifier token.
254fn parse_sql(tokens: &[Token], pos: &mut usize) -> Result<Statement, ProceduralError> {
255 let sql = collect_raw_sql_until(tokens, pos, &[Token::Semicolon]);
256 skip_if(tokens, pos, &Token::Semicolon);
257 Ok(Statement::Sql { sql })
258}
259
260/// ROLLBACK [TO [SAVEPOINT] <name>]
261fn parse_rollback(tokens: &[Token], pos: &mut usize) -> Result<Statement, ProceduralError> {

Callers 9

parse_statementFunction · 0.70
try_eval_constantFunction · 0.50
parse_select_with_paramsFunction · 0.50
try_eval_scalar_functionFunction · 0.50
validate_function_bodyFunction · 0.50
parse_select_projectionFunction · 0.50
parse_select_projectionFunction · 0.50
eval_sql_exprFunction · 0.50
validate_scheduled_bodyFunction · 0.50

Calls 2

collect_raw_sql_untilFunction · 0.85
skip_ifFunction · 0.85

Tested by

no test coverage detected