Issue Details (XML | Word | Printable)

Key: NUCRDBMS-586
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Andy Jefferson
Reporter: Andy Jefferson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Store RDBMS

Nondurable identity

Created: 20/Aug/05 08:53 PM   Updated: 14/May/12 07:45 PM   Resolved: 09/Apr/12 02:33 PM
Component/s: ORM
Affects Version/s: None
Fix Version/s: 3.1.0.m3


Sort Order: Ascending order - Click to sort in descending order
DataNucleus Admin added a comment - 20/Aug/05 08:53 PM
Support nondurable identity so that people who have tables that have no primary key can map a class to the table

Andy Jefferson added a comment - 05/Dec/06 03:43 PM
Sample nondurable testcase

Andy Jefferson added a comment - 21/Apr/07 01:04 PM
The basic persistence capabilities are in CVS :-
1. When a class is marked as nondurable and using an RDBMS it will have a table without PK
2. Insert of object inserts all fields
3. Query/Extent retrieval extracts the objects and assigns SCOID to each object.
4. Relevant checks on use of pm.getObjectById are present

What isn't supported
1. Ability to update a single record and have only that record updated in the datastore (even when there are multiple records with these field values). This implies maybe having an "id" value added to the datastore object so that we can identify the one to update (or alternatively to generate SQL that will only update the first record with those param values), but by adding any column (like datastore id) we would be imposing on the user the need for an additional column.
2. Ability to use deletePersistent and only delete one record in the datastore. Currently deletePersistent will fail since the DeleteRequest will try to generate a statement using an identity WHERE clause ... which doesnt exist. Links in to 1 above. Records can be deleted by SQL bulk delete statements.

Andy Jefferson added a comment - 12/Jul/07 08:24 AM
Moved from 1.2.0 since not essential for that release

Andy Jefferson added a comment - 09/Apr/12 02:33 PM
SVN trunk has this