Skip to main content

Crate use_pg_identifier

Crate use_pg_identifier 

Source
Expand description

§use-pg-identifier

PostgreSQL identifier primitives for RustUse.

This crate provides validated identifier segments, quoted/unquoted rendering awareness, conservative qualified-name parsing, and quote/normalization helpers. It is not a SQL parser.

§Example

use use_pg_identifier::{PgIdentifier, PgQualifiedName, needs_quoting, quote_identifier};

let name = PgIdentifier::new("Users")?;
let quoted = PgIdentifier::quoted("User Name")?;
let qualified = PgQualifiedName::parse("public.users")?;

assert_eq!(name.as_str(), "users");
assert_eq!(quoted.to_string(), "\"User Name\"");
assert_eq!(qualified.to_string(), "public.users");
assert!(needs_quoting("select"));
assert_eq!(quote_identifier("user\"name"), "\"user\"\"name\"");

Structs§

PgIdentifier
A validated PostgreSQL identifier segment.
PgQualifiedName
A dot-qualified PostgreSQL name.

Enums§

PgIdentifierError
Error returned when PostgreSQL identifier text is rejected.
PgIdentifierStyle
Rendering style for a PostgreSQL identifier segment.

Functions§

is_valid_unquoted_identifier
Returns true when input is conservatively valid as an unquoted PostgreSQL identifier.
needs_quoting
Returns true when an identifier should be double-quoted for conservative PostgreSQL rendering.
normalize_identifier
Normalizes an identifier label for simple display-oriented comparisons.
quote_identifier
Quotes an identifier with PostgreSQL double quotes, doubling embedded double quotes.