1* Make the pAttributeInfo and pIndexInfo arguments to CSSM_DL_CreateRelation optional (DONE).
2
3* Enhance POD wrappers and use them everywhere (DONE for insert still needs work for get).
4
5* Implement Indexes
6
7* Implement unique index checks for dataInsert and dataModify
8
9* Add unique index info to UNIQUE_RECORD structures.
10
11* Implement KEY items (AppleCSPDL).
12
13* Clean up usage of ReadSection::at(uint32) vs. ReadSection::operator[](uint32)
14
15* Fix AtomicFile for NFS and ASIP (Use alternative locking mechanism).
16
17* Implement ACL evaluation for Db access.
18
19* Implement ACL APIs.
20
21* Make DbModifier thread safe again.
22
23* Cleanup Query objects when DbContext is destroyed (register them with the context).
24
25* What if we open a DB that is being created?  Currently we get back DL_DATABASE_CORRUPT
26  should this become DL_DATABASE_DOES_NOT_EXIST?
27
28* When using CssmOid attribute names make sure to deep copy the CssmOids data (DONE).
29
30* Implement SelectionPredicates completely
31  To make DataGetFirst and DataGetNext actually work (DONE).
32
33* Implement CreateRelation (DONE)
34
35* Implement DataModify (DONE, now with correct semantics -- CB)
36
37* In DataModify, check that RecordType matches that in the UniqueRecordId.
38
39* Store index data when creating tables and databases.
40
41* Add write buffering in AtomicFile to increase performance; flush buffer before seek.
42
43* Make sure that automatically-assigned attribute ids don't shadow ones passed in explicitly.
44
45* Performance: Avoid reconstructing DbVersion after a write (w/o a schema change) when we
46  could derive it from the DbModifier. Only if version is as expected (i.e. no other writes
47  in the meantime)
48
49* Add fsync() to make sure AtomicFile is written before rename.
50