Support "delimited identifiers" for \d tablename command.
authorThomas G. Lockhart
Fri, 7 Nov 1997 06:27:55 +0000 (06:27 +0000)
committerThomas G. Lockhart
Fri, 7 Nov 1997 06:27:55 +0000 (06:27 +0000)
 This allows mixed-case identifiers if surrounded by double quotes.
Add mention of "with location" clause for "create database" in help.

src/bin/psql/psql.c
src/bin/psql/psqlHelp.h

index 9529cd1c5d57d0acad4256c5159936d9aedc7f0e..db1787438834c29dca79ed8bb4ae4cfd34b8d17f 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.100 1997/11/03 04:21:41 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.101 1997/11/07 06:27:52 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -545,9 +545,19 @@ tableDesc(PsqlSettings *pset, char *table, FILE *fout)
    
    /* Build the query */
 
-   for (i = strlen(table); i >= 0; i--)
-       if (isupper(table[i]))
-           table[i] = tolower(table[i]);
+   /* if the table name is surrounded by double-quotes, then don't convert case */
+   if (*table == '"')
+   {
+       table++;
+       if (*(table+strlen(table)-1) == '"')
+           *(table+strlen(table)-1) = '\0';
+   }
+   else
+   {
+       for (i = strlen(table); i >= 0; i--)
+           if (isupper(table[i]))
+               table[i] = tolower(table[i]);
+   }
 
    descbuf[0] = '\0';
    strcat(descbuf, "SELECT a.attnum, a.attname, t.typname, a.attlen, a.attnotnull");
index e303e7a78c0e7a8d39b061c43212e17046ebda9b..952757bb07caec49938fd281dc1a5c30de4d6c00 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: psqlHelp.h,v 1.31 1997/10/16 06:59:23 vadim Exp $
+ * $Id: psqlHelp.h,v 1.32 1997/11/07 06:27:55 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -52,14 +52,14 @@ static struct _helpStruct QL_HELP[] = {
        "copy data to and from a table",
    "copy [binary]  [with oids]\n\t{to|from} {|stdin|stdout} [using delimiters ];"},
    {"create",
-       "Please more be specific:",
+       "Please be more specific:",
    "\tcreate aggregate\n\tcreate database\n\tcreate function\n\tcreate index\n\tcreate operator\n\tcreate rule\n\tcreate sequence\n\tcreate table\n\tcreate trigger\n\tcreate type\n\tcreate view"},
    {"create aggregate",
        "define an aggregate function",
    "create aggregate  [as] (basetype = , \n\t[sfunc1 = , stype1 = ]\n\t[sfunc2 = , stype2 = ]\n\t[,finalfunc = ]\n\t[,initcond1 = ][,initcond2 = ]);"},
    {"create database",
        "create a database",
-   "create database "},
+   "create database  [with location = '']"},
    {"create function",
        "create a user-defined function",
    "create function  ([,...]) returns \n\tas ''|''\n\tlanguage 'c'|'sql'|'internal';"},
@@ -94,7 +94,7 @@ static struct _helpStruct QL_HELP[] = {
        "delete tuples",
    "delete from  [where ];"},
    {"drop",
-       "Please more be specific:",
+       "Please be more specific:",
    "\tdrop aggregate\n\tdrop database\n\tdrop function\n\tdrop index\n\tdrop operator\n\tdrop rule\n\tdrop sequence\n\tdrop table\n\tdrop trigger\n\tdrop type\n\tdrop view"},
    {"drop aggregate",
        "remove an aggregate function",