From: Tom Lane Date: Thu, 3 Jun 1999 04:01:16 +0000 (+0000) Subject: pg_dump failed on any database containing large objects, X-Git-Tag: REL6_5~103 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58d8584eeaf0d02476c1dfdcde365a66397ecdfc;p=postgresql pg_dump failed on any database containing large objects, because it ignored the LOs themselves but failed to ignore the indexes on the LOs. How long has this been broken?? --- diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 0e1aaa1fc0..0353d101c2 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -21,7 +21,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.114 1999/05/29 10:25:31 vadim Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.115 1999/06/03 04:01:16 tgl Exp $ * * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb * @@ -1419,7 +1419,9 @@ getTables(int *numTables, FuncInfo *finfo, int numFuncs) * ordering by oid is important so that we always process the parent * tables before the child tables when traversing the tblinfo* * - * we ignore tables that start with xinv + * we ignore tables that are not type 'r' (ordinary relation) + * or 'S' (sequence) --- in particular, Large Object relations + * (type 'l') are ignored. */ sprintf(query, @@ -1918,7 +1920,7 @@ getIndices(int *numIndices) * find all the user-defined indices. We do not handle partial * indices. * - * skip 'xinx*' - indices on inversion objects + * Notice we skip indices on inversion objects (relkind 'l') * * this is a 4-way join !! */ @@ -1930,7 +1932,7 @@ getIndices(int *numIndices) "from pg_index i, pg_class t1, pg_class t2, pg_am a " "where t1.oid = i.indexrelid and t2.oid = i.indrelid " "and t1.relam = a.oid and i.indexrelid > '%u'::oid " - "and t2.relname !~ '^pg_' and t1.relkind != 'l'", + "and t2.relname !~ '^pg_' and t2.relkind != 'l'", g_last_builtin_oid); res = PQexec(g_conn, query);