Hello Alexander, Thanks for this good job. The build fail on Windows because there is a duplicate definition of char_to_byte_length_safe in item.h and sql_type.h:
1>c:\source\repos\server\sql\item.h(101): error C2084: function 'uint32 char_to_byte_length_safe(uint32,uint32)' already has a body 1> c:\source\repos\server\sql\sql_type.h(184): note: see previous definition of 'char_to_byte_length_safe' 1>c:\source\repos\server\sql\item.h(1751): error C2568: '=': unable to resolve function overload 1> c:\source\repos\server\sql\item.h(1751): note: could be 'uint32 char_to_byte_length_safe(uint32,uint32)' I quickly installed a CenOS 7 VM and build works fine but I don't know development tools under linux. Jérôme. > -----Message d'origine----- > De : Alexander Barkov [mailto:b...@mariadb.org] > Envoyé : vendredi 10 mars 2017 11:36 > À : jerome brauge > Cc : maria-developers > Objet : Re: MDEV-10598 - bb-10.2-compatibility > > 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:b...@mariadb.org] 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. > >>> _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp