Patch for initdb - Mailing list pgsql-hackers
From | Keith Parks |
---|---|
Subject | Patch for initdb |
Date | |
Msg-id | 199809032327.AAA29450@mtcc.demon.co.uk Whole thread Raw |
Responses |
Re: [HACKERS] Patch for initdb
|
List | pgsql-hackers |
Hi patchers/hackers. Here's a patch for initdb that does two things. 1) Encloses the created rulenames in quotes to preserve case in the creation step. (stores _RETpg... instead of _retpg...) I believe _RET is standard for views. 2) Renames pg_view to pg_views and pg_rule to pg_rules. I believe Jan and myself agreed this would be a "good idea" Both aspects open for discussion. Are there any docs considerations? Keith. *** src/bin/initdb/initdb.sh.orig Thu Sep 3 23:04:10 1998 --- src/bin/initdb/initdb.sh Thu Sep 3 23:14:30 1998 *************** *** 425,431 **** postgres $PGSQL_OPT template1 > /dev/null mv $PGDATA/base/template1/xpg_user $PGDATA/base/template1/pg_user ! echo "CREATE RULE _RETpg_user AS ON SELECT TO pg_user DO INSTEAD \ SELECT usename, usesysid, usecreatedb, usetrace, \ usesuper, usecatupd, '********'::text as passwd, \ valuntil FROM pg_shadow;" | \ --- 425,431 ---- postgres $PGSQL_OPT template1 > /dev/null mv $PGDATA/base/template1/xpg_user $PGDATA/base/template1/pg_user ! echo "CREATE RULE \"_RETpg_user\" AS ON SELECT TO pg_user DO INSTEAD \ SELECT usename, usesysid, usecreatedb, usetrace, \ usesuper, usecatupd, '********'::text as passwd, \ valuntil FROM pg_shadow;" | \ *************** *** 433,465 **** echo "REVOKE ALL on pg_shadow FROM public" | \ postgres $PGSQL_OPT template1 > /dev/null ! echo "Creating view pg_rule" ! echo "CREATE TABLE xpg_rule ( \ rulename name, \ definition text);" | postgres $PGSQL_OPT template1 > /dev/null ! #move it into pg_rule ! echo "UPDATE pg_class SET relname = 'pg_rule' WHERE relname = 'xpg_rule';" |\ postgres $PGSQL_OPT template1 > /dev/null ! echo "UPDATE pg_type SET typname = 'pg_rule' WHERE typname = 'xpg_rule';" |\ postgres $PGSQL_OPT template1 > /dev/null ! mv $PGDATA/base/template1/xpg_rule $PGDATA/base/template1/pg_rule ! echo "CREATE RULE _RETpg_rule AS ON SELECT TO pg_rule DO INSTEAD \ SELECT rulename, pg_get_ruledef(rulename) AS definition \ FROM pg_rewrite;" | postgres $PGSQL_OPT template1 > /dev/null ! echo "Creating view pg_view" ! echo "CREATE TABLE xpg_view ( \ viewname name, \ definition text);" | postgres $PGSQL_OPT template1 > /dev/null ! #move it into pg_view ! echo "UPDATE pg_class SET relname = 'pg_view' WHERE relname = 'xpg_view';" |\ postgres $PGSQL_OPT template1 > /dev/null ! echo "UPDATE pg_type SET typname = 'pg_view' WHERE typname = 'xpg_view';" |\ postgres $PGSQL_OPT template1 > /dev/null ! mv $PGDATA/base/template1/xpg_view $PGDATA/base/template1/pg_view ! echo "CREATE RULE _RETpg_view AS ON SELECT TO pg_view DO INSTEAD \ SELECT relname AS viewname, \ pg_get_viewdef(relname) AS definition \ FROM pg_class WHERE relhasrules AND \ --- 433,465 ---- echo "REVOKE ALL on pg_shadow FROM public" | \ postgres $PGSQL_OPT template1 > /dev/null ! echo "Creating view pg_rules" ! echo "CREATE TABLE xpg_rules ( \ rulename name, \ definition text);" | postgres $PGSQL_OPT template1 > /dev/null ! #move it into pg_rules ! echo "UPDATE pg_class SET relname = 'pg_rules' WHERE relname = 'xpg_rules';" |\ postgres $PGSQL_OPT template1 > /dev/null ! echo "UPDATE pg_type SET typname = 'pg_rules' WHERE typname = 'xpg_rules';" |\ postgres $PGSQL_OPT template1 > /dev/null ! mv $PGDATA/base/template1/xpg_rules $PGDATA/base/template1/pg_rules ! echo "CREATE RULE \"_RETpg_rules\" AS ON SELECT TO pg_rules DO INSTEAD \ SELECT rulename, pg_get_ruledef(rulename) AS definition \ FROM pg_rewrite;" | postgres $PGSQL_OPT template1 > /dev/null ! echo "Creating view pg_views" ! echo "CREATE TABLE xpg_views ( \ viewname name, \ definition text);" | postgres $PGSQL_OPT template1 > /dev/null ! #move it into pg_views ! echo "UPDATE pg_class SET relname = 'pg_views' WHERE relname = 'xpg_views';" |\ postgres $PGSQL_OPT template1 > /dev/null ! echo "UPDATE pg_type SET typname = 'pg_views' WHERE typname = 'xpg_views';" |\ postgres $PGSQL_OPT template1 > /dev/null ! mv $PGDATA/base/template1/xpg_views $PGDATA/base/template1/pg_views ! echo "CREATE RULE \"_RETpg_views\" AS ON SELECT TO pg_views DO INSTEAD \ SELECT relname AS viewname, \ pg_get_viewdef(relname) AS definition \ FROM pg_class WHERE relhasrules AND \
pgsql-hackers by date: