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
(3) |
2
(5) |
3
|
4
(4) |
5
|
6
|
7
(7) |
8
(10) |
9
(6) |
10
(5) |
11
(1) |
12
|
13
|
14
|
15
|
16
|
17
(4) |
18
(1) |
19
|
20
|
21
(5) |
22
(15) |
23
(18) |
24
(7) |
25
(4) |
26
|
27
|
28
(3) |
29
(2) |
30
(11) |
31
(4) |
|
|
From: Abbas B. <ga...@us...> - 2011-03-10 17:23:59
|
Project "Postgres-XC". The branch, merge_postgres_9_0_3 has been updated via 861f5131ddadd10fcd88f3653862601cddf0b255 (commit) from 0461384764ef25c8248e8d22ec09a23d3cd608a3 (commit) - Log ----------------------------------------------------------------- commit 861f5131ddadd10fcd88f3653862601cddf0b255 Author: Abbas <abb...@en...> Date: Thu Mar 10 22:22:53 2011 +0500 The test case portals finds a NULL connecction in ExecEndRemoteQuery and crashes the server. This patch puts a NULL check to avoid the crash diff --git a/src/backend/pgxc/pool/execRemote.c b/src/backend/pgxc/pool/execRemote.c index af2f80c..7f53a22 100644 --- a/src/backend/pgxc/pool/execRemote.c +++ b/src/backend/pgxc/pool/execRemote.c @@ -3801,6 +3801,13 @@ ExecEndRemoteQuery(RemoteQueryState *node) pfree(node->currentRow.msg); node->currentRow.msg = NULL; } + + if (conn == NULL) + { + node->conn_count--; + continue; + } + /* no data is expected */ if (conn->state == DN_CONNECTION_STATE_IDLE || conn->state == DN_CONNECTION_STATE_ERROR_FATAL) ----------------------------------------------------------------------- Summary of changes: src/backend/pgxc/pool/execRemote.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) hooks/post-receive -- Postgres-XC |
From: Michael P. <mic...@us...> - 2011-03-10 09:22:55
|
Project "Postgres-XC". The branch, merge_postgres_9_0_3 has been updated via 0461384764ef25c8248e8d22ec09a23d3cd608a3 (commit) from 95854dc24142a7ee751c05d658f52d84fc0649dc (commit) - Log ----------------------------------------------------------------- commit 0461384764ef25c8248e8d22ec09a23d3cd608a3 Author: Michael P <mic...@us...> Date: Thu Mar 10 18:19:26 2011 +0900 Fix for bug 3202643: Sequence error For the following sequence: create SEQUENCE seq; select nextval('seq'); select currval('seq'); select nextval('seq'); XC was returning 1 -> 100 -> 100 -> 101 PostgreSQL was returning 1 -> 100 -> 1 -> 100 This is corrected. We also check if nextval has been called once in a session when using currval. This is to correspond with PostgreSQL. diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index ee19184..8a921f5 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -618,7 +618,13 @@ nextval_internal(Oid relid) /* Update the on-disk data */ seq->last_value = result; /* last fetched number */ seq->is_called = true; - } else + + /* save info in local cache */ + elm->last = result; /* last returned number */ + elm->cached = result; /* last fetched number */ + elm->last_valid = true; + } + else { #endif last = next = result = seq->last_value; @@ -798,21 +804,6 @@ currval_oid(PG_FUNCTION_ARGS) /* open and AccessShareLock sequence */ init_sequence(relid, &elm, &seqrel); -#ifdef PGXC - if (IS_PGXC_COORDINATOR) - { - char *seqname = GetGlobalSeqName(seqrel, NULL, NULL); - - result = (int64) GetCurrentValGTM(seqname); - if (result < 0) - ereport(ERROR, - (errcode(ERRCODE_CONNECTION_FAILURE), - errmsg("GTM error, could not obtain sequence value"))); - pfree(seqname); - } - else - { -#endif if (pg_class_aclcheck(elm->relid, GetUserId(), ACL_SELECT) != ACLCHECK_OK && pg_class_aclcheck(elm->relid, GetUserId(), ACL_USAGE) != ACLCHECK_OK) @@ -827,12 +818,21 @@ currval_oid(PG_FUNCTION_ARGS) errmsg("currval of sequence \"%s\" is not yet defined in this session", RelationGetRelationName(seqrel)))); - result = elm->last; - #ifdef PGXC + if (IS_PGXC_COORDINATOR) + { + char *seqname = GetGlobalSeqName(seqrel, NULL, NULL); + + result = (int64) GetCurrentValGTM(seqname); + if (result < 0) + ereport(ERROR, + (errcode(ERRCODE_CONNECTION_FAILURE), + errmsg("GTM error, could not obtain sequence value"))); + pfree(seqname); } +#else + result = elm->last; #endif - relation_close(seqrel, NoLock); PG_RETURN_INT64(result); diff --git a/src/gtm/main/gtm_seq.c b/src/gtm/main/gtm_seq.c index 9ea5672..8c15fe9 100644 --- a/src/gtm/main/gtm_seq.c +++ b/src/gtm/main/gtm_seq.c @@ -660,16 +660,8 @@ GTM_SeqGetCurrent(GTM_SequenceKey seqkey) GTM_RWLockAcquire(&seqinfo->gs_lock, GTM_LOCKMODE_WRITE); - /* - * If this is the first call to the sequence, set the value to the start - * value and mark the sequence as 'called' - */ - if (!SEQ_IS_CALLED(seqinfo)) - { - seqinfo->gs_value = seqinfo->gs_init_value; - seqinfo->gs_called = true; - } - value = seqinfo->gs_value; + value = seqinfo->gs_last_value; + GTM_RWLockRelease(&seqinfo->gs_lock); seq_release_seqinfo(seqinfo); return value; @@ -693,6 +685,8 @@ GTM_SeqSetVal(GTM_SequenceKey seqkey, GTM_Sequence nextval, bool iscalled) GTM_RWLockAcquire(&seqinfo->gs_lock, GTM_LOCKMODE_WRITE); + seqinfo->gs_last_value = seqinfo->gs_value; + if (seqinfo->gs_value != nextval) seqinfo->gs_value = nextval; @@ -734,7 +728,7 @@ GTM_SeqGetNext(GTM_SequenceKey seqkey) */ if (!SEQ_IS_CALLED(seqinfo)) { - value = seqinfo->gs_value = seqinfo->gs_init_value; + value = seqinfo->gs_last_value = seqinfo->gs_value = seqinfo->gs_init_value; seqinfo->gs_called = true; GTM_RWLockRelease(&seqinfo->gs_lock); seq_release_seqinfo(seqinfo); @@ -749,9 +743,9 @@ GTM_SeqGetNext(GTM_SequenceKey seqkey) * InvalidSequenceValue */ if (seqinfo->gs_max_value - seqinfo->gs_increment_by >= seqinfo->gs_value) - value = seqinfo->gs_value = seqinfo->gs_value + seqinfo->gs_increment_by; + value = seqinfo->gs_last_value = seqinfo->gs_value = seqinfo->gs_value + seqinfo->gs_increment_by; else if (SEQ_IS_CYCLE(seqinfo)) - value = seqinfo->gs_value = seqinfo->gs_min_value; + value = seqinfo->gs_last_value = seqinfo->gs_value = seqinfo->gs_min_value; else { GTM_RWLockRelease(&seqinfo->gs_lock); @@ -774,9 +768,9 @@ GTM_SeqGetNext(GTM_SequenceKey seqkey) * descending sequences. So we don't need special handling below */ if (seqinfo->gs_min_value - seqinfo->gs_increment_by <= seqinfo->gs_value) - value = seqinfo->gs_value = seqinfo->gs_value + seqinfo->gs_increment_by; + value = seqinfo->gs_value = seqinfo->gs_last_value = seqinfo->gs_value + seqinfo->gs_increment_by; else if (SEQ_IS_CYCLE(seqinfo)) - value = seqinfo->gs_value = seqinfo->gs_max_value; + value = seqinfo->gs_value = seqinfo->gs_last_value = seqinfo->gs_max_value; else { GTM_RWLockRelease(&seqinfo->gs_lock); @@ -810,7 +804,7 @@ GTM_SeqReset(GTM_SequenceKey seqkey) } GTM_RWLockAcquire(&seqinfo->gs_lock, GTM_LOCKMODE_WRITE); - seqinfo->gs_value = seqinfo->gs_init_value; + seqinfo->gs_value = seqinfo->gs_last_value = seqinfo->gs_init_value; GTM_RWLockRelease(&seqinfo->gs_lock); seq_release_seqinfo(seqinfo); ----------------------------------------------------------------------- Summary of changes: src/backend/commands/sequence.c | 38 +++++++++++++++++++------------------- src/gtm/main/gtm_seq.c | 26 ++++++++++---------------- 2 files changed, 29 insertions(+), 35 deletions(-) hooks/post-receive -- Postgres-XC |
From: Michael P. <mic...@us...> - 2011-03-10 06:09:49
|
Project "Postgres-XC". The branch, merge_postgres_9_0_3 has been updated via 95854dc24142a7ee751c05d658f52d84fc0649dc (commit) from e0df08e39ab62378dcb7d11e259c5e1474104e0f (commit) - Log ----------------------------------------------------------------- commit 95854dc24142a7ee751c05d658f52d84fc0649dc Author: Michael P <mic...@us...> Date: Thu Mar 10 15:08:11 2011 +0900 Fix for regression test box It is not possible to use ORDER BY for an object of type box, so the output file for 2 Datanodes is added. diff --git a/src/test/regress/expected/box_1.out b/src/test/regress/expected/box_1.out new file mode 100644 index 0000000..7bd428a --- /dev/null +++ b/src/test/regress/expected/box_1.out @@ -0,0 +1,218 @@ +-- +-- BOX +-- +-- +-- box logic +-- o +-- 3 o--|X +-- | o| +-- 2 +-+-+ | +-- | | | | +-- 1 | o-+-o +-- | | +-- 0 +---+ +-- +-- 0 1 2 3 +-- +-- boxes are specified by two points, given by four floats x1,y1,x2,y2 +CREATE TABLE BOX_TBL (f1 box); +INSERT INTO BOX_TBL (f1) VALUES ('(2.0,2.0,0.0,0.0)'); +INSERT INTO BOX_TBL (f1) VALUES ('(1.0,1.0,3.0,3.0)'); +-- degenerate cases where the box is a line or a point +-- note that lines and points boxes all have zero area +INSERT INTO BOX_TBL (f1) VALUES ('(2.5, 2.5, 2.5,3.5)'); +INSERT INTO BOX_TBL (f1) VALUES ('(3.0, 3.0,3.0,3.0)'); +-- badly formatted box inputs +INSERT INTO BOX_TBL (f1) VALUES ('(2.3, 4.5)'); +ERROR: invalid input syntax for type box: "(2.3, 4.5)" +LINE 1: INSERT INTO BOX_TBL (f1) VALUES ('(2.3, 4.5)'); + ^ +INSERT INTO BOX_TBL (f1) VALUES ('asdfasdf(ad'); +ERROR: invalid input syntax for type box: "asdfasdf(ad" +LINE 1: INSERT INTO BOX_TBL (f1) VALUES ('asdfasdf(ad'); + ^ +SELECT '' AS four, * FROM BOX_TBL; + four | f1 +------+--------------------- + | (3,3),(1,1) + | (3,3),(3,3) + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) +(4 rows) + +SELECT '' AS four, b.*, area(b.f1) as barea + FROM BOX_TBL b ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + four | f1 | barea +------+---------------------+------- + | (2,2),(0,0) | 4 + | (2.5,3.5),(2.5,2.5) | 0 + | (3,3),(1,1) | 4 + | (3,3),(3,3) | 0 +(4 rows) + +-- overlap +SELECT '' AS three, b.f1 + FROM BOX_TBL b + WHERE b.f1 && box '(2.5,2.5,1.0,1.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + three | f1 +-------+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) + | (3,3),(1,1) +(3 rows) + +-- left-or-overlap (x only) +SELECT '' AS two, b1.* + FROM BOX_TBL b1 + WHERE b1.f1 &< box '(2.0,2.0,2.5,2.5)' ORDER BY (b1.f1[0])[0], (b1.f1[0])[1], (b1.f1[2])[0], (b1.f1[2])[1]; + two | f1 +-----+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) +(2 rows) + +-- right-or-overlap (x only) +SELECT '' AS two, b1.* + FROM BOX_TBL b1 + WHERE b1.f1 &> box '(2.0,2.0,2.5,2.5)' ORDER BY (b1.f1[0])[0], (b1.f1[0])[1], (b1.f1[2])[0], (b1.f1[2])[1]; + two | f1 +-----+--------------------- + | (2.5,3.5),(2.5,2.5) + | (3,3),(3,3) +(2 rows) + +-- left of +SELECT '' AS two, b.f1 + FROM BOX_TBL b + WHERE b.f1 << box '(3.0,3.0,5.0,5.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + two | f1 +-----+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) +(2 rows) + +-- area <= +SELECT '' AS four, b.f1 + FROM BOX_TBL b + WHERE b.f1 <= box '(3.0,3.0,5.0,5.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + four | f1 +------+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) + | (3,3),(1,1) + | (3,3),(3,3) +(4 rows) + +-- area < +SELECT '' AS two, b.f1 + FROM BOX_TBL b + WHERE b.f1 < box '(3.0,3.0,5.0,5.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + two | f1 +-----+--------------------- + | (2.5,3.5),(2.5,2.5) + | (3,3),(3,3) +(2 rows) + +-- area = +SELECT '' AS two, b.f1 + FROM BOX_TBL b + WHERE b.f1 = box '(3.0,3.0,5.0,5.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + two | f1 +-----+------------- + | (2,2),(0,0) + | (3,3),(1,1) +(2 rows) + +-- area > +SELECT '' AS two, b.f1 + FROM BOX_TBL b -- zero area + WHERE b.f1 > box '(3.5,3.0,4.5,3.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + two | f1 +-----+------------- + | (2,2),(0,0) + | (3,3),(1,1) +(2 rows) + +-- area >= +SELECT '' AS four, b.f1 + FROM BOX_TBL b -- zero area + WHERE b.f1 >= box '(3.5,3.0,4.5,3.0)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + four | f1 +------+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) + | (3,3),(1,1) + | (3,3),(3,3) +(4 rows) + +-- right of +SELECT '' AS two, b.f1 + FROM BOX_TBL b + WHERE box '(3.0,3.0,5.0,5.0)' >> b.f1 ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + two | f1 +-----+--------------------- + | (2,2),(0,0) + | (2.5,3.5),(2.5,2.5) +(2 rows) + +-- contained in +SELECT '' AS three, b.f1 + FROM BOX_TBL b + WHERE b.f1 <@ box '(0,0,3,3)' ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + three | f1 +-------+------------- + | (2,2),(0,0) + | (3,3),(1,1) + | (3,3),(3,3) +(3 rows) + +-- contains +SELECT '' AS three, b.f1 + FROM BOX_TBL b + WHERE box '(0,0,3,3)' @> b.f1 ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + three | f1 +-------+------------- + | (2,2),(0,0) + | (3,3),(1,1) + | (3,3),(3,3) +(3 rows) + +-- box equality +SELECT '' AS one, b.f1 + FROM BOX_TBL b + WHERE box '(1,1,3,3)' ~= b.f1 ORDER BY (b.f1[0])[0], (b.f1[0])[1], (b.f1[2])[0], (b.f1[2])[1]; + one | f1 +-----+------------- + | (3,3),(1,1) +(1 row) + +-- center of box, left unary operator +SELECT '' AS four, @@(b1.f1) AS p + FROM BOX_TBL b1 ORDER BY (b1.f1[0])[0], (b1.f1[0])[1], (b1.f1[2])[0], (b1.f1[2])[1]; + four | p +------+--------- + | (1,1) + | (2.5,3) + | (2,2) + | (3,3) +(4 rows) + +-- wholly-contained +SELECT '' AS one, b1.*, b2.* + FROM BOX_TBL b1, BOX_TBL b2 + WHERE b1.f1 @> b2.f1 and not b1.f1 ~= b2.f1 + ORDER BY (b1.f1[0])[0], (b1.f1[0])[1], (b1.f1[2])[0], (b1.f1[2])[1], (b2.f1[0])[0], (b2.f1[0])[1], (b2.f1[2])[0], (b2.f1[2])[1]; + one | f1 | f1 +-----+-------------+------------- + | (3,3),(1,1) | (3,3),(3,3) +(1 row) + +SELECT '' AS four, height(f1), width(f1) FROM BOX_TBL ORDER BY (f1[0])[0], (f1[0])[1], (f1[2])[0], (f1[2])[1]; + four | height | width +------+--------+------- + | 2 | 2 + | 1 | 0 + | 2 | 2 + | 0 | 0 +(4 rows) + ----------------------------------------------------------------------- Summary of changes: src/test/regress/expected/{box.out => box_1.out} | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) copy src/test/regress/expected/{box.out => box_1.out} (100%) hooks/post-receive -- Postgres-XC |
From: Michael P. <mic...@us...> - 2011-03-10 05:46:28
|
Project "Postgres-XC". The branch, merge_postgres_9_0_3 has been updated via e0df08e39ab62378dcb7d11e259c5e1474104e0f (commit) from 09a00e32319f4af6f2cab879ed1fae866164eca5 (commit) - Log ----------------------------------------------------------------- commit e0df08e39ab62378dcb7d11e259c5e1474104e0f Author: Michael P <mic...@us...> Date: Thu Mar 10 14:42:35 2011 +0900 Fix for bug 3201711: Sequence view crash This query was pushed down to Datanodes, but it has to be launched on Local Coordinator. CREATE SEQUENCE foo; select * from foo; This fix is important for pg_admin. diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index e812025..0497180 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -35,6 +35,7 @@ #include "parser/parsetree.h" #ifdef PGXC #include "catalog/pg_namespace.h" +#include "catalog/pg_class.h" #include "pgxc/pgxc.h" #endif #include "rewrite/rewriteManip.h" @@ -261,11 +262,13 @@ set_plain_rel_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte) #ifdef PGXC /* * If we are on the coordinator, we always want to use - * the remote query path unless it is a pg_catalog table. + * the remote query path unless it is a pg_catalog table + * or a sequence relation. */ if (IS_PGXC_COORDINATOR && !IsConnFromCoord() && - get_rel_namespace(rte->relid) != PG_CATALOG_NAMESPACE) + get_rel_namespace(rte->relid) != PG_CATALOG_NAMESPACE && + get_rel_relkind(rte->relid) != RELKIND_SEQUENCE) add_path(rel, create_remotequery_path(root, rel)); else { diff --git a/src/backend/pgxc/plan/planner.c b/src/backend/pgxc/plan/planner.c index 622834e..e4d13cb 100644 --- a/src/backend/pgxc/plan/planner.c +++ b/src/backend/pgxc/plan/planner.c @@ -1573,7 +1573,13 @@ get_plan_nodes_walker(Node *query_node, XCWalkerContext *context) if (get_rel_namespace(rte->relid) == PG_CATALOG_NAMESPACE) current_usage_type = TABLE_USAGE_TYPE_PGCATALOG; else - current_usage_type = TABLE_USAGE_TYPE_USER; + { + /* Check if this relation is a sequence */ + if (get_rel_relkind(rte->relid) == RELKIND_SEQUENCE) + current_usage_type = TABLE_USAGE_TYPE_SEQUENCE; + else + current_usage_type = TABLE_USAGE_TYPE_USER; + } } else if (rte->rtekind == RTE_FUNCTION) { @@ -1607,11 +1613,12 @@ get_plan_nodes_walker(Node *query_node, XCWalkerContext *context) } } - /* If we are just dealing with pg_catalog, just return. */ - if (table_usage_type == TABLE_USAGE_TYPE_PGCATALOG) + /* If we are just dealing with pg_catalog or a sequence, just return. */ + if (table_usage_type == TABLE_USAGE_TYPE_PGCATALOG || + table_usage_type == TABLE_USAGE_TYPE_SEQUENCE) { context->query_step->exec_nodes = makeNode(ExecNodes); - context->query_step->exec_nodes->tableusagetype = TABLE_USAGE_TYPE_PGCATALOG; + context->query_step->exec_nodes->tableusagetype = table_usage_type; context->exec_on_coord = true; return false; } diff --git a/src/include/pgxc/locator.h b/src/include/pgxc/locator.h index 5948fae..3272ab6 100644 --- a/src/include/pgxc/locator.h +++ b/src/include/pgxc/locator.h @@ -39,6 +39,7 @@ typedef enum { TABLE_USAGE_TYPE_NO_TABLE, TABLE_USAGE_TYPE_PGCATALOG, + TABLE_USAGE_TYPE_SEQUENCE, TABLE_USAGE_TYPE_USER, TABLE_USAGE_TYPE_USER_REPLICATED, /* based on a replicated table */ TABLE_USAGE_TYPE_MIXED ----------------------------------------------------------------------- Summary of changes: src/backend/optimizer/path/allpaths.c | 7 +++++-- src/backend/pgxc/plan/planner.c | 15 +++++++++++---- src/include/pgxc/locator.h | 1 + 3 files changed, 17 insertions(+), 6 deletions(-) hooks/post-receive -- Postgres-XC |
From: Michael P. <mic...@us...> - 2011-03-10 01:22:39
|
Project "Postgres-XC". The branch, merge_postgres_9_0_3 has been updated via 09a00e32319f4af6f2cab879ed1fae866164eca5 (commit) from baed9de74d766b401d088918e809dc9e51b313f7 (commit) - Log ----------------------------------------------------------------- commit 09a00e32319f4af6f2cab879ed1fae866164eca5 Author: Michael P <mic...@us...> Date: Thu Mar 10 10:21:19 2011 +0900 Block SERIAL sequences XC does not support yet serial sequences when creating tables. diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 1777199..3ffc570 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -362,6 +362,13 @@ transformColumnDefinition(ParseState *pstate, CreateStmtContext *cxt, AlterSeqStmt *altseqstmt; List *attnamelist; +#ifdef PGXC + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("Postgres-XC does not support SERIAL yet"), + errdetail("The feature is not currently supported"))); +#endif + /* * Determine namespace and name to use for the sequence. * ----------------------------------------------------------------------- Summary of changes: src/backend/parser/parse_utilcmd.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) hooks/post-receive -- Postgres-XC |