Hi all,

i've added a new task in our product backlog to review them.

Regards,

Jon.
On 13:32 Sat 13 Mar     , Ismael Ciordia, Openbravo wrote:
> Asier, the "other ones" should be reviewed by Adrian.
> 
> Ismael
> 
> -----Mensaje original-----
> De: Asier Lostale [mailto:[email protected]]
> Enviado el: jueves, 11 de marzo de 2010 11:14
> Para: [email protected]
> Asunto: [Openbravo-development] Trigger execution
> 
> 
> Hi all,
> 
> Fixing this issue [1], I've realized that triggers work in a slightly
> different way between Oracle and PostrgreSQL:
> 
> -Oracle:
>    1."before" triggers are executed
>    2. "after" triggers are executed
>    3. constraints are verified
> 
> -PostgreSQL
>    1."before" triggers are executed
>    2. constraints are verified
>    3. "after" triggers are executed
> 
> This means that triggers to be executed on delete that are used to do
> cascade deletions (as the one reported in the issue), in Oracle can be
> defined as before or after, but in Postgre they will not work unless
> they are "before".
> 
> Looking in the core code I've found these candidates to be reviewed:
> 
> grep -i 'delete\s*from'  `grep -l 'fires="after".*delete="true"' *`
> AD_REFERENCE_TRG2.xml:   DELETE FROM AD_MODEL_OBJECT_MAPPING WHERE
> AD_MODEL_OBJECT_ID IN (
> AD_REFERENCE_TRG2.xml:   DELETE FROM AD_MODEL_OBJECT WHERE ACTION = 'S'
> AND AD_MODEL_OBJECT.AD_REFERENCE_ID = :OLD.AD_REFERENCE_ID;
> AD_TAB_TRG2.xml:  DELETE FROM AD_MODEL_OBJECT_MAPPING WHERE
> AD_MODEL_OBJECT_ID IN (
> AD_TAB_TRG2.xml:  DELETE FROM AD_MODEL_OBJECT WHERE ACTION = 'W' AND
> AD_MODEL_OBJECT.AD_TAB_ID = :OLD.AD_TAB_ID;
> C_BPARTNER_TRG.xml:     DELETE FROM AD_TreeNodeBP WHERE AD_Client_ID =
> :old.AD_Client_ID AND Node_ID = :old.C_BPartner_ID;
> C_INVOICELINETAX_TRG.xml:    DELETE FROM C_INVOICETAX
> C_INVOICELINE_TRG2.xml:  DELETE FROM C_INVOICELINE_OFFER
> C_INVOICELINE_TRG2.xml:   DELETE FROM C_INVOICELINETAX WHERE
> C_INVOICELINE_ID = :new.C_InvoiceLine_ID;
> C_ORDERLINETAX_TRG.xml:    DELETE FROM C_ORDERTAX
> C_ORDERLINE_TRG2.xml:  DELETE FROM C_ORDERLINE_OFFER
> C_ORDERLINE_TRG2.xml:   DELETE FROM C_ORDERLINETAX WHERE C_ORDERLINE_ID
> = :new.C_OrderLine_ID;
> M_PRODUCT_TRG.xml:    DELETE FROM AD_TreeNodePR WHERE AD_Client_ID =
> :old.AD_Client_ID AND Node_ID = :old.M_Product_ID;
> 
> I will review and fix the platform ones (ad_reference_trg2,
> ad_tab_trg2), and I'd like to someone else to review the other ones.
> 
> You also should take this note into account when creating new triggers.
> 
> Regards
> 
> Asier
> 
> 
> [1] https://issues.openbravo.com/view.php?id=12601
> 
> ----------------------------------------------------------------------------
> --
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Openbravo-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/openbravo-development
> 
> 
> ------------------------------------------------------------------------------
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Openbravo-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/openbravo-development


------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Openbravo-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-development

Reply via email to