Skip to main content

validate_function_name

Function validate_function_name 

Source
pub fn validate_function_name(name: &str) -> Result<(), ExtensionError>
Expand description

Validates a DuckDB function name.

§Rules

  • Must not be empty
  • Must not exceed 256 characters
  • Must start with a lowercase ASCII letter or underscore
  • Must contain only lowercase ASCII letters, digits, or underscores
  • Must not contain interior null bytes

These rules are intentionally conservative. DuckDB may accept a wider range of names, but restricting to this set avoids catalog issues and makes function names unambiguous in SQL queries.

§Errors

Returns ExtensionError describing the first rule violation found.

§Example

use quack_rs::validate::validate_function_name;

assert!(validate_function_name("word_count").is_ok());
assert!(validate_function_name("my_func_v2").is_ok());
assert!(validate_function_name("_internal").is_ok());
assert!(validate_function_name("").is_err());        // empty
assert!(validate_function_name("MyFunc").is_err());   // uppercase
assert!(validate_function_name("my-func").is_err());  // hyphen
assert!(validate_function_name("1func").is_err());    // starts with digit