26
26
#
27
27
#
28
28
# 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 $
30
30
#
31
31
# -------------------------------------------------------------------------
32
32
@@ -467,11 +467,12 @@ echo "UPDATE pg_type SET typname = 'pg_views' WHERE typname = 'xpg_views';" |\
467
467
mv$PGDATA /base/template1/xpg_views$PGDATA /base/template1/pg_views
468
468
469
469
echo " 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');" | \
475
476
postgres$PGSQL_OPT template1> /dev/null
476
477
477
478
echo " Creating view pg_tables"
@@ -489,13 +490,14 @@ echo "UPDATE pg_type SET typname = 'pg_tables' WHERE typname = 'xpg_tables';" |\
489
490
mv$PGDATA /base/template1/xpg_tables$PGDATA /base/template1/pg_tables
490
491
491
492
echo " 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');" | \
499
501
postgres$PGSQL_OPT template1> /dev/null
500
502
501
503
echo " Creating view pg_indexes"