]> granicus.if.org Git - postgresql/commitdiff
Fix test for table existance to allow mixed-case and whitespace in
authorThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 12 Nov 1998 15:39:06 +0000 (15:39 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
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);