details: https://code.openbravo.com/erp/devel/pi/rev/6b95b859ada6 changeset: 29980:6b95b859ada6 user: Naroa Iriarte <naroa.iriarte <at> openbravo.com> date: Wed Aug 31 10:57:20 2016 +0200 summary: Fixed issue 33843: There where some useless queries in linked items
The sql method selectKeyValue was doing some useless queries and, as they were useless and potentialy heavy, the code which was invoking the method and the method itself have been deleted. diffstat: src/org/openbravo/erpCommon/utility/UsedByLink.java | 14 ++------------ src/org/openbravo/erpCommon/utility/UsedByLink_data.xsql | 15 --------------- 2 files changed, 2 insertions(+), 27 deletions(-) diffs (63 lines): diff -r 321a74b76ac7 -r 6b95b859ada6 src/org/openbravo/erpCommon/utility/UsedByLink.java --- a/src/org/openbravo/erpCommon/utility/UsedByLink.java Thu Sep 01 13:06:11 2016 +0200 +++ b/src/org/openbravo/erpCommon/utility/UsedByLink.java Wed Aug 31 10:57:20 2016 +0200 @@ -342,16 +342,6 @@ if (data != null && data.length > 0) { final Vector<UsedByLinkData> vecTotal = new Vector<UsedByLinkData>(); for (int i = 0; i < data.length; i++) { - String keyValue = keyId; - if (!data[i].referencedColumnId.equals(keyColumnId)) { - try { - keyValue = UsedByLinkData.selectKeyValue(this, - UsedByLinkData.selectColumnName(this, data[i].referencedColumnId), - data[i].tablename, data[i].columnname, keyId); - } catch (Exception e) { - // TODO: handle exception - } - } if (log4j.isDebugEnabled()) log4j.debug("***Referenced tab: " + data[i].adTabId); final UsedByLinkData[] dataRef = UsedByLinkData.windowRef(this, data[i].adTabId); @@ -368,7 +358,7 @@ if (!nonAccessible) { final String strNonAccessibleWhere = strWhereClause + " AND AD_ORG_ID NOT IN (" + vars.getUserOrg() + ")"; - if (!UsedByLinkData.countLinks(this, data[i].tablename, data[i].columnname, keyValue, + if (!UsedByLinkData.countLinks(this, data[i].tablename, data[i].columnname, keyId, strNonAccessibleWhere).equals("0")) { nonAccessible = true; } @@ -376,7 +366,7 @@ strWhereClause += " AND AD_ORG_ID IN (" + vars.getUserOrg() + ") AND AD_CLIENT_ID IN (" + vars.getUserClient() + ")"; int total = Integer.valueOf( - UsedByLinkData.countLinks(this, data[i].tablename, data[i].columnname, keyValue, + UsedByLinkData.countLinks(this, data[i].tablename, data[i].columnname, keyId, strWhereClause)).intValue(); if (log4j.isDebugEnabled()) diff -r 321a74b76ac7 -r 6b95b859ada6 src/org/openbravo/erpCommon/utility/UsedByLink_data.xsql --- a/src/org/openbravo/erpCommon/utility/UsedByLink_data.xsql Thu Sep 01 13:06:11 2016 +0200 +++ b/src/org/openbravo/erpCommon/utility/UsedByLink_data.xsql Wed Aug 31 10:57:20 2016 +0200 @@ -300,21 +300,6 @@ <Parameter name="tableName"/> </SqlMethod> - <SqlMethod name="selectKeyValue" type="preparedStatement" return="string"> - <SqlMethodComment></SqlMethodComment> - <Sql> - <![CDATA[ - SELECT TABLENAME as ID - FROM AD_TABLE - WHERE AD_TABLE_ID = ? - ]]> - </Sql> - <Parameter name="columnnname" optional="true" type="replace" after="SELECT " text="TABLENAME"/> - <Parameter name="tablename" optional="true" type="replace" after="FROM " text="AD_TABLE"/> - <Parameter name="keyColumn" optional="true" type="replace" after="WHERE " text="AD_TABLE_ID"/> - <Parameter name="key"/> - </SqlMethod> - <SqlMethod name="selectKeyColumnId" type="preparedStatement" return="string"> <SqlMethodComment></SqlMethodComment> <Sql> ------------------------------------------------------------------------------ _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits