From: Nicolas Boisselier Date: Tue, 13 Sep 2016 22:44:23 +0000 (+0100) Subject: Bed X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=0c874abcae378f4398a040e0575d12b681db5b35;p=nb.git Bed --- diff --git a/lib/php/db/index.php b/lib/php/db/index.php index beaf177e..0664afc1 100755 --- a/lib/php/db/index.php +++ b/lib/php/db/index.php @@ -7,15 +7,6 @@ * lib/php/db/index.php */ require_once(realpath(dirname(__FILE__).'/config.php')); -# NB 13.09.16 require_once(realpath(dirname(__FILE__).'/../config.php')); -# NB 13.09.16 require_once(realpath(dirname(__FILE__).'/../db.php')); -# NB 13.09.16 -# NB 13.09.16 Db::pinit(); -# NB 13.09.16 -# NB 13.09.16 if(defined('DB_NO_INIT') and DB_NO_INIT) return true; -# NB 13.09.16 #bye(Db::conf_load(array( Db::ROOT_DIR.'/etc/dbs.yaml','/etc/dbs.yaml' ))); -# NB 13.09.16 #$conf = Db::conf_load(array( Db::ROOT_DIR.'/etc/dbs.yaml','/etc/dbs.yaml' )); Db::init($conf); -# NB 13.09.16 Db::init([Db::ROOT_DIR.'/etc/dbs.yaml',Db::ROOT_DIR.'/etc/dbs.php','/etc/dbs.yaml']); if(defined('DB_NO_ACTION') and DB_NO_ACTION) return true; diff --git a/lib/php/db/postgres-create-functions.sql b/lib/php/db/postgres-create-functions.sql deleted file mode 100644 index ccdf3803..00000000 --- a/lib/php/db/postgres-create-functions.sql +++ /dev/null @@ -1,77 +0,0 @@ --- CREATE OR REPLACE FUNCTION generate_create_table_statement(p_table_name varchar) -CREATE OR REPLACE FUNCTION show_create_table(p_table_name varchar) - RETURNS text AS -$BODY$ -DECLARE - v_table_ddl text; - column_record record; -BEGIN - FOR column_record IN - SELECT -(SELECT 1 FROM pg_index i WHERE a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey) AND i.indrelid = b.relname::regclass AND i.indisprimary) as pk, - b.nspname as schema_name, - b.relname as table_name, - a.attname as column_name, - pg_catalog.format_type(a.atttypid, a.atttypmod) as column_type, - CASE WHEN - (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_catalog.pg_attrdef d - WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) IS NOT NULL THEN - 'DEFAULT '|| (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_catalog.pg_attrdef d - WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef) - ELSE - '' - END as column_default_value, - CASE WHEN a.attnotnull = true THEN - 'NOT NULL' - ELSE - 'NULL' - END as column_not_null, - a.attnum as attnum, - e.max_attnum as max_attnum - FROM - pg_catalog.pg_attribute a - INNER JOIN - (SELECT c.oid, - n.nspname, - c.relname - FROM pg_catalog.pg_class c - LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace - WHERE c.relname ~ ('^('||p_table_name||')$') - AND pg_catalog.pg_table_is_visible(c.oid) - ORDER BY 2, 3) b - ON a.attrelid = b.oid - INNER JOIN - (SELECT - a.attrelid, - max(a.attnum) as max_attnum - FROM pg_catalog.pg_attribute a - WHERE a.attnum > 0 - AND NOT a.attisdropped - GROUP BY a.attrelid) e - ON a.attrelid=e.attrelid - WHERE a.attnum > 0 - AND NOT a.attisdropped - ORDER BY a.attnum - LOOP - IF column_record.attnum = 1 THEN - v_table_ddl:='CREATE TABLE '||column_record.schema_name||'.'||column_record.table_name||' ('; - ELSE - v_table_ddl:=v_table_ddl||','; - END IF; - - IF column_record.attnum <= column_record.max_attnum THEN - v_table_ddl:=v_table_ddl||chr(10)|| - ' '||column_record.column_name||' '||column_record.column_type||' '||column_record.column_default_value||' '||column_record.column_not_null; - END IF; - IF column_record.pk = 1 THEN - v_table_ddl:=v_table_ddl||' PRIMARY KEY'; - END IF; - END LOOP; - - v_table_ddl:=v_table_ddl||chr(10)||');'; - RETURN v_table_ddl; -END; -$BODY$ - LANGUAGE 'plpgsql' COST 100.0 SECURITY INVOKER; diff --git a/lib/php/db/shell.php b/lib/php/db/shell.php index b0959f7c..fd07f729 100755 --- a/lib/php/db/shell.php +++ b/lib/php/db/shell.php @@ -1,23 +1,20 @@ #!/usr/bin/env php 0 + AND NOT a.attisdropped + GROUP BY a.attrelid) e + ON a.attrelid=e.attrelid + WHERE a.attnum > 0 + AND NOT a.attisdropped + ORDER BY a.attnum + LOOP + IF column_record.attnum = 1 THEN + v_table_ddl:='CREATE TABLE '||column_record.schema_name||'.'||column_record.table_name||' ('; + ELSE + v_table_ddl:=v_table_ddl||','; + END IF; + + IF column_record.attnum <= column_record.max_attnum THEN + v_table_ddl:=v_table_ddl||chr(10)|| + ' '||column_record.column_name||' '||column_record.column_type||' '||column_record.column_default_value||' '||column_record.column_not_null; + END IF; + IF column_record.pk = 1 THEN + v_table_ddl:=v_table_ddl||' PRIMARY KEY'; + END IF; + END LOOP; + + v_table_ddl:=v_table_ddl||chr(10)||');'; + RETURN v_table_ddl; +END; +$BODY$ + LANGUAGE 'plpgsql' COST 100.0 SECURITY INVOKER;