]> git.nbdom.net Git - nb.git/commitdiff
psql dump
authorNicolas Boisselier <nicolas.boisselier@semantico.com>
Wed, 22 Jun 2016 10:33:35 +0000 (11:33 +0100)
committerNicolas Boisselier <nicolas.boisselier@semantico.com>
Wed, 22 Jun 2016 10:33:35 +0000 (11:33 +0100)
lib/postgres/functions.sql

index d97c3ffb9530920b780c79d9c1e910e6109482b1..fe2044c9added0ffb9bade2c451b2b02e7e79775 100644 (file)
@@ -14,15 +14,26 @@ CREATE AGGREGATE CONCAT(
 
 );
 
+DROP FUNCTION IF EXISTS STRFTIME(format text,sdate text);
+CREATE OR REPLACE FUNCTION STRFTIME(format text,sdate text)
+RETURNS text AS $$
+SELECT to_char(sdate::date,format)
+$$ LANGUAGE sql;
+
 DROP FUNCTION IF EXISTS DATE(sdate text, sinterval text);
 CREATE OR REPLACE FUNCTION DATE(sdate text DEFAULT 'now', sinterval text DEFAULT '0 seconds')
-RETURNS text AS $$
-SELECT to_char(sdate::date + sinterval::interval,'YYYY-MM-DD');
+RETURNS date AS $$
+SELECT to_char(sdate::date + sinterval::interval,'YYYY-MM-DD')::date;
 $$ LANGUAGE sql;
 
-CREATE OR REPLACE FUNCTION GROUP_CONCAT(anyarray, sep text DEFAULT ',', nullstr text DEFAULT '')
+-- NB 22.06.16 CREATE OR REPLACE FUNCTION GROUP_CONCAT(anyarray, sep text DEFAULT ',', nullstr text DEFAULT '')
+-- NB 22.06.16 RETURNS text AS $$
+-- NB 22.06.16 SELECT array_to_string( ARRAY( SELECT coalesce(v::text, $3) FROM unnest($1) g(v) ), $2 )
+-- NB 22.06.16 $$ LANGUAGE sql;
+
+CREATE OR REPLACE FUNCTION GROUP_CONCAT(str text,sep text DEFAULT ',', nullstr text DEFAULT '')
 RETURNS text AS $$
-SELECT array_to_string( ARRAY( SELECT coalesce(v::text, $3) FROM unnest($1) g(v) ), $2 )
+SELECT array_to_string(array_agg(coalesce(str,nullstr)),sep)
 $$ LANGUAGE sql;
 
 DROP FUNCTION IF EXISTS CIDR_RANGE(cidr text, ip text);