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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0011749
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] Y. DBSourceManagermajorhave not tried2009-12-11 17:532010-06-29 13:37
ReportermarvintmView Statuspublic 
Assigned Tomarvintm 
PriorityimmediateResolutionfixedFixed in Version
StatusclosedFix in branchpiFixed in SCM revisionacc8c3be67a6
ProjectionnoneETAnoneTarget Version2.50MP10
OSAnyDatabaseOracleJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0011749: Remove invalid rows process uses incorrect NOT IN syntax, which could lead to data loss

DescriptionIn update.database, there is a process which removes rows of tables with an on delete cascade foreign key, which point to a non-existing row of another table.

This process creates sql statements which have the form:

DELETE FROM table1 WHERE column1 NOT IN (SELECT column2 FROM table2);

This sql statement is correct except in the case that the column can be nullable. If this happens (that is, if there is at least one row in table1 whose value in column1 is null), and the table2 is empty, then all the rows in table1 will be deleted.
Steps To Reproduce- Make sure you have at least one M_PRODUCT entry with M_ATTRIBUTESET_ID null.
- Delete all entries in M_ATTRIBUTESET table
- Run update.database. This will delete all M_PRODUCT entries.
Proposed SolutionDBSourceManager needs to be changed. The syntax should probably use NOT EXISTS instead of NOT IN.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
related to design defect 0011750 scheduledTriage Platform Base Check for incorrect NOT IN syntax, which could lead to data loss 
depends on backport 00117702.50MP10 closedmarvintm Remove invalid rows process uses incorrect NOT IN syntax, which could lead to data loss 

-  Notes
(0022775)
hgbot (developer)
2009-12-14 20:06

Repository: erp/devel/pi
Changeset: acc8c3be67a637e2802c5647b7d62885dc5803df
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Mon Dec 14 20:05:33 2009 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/acc8c3be67a637e2802c5647b7d62885dc5803df [^]

Fixed issue 11749. Replaced NOT IN syntax with NOT EXISTS

---
M src-db/database/lib/dbsourcemanager.jar
---
(0022866)
hudsonbot (developer)
2009-12-16 16:46

---
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/acc8c3be67a6 [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/1767de909fe7 [^]
Tests: http://builds.openbravo.com/view/devel-int/ [^]
OBX: http://builds.openbravo.com/erp/obx/core/OpenbravoERP-2.50CI.15751.obx [^]
---
(0023767)
shuehner (administrator)
2010-01-22 18:25

test in pi rev 6d0399c00eaa+, with steps provided, failure does no longer happen.

- Issue History
Date Modified Username Field Change
2009-12-11 17:53 marvintm New Issue
2009-12-11 17:53 marvintm Assigned To => marvintm
2009-12-11 17:57 shuehner Issue Monitored: shuehner
2009-12-11 17:59 shuehner Relationship added related to 0011750
2009-12-14 18:42 marvintm Status new => scheduled
2009-12-14 18:42 marvintm fix_in_branch => pi
2009-12-14 20:06 hgbot Checkin
2009-12-14 20:06 hgbot Note Added: 0022775
2009-12-14 20:06 hgbot Status scheduled => resolved
2009-12-14 20:06 hgbot Resolution open => fixed
2009-12-14 20:06 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/acc8c3be67a637e2802c5647b7d62885dc5803df [^]
2009-12-16 16:46 hudsonbot Checkin
2009-12-16 16:46 hudsonbot Note Added: 0022866
2010-01-22 18:25 shuehner Note Added: 0023767
2010-01-22 18:25 shuehner Status resolved => closed
2010-01-23 00:00 anonymous sf_bug_id 0 => 2937522
2010-06-29 13:37 rafaroda Issue Monitored: rafaroda


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker