mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
Back out BETWEEN node patch, was causing initdb failure.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.195 2002/07/18 04:41:44 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.196 2002/07/18 17:14:19 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -999,32 +999,6 @@ _copyCaseExpr(CaseExpr *from)
|
||||
return newnode;
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
* _copyBetweenExpr
|
||||
* ----------------
|
||||
*/
|
||||
static BetweenExpr *
|
||||
_copyBetweenExpr(BetweenExpr *from)
|
||||
{
|
||||
BetweenExpr *newnode = makeNode(BetweenExpr);
|
||||
|
||||
/*
|
||||
* copy remainder of node
|
||||
*/
|
||||
Node_Copy(from, newnode, expr);
|
||||
Node_Copy(from, newnode, lexpr);
|
||||
Node_Copy(from, newnode, rexpr);
|
||||
Node_Copy(from, newnode, lthan);
|
||||
Node_Copy(from, newnode, gthan);
|
||||
newnode->symmetric = from->symmetric;
|
||||
newnode->not = from->not;
|
||||
newnode->typeId = from->typeId;
|
||||
newnode->typeLen = from->typeLen;
|
||||
newnode->typeByVal = from->typeByVal;
|
||||
|
||||
return newnode;
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
* _copyCaseWhen
|
||||
* ----------------
|
||||
@@ -3078,9 +3052,6 @@ copyObject(void *from)
|
||||
case T_CaseExpr:
|
||||
retval = _copyCaseExpr(from);
|
||||
break;
|
||||
case T_BetweenExpr:
|
||||
retval = _copyBetweenExpr(from);
|
||||
break;
|
||||
case T_CaseWhen:
|
||||
retval = _copyCaseWhen(from);
|
||||
break;
|
||||
|
@@ -20,7 +20,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.142 2002/07/18 04:41:44 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.143 2002/07/18 17:14:19 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1769,33 +1769,6 @@ _equalCaseExpr(CaseExpr *a, CaseExpr *b)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalBetweenExpr(BetweenExpr *a, BetweenExpr *b)
|
||||
{
|
||||
if (!equal(a->expr, b->expr))
|
||||
return false;
|
||||
if (!equal(a->lexpr, b->lexpr))
|
||||
return false;
|
||||
if (!equal(a->rexpr, b->rexpr))
|
||||
return false;
|
||||
if (!equal(a->lthan, b->lthan))
|
||||
return false;
|
||||
if (!equal(a->gthan, b->gthan))
|
||||
return false;
|
||||
if (a->symmetric != b->symmetric)
|
||||
return false;
|
||||
if (a->not != b->not)
|
||||
return false;
|
||||
if (a->typeId != b->typeId)
|
||||
return false;
|
||||
if (a->typeLen != b->typeLen)
|
||||
return false;
|
||||
if (a->typeByVal != b->typeByVal)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCaseWhen(CaseWhen *a, CaseWhen *b)
|
||||
{
|
||||
@@ -2244,9 +2217,6 @@ equal(void *a, void *b)
|
||||
case T_CaseExpr:
|
||||
retval = _equalCaseExpr(a, b);
|
||||
break;
|
||||
case T_BetweenExpr:
|
||||
retval = _equalBetweenExpr(a, b);
|
||||
break;
|
||||
case T_CaseWhen:
|
||||
retval = _equalCaseWhen(a, b);
|
||||
break;
|
||||
|
@@ -5,7 +5,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.164 2002/07/18 04:41:44 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.165 2002/07/18 17:14:19 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Every (plan) node in POSTGRES has an associated "out" routine which
|
||||
@@ -1483,38 +1483,6 @@ _outCaseWhen(StringInfo str, CaseWhen *node)
|
||||
_outNode(str, node->result);
|
||||
}
|
||||
|
||||
/*
|
||||
* BetweenExpr
|
||||
*/
|
||||
static void
|
||||
_outBetweenExpr(StringInfo str, BetweenExpr *node)
|
||||
{
|
||||
appendStringInfo(str, " BETWEENEXPR :expr ");
|
||||
_outNode(str, node->expr);
|
||||
|
||||
appendStringInfo(str, " :not %s",
|
||||
booltostr(node->not));
|
||||
|
||||
appendStringInfo(str, " :symmetric %s",
|
||||
booltostr(node->symmetric));
|
||||
|
||||
appendStringInfo(str, " :lexpr ");
|
||||
_outNode(str, node->lexpr);
|
||||
|
||||
appendStringInfo(str, " :rexpr ");
|
||||
_outNode(str, node->rexpr);
|
||||
|
||||
appendStringInfo(str, " :gthan ");
|
||||
_outNode(str, node->gthan);
|
||||
|
||||
appendStringInfo(str, " :lthan ");
|
||||
_outNode(str, node->lthan);
|
||||
|
||||
appendStringInfo(str, " :typeid %u :typelen %d :typebyval %s",
|
||||
node->typeId, node->typeLen,
|
||||
booltostr(node->typeByVal));
|
||||
}
|
||||
|
||||
/*
|
||||
* NullTest
|
||||
*/
|
||||
@@ -1799,9 +1767,6 @@ _outNode(StringInfo str, void *obj)
|
||||
case T_CaseExpr:
|
||||
_outCaseExpr(str, obj);
|
||||
break;
|
||||
case T_BetweenExpr:
|
||||
_outBetweenExpr(str, obj);
|
||||
break;
|
||||
case T_CaseWhen:
|
||||
_outCaseWhen(str, obj);
|
||||
break;
|
||||
|
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.125 2002/07/18 04:41:45 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.126 2002/07/18 17:14:19 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Most of the read functions for plan nodes are tested. (In fact, they
|
||||
@@ -881,53 +881,6 @@ _readCaseWhen(void)
|
||||
return local_node;
|
||||
}
|
||||
|
||||
static BetweenExpr *
|
||||
_readBetweenExpr(void)
|
||||
{
|
||||
BetweenExpr *local_node;
|
||||
char *token;
|
||||
int length;
|
||||
|
||||
local_node = makeNode(BetweenExpr);
|
||||
|
||||
token = pg_strtok(&length); /* eat :expr */
|
||||
local_node->expr = nodeRead(true);
|
||||
|
||||
token = pg_strtok(&length); /* eat :not */
|
||||
token = pg_strtok(&length); /* get not */
|
||||
local_node->not = strtobool(token);
|
||||
|
||||
token = pg_strtok(&length); /* eat :symmetric */
|
||||
token = pg_strtok(&length); /* get symmetric */
|
||||
local_node->symmetric = strtobool(token);
|
||||
|
||||
token = pg_strtok(&length); /* eat :lexpr */
|
||||
local_node->lexpr = nodeRead(true);
|
||||
|
||||
token = pg_strtok(&length); /* eat :rexpr */
|
||||
local_node->rexpr = nodeRead(true);
|
||||
|
||||
token = pg_strtok(&length); /* eat :gthan */
|
||||
local_node->gthan = nodeRead(true);
|
||||
|
||||
token = pg_strtok(&length); /* eat :lthan */
|
||||
local_node->lthan = nodeRead(true);
|
||||
|
||||
token = pg_strtok(&length); /* eat :typeid */
|
||||
token = pg_strtok(&length); /* get typeid */
|
||||
local_node->typeId = atooid(token);
|
||||
|
||||
token = pg_strtok(&length); /* eat :typelen */
|
||||
token = pg_strtok(&length); /* get typelen */
|
||||
local_node->typeLen = atoui(token);
|
||||
|
||||
token = pg_strtok(&length); /* eat :typebyval */
|
||||
token = pg_strtok(&length); /* get typebyval */
|
||||
local_node->typeByVal = strtobool(token);
|
||||
|
||||
return local_node;
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
* _readNullTest
|
||||
*
|
||||
@@ -2179,8 +2132,6 @@ parsePlanString(void)
|
||||
return_value = _readNullTest();
|
||||
else if (length == 11 && strncmp(token, "BOOLEANTEST", length) == 0)
|
||||
return_value = _readBooleanTest();
|
||||
else if (length == 11 && strncmp(token, "BETWEENEXPR", length) == 0)
|
||||
return_value = _readBetweenExpr();
|
||||
else
|
||||
elog(ERROR, "badly formatted planstring \"%.10s\"...", token);
|
||||
|
||||
|
Reference in New Issue
Block a user