From 015cda44cfc5e02ec7147ab55560bd14c74acf08 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 18 Oct 2011 17:11:07 -0400 Subject: Fix pg_dump to dump casts between auto-generated types. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The heuristic for when to dump a cast failed for a cast between table rowtypes, as reported by Frédéric Rejol. Fix it by setting the "dump" flag for such a type the same way as the flag is set for the underlying table or base type. This won't result in the auto-generated type appearing in the output, since setting its objType to DO_DUMMY_TYPE unconditionally suppresses that. But it will result in dumpCast doing what was intended. Back-patch to 8.3. The 8.2 code is rather different in this area, and it doesn't seem worth any risk to fix a corner case that nobody has stumbled on before. --- src/bin/pg_dump/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/bin/pg_dump/common.c') diff --git a/src/bin/pg_dump/common.c b/src/bin/pg_dump/common.c index 9a5c6b9360a..bf06f678e20 100644 --- a/src/bin/pg_dump/common.c +++ b/src/bin/pg_dump/common.c @@ -131,7 +131,7 @@ getSchemaData(int *numTablesPtr) funinfo = getFuncs(&numFuncs); funinfoindex = buildIndexArray(funinfo, numFuncs, sizeof(FuncInfo)); - /* this must be after getFuncs */ + /* this must be after getTables and getFuncs */ if (g_verbose) write_msg(NULL, "reading user-defined types\n"); typinfo = getTypes(&numTypes); -- cgit v1.2.3