details: https://code.openbravo.com/erp/devel/pi/rev/02c7d99b53e9 changeset: 30563:02c7d99b53e9 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Wed Sep 21 16:39:13 2016 +0200 summary: fixed bug 34201: can't create import entries while changing role org access
Removed deprecated client and org list in ad_role because the trigger that kept them in sync was craeting contention for insertions into import entry. diffstat: src-db/database/model/tables/AD_ROLE.xml | 8 - src-db/database/model/triggers/AD_ROLE_ORGACCESS_TRG.xml | 99 --------- src-db/database/sourcedata/AD_COLUMN.xml | 76 ------ src-db/database/sourcedata/AD_ELEMENT.xml | 14 - src-db/database/sourcedata/AD_FIELD.xml | 110 ---------- src-test/src/org/openbravo/test/dal/IssuesTest.java | 2 - src-test/src/org/openbravo/test/datasource/DataSourceSecurity.java | 2 - src-test/src/org/openbravo/test/role/inheritance/RoleInheritanceTestUtils.java | 2 - src-test/src/org/openbravo/test/security/ExplicitCrossOrganizationReference.java | 2 - src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java | 2 - 10 files changed, 0 insertions(+), 317 deletions(-) diffs (truncated from 426 to 300 lines): diff -r 96cab7afad17 -r 02c7d99b53e9 src-db/database/model/tables/AD_ROLE.xml --- a/src-db/database/model/tables/AD_ROLE.xml Tue Oct 11 17:41:03 2016 +0200 +++ b/src-db/database/model/tables/AD_ROLE.xml Wed Sep 21 16:39:13 2016 +0200 @@ -45,14 +45,6 @@ <default><![CDATA[ O]]></default> <onCreateDefault/> </column> - <column name="CLIENTLIST" primaryKey="false" required="true" type="NVARCHAR" size="2000" autoIncrement="false"> - <default/> - <onCreateDefault/> - </column> - <column name="ORGLIST" primaryKey="false" required="true" type="NVARCHAR" size="2000" autoIncrement="false"> - <default/> - <onCreateDefault/> - </column> <column name="C_CURRENCY_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> <default/> <onCreateDefault/> diff -r 96cab7afad17 -r 02c7d99b53e9 src-db/database/model/triggers/AD_ROLE_ORGACCESS_TRG.xml --- a/src-db/database/model/triggers/AD_ROLE_ORGACCESS_TRG.xml Tue Oct 11 17:41:03 2016 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -<?xml version="1.0"?> - <database name="TRIGGER AD_ROLE_ORGACCESS_TRG"> - <trigger name="AD_ROLE_ORGACCESS_TRG" table="AD_ROLE_ORGACCESS" fires="after" insert="true" update="true" delete="true" foreach="statement"> - <body><![CDATA[ - /************************************************************************* - * The contents of this file are subject to the Compiere Public - * License 1.1 ("License"); You may not use this file except in - * compliance with the License. You may obtain a copy of the License in - * the legal folder of your Openbravo installation. - * Software distributed under the License is distributed on an - * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing rights - * and limitations under the License. - * The Original Code is Compiere ERP & Business Solution - * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc. - * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, - * parts created by ComPiere are Copyright (C) ComPiere, Inc.; - * All Rights Reserved. - * Contributor(s): Openbravo SLU - * Contributions are Copyright (C) 2001-2008 Openbravo, S.L.U. - * - * Specifically, this derivative work is based upon the following Compiere - * file and version. - ************************************************************************* - * $Id: AD_Role_OrgAccess_Trg.sql,v 1.3 2003/05/04 06:46:07 jjanke Exp $ - *** - * Title: Update AD_Role.OrgList / ClientList - * for all Roles as otherwise mutating trigger - * Description: - ************************************************************************/ - TYPE RECORD IS REF CURSOR; - CUR_Role RECORD; - Cur_Org RECORD; - v_ClientList VARCHAR2(2000):=''; - v_OrgList VARCHAR2(2000):=''; - v_Client_ID VARCHAR2(32):=-1; - -BEGIN - - IF AD_isTriggerEnabled()='N' THEN RETURN; - END IF; - - - -- For each Role - FOR CUR_Role IN - (SELECT * FROM AD_Role FOR UPDATE) - LOOP - v_ClientList:=''; - v_OrgList:=''; - v_Client_ID:=-1; - -- Assemble Client/OrgList - FOR Cur_Org IN - ( - SELECT AD_Client_ID, - AD_Org_ID - FROM AD_Role_OrgAccess - WHERE AD_Role_ID=CUR_Role.AD_Role_ID - AND IsActive='Y' - ORDER BY AD_Client_ID, - AD_Org_ID - ) - LOOP - IF(v_Client_ID <> Cur_Org.AD_Client_ID) THEN - IF (v_ClientList IS NULL OR (LENGTH(v_ClientList) + LENGTH(Cur_Org.AD_Client_ID) + 1 < 2000)) THEN - v_Client_ID:=Cur_Org.AD_Client_ID; - IF(LENGTH(v_ClientList) <> 0) THEN - v_ClientList:=v_ClientList || ','; - END IF; - v_ClientList:=v_ClientList || Cur_Org.AD_Client_ID; - END IF; - END IF; - -- Org - IF (v_OrgList IS NULL OR (LENGTH(v_OrgList) + LENGTH(Cur_Org.AD_Org_ID) + 1 < 2000)) THEN - IF(LENGTH(v_OrgList) <> 0) THEN - v_OrgList:=v_OrgList || ','; - END IF; - v_OrgList:=v_OrgList || Cur_Org.AD_Org_ID; - END IF; - END LOOP; - -- Org - -- - IF(v_ClientList IS NULL OR LENGTH(v_ClientList)=0) THEN - v_ClientList:=CUR_Role.AD_Client_ID; - END IF; - IF(v_OrgList IS NULL OR LENGTH(v_OrgList)=0) THEN - v_OrgList:=CUR_Role.AD_Org_ID; - END IF; - DBMS_OUTPUT.PUT_LINE(CUR_Role.Name || ': Client=' || CUR_Role.ClientList || '->' || v_ClientList || ' - Org= ' || CUR_Role.OrgList || '->' || v_OrgList) ; - -- Update Role - UPDATE AD_Role - SET ClientList=v_ClientList, - OrgList=v_OrgList - WHERE AD_ROLE.AD_ROLE_ID=CUR_Role.AD_ROLE_ID; - END LOOP; - -- Role -END AD_ROLE_ORGACCESS_TRG -]]></body> - </trigger> - </database> diff -r 96cab7afad17 -r 02c7d99b53e9 src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Tue Oct 11 17:41:03 2016 +0200 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Wed Sep 21 16:39:13 2016 +0200 @@ -7502,82 +7502,6 @@ <!--534--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--534--></AD_COLUMN> -<!--535--><AD_COLUMN> -<!--535--> <AD_COLUMN_ID><![CDATA[535]]></AD_COLUMN_ID> -<!--535--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> -<!--535--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> -<!--535--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--535--> <NAME><![CDATA[Client List]]></NAME> -<!--535--> <DESCRIPTION><![CDATA[Clients this Role can access]]></DESCRIPTION> -<!--535--> <HELP><![CDATA[Indicates the Clients (by client id) that this Role can access. Multiple Clients are delimited by a comma ','.]]></HELP> -<!--535--> <COLUMNNAME><![CDATA[ClientList]]></COLUMNNAME> -<!--535--> <AD_TABLE_ID><![CDATA[156]]></AD_TABLE_ID> -<!--535--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> -<!--535--> <FIELDLENGTH><![CDATA[2000]]></FIELDLENGTH> -<!--535--> <DEFAULTVALUE><![CDATA[@AD_Client_ID@]]></DEFAULTVALUE> -<!--535--> <ISKEY><![CDATA[N]]></ISKEY> -<!--535--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--535--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> -<!--535--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> -<!--535--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> -<!--535--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> -<!--535--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> -<!--535--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> -<!--535--> <AD_ELEMENT_ID><![CDATA[226]]></AD_ELEMENT_ID> -<!--535--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> -<!--535--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> -<!--535--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> -<!--535--> <DEVELOPMENTSTATUS><![CDATA[DP]]></DEVELOPMENTSTATUS> -<!--535--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--535--> <POSITION><![CDATA[12]]></POSITION> -<!--535--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> -<!--535--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> -<!--535--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> -<!--535--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> -<!--535--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> -<!--535--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> -<!--535--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> -<!--535--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> -<!--535--></AD_COLUMN> - -<!--536--><AD_COLUMN> -<!--536--> <AD_COLUMN_ID><![CDATA[536]]></AD_COLUMN_ID> -<!--536--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> -<!--536--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> -<!--536--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--536--> <NAME><![CDATA[Organization List]]></NAME> -<!--536--> <DESCRIPTION><![CDATA[List of Organizations this Role can access]]></DESCRIPTION> -<!--536--> <HELP><![CDATA[The Organization List indicates the Organizations (by organization id) that this Role can access. Multiple Organizations are delimited by a comma ','.]]></HELP> -<!--536--> <COLUMNNAME><![CDATA[OrgList]]></COLUMNNAME> -<!--536--> <AD_TABLE_ID><![CDATA[156]]></AD_TABLE_ID> -<!--536--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> -<!--536--> <FIELDLENGTH><![CDATA[2000]]></FIELDLENGTH> -<!--536--> <DEFAULTVALUE><![CDATA[@AD_Org_ID@]]></DEFAULTVALUE> -<!--536--> <ISKEY><![CDATA[N]]></ISKEY> -<!--536--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--536--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> -<!--536--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE> -<!--536--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> -<!--536--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> -<!--536--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> -<!--536--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> -<!--536--> <AD_ELEMENT_ID><![CDATA[478]]></AD_ELEMENT_ID> -<!--536--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> -<!--536--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> -<!--536--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> -<!--536--> <DEVELOPMENTSTATUS><![CDATA[DP]]></DEVELOPMENTSTATUS> -<!--536--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--536--> <POSITION><![CDATA[13]]></POSITION> -<!--536--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> -<!--536--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> -<!--536--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> -<!--536--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> -<!--536--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> -<!--536--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> -<!--536--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> -<!--536--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> -<!--536--></AD_COLUMN> - <!--537--><AD_COLUMN> <!--537--> <AD_COLUMN_ID><![CDATA[537]]></AD_COLUMN_ID> <!--537--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 96cab7afad17 -r 02c7d99b53e9 src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml Tue Oct 11 17:41:03 2016 +0200 +++ b/src-db/database/sourcedata/AD_ELEMENT.xml Wed Sep 21 16:39:13 2016 +0200 @@ -1328,20 +1328,6 @@ <!--225--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--225--></AD_ELEMENT> -<!--226--><AD_ELEMENT> -<!--226--> <AD_ELEMENT_ID><![CDATA[226]]></AD_ELEMENT_ID> -<!--226--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> -<!--226--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> -<!--226--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--226--> <COLUMNNAME><![CDATA[ClientList]]></COLUMNNAME> -<!--226--> <NAME><![CDATA[Client List]]></NAME> -<!--226--> <PRINTNAME><![CDATA[Client List]]></PRINTNAME> -<!--226--> <DESCRIPTION><![CDATA[Clients this Role can access]]></DESCRIPTION> -<!--226--> <HELP><![CDATA[Indicates the Clients (by client id) that this Role can access. Multiple Clients are delimited by a comma ','.]]></HELP> -<!--226--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--226--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> -<!--226--></AD_ELEMENT> - <!--227--><AD_ELEMENT> <!--227--> <AD_ELEMENT_ID><![CDATA[227]]></AD_ELEMENT_ID> <!--227--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 96cab7afad17 -r 02c7d99b53e9 src-db/database/sourcedata/AD_FIELD.xml --- a/src-db/database/sourcedata/AD_FIELD.xml Tue Oct 11 17:41:03 2016 +0200 +++ b/src-db/database/sourcedata/AD_FIELD.xml Wed Sep 21 16:39:13 2016 +0200 @@ -5702,60 +5702,6 @@ <!--364--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--364--></AD_FIELD> -<!--365--><AD_FIELD> -<!--365--> <AD_FIELD_ID><![CDATA[365]]></AD_FIELD_ID> -<!--365--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> -<!--365--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> -<!--365--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--365--> <NAME><![CDATA[Client List]]></NAME> -<!--365--> <DESCRIPTION><![CDATA[Clients this Role can access]]></DESCRIPTION> -<!--365--> <HELP><![CDATA[Indicates the Clients (by client id) that this Role can access. Multiple Clients are delimited by a comma ','.]]></HELP> -<!--365--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> -<!--365--> <AD_TAB_ID><![CDATA[119]]></AD_TAB_ID> -<!--365--> <AD_COLUMN_ID><![CDATA[535]]></AD_COLUMN_ID> -<!--365--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> -<!--365--> <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED> -<!--365--> <DISPLAYLENGTH><![CDATA[60]]></DISPLAYLENGTH> -<!--365--> <ISREADONLY><![CDATA[Y]]></ISREADONLY> -<!--365--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> -<!--365--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> -<!--365--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> -<!--365--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> -<!--365--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> -<!--365--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--365--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> -<!--365--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> -<!--365--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> -<!--365--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> -<!--365--></AD_FIELD> - -<!--366--><AD_FIELD> -<!--366--> <AD_FIELD_ID><![CDATA[366]]></AD_FIELD_ID> -<!--366--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> -<!--366--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> -<!--366--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--366--> <NAME><![CDATA[Organization List]]></NAME> -<!--366--> <DESCRIPTION><![CDATA[List of Organizations this Role can access]]></DESCRIPTION> -<!--366--> <HELP><![CDATA[The Organization List indicates the Organizations (by organization id) that this Role can access. Multiple Organizations are delimited by a comma ','.]]></HELP> -<!--366--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> -<!--366--> <AD_TAB_ID><![CDATA[119]]></AD_TAB_ID> -<!--366--> <AD_COLUMN_ID><![CDATA[536]]></AD_COLUMN_ID> -<!--366--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> -<!--366--> <ISDISPLAYED><![CDATA[N]]></ISDISPLAYED> -<!--366--> <DISPLAYLENGTH><![CDATA[60]]></DISPLAYLENGTH> -<!--366--> <ISREADONLY><![CDATA[Y]]></ISREADONLY> -<!--366--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> -<!--366--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> -<!--366--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> -<!--366--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> -<!--366--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> -<!--366--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> -<!--366--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> -<!--366--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> -<!--366--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> -<!--366--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> -<!--366--></AD_FIELD> - <!--367--><AD_FIELD> <!--367--> <AD_FIELD_ID><![CDATA[367]]></AD_FIELD_ID> <!--367--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -80895,34 +80841,6 @@ <!--6734--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--6734--></AD_FIELD> -<!--6735--><AD_FIELD> ------------------------------------------------------------------------------ The Command Line: Reinvented for Modern Developers Did the resurgence of CLI tooling catch you by surprise? Reconnect with the command line and become more productive. Learn the new .NET and ASP.NET CLI. Get your free copy! http://sdm.link/telerik _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits