Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0008095Openbravo ERPY. DBSourceManagerpublic2009-03-12 15:492009-04-29 00:00
rafaroda 
marvintm 
highmajoralways
closedfixed 
20Ubuntu 7.10
2.40 
 
Core
No
0008095: DBSourceManager: Constraint enabling should be done after onCreateDefault
DBSourceManager should enable new constraints after executing onCreateDefault and not before.
1) Create a new column in a XML table file with an onCreateDefault. For instance, in M_INOUT add:
<column name="FREIGHT_CURRENCY_ID" primaryKey="false" required="false" type="DECIMAL" size="10,0" autoIncrement="false">
        <default/>
        <onCreateDefault><![CDATA[SELECT C_ACCTSCHEMA.C_CURRENCY_ID FROM C_ACCTSCHEMA, AD_CLIENTINFO, AD_CLIENT WHERE AD_CLIENTINFO.C_ACCTSCHEMA1_ID = C_ACCTSCHEMA.C_ACCTSCHEMA_ID AND AD_CLIENT.AD_CLIENT_ID = AD_CLIENTINFO.AD_CLIENT_ID AND AD_CLIENT.AD_CLIENT_ID = M_INOUT.AD_CLIENT_ID]]></onCreateDefault>
      </column>
 <foreign-key foreignTable="C_CURRENCY" name="CCURRENCY_MINOUT">
        <reference local="FREIGHT_CURRENCY_ID" foreign="C_CURRENCY_ID"/>
      </foreign-key>

2) Create a new check constraint in this same XML table.
<check name="M_INOUT_CURRENCY_CHECK"><![CDATA[(FREIGHTAMT IS NULL) OR (FREIGHT_CURRENCY_ID IS NOT NULL)]]></check>

3) Execute: ant update.database.structure
[alterdatabase] SQL Command failed with: ERROR: check constraint "m_inout_currency_check" is violated by some row
[alterdatabase] ALTER TABLE M_INOUT
[alterdatabase] ADD CONSTRAINT M_INOUT_CURRENCY_CHECK CHECK ((FREIGHTAMT IS NULL) OR (FREIGHT_CURRENCY_ID IS NOT NULL))
DBSourceManager should enable new constraints after executing onCreateDefault.
main
depends on backport 0008096 closed marvintm DBSourceManager: Constraint enabling should be done after onCreateDefault 
Issue History
2009-03-12 15:49rafarodaNew Issue
2009-03-12 15:49rafarodaAssigned To => marvintm
2009-03-12 15:49rafarodaRegression testing => No
2009-03-12 15:50rafarodaPriorityimmediate => high
2009-03-12 15:50rafarodaStatusnew => scheduled
2009-03-12 15:50rafarodafix_in_branch => pi
2009-03-12 15:52rafarodafix_in_branchpi =>
2009-03-12 15:52rafarodaProposed Solution updated
2009-03-12 17:32marvintmStatusscheduled => resolved
2009-03-12 17:32marvintmFixed in SCM revision => 258
2009-03-12 17:32marvintmResolutionopen => fixed
2009-04-22 11:24psarobeTag Attached: main
2009-04-28 20:06psarobeStatusresolved => closed
2009-04-29 00:00anonymoussf_bug_id0 => 2783249

There are no notes attached to this issue.