Skip to main content

is_safe_sql_identifier

Function is_safe_sql_identifier 

Source
pub fn is_safe_sql_identifier(name: &str) -> bool
Expand description

Validates that a string is a safe SQL identifier.

Accepts only ASCII alphanumerics and underscores (no spaces, semicolons, hyphens, or other characters). Used to guard against SQL injection when schema-derived names such as view names or entity type names are interpolated into raw SQL strings.

§Rules

  • Non-empty
  • Maximum 128 characters
  • All characters are [A-Za-z0-9_]

§Examples

use fraiseql_core::schema::is_safe_sql_identifier;

assert!(is_safe_sql_identifier("v_users"));
assert!(is_safe_sql_identifier("Order123"));
assert!(!is_safe_sql_identifier("users; DROP TABLE users"));
assert!(!is_safe_sql_identifier(""));