You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(28) |
Jun
(12) |
Jul
(11) |
Aug
(12) |
Sep
(5) |
Oct
(19) |
Nov
(14) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(18) |
Feb
(30) |
Mar
(115) |
Apr
(89) |
May
(50) |
Jun
(44) |
Jul
(22) |
Aug
(13) |
Sep
(11) |
Oct
(30) |
Nov
(28) |
Dec
(39) |
2012 |
Jan
(38) |
Feb
(18) |
Mar
(43) |
Apr
(91) |
May
(108) |
Jun
(46) |
Jul
(37) |
Aug
(44) |
Sep
(33) |
Oct
(29) |
Nov
(36) |
Dec
(15) |
2013 |
Jan
(35) |
Feb
(611) |
Mar
(5) |
Apr
(55) |
May
(30) |
Jun
(28) |
Jul
(458) |
Aug
(34) |
Sep
(9) |
Oct
(39) |
Nov
(22) |
Dec
(32) |
2014 |
Jan
(16) |
Feb
(16) |
Mar
(42) |
Apr
(179) |
May
(7) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(4) |
Oct
|
Nov
(3) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(1) |
2
|
3
(1) |
4
(1) |
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
(2) |
15
(4) |
16
(2) |
17
|
18
(1) |
19
|
20
|
21
|
22
|
23
(2) |
24
|
25
|
26
|
27
|
28
|
29
|
30
|
|
|
|
|
From: mason_s <ma...@us...> - 2010-11-15 15:03:17
|
Project "Postgres-XC". The branch, master has been updated via 195026c49901d9526d217f4f826fe4de1e751b48 (commit) from df5bbea8a52731418be0d5346ec2a0464cc78b08 (commit) - Log ----------------------------------------------------------------- commit 195026c49901d9526d217f4f826fe4de1e751b48 Author: Mason Sharp <ma...@us...> Date: Tue Nov 16 00:02:48 2010 +0900 Fix PGXC macro usage diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 130dff3..cda0849 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -114,8 +114,9 @@ typedef struct List *subplans; /* List of subplans, in plan-tree case */ Plan *outer_plan; /* OUTER subplan, or NULL if none */ Plan *inner_plan; /* INNER subplan, or NULL if none */ - +#ifdef PGXC bool remotequery; /* deparse context for remote query */ +#endif } deparse_namespace; diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h index 85384b5..8d1e35a 100644 --- a/src/include/utils/builtins.h +++ b/src/include/utils/builtins.h @@ -595,8 +595,8 @@ extern Datum pg_get_function_identity_arguments(PG_FUNCTION_ARGS); extern Datum pg_get_function_result(PG_FUNCTION_ARGS); extern char *deparse_expression(Node *expr, List *dpcontext, bool forceprefix, bool showimplicit); -extern List *deparse_context_for_remotequery(const char *aliasname, Oid relid); #ifdef PGXC +extern List *deparse_context_for_remotequery(const char *aliasname, Oid relid); extern List *deparse_context_for(const char *aliasname, Oid relid); #endif extern List *deparse_context_for_plan(Node *plan, Node *outer_plan, ----------------------------------------------------------------------- Summary of changes: src/backend/utils/adt/ruleutils.c | 3 ++- src/include/utils/builtins.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- Postgres-XC |
From: mason_s <ma...@us...> - 2010-11-15 14:59:06
|
Project "Postgres-XC". The branch, master has been updated via df5bbea8a52731418be0d5346ec2a0464cc78b08 (commit) from 2de110a8491bf090c0dd51033a674b8de718d706 (commit) - Log ----------------------------------------------------------------- commit df5bbea8a52731418be0d5346ec2a0464cc78b08 Author: Mason Sharp <ma...@us...> Date: Mon Nov 15 23:58:30 2010 +0900 Fix some compiler warnings diff --git a/src/backend/pgxc/plan/planner.c b/src/backend/pgxc/plan/planner.c index e46065d..94f851a 100644 --- a/src/backend/pgxc/plan/planner.c +++ b/src/backend/pgxc/plan/planner.c @@ -22,6 +22,7 @@ #include "catalog/pg_type.h" #include "executor/executor.h" #include "lib/stringinfo.h" +#include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "nodes/nodes.h" #include "nodes/parsenodes.h" @@ -1586,7 +1587,6 @@ get_plan_nodes(Query *query, RemoteQuery *step, bool isRead) /* * get_plan_nodes_command - determine the nodes to execute the plan on * - * return NULL if it is not safe to be done in a single step. */ static void get_plan_nodes_command(Query *query, RemoteQuery *step) @@ -1606,6 +1606,9 @@ get_plan_nodes_command(Query *query, RemoteQuery *step) /* treat as a select */ get_plan_nodes(query, step, false); break; + + default: + break; } } @@ -2393,7 +2396,7 @@ handle_limit_offset(RemoteQuery *query_step, Query *query, PlannedStmt *plan_stm for (c = &query_step->sql_statement[0]; c != pos && *c != '\0'; *newchar++ = *c++); if (query->limitCount) - sprintf(newchar, "LIMIT %I64d", newLimit); + sprintf(newchar, "LIMIT " INT64_FORMAT, newLimit); else *newchar = '\0'; @@ -2840,7 +2843,7 @@ validate_part_col_updatable(const Query *query) if (rte != NULL && rte->rtekind != RTE_RELATION) /* Bad relation type */ - return NULL; + return; /* See if we have the partitioned case. */ rel_loc_info = GetRelationLocInfo(rte->relid); ----------------------------------------------------------------------- Summary of changes: src/backend/pgxc/plan/planner.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) hooks/post-receive -- Postgres-XC |
From: mason_s <ma...@us...> - 2010-11-15 06:50:25
|
Project "Postgres-XC". The branch, master has been updated via 2de110a8491bf090c0dd51033a674b8de718d706 (commit) from 47477fd696a6c1110ea9c1b47ad60a403468dae3 (commit) - Log ----------------------------------------------------------------- commit 2de110a8491bf090c0dd51033a674b8de718d706 Author: Mason Sharp <ma...@us...> Date: Mon Nov 15 15:48:18 2010 +0900 Do not allow the partition column to be updated on hash partitioned tables until we support moving tuples. This corresponds to bug #3107683 on SourceForge. Written by Benny Mei Le diff --git a/src/backend/pgxc/plan/planner.c b/src/backend/pgxc/plan/planner.c index af368e4..e46065d 100644 --- a/src/backend/pgxc/plan/planner.c +++ b/src/backend/pgxc/plan/planner.c @@ -148,6 +148,7 @@ static bool get_plan_nodes_walker(Node *query_node, XCWalkerContext *context); static bool examine_conditions_walker(Node *expr_node, XCWalkerContext *context); static int handle_limit_offset(RemoteQuery *query_step, Query *query, PlannedStmt *plan_stmt); static void InitXCWalkerContext(XCWalkerContext *context); +static void validate_part_col_updatable(const Query *query); /* * Find position of specified substring in the string @@ -2465,10 +2466,18 @@ pgxc_planner(Query *query, int cursorOptions, ParamListInfo boundParams) case CMD_INSERT: case CMD_UPDATE: case CMD_DELETE: + /* PGXCTODO: This validation will not be removed + * until we support moving tuples from one node to another + * when the partition column of a table is updated + */ + if (query->commandType == CMD_UPDATE) + validate_part_col_updatable(query); + if (query->returningList) ereport(ERROR, (errcode(ERRCODE_STATEMENT_TOO_COMPLEX), (errmsg("RETURNING clause not yet supported")))); + /* Set result relations */ if (query->commandType != CMD_SELECT) result->resultRelations = list_make1_int(query->resultRelation); @@ -2812,4 +2821,56 @@ IsJoinReducible(RemoteQuery *innernode, RemoteQuery *outernode, return result; } +/* + * validate whether partition column of a table is being updated + */ +static void +validate_part_col_updatable(const Query *query) +{ + RangeTblEntry *rte; + RelationLocInfo *rel_loc_info; + ListCell *lc; + + /* Make sure there is one table at least */ + if (query->rtable == NULL) + return; + + rte = (RangeTblEntry *) list_nth(query->rtable, query->resultRelation - 1); + + + if (rte != NULL && rte->rtekind != RTE_RELATION) + /* Bad relation type */ + return NULL; + + /* See if we have the partitioned case. */ + rel_loc_info = GetRelationLocInfo(rte->relid); + + if (!rel_loc_info) + ereport(ERROR, + (errcode(ERRCODE_STATEMENT_TOO_COMPLEX), + (errmsg("Could not find relation for oid = %d", rte->relid)))); + + + /* Only LOCATOR_TYPE_HASH should be checked */ + if (rel_loc_info->locatorType == LOCATOR_TYPE_HASH && + rel_loc_info->partAttrName != NULL) + { + /* It is a partitioned table, check partition column in targetList */ + foreach(lc, query->targetList) + { + TargetEntry *tle = (TargetEntry *) lfirst(lc); + + if (tle->resjunk) + continue; + /* + * See if we have a constant expression comparing against the + * designated partitioned column + */ + if (strcmp(tle->resname, rel_loc_info->partAttrName) == 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_COLUMN_REFERENCE), + (errmsg("Partition column can't be updated in current version")))); + } + } +} ----------------------------------------------------------------------- Summary of changes: src/backend/pgxc/plan/planner.c | 61 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) hooks/post-receive -- Postgres-XC |
From: mason_s <ma...@us...> - 2010-11-15 00:37:27
|
Project "Postgres-XC". The branch, master has been updated via 47477fd696a6c1110ea9c1b47ad60a403468dae3 (commit) from e0a1c694304e5ea591addb66faf5733311a9ba28 (commit) - Log ----------------------------------------------------------------- commit 47477fd696a6c1110ea9c1b47ad60a403468dae3 Author: Mason Sharp <ma...@us...> Date: Mon Nov 15 09:35:58 2010 +0900 Support for COPY SELECT Recent portal integration changes have allowed this support to happen "for free". We just remove the message that indicated that it was not supported. diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index a1da3a0..b87b07b 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -1295,13 +1295,6 @@ DoCopy(const CopyStmt *stmt, const char *queryString) Assert(!is_from); cstate->rel = NULL; -#ifdef PGXC - if (IS_PGXC_COORDINATOR) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY (SELECT) is not supported in PGXC"))); -#endif - /* Don't allow COPY w/ OIDs from a select */ if (cstate->oids) ereport(ERROR, ----------------------------------------------------------------------- Summary of changes: src/backend/commands/copy.c | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-) hooks/post-receive -- Postgres-XC |