From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu> |
Cc: | "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu>, pgsql-sql(at)hub(dot)org, "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: [HACKERS] pg_dump bug (was Re: [SQL] Slow Inserts Again) |
Date: | 1999-05-04 16:55:40 |
Message-ID: | 199905041655.MAA28855@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-sql |
Apply, please. It is a bug fix.
> > ... pg_dump seems to have problems with mixed case tablenames. There
> > doesn't seem to be a way to send a quoted tablename into pg_dump as the
> > value for a -t option, in 6.4.2 (example below). Can someone try this on
> > 6.5beta? I know some issues with quoting output of pg_dump (i.e. COPY)
> > was addressed, I'm wondering if input parsing got touched.
>
> pg_dump explicitly converts all table names to lowercase. I've got a
> patch which looks for a table name which starts with a double quote,
> and suppresses the case conversion if so:
>
> [postgres(at)golem pg_dump]$ pg_dump -t '"MixedCase"' postgres
> CREATE TABLE "MixedCase" (
> "i" int4);
> COPY "MixedCase" FROM stdin;
> 1
> 2
> \.
>
> Patch enclosed for you to try. Bruce, any reason not to apply this to
> the tree?
>
> - Tom
>
> --
> Thomas Lockhart lockhart(at)alumni(dot)caltech(dot)edu
> South Pasadena, California
> *** pg_dump.c.orig Thu Apr 15 05:08:53 1999
> --- pg_dump.c Tue May 4 13:47:01 1999
> ***************
> *** 606,615 ****
> int i;
>
> tablename = strdup(optarg);
> ! for (i = 0; tablename[i]; i++)
> ! if (isascii((unsigned char) tablename[i]) &&
> ! isupper(tablename[i]))
> ! tablename[i] = tolower(tablename[i]);
> }
> break;
> case 'v': /* verbose */
> --- 606,626 ----
> int i;
>
> tablename = strdup(optarg);
> ! /* quoted string? Then strip quotes and preserve case... */
> ! if (tablename[0] == '"')
> ! {
> ! strcpy(tablename, &tablename[1]);
> ! if (*(tablename+strlen(tablename)-1) == '"')
> ! *(tablename+strlen(tablename)-1) = '\0';
> ! }
> ! /* otherwise, convert table name to lowercase... */
> ! else
> ! {
> ! for (i = 0; tablename[i]; i++)
> ! if (isascii((unsigned char) tablename[i]) &&
> ! isupper(tablename[i]))
> ! tablename[i] = tolower(tablename[i]);
> ! }
> }
> break;
> case 'v': /* verbose */
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 1999-05-04 17:21:52 | Re: [HACKERS] an older problem? hash table out of memory |
Previous Message | Bruce Momjian | 1999-05-04 16:55:03 | Re: [HACKERS] varchar-array.patch applied |
From | Date | Subject | |
---|---|---|---|
Next Message | G. Anthony Reina | 1999-05-04 17:44:51 | How to find SQL Functions |
Previous Message | Thomas Lockhart | 1999-05-04 13:54:33 | Re: [HACKERS] pg_dump bug (was Re: [SQL] Slow Inserts Again) |