diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-08-10 18:57:42 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-08-10 18:57:42 +0000 |
| commit | bf56f0759bdfa87f143c3abd09f893a5f530fe88 (patch) | |
| tree | 10555a5e46bcfdfd9799b8f0e13ab48101d766de /contrib/findoidjoins/findoidjoins.c | |
| parent | d062f0f4e91f68b1f55b04691bd92d1efc83dc54 (diff) | |
| download | postgresql-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.c | 12 |
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"); |
