Hi Jerome, On 03/11/2017 05:17 PM, jerome brauge wrote: > Alexander, > It's work fine now.
I pushed a clean-up patch to bb-10.2-ext. The second copy of char_to_byte_length_safe() unintentionally got in during a merge. The patch will later propagate to bb-10.2-compatibility (when I rebase it next time). Thanks for reporting the problem! > > Regards. > Jérôme. > >> -----Message d'origine----- >> De : Alexander Barkov [mailto:b...@mariadb.org] >> Envoyé : samedi 11 mars 2017 07:43 >> À : jerome brauge >> Cc : maria-developers >> Objet : Re: MDEV-10598 - bb-10.2-compatibility >> >> Hi Jerome, >> >> On 03/11/2017 10:18 AM, jerome brauge wrote: >>> 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 >>> 1>'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 >>> 1>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. >> >> Can you please try to remove the duplicate implementation from item.h ? >> >> Does this help? >> >> >> Thanks! >> >>> >>> 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