require_once(realpath(dirname(__FILE__).'/../config.php'));
require_once(NB_ROOT.'/lib/php/db.php');
if (empty($_SERVER['HOME'])) $_SERVER['HOME'] = '';
-if (empty($DBQ)) $DBQ = [];
$DB_CONFS = array_merge([],
# ::ROOT_DIR
--- /dev/null
+DROP FUNCTION IF EXISTS CIDR_RANGE(cidr text, ip text);
+CREATE OR REPLACE FUNCTION CIDR_RANGE(cidr text, ip text)
+RETURNS bool AS $$
+SELECT ip::inet << cidr::cidr
+$$ LANGUAGE sql;
--- /dev/null
+DROP FUNCTION IF EXISTS DATE(sdate text, sinterval text);
+CREATE OR REPLACE FUNCTION DATE(sdate text DEFAULT 'now', sinterval text DEFAULT '0 seconds')
+RETURNS date AS $$
+SELECT to_char(sdate::date + sinterval::interval,'YYYY-MM-DD')::date;
+$$ LANGUAGE sql;
--- /dev/null
+-- 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_agg(coalesce(str,nullstr)),sep)
+$$ LANGUAGE sql;
+
+-- NB 21.06.16 CREATE AGGREGATE GROUP_CONCAT(field,sep=',')
+-- NB 21.06.16 sfunc = array_append,
+-- NB 21.06.16 stype = anyarray,
+-- NB 21.06.16 initcond = '{}'
+-- NB 21.06.16 -- return array_to_string(array_agg(field),sep)
+-- NB 21.06.16 }
--- /dev/null
+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;