Browse Source

tdb2: merge changes in design document.

Rusty Russell 15 years ago
parent
commit
a2191edc0d
1 changed files with 6 additions and 83 deletions
  1. 6 83
      ccan/tdb2/doc/design.lyx

+ 6 - 83
ccan/tdb2/doc/design.lyx

@@ -35,7 +35,7 @@
 \paperpagestyle default
 \paperpagestyle default
 \tracking_changes true
 \tracking_changes true
 \output_changes true
 \output_changes true
-\author "Rusty Russell,,," 
+\author "" 
 \author "" 
 \author "" 
 \end_header
 \end_header
 
 
@@ -50,7 +50,7 @@ Rusty Russell, IBM Corporation
 \end_layout
 \end_layout
 
 
 \begin_layout Date
 \begin_layout Date
-1-December-2010
+17-March-2011
 \end_layout
 \end_layout
 
 
 \begin_layout Abstract
 \begin_layout Abstract
@@ -698,13 +698,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1298979572
-Incomplete; nesting flag is still defined as per tdb1.
-\change_inserted 0 1298979584
 Complete; the nesting flag has been removed.
 Complete; the nesting flag has been removed.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -785,12 +779,6 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1300360559
-Incomplete.
- TDB_VOLATILE still defined, but implementation should fail on unknown flags
- to be future-proof.
-\change_inserted 0 1300360588
 Complete.
 Complete.
  Unknown flags cause tdb_open() to fail as well, so they can be detected
  Unknown flags cause tdb_open() to fail as well, so they can be detected
  at runtime.
  at runtime.
@@ -853,13 +841,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1300360823
-Incomplete.
-\change_inserted 0 1300360824
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -888,34 +870,15 @@ Proposed Solution
 
 
 \begin_layout Standard
 \begin_layout Standard
 Reachitecting the API to include a tdb_errcode pointer would be a great
 Reachitecting the API to include a tdb_errcode pointer would be a great
- deal of churn
-\change_inserted 0 1298979557
-, but fortunately most functions return 0 on success and -1 on error: we
- can change these to return 0 on success and a negative error code on error,
- and the API remains similar to previous.
+ deal of churn, but fortunately most functions return 0 on success and -1
+ on error: we can change these to return 0 on success and a negative error
+ code on error, and the API remains similar to previous.
  The tdb_fetch, tdb_firstkey and tdb_nextkey functions need to take a TDB_DATA
  The tdb_fetch, tdb_firstkey and tdb_nextkey functions need to take a TDB_DATA
  pointer and return an error code.
  pointer and return an error code.
  It is also simpler to have tdb_nextkey replace its key argument in place,
  It is also simpler to have tdb_nextkey replace its key argument in place,
  freeing up any old .dptr.
  freeing up any old .dptr.
 \end_layout
 \end_layout
 
 
-\begin_layout Standard
-
-\change_deleted 0 1298979438
-; we are better to guarantee that the tdb_errcode is per-thread so the current
- programming model can be maintained.
-\end_layout
-
-\begin_layout Standard
-
-\change_deleted 0 1298979438
-This requires dynamic per-thread allocations, which is awkward with POSIX
- threads (pthread_key_create space is limited and we cannot simply allocate
- a key for every TDB).
-\change_unchanged
-
-\end_layout
-
 \begin_layout Standard
 \begin_layout Standard
 Internal locking is required to make sure that fcntl locks do not overlap
 Internal locking is required to make sure that fcntl locks do not overlap
  between threads, and also that the global list of tdbs is maintained.
  between threads, and also that the global list of tdbs is maintained.
@@ -939,13 +902,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-Incomplete
-\change_inserted 0 1298979681
-; API has been changed but thread safety has not been implemented.
-\change_deleted 0 1298979669
-.
-\change_unchanged
-
+Incomplete; API has been changed but thread safety has not been implemented.
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -1288,13 +1245,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1300360712
-Incomplete.
-\change_inserted 0 1300360716
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -1339,13 +1290,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1298979699
-Incomplete, TDB_CLEAR_IF_FIRST still defined, but not implemented.
-\change_inserted 0 1298979700
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -1404,13 +1349,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1300360753
-Incomplete.
-\change_inserted 0 1300360754
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -1440,13 +1379,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1300360766
-Incomplete.
-\change_inserted 0 1300360767
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -1563,13 +1496,7 @@ Status
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1298979837
-Incomplete; TDB_CLEAR_IF_FIRST still defined, but does nothing.
-\change_inserted 0 1298979837
 Complete.
 Complete.
-\change_unchanged
-
 \end_layout
 \end_layout
 
 
 \begin_layout Subsection
 \begin_layout Subsection
@@ -2309,10 +2236,6 @@ struct tdb_free_record {
 \end_layout
 \end_layout
 
 
 \begin_layout Standard
 \begin_layout Standard
-
-\change_deleted 0 1291206079
- 
-\change_unchanged
 Note that by limiting valid offsets to 56 bits, we can pack everything we
 Note that by limiting valid offsets to 56 bits, we can pack everything we
  need into 3 64-byte words, meaning our minimum record size is 8 bytes.
  need into 3 64-byte words, meaning our minimum record size is 8 bytes.
 \end_layout
 \end_layout