[HACKERS] new patch of MERGE (merge_204) & a question about duplicated ctid

2010-12-04 Thread Boxuan Zhai
Dear Greg, I have updated the MERGE patch for two main problems. 1. Support of system attributes in MERGE action expressions. In old version of MERGE, I use the top join as the only RTE in var name space, during the transformation process in parser. It contains all the common attributes of so

[HACKERS] a new problem in MERGE

2010-10-30 Thread Boxuan Zhai
Dear Greg, How are you? As we talked last week, there is a bug about the "origslot" field assertion. TRAP: FailedAssertion("!(epqstate->origslot != ((void *)0))", File: "execMain.c", Line: 1732) I checked my codes and found the reason of this problem. In the original process of "ExecModifyTabl

Re: [HACKERS] ask for review of MERGE

2010-10-23 Thread Boxuan Zhai
> > > This did seem to find a bug in the implementation after running for a > while: > > TRAP: FailedAssertion("!(epqstate->origslot != ((void *)0))", File: > "execMain.c", Line: 1732) > > Line number there is relative to what you can see at > http://github.com/greg2ndQuadrant/postgres/blob/merge/s

Re: [HACKERS] ask for review of MERGE

2010-10-19 Thread Boxuan Zhai
Hi, I considered the empty source table situation again. I think it is correct to upsert nothing in this case. Back to the original logic of MERGE command, it is main purpose is to add the supplementary data from the source table into the target table. Thus, an empty source table means no input d

Re: [HACKERS] ask for review of MERGE

2010-10-18 Thread Boxuan Zhai
On Mon, Oct 18, 2010 at 9:54 PM, Robert Haas wrote: > I think that MERGE is supposed to trigger one rule for each row in the > source data. So: > > On Sun, Oct 17, 2010 at 8:20 PM, Greg Smith wrote: > > MERGE INTO Stock t > > USING (SELECT * FROM Stock WHERE item_id=10) AS s > > ON s.item_id=

Re: [HACKERS] ask for review of MERGE

2010-09-29 Thread Boxuan Zhai
On Wed, Sep 29, 2010 at 9:16 PM, Robert Haas wrote: > On Wed, Sep 29, 2010 at 2:44 AM, Greg Smith wrote: > > One compiler warning I noticed that needs to get resolved: > > > > src/backend/commands/explain.c: > > > > explain.c: In function ‘ExplainMergeActions’: > > explain.c:1528: warning: compa

Re: [HACKERS] gSoC add MERGE command new patch -- merge_v104

2010-08-24 Thread Boxuan Zhai
On Wed, Aug 25, 2010 at 4:56 AM, Andres Freund wrote: > On Tue, Aug 24, 2010 at 11:02:41PM +0300, Heikki Linnakangas wrote: > > On 24/08/10 16:35, Boxuan Zhai wrote: > > >Hi, > > > > > >I finished the MERGE on inheritance tables. Now comes the merge_v201 &g

Re: [HACKERS] MERGE Specification

