← Back to team overview

maria-developers team mailing list archive

Re: Patch for MDEV-12874 - UPDATE statements with the same source and target

 

Hello Alexander,
As I thought, there is the same issue with select.
The following procedure produce a different result between Mariadb and Oracle.

set sql_mode=oracle;
use test;
DELIMITER $$
CREATE or replace procedure psselerr_field(res OUT VARCHAR)
AS
  b1 INT;
BEGIN
  b1:=10;
  select 1,cast(b1 as varchar(10)) into b1, res from dual;  
  return ;
END;
$$
DELIMITER ;
call psselerr_field (@res);
select @res;

Mariadb : res = 1
Oracle: res = 10

Best regards,
Jérôme.


> -----Message d'origine-----
> De : jerome brauge
> Envoyé : vendredi 21 juillet 2017 17:04
> À : maria-developers@xxxxxxxxxxxxxxxxxxx
> Cc : Alexander Barkov; 'Sergei Golubchik'
> Objet : Patch for MDEV-12874 - UPDATE statements with the same source
> and target
> 
> Hello,
> 
> Here is a patch for MDEV-12874 (on branch 10.2-ext).
> Can anyone review it ?
> 
> Alexander, during my work on this MDEV, I've found a new issue with update
> statement and Oracle compatibility.
> 
> create table t1 (c1 integer, c2 integer, c3 integer); insert into t1(c1,c2,c3)
> values (1,1,1); update t1
>    set c1 = c1+1,
>        c2 = c1+1,
>        c3 = c2+1;
> select * from t1;
> 
> Mariadb :
> +------+------+------+
> | c1   | c2   | c3   |
> +------+------+------+
> |    2 |    3 |    4 |
> +------+------+------+
> 1 row in set (0.00 sec)
> 
> Oracle :
> DVTORA>
>         C1         C2         C3
> ---------- ---------- ----------
>          2          2          2
> 
> Can you open a new MDEV for this ?
> 
> Best regards,
> Jérôme.


Follow ups

References