maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #10495
Re: MDEV-10598 - bb-10.2-compatibility
Hello Jerome,
will you try to apply your patch on top of the current
bb-10.2-compatibility?
Or should I do that?
Thanks!
On 03/10/2017 02:36 PM, Alexander Barkov wrote:
> Hello Jerome,
>
>
> On 02/27/2017 11:39 PM, jerome brauge wrote:
>> Hello Alexander,
>> Thanks for the explanation.
>> It's something we do not use. I did not think about it.
>> I look forward to your patch.
>
> I pushed these tasks:
>
> MDEV-10581 sql_mode=ORACLE: Explicit cursor FOR LOOP
> MDEV-12098 sql_mode=ORACLE: Implicit cursor FOR loop
> MDEV-12011 sql_mode=ORACLE: cursor%ROWTYPE in variable declarations
> MDEV-12133 sql_mode=ORACLE: table%ROWTYPE in variable declarations
>
> Please clone the branch again.
> Git pull will not work, because I recently rebased bb-10.2-compatibility
> on top of the latest 10.2.
>
>
> When implementing cursor%ROWTYPE, I had your patch in mind and made
> some refactoring to help us apply MDEV-10598 easier.
> Please see a comment to MDEV-12011 in "git log".
>
>
> Now the tricky thing (when adding your patch) is to make sure that
> this work fine:
>
> CREATE PROCEDURE p1
> AS
> a INT:=10;
> CURSOR cur1 IS SELECT a;
> rec1 cur1%ROWTYPE;
> CURSOR cur2 IS SELECT rec1.a;
> rec2 cur2%ROWTYPE;
> BEGIN
> OPEN cur2;
> FETCH cur2 INTO rec2;
> CLOSE cur2;
> SELECT rec2.a;
> END;
>
>
> I.e. a set of intermixed CURSOR and cursor%ROWTYPE variable
> declarations referencing each other recursively.
>
>
> Thanks.
>
>>
>> Regards,
>> Jérôme.
>>
>>> -----Message d'origine-----
>>> De : Alexander Barkov [mailto:bar@xxxxxxxxxxx]
>>> Envoyé : lundi 27 février 2017 11:28
>>> À : jerome brauge
>>> Cc : maria-developers
>>> Objet : Re: MDEV-10598 - bb-10.2-compatibility
>>>
>>> Hello Jerome,
>>>
>>>
>>> On 02/21/2017 07:18 PM, jerome brauge wrote:
>>>> Hello Alexander,
>>>> I've done this patch for MDEV-10598.
>>>> Can you review it ?
>>>
>>> It seems we'll have to postpone this patch.
>>>
>>> I'm currently working on:
>>>
>>> MDEV-10598 Variable declarations can go after cursor declarations
>>> MDEV-12011 sql_mode=ORACLE: cursor%ROWTYPE in variable declarations
>>> So the trick with postponing variable declarations using a temporary list might
>>> not work properly after adding MDEV-10598 abd MDEV-12011, the order of
>>> cursors and variables is important.
>>>
>>> Example:
>>>
>>> DECLARE
>>> CURSOR cur1 IS SELECT a,b FROM t1;
>>> v cur1%ROWTYPE;
>>> CURSOR cur2 IS SELECT v.a, v.b FROM DUAL; BEGIN
>>> ...
>>> END;
>>>
>>>
>>> So the order of cur1, v and cur2 is important.
>>>
>>> I'll let you known when I'm ready with %ROWTYPE tasks.
>>>
>>> Thanks!
>>>
>>>
>>>>
>>>> Regards,
>>>> Jérôme.
>>>>
Follow ups
References