Allow -t tablename to preserve case if specified as "tablename".
authorThomas G. Lockhart
Tue, 4 May 1999 15:47:35 +0000 (15:47 +0000)
committerThomas G. Lockhart
Tue, 4 May 1999 15:47:35 +0000 (15:47 +0000)
src/bin/pg_dump/pg_dump.c

index 733d7ec372ca7a2da56acae1267d590458062367..d4fbd33594f52d9b50b743af97725bb74e5cf688 100644 (file)
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.103 1999/04/14 23:47:19 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.104 1999/05/04 15:47:35 thomas Exp $
  *
  * Modifications - 6/10/96 - [email protected] - version 1.13.dhb
  *
@@ -606,10 +606,21 @@ main(int argc, char **argv)
                    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]);
+                   /* 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 */