aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
fn_group_name_in_use
Parameters
Name
Type
Mode
p_name
text
IN
p_exclude_group_id
integer
IN (DEFAULT NULL)
Definition
BEGIN IF p_name IS NULL THEN RETURN false; END IF; -- Serialize concurrent creates/amends of the same normalized name until -- end of transaction; a plain EXISTS check cannot see an uncommitted -- insert from a parallel transaction (double-submit). PERFORM pg_advisory_xact_lock(hashtext('group_info_name'), hashtext(lower(btrim(p_name)))); RETURN EXISTS ( SELECT 1 FROM group_info g JOIN booking b ON b.group_id = g.id WHERE lower(btrim(g.name)) = lower(btrim(p_name)) AND b.status IN ('R','C','W','I') AND g.id IS DISTINCT FROM p_exclude_group_id ); END