Issue Details (XML | Word | Printable)

Key: NUCCORE-25
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Andy Jefferson
Votes: 0
Watchers: 0
Operations

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

Nondurable identity

Created: 20/Aug/05 08:53 PM   Updated: 23/May/08 03:06 PM
Component/s: Lifecycles
Affects Version/s: None
Fix Version/s: None

File Attachments: 1. Zip Archive testcase.zip (5 kB)



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