projects
/
postgresql.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ed16f73
)
Fix bogus range_table_mutator() logic for RangeTblEntry.tablesample.
author
Tom Lane
<tgl@sss.pgh.pa.us>
Fri, 19 Jun 2015 15:41:45 +0000
(11:41 -0400)
committer
Tom Lane
<tgl@sss.pgh.pa.us>
Fri, 19 Jun 2015 15:41:56 +0000
(11:41 -0400)
Must make a copy of the TableSampleClause node; the previous coding
modified the input data structure in-place.
Petr Jelinek
src/backend/nodes/nodeFuncs.c
patch
|
blob
|
blame
|
history
diff --git
a/src/backend/nodes/nodeFuncs.c
b/src/backend/nodes/nodeFuncs.c
index a2bcca5b75a06314133044461574c02c6234a95a..b1e3e6e489320086dce3500b1418178095e99714 100644
(file)
--- a/
src/backend/nodes/nodeFuncs.c
+++ b/
src/backend/nodes/nodeFuncs.c
@@
-2870,10
+2870,14
@@
range_table_mutator(List *rtable,
case RTE_RELATION:
if (rte->tablesample)
{
- MUTATE(rte->tablesample->args, rte->tablesample->args,
+ CHECKFLATCOPY(newrte->tablesample, rte->tablesample,
+ TableSampleClause);
+ MUTATE(newrte->tablesample->args,
+ newrte->tablesample->args,
List *);
- MUTATE(rte->tablesample->repeatable,
- rte->tablesample->repeatable, Node *);
+ MUTATE(newrte->tablesample->repeatable,
+ newrte->tablesample->repeatable,
+ Node *);
}
break;
case RTE_CTE: