aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
fn_generate_dropdown_items
Parameters
Name
Type
Mode
sql_text
text
IN
value_field
text
IN (DEFAULT NULL)
label_field
text
IN (DEFAULT NULL)
Definition
DECLARE query1 TEXT = $$ WITH query AS (%s), results AS (SELECT "label", "value" FROM query AS res("value", "label")) SELECT json_agg(results) FROM results $$; query2 TEXT = $$ WITH query AS (%s), results AS (SELECT %I AS "label", %I AS "value" FROM query) SELECT json_agg(results) FROM results $$; items json; BEGIN IF (value_field IS NULL) OR (value_field = '') THEN EXECUTE format(query1, sql_text) INTO items; ELSE EXECUTE format(query2, sql_text, label_field, value_field) INTO items; END IF; RETURN coalesce(items, '[]'); END