summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorPavan Deolasee2017-09-18 07:19:17 +0000
committerPavan Deolasee2017-09-18 07:19:17 +0000
commitb05a0a0b5609c547965efbb5d499fb7cc36a4315 (patch)
treeba88ee690e45f7c5e3bbdd66322652410bb16f78 /src/include
parent3b19886e31cfda898acf773196b40c4994b036b8 (diff)
Ensure that we don't read rule definition with portable input on
Rules are converted in their string representation and stored in the catalog. While building relation descriptor, this information is read back and converted into a Node representation. Since relation descriptors could be built when we are reading plan information sent by the remote server in a stringified representation, trying to read the rules with portable input on may lead to unpleasant behaviour. So we must first reset portable input and restore it back after reading the rules. The same applies to RLS policies (even though we don't have a test showing the impact, but it looks like a sane thing to fix anyways)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/nodes/nodes.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index 47e55dbb5f..a620f29d0c 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -651,7 +651,7 @@ extern char *bmsToString(const struct Bitmapset *bms);
* nodes/{readfuncs.c,read.c}
*/
#ifdef XCP
-extern void set_portable_input(bool value);
+extern bool set_portable_input(bool value);
#endif
extern void *stringToNode(char *str);
extern struct Bitmapset *readBitmapset(void);