Re: [PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Andrew Dunstan



Stefan Kaltenbrunner wrote:


Hi!

looks like somebody forgot to test some changes to the pg_dumpall code 
in Revision 1.70 against <8.1 installations -  resulting in the 
following syntax error:





patch applied, thanks

andrew

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Stefan Kaltenbrunner
Peter Eisentraut wrote:
> Stefan Kaltenbrunner wrote:
> 
>>looks like somebody forgot to test some changes to the pg_dumpall
>>code in Revision 1.70 against <8.1 installations -  resulting in the
>>following syntax error:
> 
> 
> Dump output is never expected to be backward compatible.

yeah - but if you take a look at the code/patch you will see that the
problem in this case is that pg_dumpall generates invalid SQL if it is
operating against an older backend which is an obvious typo/thinko in
this case.
It has nothing to do with generating backwards compatible dumps - and
using the pg_dumpall from the (newer) target version for upgrades has
been recommended for a while (or rather is documented to work in the
manual) I think.


Stefan

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Andrew Dunstan

Peter Eisentraut wrote:

Stefan Kaltenbrunner wrote:
  

looks like somebody forgot to test some changes to the pg_dumpall
code in Revision 1.70 against <8.1 installations -  resulting in the
following syntax error:



Dump output is never expected to be backward compatible.

  


We don't expect pg_dumpall to be issuing invalid SQL at any time, 
though. That's what Stefan has uncovered. The code in question is only 
called when it's run against an older server.


cheers

andrew

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Tom Lane
Peter Eisentraut <[EMAIL PROTECTED]> writes:
> Stefan Kaltenbrunner wrote:
>> looks like somebody forgot to test some changes to the pg_dumpall
>> code in Revision 1.70 against <8.1 installations -  resulting in the
>> following syntax error:

> Dump output is never expected to be backward compatible.

But pg_dumpall should be able to extract a dump from an older server.

regards, tom lane

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


Re: [PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Peter Eisentraut
Stefan Kaltenbrunner wrote:
> looks like somebody forgot to test some changes to the pg_dumpall
> code in Revision 1.70 against <8.1 installations -  resulting in the
> following syntax error:

Dump output is never expected to be backward compatible.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


[PATCHES] -HEAD pg_dumpall broken against older backends

2006-03-29 Thread Stefan Kaltenbrunner

Hi!

looks like somebody forgot to test some changes to the pg_dumpall code 
in Revision 1.70 against <8.1 installations -  resulting in the 
following syntax error:


--
-- PostgreSQL database cluster dump
--

\connect postgres

pg_dumpall: query failed: ERROR:  syntax error at or near "null"
LINE 1: ... passwd as rolpassword, valuntil as rolvaliduntil null as ro...
 ^
pg_dumpall: query was: SELECT usename as rolname, usesuper as rolsuper, 
true as rolinherit, usesuper as rolcreaterole, usecreatedb as 
rolcreatedb, usecatupd as rolcatupdate, true as rolcanlogin, -1 as 
rolconnlimit, passwd as rolpassword, valuntil as rolvaliduntil null as 
rolcomment FROM pg_shadow UNION ALL SELECT groname as rolname, false as 
rolsuper, true as rolinherit, false as rolcreaterole, false as 
rolcreatedb, false as rolcatupdate, false as rolcanlogin, -1 as 
rolconnlimit, null::text as rolpassword, null::abstime as rolvaliduntil 
null FROM pg_group



proposed patch to fix problem is attached.


Stefan
Index: src/bin/pg_dump/pg_dumpall.c
===
RCS file: /projects/cvsroot/pgsql/src/bin/pg_dump/pg_dumpall.c,v
retrieving revision 1.72
diff -u -r1.72 pg_dumpall.c
--- src/bin/pg_dump/pg_dumpall.c5 Mar 2006 15:58:51 -   1.72
+++ src/bin/pg_dump/pg_dumpall.c29 Mar 2006 13:29:01 -
@@ -444,7 +444,7 @@
  "true as rolcanlogin, "
  "-1 as rolconnlimit, "
  "passwd as rolpassword, "
- "valuntil as rolvaliduntil "
+ "valuntil as rolvaliduntil, "
  "null as rolcomment "
  "FROM pg_shadow "
  "UNION ALL "
@@ -457,8 +457,8 @@
  "false as rolcanlogin, "
  "-1 as rolconnlimit, "
  "null::text as rolpassword, "
- "null::abstime as 
rolvaliduntil "
- "null "
+ "null::abstime as 
rolvaliduntil, "
+ "null as rolcomment "
  "FROM pg_group");
 
res = executeQuery(conn, buf->data);

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings