summaryrefslogtreecommitdiff
path: root/contrib/findoidjoins/findoidjoins.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-08-10 18:57:42 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-08-10 18:57:42 +0000
commitbf56f0759bdfa87f143c3abd09f893a5f530fe88 (patch)
tree10555a5e46bcfdfd9799b8f0e13ab48101d766de /contrib/findoidjoins/findoidjoins.c
parentd062f0f4e91f68b1f55b04691bd92d1efc83dc54 (diff)
downloadpostgresql-bf56f0759bdfa87f143c3abd09f893a5f530fe88.tar.gz
Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them. Some interesting side effects: TOAST pointers are 20 bytes not 32 now; pg_description has a three-column key instead of one. Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey has some usefulness; pg_dump dumps comments on indexes, rules, and triggers in a valid order. initdb forced.
Diffstat (limited to 'contrib/findoidjoins/findoidjoins.c')
-rw-r--r--contrib/findoidjoins/findoidjoins.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/contrib/findoidjoins/findoidjoins.c b/contrib/findoidjoins/findoidjoins.c
index 8aabe58672..87d794a9da 100644
--- a/contrib/findoidjoins/findoidjoins.c
+++ b/contrib/findoidjoins/findoidjoins.c
@@ -38,7 +38,6 @@ main(int argc, char **argv)
FROM pg_class c, pg_attribute a, pg_type t \
WHERE a.attnum > 0 AND \
relkind = 'r' AND \
- relhasrules = 'f' AND \
(typname = 'oid' OR \
typname = 'regproc') AND \
a.attrelid = c.oid AND \
@@ -52,8 +51,7 @@ main(int argc, char **argv)
DECLARE c_relations BINARY CURSOR FOR \
SELECT relname \
FROM pg_class c \
- WHERE relkind = 'r' AND \
- relhasrules = 'f' \
+ WHERE relkind = 'r' AND relhasoids \
ORDER BY 1; \
");
doquery("FETCH ALL IN c_relations");
@@ -71,14 +69,14 @@ main(int argc, char **argv)
sprintf(query, "\
DECLARE c_matches BINARY CURSOR FOR \
SELECT count(*) \
- FROM %s t1, %s t2 \
- WHERE t1.%s = t2.oid ", relname, relname2, attname);
+ FROM \"%s\" t1, \"%s\" t2 \
+ WHERE t1.\"%s\" = t2.oid ", relname, relname2, attname);
else
sprintf(query, "\
DECLARE c_matches BINARY CURSOR FOR \
SELECT count(*) \
- FROM %s t1, %s t2 \
- WHERE RegprocToOid(t1.%s) = t2.oid ", relname, relname2, attname);
+ FROM \"%s\" t1, \"%s\" t2 \
+ WHERE RegprocToOid(t1.\"%s\") = t2.oid ", relname, relname2, attname);
doquery(query);
doquery("FETCH ALL IN c_matches");