]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix for views and outnodes.
authorBruce Momjian <bruce@momjian.us>
Wed, 7 Jan 1998 08:08:08 +0000 (08:08 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 7 Jan 1998 08:08:08 +0000 (08:08 +0000)
src/backend/nodes/read.c
src/backend/nodes/readfuncs.c
src/backend/rewrite/rewriteDefine.c

index ef12ecf7347fdebfcf83e7207e09f9129fd95b78..a3b314386bae9c3151ebb9d9fbba7d9ea028cf63 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.7 1998/01/06 18:52:18 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.8 1998/01/07 08:07:58 momjian Exp $
  *
  * HISTORY
  *       AUTHOR                        DATE                    MAJOR EVENT
@@ -94,7 +94,9 @@ nodeTokenType(char *token, int length)
 
                retval = (*token != '.') ? T_Integer : T_Float;
        }
-       else if (isalpha(*token) || *token == '_')
+               /* make "" == NULL, not T_String.  Is this a problem? 1998/1/7 bjm */
+       else if (isalpha(*token) || *token == '_' || 
+                        (token[0] == '\"' && token[1] == '\"'))
                retval = ATOM_TOKEN;
        else if (*token == '(')
                retval = LEFT_PAREN;
@@ -147,8 +149,8 @@ lsptok(char *string, int *length)
        {
                for (local_str++; *local_str != '\"'; (*length)++, local_str++)
                        ;
-               if (*length == 2)
-                       *length -= 2;   /* if "", return zero length */
+               if (*length == 1)
+                       *length = 0;    /* if "", return zero length */
                else
                        (*length)++;
                local_str++;
index 6a7a15280ac1a14345815c2c4ff9970e841848b2..3b43849f131c55647593cb3c8c7fb698fd328e5e 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.15 1998/01/06 23:19:49 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.16 1998/01/07 08:08:02 momjian Exp $
  *
  * NOTES
  *       Most of the read functions for plan nodes are tested. (In fact, they
@@ -187,7 +187,6 @@ _readSortClause()
        local_node = makeNode(SortClause);
 
        token = lsptok(NULL, &length);          /* skip the :resdom */
-       token = lsptok(NULL, &length);          /* get resdom */
        local_node->resdom = nodeRead(true);
 
        token = lsptok(NULL, &length);          /* skip :opoid */
@@ -211,7 +210,6 @@ _readGroupClause()
        local_node = makeNode(GroupClause);
 
        token = lsptok(NULL, &length);          /* skip the :entry */
-       token = lsptok(NULL, &length);          /* get entry */
        local_node->entry = nodeRead(true);
 
        token = lsptok(NULL, &length);          /* skip :grpOpoid */
index 3dccd1bf50f924ae51c6aae29e9fc6fe36c57265..37ffb52ef3328634cb25b84b53eecfa484acaa91 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.10 1998/01/05 03:32:44 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.11 1998/01/07 08:08:08 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -115,7 +115,7 @@ InsertRule(char *rulname,
                is_instead = "t";
 
        if (evqual == NULL)
-               evqual = "nil";
+               evqual = "\"\"";
 
        if (IsDefinedRewriteRule(rulname))
                elog(ABORT, "Attempt to insert rule '%s' failed: already exists",
@@ -245,7 +245,7 @@ DefineQueryRewrite(RuleStmt *stmt)
                                                        eslot_string,
                                                        event_qualP,
                                                        true,
-                                                       "nil");
+                                                       "\"\"");
                prs2_addToRelation(ev_relid, ruleId, event_type, event_attno, TRUE,
                                                   event_qual, NIL);