Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0033843Openbravo ERPA. Platformpublic2016-08-29 16:532016-09-02 14:28
alostale 
NaroaIriarte 
urgentmajorhave not tried
closedfixed 
5
 
3.0PR16Q4 
alostale
Core
No
0033843: useless heavy queries in linked items
When linked items section is opened a set of useless and potentially heavy queries is executed.
-Open Business Partner window and select any row
-Open Linked Items section and check PG queries:
        SELECT C_Bpartner_ID as ID FROM ContMng_Container WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM contmng_container_history WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM ContMng_WorkOrder WHERE C_Bpartner_ID = ?
        SELECT Container_Owner as ID FROM ContMng_WorkOrder WHERE Container_Owner = ?
        SELECT Carriername as ID FROM ContMng_Content WHERE Carriername = ?
        SELECT C_Bpartner_ID as ID FROM ContMng_WorkOrder WHERE C_Bpartner_ID = ?
        SELECT Container_Owner as ID FROM ContMng_WorkOrder WHERE Container_Owner = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_ValidCombination WHERE C_BPartner_ID = ?
        SELECT SalesRep_ID as ID FROM C_BPartner WHERE SalesRep_ID = ?
        SELECT C_BPartner_ID as ID FROM M_Product WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_Project WHERE C_BPartner_ID = ?
        SELECT Responsible_ID as ID FROM C_Project WHERE Responsible_ID = ?
        SELECT C_BPartner_ID as ID FROM C_AcctSchema_Element WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BudgetLine WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM GL_Journal WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM GL_JournalLine WHERE C_Bpartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM GL_Journal WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM GL_JournalLine WHERE C_Bpartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM A_Asset WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Doubtful_Debt WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Doubtful_Debt WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Doubtful_Debt_Run WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Financial_Account WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM APRM_Finacc_Trx_Full_Acct_V WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM APRM_FinAcc_Transaction_acct_v WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_BankStatementLine WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Finacc_Transaction WHERE C_Bpartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Payment WHERE C_Bpartner_ID = ?
        SELECT C_BPartner_ID as ID FROM Fact_Acct WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Payment WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Payment_Proposal WHERE C_Bpartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM FIN_Payment_Prop_Detail_V WHERE C_Bpartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_TaxPayment WHERE C_BPartner_ID = ?
        SELECT C_BPartnerCashTrx_ID as ID FROM AD_ClientInfo WHERE C_BPartnerCashTrx_ID = ?
        SELECT C_BPartner_ID as ID FROM AD_OrgInfo WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM AD_User WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BP_BankAccount WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BPartner_Discount WHERE C_BPartner_ID = ?
        SELECT SalesRep_ID as ID FROM C_BPartner WHERE SalesRep_ID = ?
        SELECT C_BPartner_ID as ID FROM AD_User WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BP_SALCATEGORY WHERE C_BPartner_ID = ?
        SELECT SalesRep_ID as ID FROM C_BPartner WHERE SalesRep_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BP_Customer_Acct WHERE C_BPartner_ID = ?
        SELECT SalesRep_ID as ID FROM C_BPartner WHERE SalesRep_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BP_Employee_Acct WHERE C_BPartner_ID = ?
        SELECT C_BPartner_ID as ID FROM C_BPartner_Location WHERE C_BPartner_ID = ?
        SELECT C_Bpartner_ID as ID FROM SUPTEST_Salary WHERE C_Bpartner_ID = ?
Performance
related to feature request 00335653.0PR17Q1 closed caristu ability to disable linked items section 
Issue History
2016-08-29 16:53alostaleNew Issue
2016-08-29 16:53alostaleAssigned To => platform
2016-08-29 16:53alostaleModules => Core
2016-08-29 16:53alostaleTriggers an Emergency Pack => No
2016-08-29 17:03alostaleRelationship addedrelated to 0033565
2016-08-29 17:03alostaleTag Attached: Performance
2016-08-29 17:03alostaleStatusnew => scheduled
2016-08-29 17:03alostaleAssigned Toplatform => NaroaIriarte
2016-08-31 10:38NaroaIriarteReview Assigned To => alostale
2016-08-31 10:39NaroaIriarteIssue Monitored: NaroaIriarte
2016-08-31 10:39NaroaIriarteIssue End Monitor: NaroaIriarte
2016-08-31 10:59NaroaIriarteNote Added: 0089588
2016-09-01 15:15hgbotCheckin
2016-09-01 15:15hgbotNote Added: 0089668
2016-09-01 15:15hgbotStatusscheduled => resolved
2016-09-01 15:15hgbotResolutionopen => fixed
2016-09-01 15:15hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/6b95b859ada6e23b64744325292b9b431d636361 [^]
2016-09-02 13:23alostaleNote Added: 0089700
2016-09-02 13:23alostaleStatusresolved => closed
2016-09-02 13:23alostaleFixed in Version => 3.0PR16Q4
2016-09-02 14:28hudsonbotCheckin
2016-09-02 14:28hudsonbotNote Added: 0089706

Notes
(0089588)
NaroaIriarte   
2016-08-31 10:59   
The query done by the selectKeyValue sql method of UsedByLing_data.xsql was not necessary because it is only retrieving the id which is the same id that we have or null,if it does not exist, only to use those ids in the countLinks sql method. It is the same not to do the selectKeyValue query and pass as an argument to the countLinks the id we have than passing the ids or null values retrieved from the selectKeyValue sql method, and as this method executes potentially heavy queries, it has been deleted.
(0089668)
hgbot   
2016-09-01 15:15   
Repository: erp/devel/pi
Changeset: 6b95b859ada6e23b64744325292b9b431d636361
Author: Naroa Iriarte <naroa.iriarte <at> openbravo.com>
Date: Wed Aug 31 10:57:20 2016 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/6b95b859ada6e23b64744325292b9b431d636361 [^]

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.

---
M src/org/openbravo/erpCommon/utility/UsedByLink.java
M src/org/openbravo/erpCommon/utility/UsedByLink_data.xsql
---
(0089700)
alostale   
2016-09-02 13:23   
code reviewed

tested: those queries are not executed anymore linked items continues working in the same manner it did before
(0089706)
hudsonbot   
2016-09-02 14:28   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/0f7167eecae1 [^]
Maturity status: Test