• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Ticket
  • Next Ticket →

Ticket #143 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Update failure on saving an array which contains overlapping graphs.

Reported by: jmoore Owned by: jmoore
Priority: critical Milestone: 3.0-M2
Component: API Version: 3.0-M1
Keywords: model,merge,hibernate,filter,iteration2 Cc:

Description

Currently the process of unloading already merged entities has a flaw that appears if the same (==) entity is contained in more than 2 calls to filter.filter().

This can be shown with the trivial:

  SomeEnum[] arr = new SomeEnum[3];
  arr[0] = new SomeEnum();
  arr[0].setValue( "test" );
  arr[1] = arr[0];
  arr[2] = arr[1];
  iUpdate.saveArray( arr );

Change History

Changed 2 years ago by jmoore

This was caused (closed in r697) by Details having too many responsibilities. As a persistence/security device, it was being deleted on unload, but its replacement member was there for internal book keeping. This responsibility has been moved to IObject.getGraphHolder().

Changed 2 years ago by jmoore

  • keywords model,merge,hibernate,filter,iteration2 added; model,merge,hibernate,filter removed
  • status changed from new to closed
  • resolution set to fixed

Changed 2 years ago by jmoore

r698 contains a failing test. (See URoiTest#L33)

Note: See TracTickets for help on using tickets.

Download in other formats:

  • Comma-delimited Text
  • Tab-delimited Text
  • RSS Feed

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/