Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0035073
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformmajoralways2017-01-27 15:252017-05-29 17:43
ReporterpsanjuanView Statuspublic 
Assigned Toinigosanchez 
PriorityurgentResolutionfixedFixed in Version3.0PR17Q3
StatusclosedFix in branchFixed in SCM revision33afd778e515
ProjectionnoneETAnoneTarget Version
OSLinux 64 bitDatabasePostgreSQLJava version1.6.0_18
OS VersionProfessional ApplianceDatabase version8.3.9Ant version1.7.1
Product VersionSCM revision 
Review Assigned Tocaristu
Web browser
ModulesCore
Regression levelProduction - Confirmed Stable
Regression date2016-05-24
Regression introduced in release3.0PR16Q3
Regression introduced by commithttps://code.openbravo.com/erp/devel/pi/rev/9105dfe33d79e5b7ba39a2680064f7c48c402701 [^]
Triggers an Emergency PackNo
Summary

0035073: Fetching data when it is sorting by a null foreign key is not working as expected.

DescriptionFetching data when it is sorting by a null foreign key is not working as expected. The problem can be reproduced having a BP with additional identifier (Currency) that is a foreign key and not mandatory (nullable). If currency is null for a BP and data is sorted by BP column, fetching the data is not working as expected.
Steps To Reproduce- Login as "System Administrator - System" role.
- Go to [Module] window and put "Core" module in development mode.
- Go to [Tables and Columns] window and select "BusinessPartner" table.
- Go to [Column] subtab and open in form view "BP_Currency_ID" record.
- Check "Used as Record Identifiew" checkbox. Save it.
-Restart tomcat because model has changed.

- Login as "F&B International Group Admin" role.
- Go to [Business Partner] window and create a new one for testing purposes. [Currency field should be null]
- Go to [Location/Address] subtab and create a new test location for the new business partner.
- Go to [Sales Order] window and create a new sales order with the BP created in previously steps.
- Filter by "Document No." field using the document number generated for the new sales order. [Only the new sales order should be displayed in the grid]

- Sort by "Order Date" column and refresh the current data from the toolbar button. Check the record appears.
- Sort by "Business Partner" column and refresh the current data from the toolbar button. Check the record disappears.
Proposed SolutionIt seems that the reported case is not take into account properly and a inner join is used instead of left join > Review use of useInnerJoinMap map in AdvancedQueryBuilder class.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 00359533.0PR17Q2 closedinigosanchez Fetching data when it is sorting by a null foreign key is not working as expected. 
depends on backport 00359543.0PR17Q1.1 closedinigosanchez Fetching data when it is sorting by a null foreign key is not working as expected. 
caused by feature request 0033015 closedcaristu Performance Improvements in Product Selector 

-  Notes
(0096460)
inigosanchez (developer)
2017-05-08 16:52

Added a test case in TestLink 3.0 Test Suite > Regression test cases > Test cases for 3.0PR16Q3 > 35073:Fetching data when it is sorting by a null FK should be work as expect.

Pending: Try to automate a JUnit test case > fetch data with not mandatory & not primitive case
(0096472)
hgbot (developer)
2017-05-09 10:01

Repository: erp/devel/pi
Changeset: 33afd778e515a8e5df2eff4286683edbb7656fec
Author: Inigo Sanchez <inigo.sanchez <at> openbravo.com>
Date: Tue May 09 09:59:56 2017 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/33afd778e515a8e5df2eff4286683edbb7656fec [^]

Fixed issue 35073: Fetching data when it is sorting by a null FK is not working

Fetching data when it was sorting by a null foreign key was not retrieving any record when should
had been retrieved data.

When AdvancedQueryBuilder class is created order by clause and it is working in resolve joins a
canUseInnerJoin method is invoked. This method is used to check if the left join can be safely
replaced with inner join when it is building order by clause. This method is not take into account
all the posibilities.

The problem has been resolved by take into account when any property of the list is not mandatory
and is not primitive. In this case left join can not be replaced with inner join. The rest of the
cases can be safely replaced it.