2010-08-15 Thread Boxuan Zhai
On Sun, Aug 15, 2010 at 4:05 AM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote: > On 11/08/10 11:11, Boxuan Zhai wrote: > >> The new patch is done. I named it as merge_v102. (1 means it is the >> non-inheritance merge command, 02 means this is t

Re: [HACKERS] MERGE command for inheritance

2010-08-13 Thread Boxuan Zhai
On Fri, Aug 13, 2010 at 2:33 PM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote: > On 13/08/10 09:27, Boxuan Zhai wrote: > >> I have renewed the merge.sql and merge.out in regress. Please have a look. >> > > Thanks. > > Did you change the way

Re: [HACKERS] MERGE command for inheritance

2010-08-11 Thread Boxuan Zhai
On Thu, Aug 12, 2010 at 12:49 AM, Greg Smith wrote: > Tom Lane wrote: > >> Do we really think this is anywhere near committable now? >> >> > > There's a relatively objective standard for the first thing needed for > commit--does it work?--in the form of the regression tests Simon put > together b

Re: [HACKERS] MERGE command for inheritance

2010-08-11 Thread Boxuan Zhai
On Wed, Aug 11, 2010 at 4:45 PM, Simon Riggs wrote: > On Tue, 2010-08-10 at 17:15 +0300, Heikki Linnakangas wrote: > > On 10/08/10 12:38, Boxuan Zhai wrote: > > > The difficult way is to generate the plans for children table in > planner, as > > > the other c

Re: [HACKERS] MERGE command for inheritance

2010-08-11 Thread Boxuan Zhai
On Wed, Aug 11, 2010 at 4:27 PM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote: > On 10/08/10 12:38, Boxuan Zhai wrote: > >> These days I am considering what else can be done for MERGE, And, I >> find inheritance tables in postgres is not supported by

Re: [HACKERS] MERGE Specification

2010-08-11 Thread Boxuan Zhai
On Wed, Aug 11, 2010 at 12:18 PM, Boxuan Zhai wrote: > > > On Wed, Aug 11, 2010 at 12:14 PM, Greg Smith wrote: > >> Boxuan Zhai wrote: >> >>> I just found that no Assert() works in my codes. I think it is because >>> the assertion is no e

Re: [HACKERS] MERGE Specification

2010-08-10 Thread Boxuan Zhai
On Wed, Aug 11, 2010 at 12:14 PM, Greg Smith wrote: > Boxuan Zhai wrote: > >> I just found that no Assert() works in my codes. I think it is because the >> assertion is no enabled. How to enable assertion. To define >> USE_ASSERT_CHECKING somewhere? >> > > W

Re: [HACKERS] MERGE Specification

2010-08-10 Thread Boxuan Zhai
On Tue, Aug 10, 2010 at 10:29 PM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote: > On 10/08/10 12:08, Boxuan Zhai wrote: > >> Thanks for your feedback. I fixed all the above waring bugs. Find the new >> patch in attachement. >> > > Thanks.

[HACKERS] MERGE command for inheritance

2010-08-10 Thread Boxuan Zhai
Hi, These days I am considering what else can be done for MERGE, And, I find inheritance tables in postgres is not supported by our MERGE command yet. Currently, MERGE command is only able to handle the target table itself, and its children tables are not involved in the process. I am not sure if

Re: [HACKERS] MERGE Specification

2010-08-06 Thread Boxuan Zhai
On Fri, Aug 6, 2010 at 3:53 PM, Simon Riggs wrote: > On Fri, 2010-08-06 at 10:28 +0300, Heikki Linnakangas wrote: > > On 06/08/10 10:12, Simon Riggs wrote: > > > So DO NOTHING is the default and implies silently ignoring rows. RAISE > > > ERROR is the opposite. > > > > > > Coding for those seems

Re: [HACKERS] MERGE Specification

2010-08-06 Thread Boxuan Zhai
On Fri, Aug 6, 2010 at 3:41 PM, Simon Riggs wrote: > On Fri, 2010-08-06 at 10:28 +0300, Heikki Linnakangas wrote: > > > > SQL:2011 makes no mention of how MERGE should react to statement level > > > triggers. MERGE is not a trigger action even. Given considerable > > > confusion in this area, IMH

Re: [HACKERS] MERGE Specification

2010-08-05 Thread Boxuan Zhai
Dear All, I have seen a lively discussion about the DO NOTING action in MERGE command. And, I think most people want it. So it will be added to my next patch. Before the implementation, I still have some questions to confirm: 1. If we have a DO NOTHING action specified, it should be the last WHE

Re: [HACKERS] MERGE Specification

2010-08-05 Thread Boxuan Zhai
On Thu, Aug 5, 2010 at 7:25 PM, Simon Riggs wrote: > On Thu, 2010-08-05 at 12:29 +0300, Heikki Linnakangas wrote: > > On 05/08/10 10:46, Simon Riggs wrote: > > > On Mon, 2008-04-21 at 21:08 +0100, Simon Riggs wrote: > > >> The following two files specify the behaviour of the MERGE statement > and

Re: [HACKERS] merge command - GSoC progress

2010-08-04 Thread Boxuan Zhai
Dear Robert, I am just considering that there may be some logical mistakes for my rule rewriting strategy of MERGE actions. In my current design, if we find that an action type, say UPDATE, is replaced by INSTEAD rules, we will remove all the actions of this type from the MERGE command, as if th

Re: [HACKERS] merge command - GSoC progress

2010-08-03 Thread Boxuan Zhai
2010/8/4 Greg Smith > Boxuan Zhai wrote: > >> I think there are no redundant lines in this time's patch file. >> > > It is much better. There are still more blank likes around the new code > you've added than are needed in many places, but that doesn

Re: [HACKERS] merge command - GSoC progress

2010-07-31 Thread Boxuan Zhai
2010/7/31 Greg Smith > Boxuan Zhai wrote: > >> I create a clean patch file (no debug clauses). See the attachment. >> > > Some general coding feedback for you on this. > > Thanks for your consideration! > It's not obvious to people who might want t

Re: [HACKERS] merge command - GSoC progress

2010-07-28 Thread Boxuan Zhai
2010/7/28 Robert Haas > On Tue, Jul 27, 2010 at 1:04 AM, Boxuan Zhai wrote: > > I have get a edition that the merge command can run. It accept the > standard > > merge command and can do UPDATE, INSERT and DELETE actions now. But we > > cannot put additional qualificatio

Fwd: [HACKERS] gSoC - ADD MERGE COMMAND - code patch submission

2010-07-17 Thread Boxuan Zhai
-- Forwarded message -- From: Boxuan Zhai Date: 2010/7/17 Subject: Re: [HACKERS] gSoC - ADD MERGE COMMAND - code patch submission To: Simon Riggs 2010/7/17 Simon Riggs On Fri, 2010-07-16 at 08:26 +0800, Boxuan Zhai wrote: > > The merge actions are transformed into

Re: [HACKERS] gSoC - ADD MERGE COMMAND - code patch submission

2010-07-16 Thread Boxuan Zhai
/07/10 03:26, Boxuan Zhai wrote: > >> PS: Heikki asked me about what the "EXPLAIN MERGE ..." command will do. >> Well, I have not test it, but it may through an error or just explain the >> top plan, since I put the action plans in a new field, which cannot be >&g

Re: [HACKERS] gSoC - ADD MERGE COMMAND - code patch submission

2010-07-15 Thread Boxuan Zhai
Dear Hackers I considered my situation. And I found that I didn't communicate well with you, as makes you have little confidence on my project. Most of the time I just work by myself and not report to you frequently. I always want to finish a solid stage progress before do a submission. This may b

Re: [HACKERS] gSoC - ADD MERGE COMMAND - code patch submission

2010-07-11 Thread Boxuan Zhai
Hi, Thanks for all these feedback. I found that people have problems on running my codes, which probably comes from my nonstandard submission format. I can compile, install and initialize postgres in my own machine. The system accepts MERGE command and will throw an error when it runs into the ex