#include "postgres.h"#include <math.h>#include "nodes/parsenodes.h"#include "nodes/readfuncs.h"
Go to the source code of this file.
| #define atooid | ( | x | ) | ((Oid) strtoul((x), NULL, 10)) |
Definition at line 136 of file readfuncs.c.
| #define atoui | ( | x | ) | ((unsigned int) strtoul((x), NULL, 10)) |
Definition at line 134 of file readfuncs.c.
Referenced by readDatum().
| #define MATCH | ( | tokname, | ||
| namelen | ||||
| ) | (length == namelen && memcmp(token, tokname, namelen) == 0) |
Referenced by parseNodeString().
| #define nullable_string | ( | token, | ||
| length | ||||
| ) | ((length) == 0 ? NULL : debackslash(token, length)) |
Definition at line 140 of file readfuncs.c.
| #define READ_BITMAPSET_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ local_node->fldname = _readBitmapset()
Definition at line 119 of file readfuncs.c.
Referenced by _readRangeTblEntry().
| #define READ_BOOL_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = strtobool(token)
Definition at line 95 of file readfuncs.c.
Referenced by _readAggref(), _readArrayCoerceExpr(), _readArrayExpr(), _readCommonTableExpr(), _readConst(), _readDistinctExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readNullIfExpr(), _readNullTest(), _readOpExpr(), _readQuery(), _readRangeTblEntry(), _readRowMarkClause(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSortGroupClause(), _readTargetEntry(), _readWindowClause(), and _readWindowFunc().
| #define READ_CHAR_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = token[0]
Definition at line 77 of file readfuncs.c.
Referenced by _readRangeTblEntry(), and _readRangeVar().
| #define READ_DONE | ( | ) | return local_node |
Definition at line 124 of file readfuncs.c.
Referenced by _readAggref(), _readAlias(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readFromExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readMinMaxExpr(), _readNamedArgExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOpExpr(), _readParam(), _readQuery(), _readRangeTblEntry(), _readRangeTblRef(), _readRangeVar(), _readRelabelType(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSetToDefault(), _readSortGroupClause(), _readSubLink(), _readTargetEntry(), _readVar(), _readWindowClause(), _readWindowFunc(), and _readXmlExpr().
| #define READ_ENUM_FIELD | ( | fldname, | ||
| enumtype | ||||
| ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = (enumtype) atoi(token)
Definition at line 83 of file readfuncs.c.
Referenced by _readArrayCoerceExpr(), _readBooleanTest(), _readCoerceToDomain(), _readCoerceViaIO(), _readConvertRowtypeExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readMinMaxExpr(), _readNullTest(), _readParam(), _readQuery(), _readRangeTblEntry(), _readRangeVar(), _readRelabelType(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readSetOperationStmt(), _readSubLink(), and _readXmlExpr().
| #define READ_FLOAT_FIELD | ( | fldname | ) |
| #define READ_INT_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = atoi(token)
Definition at line 59 of file readfuncs.c.
Referenced by _readArrayCoerceExpr(), _readArrayRef(), _readCaseTestExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCommonTableExpr(), _readConst(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readFieldSelect(), _readJoinExpr(), _readNamedArgExpr(), _readParam(), _readQuery(), _readRangeTblRef(), _readRelabelType(), _readSetToDefault(), _readTargetEntry(), _readVar(), _readWindowClause(), and _readXmlExpr().
| #define READ_LOCALS | ( | nodeTypeName | ) |
READ_LOCALS_NO_FIELDS(nodeTypeName); \ READ_TEMP_LOCALS()
Definition at line 54 of file readfuncs.c.
Referenced by _readAggref(), _readAlias(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readFromExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readMinMaxExpr(), _readNamedArgExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOpExpr(), _readParam(), _readQuery(), _readRangeTblEntry(), _readRangeTblRef(), _readRangeVar(), _readRelabelType(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSetToDefault(), _readSortGroupClause(), _readSubLink(), _readTargetEntry(), _readVar(), _readWindowClause(), _readWindowFunc(), and _readXmlExpr().
| #define READ_LOCALS_NO_FIELDS | ( | nodeTypeName | ) | nodeTypeName *local_node = makeNode(nodeTypeName) |
Definition at line 45 of file readfuncs.c.
| #define READ_LOCATION_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = -1
Definition at line 107 of file readfuncs.c.
Referenced by _readAggref(), _readArrayCoerceExpr(), _readArrayExpr(), _readBoolExpr(), _readCaseExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readDistinctExpr(), _readFuncExpr(), _readMinMaxExpr(), _readNamedArgExpr(), _readNullIfExpr(), _readOpExpr(), _readParam(), _readRangeVar(), _readRelabelType(), _readRowExpr(), _readScalarArrayOpExpr(), _readSetToDefault(), _readSubLink(), _readVar(), _readWindowFunc(), and _readXmlExpr().
| #define READ_NODE_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ (void) token; /* in case not used elsewhere */ \ local_node->fldname = nodeRead(NULL, 0)
Definition at line 113 of file readfuncs.c.
Referenced by _readAggref(), _readAlias(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConvertRowtypeExpr(), _readDeclareCursorStmt(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readFromExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readMinMaxExpr(), _readNamedArgExpr(), _readNullIfExpr(), _readNullTest(), _readOpExpr(), _readQuery(), _readRangeTblEntry(), _readRangeVar(), _readRelabelType(), _readRowCompareExpr(), _readRowExpr(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSubLink(), _readTargetEntry(), _readWindowClause(), _readWindowFunc(), and _readXmlExpr().
| #define READ_OID_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = atooid(token)
Definition at line 71 of file readfuncs.c.
Referenced by _readAggref(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _readCaseExpr(), _readCaseTestExpr(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readConst(), _readConvertRowtypeExpr(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readFuncExpr(), _readMinMaxExpr(), _readNullIfExpr(), _readOpExpr(), _readParam(), _readRangeTblEntry(), _readRelabelType(), _readRowExpr(), _readScalarArrayOpExpr(), _readSetToDefault(), _readSortGroupClause(), _readTargetEntry(), _readVar(), _readWindowFunc(), and _readXmlExpr().
| #define READ_STRING_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = nullable_string(token, length)
Definition at line 101 of file readfuncs.c.
Referenced by _readAlias(), _readCommonTableExpr(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readIntoClause(), _readNamedArgExpr(), _readNotifyStmt(), _readRangeTblEntry(), _readRangeVar(), _readTargetEntry(), _readWindowClause(), and _readXmlExpr().
| #define READ_TEMP_LOCALS | ( | ) |
char *token; \ int length
Definition at line 49 of file readfuncs.c.
Referenced by _readBitmapset(), and parseNodeString().
| #define READ_UINT_FIELD | ( | fldname | ) |
token = pg_strtok(&length); /* skip :fldname */ \ token = pg_strtok(&length); /* get field value */ \ local_node->fldname = atoui(token)
Definition at line 65 of file readfuncs.c.
Referenced by _readAggref(), _readCurrentOfExpr(), _readRangeTblEntry(), _readRowMarkClause(), _readSortGroupClause(), _readTargetEntry(), _readVar(), _readWindowClause(), and _readWindowFunc().
| #define strtobool | ( | x | ) | ((*(x) == 't') ? true : false) |
Definition at line 138 of file readfuncs.c.
| static Aggref* _readAggref | ( | void | ) | [static] |
Definition at line 471 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(Aggref);
READ_OID_FIELD(aggfnoid);
READ_OID_FIELD(aggtype);
READ_OID_FIELD(aggcollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_NODE_FIELD(aggorder);
READ_NODE_FIELD(aggdistinct);
READ_BOOL_FIELD(aggstar);
READ_UINT_FIELD(agglevelsup);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static Alias* _readAlias | ( | void | ) | [static] |
Definition at line 359 of file readfuncs.c.
References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(Alias);
READ_STRING_FIELD(aliasname);
READ_NODE_FIELD(colnames);
READ_DONE();
}
| static ArrayCoerceExpr* _readArrayCoerceExpr | ( | void | ) | [static] |
Definition at line 808 of file readfuncs.c.
References arg, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(ArrayCoerceExpr);
READ_NODE_FIELD(arg);
READ_OID_FIELD(elemfuncid);
READ_OID_FIELD(resulttype);
READ_INT_FIELD(resulttypmod);
READ_OID_FIELD(resultcollid);
READ_BOOL_FIELD(isExplicit);
READ_ENUM_FIELD(coerceformat, CoercionForm);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static ArrayExpr* _readArrayExpr | ( | void | ) | [static] |
Definition at line 907 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(ArrayExpr);
READ_OID_FIELD(array_typeid);
READ_OID_FIELD(array_collid);
READ_OID_FIELD(element_typeid);
READ_NODE_FIELD(elements);
READ_BOOL_FIELD(multidims);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static ArrayRef* _readArrayRef | ( | void | ) | [static] |
Definition at line 514 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(ArrayRef);
READ_OID_FIELD(refarraytype);
READ_OID_FIELD(refelemtype);
READ_INT_FIELD(reftypmod);
READ_OID_FIELD(refcollid);
READ_NODE_FIELD(refupperindexpr);
READ_NODE_FIELD(reflowerindexpr);
READ_NODE_FIELD(refexpr);
READ_NODE_FIELD(refassgnexpr);
READ_DONE();
}
| static Bitmapset* _readBitmapset | ( | void | ) | [static] |
Definition at line 150 of file readfuncs.c.
References bms_add_member(), elog, ERROR, length(), NULL, pg_strtok(), READ_TEMP_LOCALS, and val.
{
Bitmapset *result = NULL;
READ_TEMP_LOCALS();
token = pg_strtok(&length);
if (token == NULL)
elog(ERROR, "incomplete Bitmapset structure");
if (length != 1 || token[0] != '(')
elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
token = pg_strtok(&length);
if (token == NULL)
elog(ERROR, "incomplete Bitmapset structure");
if (length != 1 || token[0] != 'b')
elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
for (;;)
{
int val;
char *endptr;
token = pg_strtok(&length);
if (token == NULL)
elog(ERROR, "unterminated Bitmapset structure");
if (length == 1 && token[0] == ')')
break;
val = (int) strtol(token, &endptr, 10);
if (endptr != token + length)
elog(ERROR, "unrecognized integer: \"%.*s\"", length, token);
result = bms_add_member(result, val);
}
return result;
}
| static BooleanTest* _readBooleanTest | ( | void | ) | [static] |
Definition at line 1030 of file readfuncs.c.
References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(BooleanTest);
READ_NODE_FIELD(arg);
READ_ENUM_FIELD(booltesttype, BoolTestType);
READ_DONE();
}
| static BoolExpr* _readBoolExpr | ( | void | ) | [static] |
Definition at line 693 of file readfuncs.c.
References elog, ERROR, length(), pg_strtok(), READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(BoolExpr);
/* do-it-yourself enum representation */
token = pg_strtok(&length); /* skip :boolop */
token = pg_strtok(&length); /* get field value */
if (strncmp(token, "and", 3) == 0)
local_node->boolop = AND_EXPR;
else if (strncmp(token, "or", 2) == 0)
local_node->boolop = OR_EXPR;
else if (strncmp(token, "not", 3) == 0)
local_node->boolop = NOT_EXPR;
else
elog(ERROR, "unrecognized boolop \"%.*s\"", length, token);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CaseExpr* _readCaseExpr | ( | void | ) | [static] |
Definition at line 859 of file readfuncs.c.
References arg, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CaseExpr);
READ_OID_FIELD(casetype);
READ_OID_FIELD(casecollid);
READ_NODE_FIELD(arg);
READ_NODE_FIELD(args);
READ_NODE_FIELD(defresult);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CaseTestExpr* _readCaseTestExpr | ( | void | ) | [static] |
Definition at line 892 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CaseTestExpr);
READ_OID_FIELD(typeId);
READ_INT_FIELD(typeMod);
READ_OID_FIELD(collation);
READ_DONE();
}
| static CaseWhen* _readCaseWhen | ( | void | ) | [static] |
Definition at line 877 of file readfuncs.c.
References READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CaseWhen);
READ_NODE_FIELD(expr);
READ_NODE_FIELD(result);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CoalesceExpr* _readCoalesceExpr | ( | void | ) | [static] |
Definition at line 960 of file readfuncs.c.
References READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CoalesceExpr);
READ_OID_FIELD(coalescetype);
READ_OID_FIELD(coalescecollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CoerceToDomain* _readCoerceToDomain | ( | void | ) | [static] |
Definition at line 1044 of file readfuncs.c.
References arg, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CoerceToDomain);
READ_NODE_FIELD(arg);
READ_OID_FIELD(resulttype);
READ_INT_FIELD(resulttypmod);
READ_OID_FIELD(resultcollid);
READ_ENUM_FIELD(coercionformat, CoercionForm);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CoerceToDomainValue* _readCoerceToDomainValue | ( | void | ) | [static] |
Definition at line 1062 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CoerceToDomainValue);
READ_OID_FIELD(typeId);
READ_INT_FIELD(typeMod);
READ_OID_FIELD(collation);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CoerceViaIO* _readCoerceViaIO | ( | void | ) | [static] |
Definition at line 791 of file readfuncs.c.
References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CoerceViaIO);
READ_NODE_FIELD(arg);
READ_OID_FIELD(resulttype);
READ_OID_FIELD(resultcollid);
READ_ENUM_FIELD(coerceformat, CoercionForm);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CollateExpr* _readCollateExpr | ( | void | ) | [static] |
Definition at line 844 of file readfuncs.c.
References arg, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CollateExpr);
READ_NODE_FIELD(arg);
READ_OID_FIELD(collOid);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CommonTableExpr* _readCommonTableExpr | ( | void | ) | [static] |
Definition at line 315 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CommonTableExpr);
READ_STRING_FIELD(ctename);
READ_NODE_FIELD(aliascolnames);
READ_NODE_FIELD(ctequery);
READ_LOCATION_FIELD(location);
READ_BOOL_FIELD(cterecursive);
READ_INT_FIELD(cterefcount);
READ_NODE_FIELD(ctecolnames);
READ_NODE_FIELD(ctecoltypes);
READ_NODE_FIELD(ctecoltypmods);
READ_NODE_FIELD(ctecolcollations);
READ_DONE();
}
| static Const* _readConst | ( | void | ) | [static] |
Definition at line 428 of file readfuncs.c.
References length(), pg_strtok(), READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_OID_FIELD, and readDatum().
Referenced by parseNodeString().
{
READ_LOCALS(Const);
READ_OID_FIELD(consttype);
READ_INT_FIELD(consttypmod);
READ_OID_FIELD(constcollid);
READ_INT_FIELD(constlen);
READ_BOOL_FIELD(constbyval);
READ_BOOL_FIELD(constisnull);
READ_LOCATION_FIELD(location);
token = pg_strtok(&length); /* skip :constvalue */
if (local_node->constisnull)
token = pg_strtok(&length); /* skip "<>" */
else
local_node->constvalue = readDatum(local_node->constbyval);
READ_DONE();
}
| static ConvertRowtypeExpr* _readConvertRowtypeExpr | ( | void | ) | [static] |
Definition at line 828 of file readfuncs.c.
References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(ConvertRowtypeExpr);
READ_NODE_FIELD(arg);
READ_OID_FIELD(resulttype);
READ_ENUM_FIELD(convertformat, CoercionForm);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static CurrentOfExpr* _readCurrentOfExpr | ( | void | ) | [static] |
Definition at line 1094 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_STRING_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(CurrentOfExpr);
READ_UINT_FIELD(cvarno);
READ_STRING_FIELD(cursor_name);
READ_INT_FIELD(cursor_param);
READ_DONE();
}
| static DeclareCursorStmt* _readDeclareCursorStmt | ( | void | ) | [static] |
Definition at line 246 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(DeclareCursorStmt);
READ_STRING_FIELD(portalname);
READ_INT_FIELD(options);
READ_NODE_FIELD(query);
READ_DONE();
}
| static DistinctExpr* _readDistinctExpr | ( | void | ) | [static] |
Definition at line 602 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(DistinctExpr);
READ_OID_FIELD(opno);
READ_OID_FIELD(opfuncid);
/*
* The opfuncid is stored in the textual format primarily for debugging
* and documentation reasons. We want to always read it as zero to force
* it to be re-looked-up in the pg_operator entry. This ensures that
* stored rules don't have hidden dependencies on operators' functions.
* (We don't currently support an ALTER OPERATOR command, but might
* someday.)
*/
local_node->opfuncid = InvalidOid;
READ_OID_FIELD(opresulttype);
READ_BOOL_FIELD(opretset);
READ_OID_FIELD(opcollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static FieldSelect* _readFieldSelect | ( | void | ) | [static] |
Definition at line 740 of file readfuncs.c.
References arg, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(FieldSelect);
READ_NODE_FIELD(arg);
READ_INT_FIELD(fieldnum);
READ_OID_FIELD(resulttype);
READ_INT_FIELD(resulttypmod);
READ_OID_FIELD(resultcollid);
READ_DONE();
}
| static FieldStore* _readFieldStore | ( | void | ) | [static] |
Definition at line 757 of file readfuncs.c.
References arg, READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(FieldStore);
READ_NODE_FIELD(arg);
READ_NODE_FIELD(newvals);
READ_NODE_FIELD(fieldnums);
READ_OID_FIELD(resulttype);
READ_DONE();
}
| static FromExpr* _readFromExpr | ( | void | ) | [static] |
Definition at line 1161 of file readfuncs.c.
References READ_DONE, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(FromExpr);
READ_NODE_FIELD(fromlist);
READ_NODE_FIELD(quals);
READ_DONE();
}
| static FuncExpr* _readFuncExpr | ( | void | ) | [static] |
Definition at line 534 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(FuncExpr);
READ_OID_FIELD(funcid);
READ_OID_FIELD(funcresulttype);
READ_BOOL_FIELD(funcretset);
READ_BOOL_FIELD(funcvariadic);
READ_ENUM_FIELD(funcformat, CoercionForm);
READ_OID_FIELD(funccollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static IntoClause* _readIntoClause | ( | void | ) | [static] |
Definition at line 388 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(IntoClause);
READ_NODE_FIELD(rel);
READ_NODE_FIELD(colNames);
READ_NODE_FIELD(options);
READ_ENUM_FIELD(onCommit, OnCommitAction);
READ_STRING_FIELD(tableSpaceName);
READ_NODE_FIELD(viewQuery);
READ_BOOL_FIELD(skipData);
READ_DONE();
}
| static JoinExpr* _readJoinExpr | ( | void | ) | [static] |
Definition at line 1141 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(JoinExpr);
READ_ENUM_FIELD(jointype, JoinType);
READ_BOOL_FIELD(isNatural);
READ_NODE_FIELD(larg);
READ_NODE_FIELD(rarg);
READ_NODE_FIELD(usingClause);
READ_NODE_FIELD(quals);
READ_NODE_FIELD(alias);
READ_INT_FIELD(rtindex);
READ_DONE();
}
| static MinMaxExpr* _readMinMaxExpr | ( | void | ) | [static] |
Definition at line 976 of file readfuncs.c.
References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(MinMaxExpr);
READ_OID_FIELD(minmaxtype);
READ_OID_FIELD(minmaxcollid);
READ_OID_FIELD(inputcollid);
READ_ENUM_FIELD(op, MinMaxOp);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static NamedArgExpr* _readNamedArgExpr | ( | void | ) | [static] |
Definition at line 555 of file readfuncs.c.
References arg, name, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(NamedArgExpr);
READ_NODE_FIELD(arg);
READ_STRING_FIELD(name);
READ_INT_FIELD(argnumber);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static NotifyStmt* _readNotifyStmt | ( | void | ) | [static] |
Definition at line 232 of file readfuncs.c.
References READ_DONE, READ_LOCALS, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(NotifyStmt);
READ_STRING_FIELD(conditionname);
READ_STRING_FIELD(payload);
READ_DONE();
}
| static NullIfExpr* _readNullIfExpr | ( | void | ) | [static] |
Definition at line 633 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(NullIfExpr);
READ_OID_FIELD(opno);
READ_OID_FIELD(opfuncid);
/*
* The opfuncid is stored in the textual format primarily for debugging
* and documentation reasons. We want to always read it as zero to force
* it to be re-looked-up in the pg_operator entry. This ensures that
* stored rules don't have hidden dependencies on operators' functions.
* (We don't currently support an ALTER OPERATOR command, but might
* someday.)
*/
local_node->opfuncid = InvalidOid;
READ_OID_FIELD(opresulttype);
READ_BOOL_FIELD(opretset);
READ_OID_FIELD(opcollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static NullTest* _readNullTest | ( | void | ) | [static] |
Definition at line 1015 of file readfuncs.c.
References arg, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(NullTest);
READ_NODE_FIELD(arg);
READ_ENUM_FIELD(nulltesttype, NullTestType);
READ_BOOL_FIELD(argisrow);
READ_DONE();
}
| static OpExpr* _readOpExpr | ( | void | ) | [static] |
Definition at line 571 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(OpExpr);
READ_OID_FIELD(opno);
READ_OID_FIELD(opfuncid);
/*
* The opfuncid is stored in the textual format primarily for debugging
* and documentation reasons. We want to always read it as zero to force
* it to be re-looked-up in the pg_operator entry. This ensures that
* stored rules don't have hidden dependencies on operators' functions.
* (We don't currently support an ALTER OPERATOR command, but might
* someday.)
*/
local_node->opfuncid = InvalidOid;
READ_OID_FIELD(opresulttype);
READ_BOOL_FIELD(opretset);
READ_OID_FIELD(opcollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static Param* _readParam | ( | void | ) | [static] |
Definition at line 453 of file readfuncs.c.
References READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(Param);
READ_ENUM_FIELD(paramkind, ParamKind);
READ_INT_FIELD(paramid);
READ_OID_FIELD(paramtype);
READ_INT_FIELD(paramtypmod);
READ_OID_FIELD(paramcollid);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static Query* _readQuery | ( | void | ) | [static] |
Definition at line 192 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(Query);
READ_ENUM_FIELD(commandType, CmdType);
READ_ENUM_FIELD(querySource, QuerySource);
local_node->queryId = 0; /* not saved in output format */
READ_BOOL_FIELD(canSetTag);
READ_NODE_FIELD(utilityStmt);
READ_INT_FIELD(resultRelation);
READ_BOOL_FIELD(hasAggs);
READ_BOOL_FIELD(hasWindowFuncs);
READ_BOOL_FIELD(hasSubLinks);
READ_BOOL_FIELD(hasDistinctOn);
READ_BOOL_FIELD(hasRecursive);
READ_BOOL_FIELD(hasModifyingCTE);
READ_BOOL_FIELD(hasForUpdate);
READ_NODE_FIELD(cteList);
READ_NODE_FIELD(rtable);
READ_NODE_FIELD(jointree);
READ_NODE_FIELD(targetList);
READ_NODE_FIELD(returningList);
READ_NODE_FIELD(groupClause);
READ_NODE_FIELD(havingQual);
READ_NODE_FIELD(windowClause);
READ_NODE_FIELD(distinctClause);
READ_NODE_FIELD(sortClause);
READ_NODE_FIELD(limitOffset);
READ_NODE_FIELD(limitCount);
READ_NODE_FIELD(rowMarks);
READ_NODE_FIELD(setOperations);
READ_NODE_FIELD(constraintDeps);
READ_DONE();
}
| static RangeTblEntry* _readRangeTblEntry | ( | void | ) | [static] |
Definition at line 1180 of file readfuncs.c.
References elog, ERROR, READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, READ_UINT_FIELD, RTE_CTE, RTE_FUNCTION, RTE_JOIN, RTE_RELATION, RTE_SUBQUERY, and RTE_VALUES.
Referenced by parseNodeString().
{
READ_LOCALS(RangeTblEntry);
/* put alias + eref first to make dump more legible */
READ_NODE_FIELD(alias);
READ_NODE_FIELD(eref);
READ_ENUM_FIELD(rtekind, RTEKind);
switch (local_node->rtekind)
{
case RTE_RELATION:
READ_OID_FIELD(relid);
READ_CHAR_FIELD(relkind);
break;
case RTE_SUBQUERY:
READ_NODE_FIELD(subquery);
READ_BOOL_FIELD(security_barrier);
break;
case RTE_JOIN:
READ_ENUM_FIELD(jointype, JoinType);
READ_NODE_FIELD(joinaliasvars);
break;
case RTE_FUNCTION:
READ_NODE_FIELD(funcexpr);
READ_NODE_FIELD(funccoltypes);
READ_NODE_FIELD(funccoltypmods);
READ_NODE_FIELD(funccolcollations);
break;
case RTE_VALUES:
READ_NODE_FIELD(values_lists);
READ_NODE_FIELD(values_collations);
break;
case RTE_CTE:
READ_STRING_FIELD(ctename);
READ_UINT_FIELD(ctelevelsup);
READ_BOOL_FIELD(self_reference);
READ_NODE_FIELD(ctecoltypes);
READ_NODE_FIELD(ctecoltypmods);
READ_NODE_FIELD(ctecolcollations);
break;
default:
elog(ERROR, "unrecognized RTE kind: %d",
(int) local_node->rtekind);
break;
}
READ_BOOL_FIELD(lateral);
READ_BOOL_FIELD(inh);
READ_BOOL_FIELD(inFromCl);
READ_UINT_FIELD(requiredPerms);
READ_OID_FIELD(checkAsUser);
READ_BITMAPSET_FIELD(selectedCols);
READ_BITMAPSET_FIELD(modifiedCols);
READ_DONE();
}
| static RangeTblRef* _readRangeTblRef | ( | void | ) | [static] |
Definition at line 1128 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, and READ_LOCALS.
Referenced by parseNodeString().
{
READ_LOCALS(RangeTblRef);
READ_INT_FIELD(rtindex);
READ_DONE();
}
| static RangeVar* _readRangeVar | ( | void | ) | [static] |
Definition at line 370 of file readfuncs.c.
References READ_CHAR_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(RangeVar);
local_node->catalogname = NULL; /* not currently saved in output
* format */
READ_STRING_FIELD(schemaname);
READ_STRING_FIELD(relname);
READ_ENUM_FIELD(inhOpt, InhOption);
READ_CHAR_FIELD(relpersistence);
READ_NODE_FIELD(alias);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static RelabelType* _readRelabelType | ( | void | ) | [static] |
Definition at line 773 of file readfuncs.c.
References arg, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(RelabelType);
READ_NODE_FIELD(arg);
READ_OID_FIELD(resulttype);
READ_INT_FIELD(resulttypmod);
READ_OID_FIELD(resultcollid);
READ_ENUM_FIELD(relabelformat, CoercionForm);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static RowCompareExpr* _readRowCompareExpr | ( | void | ) | [static] |
Definition at line 942 of file readfuncs.c.
References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(RowCompareExpr);
READ_ENUM_FIELD(rctype, RowCompareType);
READ_NODE_FIELD(opnos);
READ_NODE_FIELD(opfamilies);
READ_NODE_FIELD(inputcollids);
READ_NODE_FIELD(largs);
READ_NODE_FIELD(rargs);
READ_DONE();
}
| static RowExpr* _readRowExpr | ( | void | ) | [static] |
Definition at line 925 of file readfuncs.c.
References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(RowExpr);
READ_NODE_FIELD(args);
READ_OID_FIELD(row_typeid);
READ_ENUM_FIELD(row_format, CoercionForm);
READ_NODE_FIELD(colnames);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static RowMarkClause* _readRowMarkClause | ( | void | ) | [static] |
Definition at line 299 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(RowMarkClause);
READ_UINT_FIELD(rti);
READ_ENUM_FIELD(strength, LockClauseStrength);
READ_BOOL_FIELD(noWait);
READ_BOOL_FIELD(pushedDown);
READ_DONE();
}
| static ScalarArrayOpExpr* _readScalarArrayOpExpr | ( | void | ) | [static] |
Definition at line 664 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(ScalarArrayOpExpr);
READ_OID_FIELD(opno);
READ_OID_FIELD(opfuncid);
/*
* The opfuncid is stored in the textual format primarily for debugging
* and documentation reasons. We want to always read it as zero to force
* it to be re-looked-up in the pg_operator entry. This ensures that
* stored rules don't have hidden dependencies on operators' functions.
* (We don't currently support an ALTER OPERATOR command, but might
* someday.)
*/
local_node->opfuncid = InvalidOid;
READ_BOOL_FIELD(useOr);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static SetOperationStmt* _readSetOperationStmt | ( | void | ) | [static] |
Definition at line 337 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(SetOperationStmt);
READ_ENUM_FIELD(op, SetOperation);
READ_BOOL_FIELD(all);
READ_NODE_FIELD(larg);
READ_NODE_FIELD(rarg);
READ_NODE_FIELD(colTypes);
READ_NODE_FIELD(colTypmods);
READ_NODE_FIELD(colCollations);
READ_NODE_FIELD(groupClauses);
READ_DONE();
}
| static SetToDefault* _readSetToDefault | ( | void | ) | [static] |
Definition at line 1078 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(SetToDefault);
READ_OID_FIELD(typeId);
READ_INT_FIELD(typeMod);
READ_OID_FIELD(collation);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static SortGroupClause* _readSortGroupClause | ( | void | ) | [static] |
Definition at line 261 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_OID_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(SortGroupClause);
READ_UINT_FIELD(tleSortGroupRef);
READ_OID_FIELD(eqop);
READ_OID_FIELD(sortop);
READ_BOOL_FIELD(nulls_first);
READ_BOOL_FIELD(hashable);
READ_DONE();
}
| static SubLink* _readSubLink | ( | void | ) | [static] |
Definition at line 719 of file readfuncs.c.
References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(SubLink);
READ_ENUM_FIELD(subLinkType, SubLinkType);
READ_NODE_FIELD(testexpr);
READ_NODE_FIELD(operName);
READ_NODE_FIELD(subselect);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static TargetEntry* _readTargetEntry | ( | void | ) | [static] |
Definition at line 1109 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(TargetEntry);
READ_NODE_FIELD(expr);
READ_INT_FIELD(resno);
READ_STRING_FIELD(resname);
READ_UINT_FIELD(ressortgroupref);
READ_OID_FIELD(resorigtbl);
READ_INT_FIELD(resorigcol);
READ_BOOL_FIELD(resjunk);
READ_DONE();
}
| static Var* _readVar | ( | void | ) | [static] |
Definition at line 407 of file readfuncs.c.
References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(Var);
READ_UINT_FIELD(varno);
READ_INT_FIELD(varattno);
READ_OID_FIELD(vartype);
READ_INT_FIELD(vartypmod);
READ_OID_FIELD(varcollid);
READ_UINT_FIELD(varlevelsup);
READ_UINT_FIELD(varnoold);
READ_INT_FIELD(varoattno);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static WindowClause* _readWindowClause | ( | void | ) | [static] |
Definition at line 278 of file readfuncs.c.
References name, READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_STRING_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(WindowClause);
READ_STRING_FIELD(name);
READ_STRING_FIELD(refname);
READ_NODE_FIELD(partitionClause);
READ_NODE_FIELD(orderClause);
READ_INT_FIELD(frameOptions);
READ_NODE_FIELD(startOffset);
READ_NODE_FIELD(endOffset);
READ_UINT_FIELD(winref);
READ_BOOL_FIELD(copiedOrder);
READ_DONE();
}
| static WindowFunc* _readWindowFunc | ( | void | ) | [static] |
Definition at line 493 of file readfuncs.c.
References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.
Referenced by parseNodeString().
{
READ_LOCALS(WindowFunc);
READ_OID_FIELD(winfnoid);
READ_OID_FIELD(wintype);
READ_OID_FIELD(wincollid);
READ_OID_FIELD(inputcollid);
READ_NODE_FIELD(args);
READ_UINT_FIELD(winref);
READ_BOOL_FIELD(winstar);
READ_BOOL_FIELD(winagg);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| static XmlExpr* _readXmlExpr | ( | void | ) | [static] |
Definition at line 994 of file readfuncs.c.
References name, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, and xmloption.
Referenced by parseNodeString().
{
READ_LOCALS(XmlExpr);
READ_ENUM_FIELD(op, XmlExprOp);
READ_STRING_FIELD(name);
READ_NODE_FIELD(named_args);
READ_NODE_FIELD(arg_names);
READ_NODE_FIELD(args);
READ_ENUM_FIELD(xmloption, XmlOptionType);
READ_OID_FIELD(type);
READ_INT_FIELD(typmod);
READ_LOCATION_FIELD(location);
READ_DONE();
}
| Node* parseNodeString | ( | void | ) |
Definition at line 1248 of file readfuncs.c.
References _readAggref(), _readAlias(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readFromExpr(), _readFuncExpr(), _readIntoClause(), _readJoinExpr(), _readMinMaxExpr(), _readNamedArgExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOpExpr(), _readParam(), _readQuery(), _readRangeTblEntry(), _readRangeTblRef(), _readRangeVar(), _readRelabelType(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSetToDefault(), _readSortGroupClause(), _readSubLink(), _readTargetEntry(), _readVar(), _readWindowClause(), _readWindowFunc(), _readXmlExpr(), elog, ERROR, length(), MATCH, pg_strtok(), and READ_TEMP_LOCALS.
Referenced by nodeRead().
{
void *return_value;
READ_TEMP_LOCALS();
token = pg_strtok(&length);
#define MATCH(tokname, namelen) \
(length == namelen && memcmp(token, tokname, namelen) == 0)
if (MATCH("QUERY", 5))
return_value = _readQuery();
else if (MATCH("SORTGROUPCLAUSE", 15))
return_value = _readSortGroupClause();
else if (MATCH("WINDOWCLAUSE", 12))
return_value = _readWindowClause();
else if (MATCH("ROWMARKCLAUSE", 13))
return_value = _readRowMarkClause();
else if (MATCH("COMMONTABLEEXPR", 15))
return_value = _readCommonTableExpr();
else if (MATCH("SETOPERATIONSTMT", 16))
return_value = _readSetOperationStmt();
else if (MATCH("ALIAS", 5))
return_value = _readAlias();
else if (MATCH("RANGEVAR", 8))
return_value = _readRangeVar();
else if (MATCH("INTOCLAUSE", 10))
return_value = _readIntoClause();
else if (MATCH("VAR", 3))
return_value = _readVar();
else if (MATCH("CONST", 5))
return_value = _readConst();
else if (MATCH("PARAM", 5))
return_value = _readParam();
else if (MATCH("AGGREF", 6))
return_value = _readAggref();
else if (MATCH("WINDOWFUNC", 10))
return_value = _readWindowFunc();
else if (MATCH("ARRAYREF", 8))
return_value = _readArrayRef();
else if (MATCH("FUNCEXPR", 8))
return_value = _readFuncExpr();
else if (MATCH("NAMEDARGEXPR", 12))
return_value = _readNamedArgExpr();
else if (MATCH("OPEXPR", 6))
return_value = _readOpExpr();
else if (MATCH("DISTINCTEXPR", 12))
return_value = _readDistinctExpr();
else if (MATCH("NULLIFEXPR", 10))
return_value = _readNullIfExpr();
else if (MATCH("SCALARARRAYOPEXPR", 17))
return_value = _readScalarArrayOpExpr();
else if (MATCH("BOOLEXPR", 8))
return_value = _readBoolExpr();
else if (MATCH("SUBLINK", 7))
return_value = _readSubLink();
else if (MATCH("FIELDSELECT", 11))
return_value = _readFieldSelect();
else if (MATCH("FIELDSTORE", 10))
return_value = _readFieldStore();
else if (MATCH("RELABELTYPE", 11))
return_value = _readRelabelType();
else if (MATCH("COERCEVIAIO", 11))
return_value = _readCoerceViaIO();
else if (MATCH("ARRAYCOERCEEXPR", 15))
return_value = _readArrayCoerceExpr();
else if (MATCH("CONVERTROWTYPEEXPR", 18))
return_value = _readConvertRowtypeExpr();
else if (MATCH("COLLATE", 7))
return_value = _readCollateExpr();
else if (MATCH("CASE", 4))
return_value = _readCaseExpr();
else if (MATCH("WHEN", 4))
return_value = _readCaseWhen();
else if (MATCH("CASETESTEXPR", 12))
return_value = _readCaseTestExpr();
else if (MATCH("ARRAY", 5))
return_value = _readArrayExpr();
else if (MATCH("ROW", 3))
return_value = _readRowExpr();
else if (MATCH("ROWCOMPARE", 10))
return_value = _readRowCompareExpr();
else if (MATCH("COALESCE", 8))
return_value = _readCoalesceExpr();
else if (MATCH("MINMAX", 6))
return_value = _readMinMaxExpr();
else if (MATCH("XMLEXPR", 7))
return_value = _readXmlExpr();
else if (MATCH("NULLTEST", 8))
return_value = _readNullTest();
else if (MATCH("BOOLEANTEST", 11))
return_value = _readBooleanTest();
else if (MATCH("COERCETODOMAIN", 14))
return_value = _readCoerceToDomain();
else if (MATCH("COERCETODOMAINVALUE", 19))
return_value = _readCoerceToDomainValue();
else if (MATCH("SETTODEFAULT", 12))
return_value = _readSetToDefault();
else if (MATCH("CURRENTOFEXPR", 13))
return_value = _readCurrentOfExpr();
else if (MATCH("TARGETENTRY", 11))
return_value = _readTargetEntry();
else if (MATCH("RANGETBLREF", 11))
return_value = _readRangeTblRef();
else if (MATCH("JOINEXPR", 8))
return_value = _readJoinExpr();
else if (MATCH("FROMEXPR", 8))
return_value = _readFromExpr();
else if (MATCH("RTE", 3))
return_value = _readRangeTblEntry();
else if (MATCH("NOTIFY", 6))
return_value = _readNotifyStmt();
else if (MATCH("DECLARECURSOR", 13))
return_value = _readDeclareCursorStmt();
else
{
elog(ERROR, "badly formatted node string \"%.32s\"...", token);
return_value = NULL; /* keep compiler quiet */
}
return (Node *) return_value;
}
Definition at line 1381 of file readfuncs.c.
References atoui, elog, ERROR, i, NULL, palloc(), pg_strtok(), and PointerGetDatum.
Referenced by _readConst().
{
Size length,
i;
int tokenLength;
char *token;
Datum res;
char *s;
/*
* read the actual length of the value
*/
token = pg_strtok(&tokenLength);
length = atoui(token);
token = pg_strtok(&tokenLength); /* read the '[' */
if (token == NULL || token[0] != '[')
elog(ERROR, "expected \"[\" to start datum, but got \"%s\"; length = %lu",
token ? (const char *) token : "[NULL]",
(unsigned long) length);
if (typbyval)
{
if (length > (Size) sizeof(Datum))
elog(ERROR, "byval datum but length = %lu",
(unsigned long) length);
res = (Datum) 0;
s = (char *) (&res);
for (i = 0; i < (Size) sizeof(Datum); i++)
{
token = pg_strtok(&tokenLength);
s[i] = (char) atoi(token);
}
}
else if (length <= 0)
res = (Datum) NULL;
else
{
s = (char *) palloc(length);
for (i = 0; i < length; i++)
{
token = pg_strtok(&tokenLength);
s[i] = (char) atoi(token);
}
res = PointerGetDatum(s);
}
token = pg_strtok(&tokenLength); /* read the ']' */
if (token == NULL || token[0] != ']')
elog(ERROR, "expected \"]\" to end datum, but got \"%s\"; length = %lu",
token ? (const char *) token : "[NULL]",
(unsigned long) length);
return res;
}
1.7.1