1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-24 10:47:04 +03:00

Rename value node fields

For the formerly-Value node types, rename the "val" field to a name
specific to the node type, namely "ival", "fval", "sval", and "bsval".
This makes some code clearer and catches mixups better.

Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/8c1a2e37-c68d-703c-5a83-7a6077f4f997@enterprisedb.com
This commit is contained in:
Peter Eisentraut 2022-01-14 10:46:49 +01:00
parent 93415a3b5a
commit c4cc2850f4
12 changed files with 53 additions and 53 deletions

View File

@ -58,7 +58,7 @@ defGetString(DefElem *def)
case T_Integer: case T_Integer:
return psprintf("%ld", (long) intVal(def->arg)); return psprintf("%ld", (long) intVal(def->arg));
case T_Float: case T_Float:
return castNode(Float, def->arg)->val; return castNode(Float, def->arg)->fval;
case T_String: case T_String:
return strVal(def->arg); return strVal(def->arg);
case T_TypeName: case T_TypeName:
@ -201,7 +201,7 @@ defGetInt64(DefElem *def)
* strings. * strings.
*/ */
return DatumGetInt64(DirectFunctionCall1(int8in, return DatumGetInt64(DirectFunctionCall1(int8in,
CStringGetDatum(castNode(Float, def->arg)->val))); CStringGetDatum(castNode(Float, def->arg)->fval)));
default: default:
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),

View File

@ -2745,16 +2745,16 @@ _copyA_Const(const A_Const *from)
switch (nodeTag(&from->val)) switch (nodeTag(&from->val))
{ {
case T_Integer: case T_Integer:
COPY_SCALAR_FIELD(val.ival.val); COPY_SCALAR_FIELD(val.ival.ival);
break; break;
case T_Float: case T_Float:
COPY_STRING_FIELD(val.fval.val); COPY_STRING_FIELD(val.fval.fval);
break; break;
case T_String: case T_String:
COPY_STRING_FIELD(val.sval.val); COPY_STRING_FIELD(val.sval.sval);
break; break;
case T_BitString: case T_BitString:
COPY_STRING_FIELD(val.bsval.val); COPY_STRING_FIELD(val.bsval.bsval);
break; break;
default: default:
elog(ERROR, "unrecognized node type: %d", elog(ERROR, "unrecognized node type: %d",
@ -4934,7 +4934,7 @@ _copyInteger(const Integer *from)
{ {
Integer *newnode = makeNode(Integer); Integer *newnode = makeNode(Integer);
COPY_SCALAR_FIELD(val); COPY_SCALAR_FIELD(ival);
return newnode; return newnode;
} }
@ -4944,7 +4944,7 @@ _copyFloat(const Float *from)
{ {
Float *newnode = makeNode(Float); Float *newnode = makeNode(Float);
COPY_STRING_FIELD(val); COPY_STRING_FIELD(fval);
return newnode; return newnode;
} }
@ -4954,7 +4954,7 @@ _copyString(const String *from)
{ {
String *newnode = makeNode(String); String *newnode = makeNode(String);
COPY_STRING_FIELD(val); COPY_STRING_FIELD(sval);
return newnode; return newnode;
} }
@ -4964,7 +4964,7 @@ _copyBitString(const BitString *from)
{ {
BitString *newnode = makeNode(BitString); BitString *newnode = makeNode(BitString);
COPY_STRING_FIELD(val); COPY_STRING_FIELD(bsval);
return newnode; return newnode;
} }

View File

@ -3125,7 +3125,7 @@ _equalList(const List *a, const List *b)
static bool static bool
_equalInteger(const Integer *a, const Integer *b) _equalInteger(const Integer *a, const Integer *b)
{ {
COMPARE_SCALAR_FIELD(val); COMPARE_SCALAR_FIELD(ival);
return true; return true;
} }
@ -3133,7 +3133,7 @@ _equalInteger(const Integer *a, const Integer *b)
static bool static bool
_equalFloat(const Float *a, const Float *b) _equalFloat(const Float *a, const Float *b)
{ {
COMPARE_STRING_FIELD(val); COMPARE_STRING_FIELD(fval);
return true; return true;
} }
@ -3141,7 +3141,7 @@ _equalFloat(const Float *a, const Float *b)
static bool static bool
_equalString(const String *a, const String *b) _equalString(const String *a, const String *b)
{ {
COMPARE_STRING_FIELD(val); COMPARE_STRING_FIELD(sval);
return true; return true;
} }
@ -3149,7 +3149,7 @@ _equalString(const String *a, const String *b)
static bool static bool
_equalBitString(const BitString *a, const BitString *b) _equalBitString(const BitString *a, const BitString *b)
{ {
COMPARE_STRING_FIELD(val); COMPARE_STRING_FIELD(bsval);
return true; return true;
} }

View File

@ -3421,7 +3421,7 @@ _outA_Expr(StringInfo str, const A_Expr *node)
static void static void
_outInteger(StringInfo str, const Integer *node) _outInteger(StringInfo str, const Integer *node)
{ {
appendStringInfo(str, "%d", node->val); appendStringInfo(str, "%d", node->ival);
} }
static void static void
@ -3431,7 +3431,7 @@ _outFloat(StringInfo str, const Float *node)
* We assume the value is a valid numeric literal and so does not * We assume the value is a valid numeric literal and so does not
* need quoting. * need quoting.
*/ */
appendStringInfoString(str, node->val); appendStringInfoString(str, node->fval);
} }
static void static void
@ -3442,8 +3442,8 @@ _outString(StringInfo str, const String *node)
* but we don't want it to do anything with an empty string. * but we don't want it to do anything with an empty string.
*/ */
appendStringInfoChar(str, '"'); appendStringInfoChar(str, '"');
if (node->val[0] != '\0') if (node->sval[0] != '\0')
outToken(str, node->val); outToken(str, node->sval);
appendStringInfoChar(str, '"'); appendStringInfoChar(str, '"');
} }
@ -3451,7 +3451,7 @@ static void
_outBitString(StringInfo str, const BitString *node) _outBitString(StringInfo str, const BitString *node)
{ {
/* internal representation already has leading 'b' */ /* internal representation already has leading 'b' */
appendStringInfoString(str, node->val); appendStringInfoString(str, node->bsval);
} }
static void static void

