Fix test for table existance to allow mixed-case and whitespace in
authorThomas G. Lockhart
Thu, 12 Nov 1998 15:39:06 +0000 (15:39 +0000)
committerThomas G. Lockhart
Thu, 12 Nov 1998 15:39:06 +0000 (15:39 +0000)
 the table name. Problem reported by Billy Allie.

src/backend/catalog/heap.c

index bcac9479788c049a6d7f52360a65b2e8d9d8c686..df329eeb35f98f116eff95a069389e3b76cd0c40 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.64 1998/09/01 04:27:29 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.65 1998/11/12 15:39:06 thomas Exp $
  *
  * INTERFACE ROUTINES
  *     heap_create()           - Create an uncataloged heap relation
@@ -1515,7 +1515,10 @@ StoreRelCheck(Relation rel, ConstrCheck *check)
    char        nulls[4] = {' ', ' ', ' ', ' '};
    extern GlobalMemory CacheCxt;
 
-   sprintf(str, "select 1 from %.*s where %s",
+   /* Check for table's existance. Surround table name with double-quotes
+    * to allow mixed-case and whitespace names. - thomas 1998-11-12
+    */
+   sprintf(str, "select 1 from \"%.*s\" where %s",
            NAMEDATALEN, rel->rd_rel->relname.data, check->ccsrc);
    setheapoverride(true);
    planTree_list = (List *) pg_parse_and_plan(str, NULL, 0, &queryTree_list, None, FALSE);