Le 02/11/2010 05:49, Dave Page a écrit :
> On Mon, Nov 1, 2010 at 2:51 PM, Guillaume Lelarge
> <[email protected]> wrote:
>> Le 31/10/2010 09:44, Guillaume Lelarge a écrit :
>>> Le 31/10/2010 00:39, Dave Page a écrit :
>>>> On Sun, Oct 31, 2010 at 1:56 AM, Guillaume Lelarge
>>>> <[email protected]> wrote:
>>>>> Le 30/10/2010 10:25, Dave Page a écrit :
>>>>>
>>>>>> Yeah, that's really nasty. I guess we need split the commands at ;.
>>>>>
>>>>> Yeah. If it's not between quotes. I don't like it at all, but I don't
>>>>> see another way of doing it.
>>>>>
>>>>>> I guess we should pass a flag down somehow to tell the function that
>>>>>> executes the query to do that and then we could also potentially get
>>>>>> rid of the double SQL boxes.  I'm not looking at the code, but I
>>>>>> suspect that'll be nasty.
>>>>>>
>>>>>
>>>>> We actually aren't required to add such a flag. We can check if the
>>>>> query contains "ALTER TYPE", and "ADD AFTER" or "ADD BEFORE".
>>>>
>>>> That's knowledge I'd rather avoid hardwiring into the lower level
>>>> machinery here.
>>>>
>>>
>>> So do I. I tried a few things yesterday. Changing the apply() and
>>> GetSql() parameters imply to change all GetSql for all dlg* source code.
>>> That will be quite an invasive patch.
>>>
>>
>> I've done the "split-the-queries" function. Seems to work great, but
>> still doesn't cover dollar quoting. Anyway, it's less ugly than I
>> thought. The interesting part is dlgProperty::SplitQueries(). Would love
>> to get comments :)
> 
> I just eyeballed the patch - if I'm reading it right, it splits *all*
> queries and executes each part individually. Is that correct?
> 

Right.

> If so, we're going to need that flag. Most of the time, we want all
> the query parts to be executed atomically, otherwise if we get and
> error (particularly when using the Apply button where there is one),
> the dialogue won't know what parts of the update work and what didn't,
> and thus will have a difficult job refreshing the display
> appropriately.
> 

Yeah, that was the part I wanted to work on yesterday. I have an idea on
this, I actually have the code, but it doesn't work :-/ Need some more work.


-- 
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

-- 
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to