maria-developers team mailing list archive
Mailing list archive
Re: MDEV-10598 - bb-10.2-compatibility
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
CURSOR cur1 IS SELECT a;
CURSOR cur2 IS SELECT rec1.a;
FETCH cur2 INTO rec2;
I.e. a set of intermixed CURSOR and cursor%ROWTYPE variable
declarations referencing each other recursively.
>> -----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.
>> CURSOR cur1 IS SELECT a,b FROM t1;
>> v cur1%ROWTYPE;
>> CURSOR cur2 IS SELECT v.a, v.b FROM DUAL; BEGIN
>> So the order of cur1, v and cur2 is important.
>> I'll let you known when I'm ready with %ROWTYPE tasks.