32 lines
751 B
PL/PgSQL
Executable File
32 lines
751 B
PL/PgSQL
Executable File
CREATE OR REPLACE FUNCTION "f_updatedAt"()
|
|
RETURNS TRIGGER AS $$
|
|
BEGIN
|
|
NEW."updatedAt" = now();
|
|
RETURN NEW;
|
|
END;
|
|
$$ language 'plpgsql';
|
|
|
|
CREATE FUNCTION array_distinct(anyarray) RETURNS anyarray AS $f$
|
|
SELECT array_agg(DISTINCT x) FROM unnest($1) t(x);
|
|
$f$ LANGUAGE SQL IMMUTABLE;
|
|
|
|
CREATE OR REPLACE FUNCTION normalize_reading (TEXT) RETURNS TEXT[] AS
|
|
$func$
|
|
DECLARE
|
|
s TEXT;
|
|
new_arr TEXT[] := '{}';
|
|
BEGIN
|
|
RETURN ARRAY[split_part($1,'.',1), replace($1,'.','')];
|
|
END;
|
|
$func$ LANGUAGE plpgsql IMMUTABLE;
|
|
|
|
CREATE OR REPLACE FUNCTION identity (JSONB) RETURNS JSONB AS
|
|
$func$
|
|
SELECT $1;
|
|
$func$ LANGUAGE SQL IMMUTABLE;
|
|
|
|
CREATE OR REPLACE FUNCTION identity (TEXT) RETURNS TEXT AS
|
|
$func$
|
|
SELECT $1;
|
|
$func$ LANGUAGE SQL IMMUTABLE;
|