2626#
2727#
2828# IDENTIFICATION
29- # $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.56 1998/10/02 16:27:53 momjian Exp $
29+ # $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.57 1999/01/28 15:28:40 wieck Exp $
3030#
3131# -------------------------------------------------------------------------
3232
@@ -467,11 +467,12 @@ echo "UPDATE pg_type SET typname = 'pg_views' WHERE typname = 'xpg_views';" |\
467467mv$PGDATA /base/template1/xpg_views$PGDATA /base/template1/pg_views
468468
469469echo " CREATE RULE\" _RETpg_views\" AS ON SELECT TO pg_views DO INSTEAD\
470- SELECT relname AS viewname,\
471- pg_get_userbyid(relowner) AS viewowner,\
472- pg_get_viewdef(relname) AS definition\
473- FROM pg_class WHERE relhasrules AND\
474- pg_get_viewdef(relname) != 'Not a view';" | \
470+ SELECT C.relname AS viewname,\
471+ pg_get_userbyid(C.relowner) AS viewowner,\
472+ pg_get_viewdef(C.relname) AS definition\
473+ FROM pg_class C WHERE C.relhasrules AND\
474+ EXISTS (SELECT rulename FROM pg_rewrite R\
475+ WHERE ev_class = C.oid AND ev_type = '1');" | \
475476postgres$PGSQL_OPT template1> /dev/null
476477
477478echo " Creating view pg_tables"
@@ -489,13 +490,14 @@ echo "UPDATE pg_type SET typname = 'pg_tables' WHERE typname = 'xpg_tables';" |\
489490mv$PGDATA /base/template1/xpg_tables$PGDATA /base/template1/pg_tables
490491
491492echo " CREATE RULE\" _RETpg_tables\" AS ON SELECT TO pg_tables DO INSTEAD\
492- SELECT relname AS tablename,\
493- pg_get_userbyid(relowner) AS tableowner,\
494- relhasindex AS hasindexes,\
495- relhasrules AS hasrules,\
496- (reltriggers > 0) AS hastriggers\
497- FROM pg_class WHERE relkind IN ('r', 's')\
498- AND pg_get_viewdef(relname) = 'Not a view';" | \
493+ SELECT C.relname AS tablename,\
494+ pg_get_userbyid(C.relowner) AS tableowner,\
495+ C.relhasindex AS hasindexes,\
496+ C.relhasrules AS hasrules,\
497+ (C.reltriggers > 0) AS hastriggers\
498+ FROM pg_class C WHERE C.relkind IN ('r', 's')\
499+ AND NOT EXISTS (SELECT rulename FROM pg_rewrite\
500+ WHERE ev_class = C.oid AND ev_type = '1');" | \
499501postgres$PGSQL_OPT template1> /dev/null
500502
501503echo " Creating view pg_indexes"