View File

@ -24,7 +24,7 @@ makeInteger(int i)
{ {
Integer *v = makeNode(Integer); Integer *v = makeNode(Integer);
v->val = i; v->ival = i;
return v; return v;
} }
@ -38,7 +38,7 @@ makeFloat(char *numericStr)
{ {
Float *v = makeNode(Float); Float *v = makeNode(Float);
v->val = numericStr; v->fval = numericStr;
return v; return v;
} }
@ -52,7 +52,7 @@ makeString(char *str)
{ {
String *v = makeNode(String); String *v = makeNode(String);
v->val = str; v->sval = str;
return v; return v;
} }
@ -66,6 +66,6 @@ makeBitString(char *str)
{ {
BitString *v = makeNode(BitString); BitString *v = makeNode(BitString);
v->val = str; v->bsval = str;
return v; return v;
} }

View File

@ -1719,7 +1719,7 @@ zone_value:
if ($3 != NIL) if ($3 != NIL)
{ {
A_Const *n = (A_Const *) linitial($3); A_Const *n = (A_Const *) linitial($3);
if ((n->val.ival.val & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0) if ((n->val.ival.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR), (errcode(ERRCODE_SYNTAX_ERROR),
errmsg("time zone interval must be HOUR or HOUR TO MINUTE"), errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
@ -16667,7 +16667,7 @@ makeStringConst(char *str, int location)
A_Const *n = makeNode(A_Const); A_Const *n = makeNode(A_Const);
n->val.sval.type = T_String; n->val.sval.type = T_String;
n->val.sval.val = str; n->val.sval.sval = str;
n->location = location; n->location = location;
return (Node *)n; return (Node *)n;
@ -16687,7 +16687,7 @@ makeIntConst(int val, int location)
A_Const *n = makeNode(A_Const); A_Const *n = makeNode(A_Const);
n->val.ival.type = T_Integer; n->val.ival.type = T_Integer;
n->val.ival.val = val; n->val.ival.ival = val;
n->location = location; n->location = location;
return (Node *)n; return (Node *)n;
@ -16699,7 +16699,7 @@ makeFloatConst(char *str, int location)
A_Const *n = makeNode(A_Const); A_Const *n = makeNode(A_Const);
n->val.fval.type = T_Float; n->val.fval.type = T_Float;
n->val.fval.val = str; n->val.fval.fval = str;
n->location = location; n->location = location;
return (Node *)n; return (Node *)n;
@ -16711,7 +16711,7 @@ makeBitStringConst(char *str, int location)
A_Const *n = makeNode(A_Const); A_Const *n = makeNode(A_Const);
n->val.bsval.type = T_BitString; n->val.bsval.type = T_BitString;
n->val.bsval.val = str; n->val.bsval.bsval = str;
n->location = location; n->location = location;
return (Node *)n; return (Node *)n;
@ -16736,16 +16736,16 @@ makeAConst(Node *v, int location)
switch (v->type) switch (v->type)
{ {
case T_Float: case T_Float:
n = makeFloatConst(castNode(Float, v)->val, location); n = makeFloatConst(castNode(Float, v)->fval, location);
break; break;
case T_Integer: case T_Integer:
n = makeIntConst(castNode(Integer, v)->val, location); n = makeIntConst(castNode(Integer, v)->ival, location);
break; break;
case T_String: case T_String:
default: default:
n = makeStringConst(castNode(String, v)->val, location); n = makeStringConst(castNode(String, v)->sval, location);
break; break;
} }
@ -17049,7 +17049,7 @@ doNegate(Node *n, int location)
if (IsA(&con->val, Integer)) if (IsA(&con->val, Integer))
{ {
con->val.ival.val = -con->val.ival.val; con->val.ival.ival = -con->val.ival.ival;
return n; return n;
} }
if (IsA(&con->val, Float)) if (IsA(&con->val, Float))
@ -17065,14 +17065,14 @@ doNegate(Node *n, int location)
static void static void
doNegateFloat(Float *v) doNegateFloat(Float *v)
{ {
char *oldval = v->val; char *oldval = v->fval;
if (*oldval == '+') if (*oldval == '+')
oldval++; oldval++;
if (*oldval == '-') if (*oldval == '-')
v->val = oldval+1; /* just strip the '-' */ v->fval = oldval+1; /* just strip the '-' */
else else
v->val = psprintf("-%s", oldval); v->fval = psprintf("-%s", oldval);
} }
static Node * static Node *

View File

@ -376,7 +376,7 @@ make_const(ParseState *pstate, A_Const *aconst)
switch (nodeTag(&aconst->val)) switch (nodeTag(&aconst->val))
{ {
case T_Integer: case T_Integer:
val = Int32GetDatum(aconst->val.ival.val); val = Int32GetDatum(intVal(&aconst->val));
typeid = INT4OID; typeid = INT4OID;
typelen = sizeof(int32); typelen = sizeof(int32);
@ -385,7 +385,7 @@ make_const(ParseState *pstate, A_Const *aconst)
case T_Float: case T_Float:
/* could be an oversize integer as well as a float ... */ /* could be an oversize integer as well as a float ... */
if (scanint8(aconst->val.fval.val, true, &val64)) if (scanint8(aconst->val.fval.fval, true, &val64))
{ {
/* /*
* It might actually fit in int32. Probably only INT_MIN can * It might actually fit in int32. Probably only INT_MIN can
@ -415,7 +415,7 @@ make_const(ParseState *pstate, A_Const *aconst)
/* arrange to report location if numeric_in() fails */ /* arrange to report location if numeric_in() fails */
setup_parser_errposition_callback(&pcbstate, pstate, aconst->location); setup_parser_errposition_callback(&pcbstate, pstate, aconst->location);
val = DirectFunctionCall3(numeric_in, val = DirectFunctionCall3(numeric_in,
CStringGetDatum(aconst->val.fval.val), CStringGetDatum(aconst->val.fval.fval),
ObjectIdGetDatum(InvalidOid), ObjectIdGetDatum(InvalidOid),
Int32GetDatum(-1)); Int32GetDatum(-1));
cancel_parser_errposition_callback(&pcbstate); cancel_parser_errposition_callback(&pcbstate);
@ -432,7 +432,7 @@ make_const(ParseState *pstate, A_Const *aconst)
* We assume here that UNKNOWN's internal representation is the * We assume here that UNKNOWN's internal representation is the
* same as CSTRING * same as CSTRING
*/ */
val = CStringGetDatum(aconst->val.sval.val); val = CStringGetDatum(strVal(&aconst->val));
typeid = UNKNOWNOID; /* will be coerced later */ typeid = UNKNOWNOID; /* will be coerced later */
typelen = -2; /* cstring-style varwidth type */ typelen = -2; /* cstring-style varwidth type */
@ -443,7 +443,7 @@ make_const(ParseState *pstate, A_Const *aconst)
/* arrange to report location if bit_in() fails */ /* arrange to report location if bit_in() fails */
setup_parser_errposition_callback(&pcbstate, pstate, aconst->location); setup_parser_errposition_callback(&pcbstate, pstate, aconst->location);
val = DirectFunctionCall3(bit_in, val = DirectFunctionCall3(bit_in,
CStringGetDatum(aconst->val.bsval.val), CStringGetDatum(aconst->val.bsval.bsval),
ObjectIdGetDatum(InvalidOid), ObjectIdGetDatum(InvalidOid),
Int32GetDatum(-1)); Int32GetDatum(-1));
cancel_parser_errposition_callback(&pcbstate); cancel_parser_errposition_callback(&pcbstate);

View File

@ -382,17 +382,17 @@ typenameTypeMod(ParseState *pstate, const TypeName *typeName, Type typ)
if (IsA(&ac->val, Integer)) if (IsA(&ac->val, Integer))
{ {
cstr = psprintf("%ld", (long) ac->val.ival.val); cstr = psprintf("%ld", (long) intVal(&ac->val));
} }
else if (IsA(&ac->val, Float)) else if (IsA(&ac->val, Float))
{ {
/* we can just use the string representation directly. */ /* we can just use the string representation directly. */
cstr = ac->val.fval.val; cstr = ac->val.fval.fval;
} }
else if (IsA(&ac->val, String)) else if (IsA(&ac->val, String))
{ {
/* we can just use the string representation directly. */ /* we can just use the string representation directly. */
cstr = ac->val.sval.val; cstr = strVal(&ac->val);
} }
} }
else if (IsA(tm, ColumnRef)) else if (IsA(tm, ColumnRef))

View File

@ -603,7 +603,7 @@ transformColumnDefinition(CreateStmtContext *cxt, ColumnDef *column)
qstring = quote_qualified_identifier(snamespace, sname); qstring = quote_qualified_identifier(snamespace, sname);
snamenode = makeNode(A_Const); snamenode = makeNode(A_Const);
snamenode->val.node.type = T_String; snamenode->val.node.type = T_String;
snamenode->val.sval.val = qstring; snamenode->val.sval.sval = qstring;
snamenode->location = -1; snamenode->location = -1;
castnode = makeNode(TypeCast); castnode = makeNode(TypeCast);
castnode->typeName = SystemTypeName("regclass"); castnode->typeName = SystemTypeName("regclass");

View File

@ -324,7 +324,7 @@ oidparse(Node *node)
* constants by the lexer. Accept these if they are valid OID * constants by the lexer. Accept these if they are valid OID
* strings. * strings.
*/ */
return oidin_subr(castNode(Float, node)->val, NULL); return oidin_subr(castNode(Float, node)->fval, NULL);
default: default:
elog(ERROR, "unrecognized node type: %d", (int) nodeTag(node)); elog(ERROR, "unrecognized node type: %d", (int) nodeTag(node));
} }

View File

@ -8332,7 +8332,7 @@ flatten_set_variable_args(const char *name, List *args)
break; break;
case T_Float: case T_Float:
/* represented as a string, so just copy it */ /* represented as a string, so just copy it */
appendStringInfoString(&buf, castNode(Float, &con->val)->val); appendStringInfoString(&buf, castNode(Float, &con->val)->fval);
break; break;
case T_String: case T_String:
val = strVal(&con->val); val = strVal(&con->val);

View File

@ -28,7 +28,7 @@
typedef struct Integer typedef struct Integer
{ {
NodeTag type; NodeTag type;
int val; int ival;
} Integer; } Integer;
/* /*
@ -45,24 +45,24 @@ typedef struct Integer
typedef struct Float typedef struct Float
{ {
NodeTag type; NodeTag type;
char *val; char *fval;
} Float; } Float;
typedef struct String typedef struct String
{ {
NodeTag type; NodeTag type;
char *val; char *sval;
} String; } String;
typedef struct BitString typedef struct BitString
{ {
NodeTag type; NodeTag type;
char *val; char *bsval;
} BitString; } BitString;
#define intVal(v) (castNode(Integer, v)->val) #define intVal(v) (castNode(Integer, v)->ival)
#define floatVal(v) atof(castNode(Float, v)->val) #define floatVal(v) atof(castNode(Float, v)->fval)
#define strVal(v) (castNode(String, v)->val) #define strVal(v) (castNode(String, v)->sval)
extern Integer *makeInteger(int i); extern Integer *makeInteger(int i);
extern Float *makeFloat(char *numericStr); extern Float *makeFloat(char *numericStr);