You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
(10) |
May
(17) |
Jun
(3) |
Jul
|
Aug
|
Sep
(8) |
Oct
(18) |
Nov
(51) |
Dec
(74) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(47) |
Feb
(44) |
Mar
(44) |
Apr
(102) |
May
(35) |
Jun
(25) |
Jul
(56) |
Aug
(69) |
Sep
(32) |
Oct
(37) |
Nov
(31) |
Dec
(16) |
2012 |
Jan
(34) |
Feb
(127) |
Mar
(218) |
Apr
(252) |
May
(80) |
Jun
(137) |
Jul
(205) |
Aug
(159) |
Sep
(35) |
Oct
(50) |
Nov
(82) |
Dec
(52) |
2013 |
Jan
(107) |
Feb
(159) |
Mar
(118) |
Apr
(163) |
May
(151) |
Jun
(89) |
Jul
(106) |
Aug
(177) |
Sep
(49) |
Oct
(63) |
Nov
(46) |
Dec
(7) |
2014 |
Jan
(65) |
Feb
(128) |
Mar
(40) |
Apr
(11) |
May
(4) |
Jun
(8) |
Jul
(16) |
Aug
(11) |
Sep
(4) |
Oct
(1) |
Nov
(5) |
Dec
(16) |
2015 |
Jan
(5) |
Feb
|
Mar
(2) |
Apr
(5) |
May
(4) |
Jun
(12) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
(3) |
8
|
9
(1) |
10
(1) |
11
(10) |
12
(4) |
13
(8) |
14
(2) |
15
|
16
|
17
(1) |
18
(2) |
19
(1) |
20
|
21
(1) |
22
|
23
|
24
|
25
(1) |
26
(3) |
27
(2) |
28
(6) |
29
(1) |
30
|
31
|
|
|
|
|
|
From: xiong w. <wan...@gm...> - 2011-01-27 09:29:52
|
Hi Abbas, 2011/1/25 Abbas Butt <abb...@en...>: > Hi > Attached please find a modified patch that applies correctly to the current > state of the repository. > I made some modifications in the patch other than those which were to make > the patch apply > > In the function QueryRewrite there is an assert > Assert(!foundOriginalQuery); > It fails with multi insert test cases. This is understandable because in our > case > multiple queries are supposed to set the command result tag, and > HandleCmdComplete > is then supposed to merge these multiple results in to one consolidated > result. > Therefore I have put an ifndef on that assertion. > > Other than that I have added ifdef PGXC to a couple of places where it was > missed. > > Here is a paragraph describing the patch that can be used as commit message. > =========================================== > The patch implements multiple insert syntax in PGXC. > Multiple insert means using a single insert statement to insert > multiple rows into a table using the syntax e.g. > > insert into students(rno, class, pos) values (1, 10, 5), (2, 10, 6), (3, 10, > 7), (4, 10, 8); > > Without the patch statements like these pass, but actually do not insert any > thing in the table. > > Here is how the patch works, can be used as commit log message. > > The main code changes are in re-writer. > The patch checks to see if the insert statement has more than one sets in > the provided list of values > (FOUR in the above example), and in that case rewrites the insert statement. > The insert rewriter seperates the sets in the provided list of values into > independent lists > depending on the distribution of the table, the distribution column and the > value provided for > the distribution column. > Next the main re-writer is seperated into two possible paths, one without a > for loop and > if we have a seperated list of insert values, we run a for loop on the list > and create an insert statement for each of the data nodes providing it that > sub-group of the original list that is supposed to run on this particular > data node. > > Main work is done now, all that is left is to handle multiple command result > tags from > the data nodes. HandleCmdComplete does this, it simply keeps adding into the > insert row count > untill all data nodes are done. > =========================================== > > Here are my comments on the code. > > 1) The patch adds many new functions in the code base. > Each new function added into the code base should be > accompanied by a comment header > - a small para describiong the logic/purpose > - one line parameter detail > Benny, After we commit the base version of the patch > could you please add these function headers to the code base. > > 2) Each patch submitted should be accompanied by a paragraph > describing the patch similar to the one I have written above. > > 3) Also it would be helpful to attach a few test cases covering > the corner cases. > > I have completed the basic testing and here are my results > > Multiple insert works for tables distributed by round robin or hash > but it does NOT work for replicated tables. The encloser is the patch for this bug. It's should be a bug in later committed code. Regards, Benny > I have yet to test other possible cases that I will finish today. > > End Result: > ========== > Check in the attached patch and fix the issues as a seperate patch. > > Regards > Abbas > > > On Mon, Jan 17, 2011 at 2:14 PM, Abbas Butt <abb...@en...> > wrote: >> >> OK sure I will try after finishing my regular to do list for today >> >> On Mon, Jan 17, 2011 at 1:51 PM, Michael Paquier >> <mic...@gm...> wrote: >>> >>> Hi Abbas, >>> >>> It's Michael. >>> I am not at the company today, but just to let you know that I received >>> the multi INSERT patch from Benny, the Chinese student. >>> >>> If you have time, it may be cool to have a look at it. >>> Thanks, >>> >>> -- >>> Michael Paquier >>> http://michaelpq.users.sourceforge.net >>> >> > > |
From: xiong w. <wan...@gm...> - 2011-01-27 09:23:08
|
Hi Abbas, 2011/1/25 Abbas Butt <abb...@en...>: > Hi > Attached please find a modified patch that applies correctly to the current > state of the repository. > I made some modifications in the patch other than those which were to make > the patch apply > > In the function QueryRewrite there is an assert > Assert(!foundOriginalQuery); > It fails with multi insert test cases. This is understandable because in our > case > multiple queries are supposed to set the command result tag, and > HandleCmdComplete > is then supposed to merge these multiple results in to one consolidated > result. > Therefore I have put an ifndef on that assertion. > > Other than that I have added ifdef PGXC to a couple of places where it was > missed. > > Here is a paragraph describing the patch that can be used as commit message. > =========================================== > The patch implements multiple insert syntax in PGXC. > Multiple insert means using a single insert statement to insert > multiple rows into a table using the syntax e.g. > > insert into students(rno, class, pos) values (1, 10, 5), (2, 10, 6), (3, 10, > 7), (4, 10, 8); > > Without the patch statements like these pass, but actually do not insert any > thing in the table. > > Here is how the patch works, can be used as commit log message. > > The main code changes are in re-writer. > The patch checks to see if the insert statement has more than one sets in > the provided list of values > (FOUR in the above example), and in that case rewrites the insert statement. > The insert rewriter seperates the sets in the provided list of values into > independent lists > depending on the distribution of the table, the distribution column and the > value provided for > the distribution column. > Next the main re-writer is seperated into two possible paths, one without a > for loop and > if we have a seperated list of insert values, we run a for loop on the list > and create an insert statement for each of the data nodes providing it that > sub-group of the original list that is supposed to run on this particular > data node. > > Main work is done now, all that is left is to handle multiple command result > tags from > the data nodes. HandleCmdComplete does this, it simply keeps adding into the > insert row count > untill all data nodes are done. > =========================================== > > Here are my comments on the code. > > 1) The patch adds many new functions in the code base. > Each new function added into the code base should be > accompanied by a comment header > - a small para describiong the logic/purpose > - one line parameter detail > Benny, After we commit the base version of the patch > could you please add these function headers to the code base. > > 2) Each patch submitted should be accompanied by a paragraph > describing the patch similar to the one I have written above. > I have added comments at the head of each function I added. Regads, Benny > 3) Also it would be helpful to attach a few test cases covering > the corner cases. > > I have completed the basic testing and here are my results > > Multiple insert works for tables distributed by round robin or hash > but it does NOT work for replicated tables. > > I have yet to test other possible cases that I will finish today. > > End Result: > ========== > Check in the attached patch and fix the issues as a seperate patch. > > Regards > Abbas > > > On Mon, Jan 17, 2011 at 2:14 PM, Abbas Butt <abb...@en...> > wrote: >> >> OK sure I will try after finishing my regular to do list for today >> >> On Mon, Jan 17, 2011 at 1:51 PM, Michael Paquier >> <mic...@gm...> wrote: >>> >>> Hi Abbas, >>> >>> It's Michael. >>> I am not at the company today, but just to let you know that I received >>> the multi INSERT patch from Benny, the Chinese student. >>> >>> If you have time, it may be cool to have a look at it. >>> Thanks, >>> >>> -- >>> Michael Paquier >>> http://michaelpq.users.sourceforge.net >>> >> > > |