---
M modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java
---
(0096483)
caristu (developer)
2017-05-09 11:05

Code reviewed + tested OK.
(0096951)
hudsonbot (developer)
2017-05-29 17:43

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/1ee70113bdc4 [^]
Maturity status: Test

- Issue History
Date Modified Username Field Change
2017-01-27 15:25 psanjuan New Issue
2017-01-27 15:25 psanjuan Assigned To => platform
2017-01-27 15:25 psanjuan Modules => Core
2017-01-27 15:25 psanjuan Triggers an Emergency Pack => No
2017-01-27 15:27 psanjuan Steps to Reproduce Updated View Revisions
2017-01-27 15:43 psanjuan Steps to Reproduce Updated View Revisions
2017-02-02 14:47 NaroaIriarte Assigned To platform => NaroaIriarte
2017-02-03 10:13 NaroaIriarte Assigned To NaroaIriarte => psanjuan
2017-02-03 10:13 NaroaIriarte Status new => feedback
2017-04-07 10:34 ngarcia Resolution time => 1493330400
2017-04-07 10:34 ngarcia Reproducibility sometimes => always
2017-04-07 10:34 ngarcia Status feedback => new
2017-04-07 10:34 ngarcia Steps to Reproduce Updated View Revisions
2017-04-07 10:35 ngarcia Assigned To psanjuan => platform
2017-04-07 10:35 ngarcia Issue Monitored: networkb
2017-04-07 10:53 ngarcia Issue Monitored: ngarcia
2017-05-04 11:29 inigosanchez Assigned To platform => inigosanchez
2017-05-04 11:29 inigosanchez Status new => scheduled
2017-05-04 13:41 inigosanchez Steps to Reproduce Updated View Revisions
2017-05-04 13:42 inigosanchez Steps to Reproduce Updated View Revisions
2017-05-04 13:49 inigosanchez Description Updated View Revisions
2017-05-04 17:46 inigosanchez Steps to Reproduce Updated View Revisions
2017-05-05 11:13 inigosanchez Summary Tax Parameter tab does not show records while it should => Fetching data when it is sorting by a null foreign key is not working as expected.
2017-05-05 11:13 inigosanchez Description Updated View Revisions
2017-05-05 11:13 inigosanchez Proposed Solution updated
2017-05-05 11:14 inigosanchez Relationship added caused by 0033015
2017-05-05 11:16 inigosanchez Regression level => Production - Confirmed Stable
2017-05-05 11:16 inigosanchez Regression date => 2016-05-24
2017-05-05 11:16 inigosanchez Regression introduced in release => 3.0PR16Q3
2017-05-05 11:16 inigosanchez Regression introduced by commit => https://code.openbravo.com/erp/devel/pi/rev/9105dfe33d79e5b7ba39a2680064f7c48c402701 [^]
2017-05-08 16:52 inigosanchez Note Added: 0096460
2017-05-09 10:01 hgbot Checkin
2017-05-09 10:01 hgbot Note Added: 0096472
2017-05-09 10:01 hgbot Status scheduled => resolved
2017-05-09 10:01 hgbot Resolution open => fixed
2017-05-09 10:01 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/33afd778e515a8e5df2eff4286683edbb7656fec [^]
2017-05-09 10:03 inigosanchez Status resolved => new
2017-05-09 10:03 inigosanchez Resolution fixed => open
2017-05-09 10:04 inigosanchez Status new => scheduled
2017-05-09 10:09 inigosanchez Review Assigned To => caristu
2017-05-09 10:09 inigosanchez Status scheduled => resolved
2017-05-09 11:05 caristu Note Added: 0096483
2017-05-09 11:05 caristu Status resolved => closed
2017-05-09 11:05 caristu Fixed in Version => 3.0PR17Q3
2017-05-17 09:09 caristu Resolution open => fixed
2017-05-29 17:43 hudsonbot Checkin
2017-05-29 17:43 hudsonbot Note Added: 0096951


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker