odd pg_dump output? - Mailing list pgsql-hackers

From t-ishii@sra.co.jp
Subject odd pg_dump output?
Date
Msg-id 199808180501.OAA21422@srapc451.sra.co.jp
Whole thread Raw
Responses Re: [HACKERS] odd pg_dump output?
List pgsql-hackers
I found that current pg_dump command produces wrong output if a table
name includes upper letters (See below).

in bin/pg_dump.c:

sprintf(q, "CREATE TABLE \"%s\" (", fmtId(tblinfo[i].relname));

Here fmtId() returns double quoted results if the table name (or
attribute name, index name...) has upper letters. then sprintf adds
extra double quotations. The result is too much double quotations!

I don't understand why sprintf adds extra quotes (I think 6.3.2
didn't).
Comments?
--
Tatsuo Ishii
t-ishii@sra.co.jp
---------------------------------------------------------------
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL

   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: test

test=> create table "TTT" ("III" int);

CREATE
test=> insert into "TTT" values(100);

INSERT 143849 1
test=> select * from "TTT";
III
---
100
(1 row)

test=>
[srapc451.sra.co.jp]t-ishii{274} pg_dump test
CREATE TABLE ""TTT"" (""III"" int4);
COPY "TTT" FROM stdin;
100
\.


pgsql-hackers by date:

Previous
From: Vadim Mikheev
Date:
Subject: Re: [HACKERS] Re: type coersion (was OR clause status)
Next
From: "Thomas G. Lockhart"
Date:
Subject: Re: [HACKERS] Re: type coersion (was OR clause status)