Hello Alexander,
No problem.
Sergei, do you think that we could throw this error only when commit or 
rollback statement  is really executed ? (and with the call stack as notes, 
like others errors in stored procedure)


> -----Message d'origine-----
> De : Alexander Barkov [mailto:[email protected]]
> Envoyé : mercredi 29 novembre 2017 08:14
> À : jerome brauge
> Cc : MariaDB Developers ([email protected])
> Objet : Re: Error 1422 - Explicit or implicit commit is not allowed in stored
> function or trigger
> 
> Hi Jerome,
> 
> 
> On 11/28/2017 02:33 PM, jerome brauge wrote:
> > Hello Alexander,
> > I'm facing to a new issue with my stored procedures.
> > Some of them are called directly or from trigger.
> > When these procedures are called directly, they manage the transaction
> and when they are called from trigger, they doesn't manage the transaction.
> > This works fine on Oracle, SQLServer , ... but fail on Mariadb because the
> check is done in is_not_allowed_in_function() before the call.
> 
> Sorry, this part is out of scope of my knowledge.
> Can you please discuss with Sergei?
> 
> >
> > use test;
> > set sql_mode=oracle;
> > create or replace table t1 (c1 int);
> > insert into t1 values (1);
> > delimiter /
> > create or replace procedure p1(manage_transactionnal int) is begin
> >   if manage_transactionnal = 1 then
> >     commit;
> >   end if;
> > end;
> > /
> > create or replace trigger tg1 after delete on t1 for each row begin
> > call p1(0); end; / delimiter ; start transaction; delete from t1;
> > rollback;
> >
> > What do you think about this ?
> >
> > Regards,
> > Jérôme.
> >

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to