diff options
author | Pavan Deolasee | 2017-06-15 05:25:12 +0000 |
---|---|---|
committer | Pavan Deolasee | 2017-06-15 05:25:12 +0000 |
commit | 302ab9725906d0268db4fcbc64d787dd0438418c (patch) | |
tree | 6891c6295cefb1c2f640901e105a38a6aaa286f8 | |
parent | d146086846ac8211cb4519d0195daf5480f7460e (diff) |
Read/write OID fields in SQLValueFunction node correctly.
We must convert OID into a qualified name before sending it down to the remote
datanode and do the reverse on the remote end. This is a new node type added in
PG 10 and hence support was missing.
-rw-r--r-- | src/backend/nodes/outfuncs.c | 5 | ||||
-rw-r--r-- | src/backend/nodes/readfuncs.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index d5165ddd4e..be3413436a 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -2524,7 +2524,10 @@ _outSQLValueFunction(StringInfo str, const SQLValueFunction *node) WRITE_NODE_TYPE("SQLVALUEFUNCTION"); WRITE_ENUM_FIELD(op, SQLValueFunctionOp); - WRITE_OID_FIELD(type); + if (portable_output) + WRITE_TYPID_FIELD(type); + else + WRITE_OID_FIELD(type); WRITE_INT_FIELD(typmod); WRITE_LOCATION_FIELD(location); } diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index ae3e66f649..5147eaa4d3 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -1657,7 +1657,10 @@ _readSQLValueFunction(void) READ_LOCALS(SQLValueFunction); READ_ENUM_FIELD(op, SQLValueFunctionOp); - READ_OID_FIELD(type); + if (portable_input) + READ_TYPID_FIELD(type); + else + READ_OID_FIELD(type); READ_INT_FIELD(typmod); READ_LOCATION_FIELD(location); |