Skip to content

Commit

Permalink
Merge branch 'master' of ssh://postgres-xc.git.sourceforge.net/gitroo…
Browse files Browse the repository at this point in the history
…t/postgres-xc/postgres-xc
  • Loading branch information
Koichi Suzuki committed Mar 26, 2012
2 parents 12bce7a + d6c3f65 commit 667ce08
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
13 changes: 11 additions & 2 deletions src/backend/pgxc/plan/planner.c
Original file line number Diff line number Diff line change
Expand Up @@ -1757,7 +1757,6 @@ pgxc_FQS_walker(Node *node, FQS_context *fqs_context)
* do we handle DDLs here?
*/
case T_FieldSelect:
case T_FieldStore:
case T_ArrayRef:
case T_RangeTblRef:
case T_NamedArgExpr:
Expand All @@ -1782,14 +1781,24 @@ pgxc_FQS_walker(Node *node, FQS_context *fqs_context)
case T_CoerceToDomain:
break;

case T_FieldStore:
/*
* PostgreSQL deparsing logic does not handle the FieldStore
* for more than one fields (see processIndirection()). So, let's
* handle it through standard planner, where whole row will be
* constructed.
*/
fqs_context->fqsc_canShip = false;
break;

case T_SetToDefault:
/*
* PGXCTODO: we should actually check whether the default value to
* be substituted is shippable to the datanode. Some cases like
* nextval() of a sequence can not be shipped to the datanode, hence
* for now default values can not be shipped to the datanodes
*/
fqs_context->fqsc_need_coord = true;
fqs_context->fqsc_canShip = false;
break;

case T_Var:
Expand Down
3 changes: 1 addition & 2 deletions src/test/regress/sql/rowtypes.sql
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@ update people set fn.suffix = 'Jr';

select * from people;

--- PGXCTODO: This test case makes a server crash due to query deparsing in planner
--- insert into quadtable (f1, q.c1.r, q.c2.i) values(44,55,66);
insert into quadtable (f1, q.c1.r, q.c2.i) values(44,55,66);

select * from quadtable order by f1, q;

Expand Down

0 comments on commit 667ce08

Please sign in to comment.