aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Wieck <JanWieck@Yahoo.com>1999-01-28 15:28:40 +0000
committerJan Wieck <JanWieck@Yahoo.com>1999-01-28 15:28:40 +0000
commit3e2f87f3f35e721935643044c6366ae969e544ac (patch)
tree6dc02b12bd17539e28198dd9d50c722f7d9924eb /src
parent51e8a1d390d0f3f07379cd32da1ffef7005a86ab (diff)
downloadpostgresql-3e2f87f3f35e721935643044c6366ae969e544ac.tar.gz
postgresql-3e2f87f3f35e721935643044c6366ae969e544ac.zip
Changed qualification of pg_views and pg_tables to directly
check if a rewrite rule on SELECT exists/not exists instead of asking pg_get_viewdef() function. Jan
Diffstat (limited to 'src')
-rw-r--r--src/bin/initdb/initdb.sh28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 1ca47f40e2f..56feebfc8d0 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -26,7 +26,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.56 1998/10/02 16:27:53 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.57 1999/01/28 15:28:40 wieck Exp $
#
#-------------------------------------------------------------------------
@@ -467,11 +467,12 @@ echo "UPDATE pg_type SET typname = 'pg_views' WHERE typname = 'xpg_views';" |\
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_userbyid(relowner) AS viewowner, \
- pg_get_viewdef(relname) AS definition \
- FROM pg_class WHERE relhasrules AND \
- pg_get_viewdef(relname) != 'Not a view';" | \
+ SELECT C.relname AS viewname, \
+ pg_get_userbyid(C.relowner) AS viewowner, \
+ pg_get_viewdef(C.relname) AS definition \
+ FROM pg_class C WHERE C.relhasrules AND \
+ EXISTS (SELECT rulename FROM pg_rewrite R \
+ WHERE ev_class = C.oid AND ev_type = '1');" | \
postgres $PGSQL_OPT template1 > /dev/null
echo "Creating view pg_tables"
@@ -489,13 +490,14 @@ echo "UPDATE pg_type SET typname = 'pg_tables' WHERE typname = 'xpg_tables';" |\
mv $PGDATA/base/template1/xpg_tables $PGDATA/base/template1/pg_tables
echo "CREATE RULE \"_RETpg_tables\" AS ON SELECT TO pg_tables DO INSTEAD \
- SELECT relname AS tablename, \
- pg_get_userbyid(relowner) AS tableowner, \
- relhasindex AS hasindexes, \
- relhasrules AS hasrules, \
- (reltriggers > 0) AS hastriggers \
- FROM pg_class WHERE relkind IN ('r', 's') \
- AND pg_get_viewdef(relname) = 'Not a view';" | \
+ SELECT C.relname AS tablename, \
+ pg_get_userbyid(C.relowner) AS tableowner, \
+ C.relhasindex AS hasindexes, \
+ C.relhasrules AS hasrules, \
+ (C.reltriggers > 0) AS hastriggers \
+ FROM pg_class C WHERE C.relkind IN ('r', 's') \
+ AND NOT EXISTS (SELECT rulename FROM pg_rewrite \
+ WHERE ev_class = C.oid AND ev_type = '1');" | \
postgres $PGSQL_OPT template1 > /dev/null
echo "Creating view pg_indexes"