Skip to main content

parse_default_value

Function parse_default_value 

Source
pub fn parse_default_value(default_str: &str) -> DefaultValue
Expand description

Parse PostgreSQL default value expression

This function parses PostgreSQL default value strings and returns a structured representation.

ยงExamples

use senax_pgsql_parser::{parse_default_value, DefaultValue};

// String with escaped quotes
let result = parse_default_value("'it''s a test'::character varying");
assert_eq!(result, DefaultValue::String("it's a test".to_string()));

// Simple string
let result = parse_default_value("'simple'::text");
assert_eq!(result, DefaultValue::String("simple".to_string()));

// Integer
let result = parse_default_value("42");
assert_eq!(result, DefaultValue::Integer(42));

// Float
let result = parse_default_value("99.99");
assert_eq!(result, DefaultValue::Float(99.99));

// Boolean
let result = parse_default_value("true");
assert_eq!(result, DefaultValue::Boolean(true));

// NULL
let result = parse_default_value("NULL");
assert_eq!(result, DefaultValue::Null);

// Current timestamp
let result = parse_default_value("CURRENT_TIMESTAMP");
assert_eq!(result, DefaultValue::CurrentTimestamp);

// Current date
let result = parse_default_value("CURRENT_DATE");
assert_eq!(result, DefaultValue::CurrentDate);

// Sequence
let result = parse_default_value("nextval('test_seq'::regclass)");
assert_eq!(result, DefaultValue::Expression("nextval('test_seq'::regclass)".to_string()));