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

Function parse_function_args

nodedb/src/control/server/pgwire/ddl/kv_atomic.rs:204–217  ·  view source on GitHub ↗

Parse function arguments from `SELECT FUNC_NAME(arg1, arg2, ...)`. Handles quoted strings with commas inside them.

(sql: &str, _func_name: &str)

Source from the content-addressed store, hash-verified

202///
203/// Handles quoted strings with commas inside them.
204pub(super) fn parse_function_args(sql: &str, _func_name: &str) -> PgWireResult<Vec<String>> {
205 let start = sql
206 .find('(')
207 .ok_or_else(|| sqlstate_error("42601", "expected '(' in function call"))?;
208 let end = sql
209 .rfind(')')
210 .ok_or_else(|| sqlstate_error("42601", "expected ')' in function call"))?;
211 if start >= end {
212 return Ok(Vec::new());
213 }
214
215 let inner = &sql[start + 1..end];
216 Ok(split_args(inner))
217}
218
219/// Split comma-separated arguments, respecting single-quoted strings.
220///

Callers 10

rate_checkFunction · 0.70
rate_remainingFunction · 0.70
rate_resetFunction · 0.70
kv_incrFunction · 0.70
kv_incr_floatFunction · 0.70
kv_casFunction · 0.70
kv_getsetFunction · 0.70
transferFunction · 0.70
transfer_itemFunction · 0.70
weighted_pickFunction · 0.70

Calls 3

split_argsFunction · 0.85
sqlstate_errorFunction · 0.70
findMethod · 0.45

Tested by

no test coverage detected