Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 439 lines (347 sloc) 16.326 kb
11ef942 @cruppstahl DAM is no longer persistent (changes compile, but are not yet tested)
authored
1
14c2c75 @cruppstahl git-svn-id: svn+ssh://hamsterdb.com/home/chris/repos/hamsterdb/trunk@…
authored
2 I Am Legend:
8f5a9a1 @cruppstahl added legend
authored
3
14c2c75 @cruppstahl git-svn-id: svn+ssh://hamsterdb.com/home/chris/repos/hamsterdb/trunk@…
authored
4 Items are sorted by priority (highest on top).
5 o a pending TODO item (for the current release)
6 . a pending TODO item (for future releases)
8f5a9a1 @cruppstahl added legend
authored
7 x a finished TODO item
8
9 -----------------------------------------------------------------------------
2105ba0 new TODO file
Christoph Rupp authored
10 This Branch Is About Integrating The hamsterdb2 Functionality!!!!!
304aac2 updating visual studio projects to 2009; added projects for server an…
U-WINDOOF\chris authored
11 -----------------------------------------------------------------------------
34805bf @cruppstahl refactoring; introduced Environment class. no functional changes
authored
12 The big headline is:
2105ba0 new TODO file
Christoph Rupp authored
13 As a user i want to run many Transactions in parallel with high performance.
6bed4c8 @cruppstahl the Page class is now fully C++-ified
authored
14 I'm using multiple threads b/c my CPU has multiple cores, and expect hamsterdb
15 to scale with the number of cores.
2105ba0 new TODO file
Christoph Rupp authored
16 ==============================================================================
17
96f7517 @cruppstahl updated TODO file
authored
18 x update doxygen documentation on the webpage
19
20 x update prebuilt libraries on the webpage (include boost)
21
22 x add Ger's freelist patch
3c4fca6 @cruppstahl updated TODO
authored
23
0210a26 @cruppstahl Fixed a memory leak in the test
authored
24 x unittest: valgrind reports leaks in the test
96f7517 @cruppstahl updated TODO file
authored
25 ==22694== 150 bytes in 5 blocks are definitely lost in loss record 1 of 6
26 ==22694== at 0x4C28B35: operator new(unsigned long)
27 (vg_replace_malloc.c:261)
28 ==22694== by 0x575B058: std::string::_Rep::_S_create(unsigned long, unsigned
29 long, std::allocator<char> const&) (in
30 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
31 ==22694== by 0x575B249: std::string::_M_mutate(unsigned long, unsigned long,
32 unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
33 ==22694== by 0x575B3EB: std::string::_M_replace_safe(unsigned long, unsigned
34 long, char const*, unsigned long) (in
35 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
36 ==22694== by 0x422671: LogEntry::LogEntry(unsigned long, unsigned long,
37 unsigned int, unsigned short, char const*) (journal.cpp:46)
38 ==22694== by 0x42C809: JournalTest::iterateOverLogMultipleEntryTest()
39 (journal.cpp:587)
40
28576d6 @cruppstahl Fixed a dotnet unittest regression (thanks, Jason)
authored
41 x email from Jason: Great product as usual. 20.2 seems to have broken the .NET
96f7517 @cruppstahl updated TODO file
authored
42 unit test "GetError" in DatabaseTest.cs. It ultimately calls
43 ham_get_error which causes an exception
c8e331e @cruppstahl temporary key->data and record->data storage is now managed by the Tr…
authored
44
c3d8264 @cruppstahl Backend is now C++-ified
authored
45 x btree_read_key: calls db->get_extended_key, which should use an
46 existing ByteArray to avoid memory allocations
47 - no, cannot because the pointer is cached
6922cec @cruppstahl minor fixes and valgrind suppressions
authored
48
c3d8264 @cruppstahl Backend is now C++-ified
authored
49 x db_erase_txn: calls check_erase_conflict, which does a btree lookup.
c8e331e @cruppstahl temporary key->data and record->data storage is now managed by the Tr…
authored
50 but the lookup then happens again when doing the final erase, or not?
c3d8264 @cruppstahl Backend is now C++-ified
authored
51 - no, everything is fine
52
1d3cd97 @cruppstahl updated TODOs
authored
53 x extend the FAQ and the tutorial
54 x thread safety
55 x rec.data scope
56
57 x extend the documentation with information about the new Transactions
58
215c99b @cruppstahl cleaning up the usage of HAM_INTERNAL_ERROR
authored
59 x freelist: make sure that it allows to re-set bits that are already set
60 and to delete bits that are already deleted (to make operations
61 idempotent for recovery)
62 x add tests
63
64 x look at Peter's mail - sometimes, ham_env_create_db returns
65 HAM_INTERNAL_ERROR (only win32, C++ API, Windows 7)
66 x replace HAM_INTERNAL_ERROR with asserts
67 x OR use the error logger to write additional information
68
47cf99b @cruppstahl Fixed fsync's when flushing changeset
authored
69 x a typical lessfs run has many many seeks - where do they come from?
70 -> pread/pwrite was not checked correctly in configure.in
71
314abc1 @cruppstahl updated TODO file
authored
72 x Mark reported an error after kill -9 (with Txn, 2.0.2)
75392bf @cruppstahl legacy format of hamsterdb 1.0.9 and older is no longer supported
authored
73 i managed to reproduce this twice; a blob-page is corrupt
74 x add instrumentation to Page::flush, Changeset::flush and Log::flush;
f435293 @cruppstahl recovery is now more robust; adding fsync's if HAM_WRITE_THROUGH is e…
authored
75 write to stdout
75392bf @cruppstahl legacy format of hamsterdb 1.0.9 and older is no longer supported
authored
76 x fsync's were missing; make flushing of changeset more robust
314abc1 @cruppstahl updated TODO file
authored
77 x then try to reproduce once more and see if that page was (or was not)
f435293 @cruppstahl recovery is now more robust; adding fsync's if HAM_WRITE_THROUGH is e…
authored
78 flushed
79 sudo ./mklessfs /etc/lessfs.cfg
80 sudo ./lessfs /etc/lessfs.cfg /home/chris/tmp/data/dir/ -f -d
81 sudo dd bs=1024 if=/dev/sda of=/home/chris/tmp/data/dir/test.img
82 sudo pkill -9 lessfs
83 sudo sh check.sh
84
d3fb9ec @cruppstahl release 2.0.3
authored
85 x identify a set of 3 testfiles (long running) and let them run in different
f435293 @cruppstahl recovery is now more robust; adding fsync's if HAM_WRITE_THROUGH is e…
authored
86 configurations; track the times. There should be few enough tests to be
87 able to compare the times manually!
29827e0 @cruppstahl freelist refactoring
authored
88 x collect all scripts, run them
89 x add to release process
90 x create perl script which compares the two latest revisions
91 x merge perftest.sh with perl script
92 x testfiles/4/300.tst is still too big
93 x --progress no longer works
d3fb9ec @cruppstahl release 2.0.3
authored
94 x run it for 2.0.2
95
96 x support MS Visual Studio 2010
97
98 o is there a way to group all changeset flushes of a Transaction into one
99 changeset? that way we would avoid the frequent syncs
100 o would have to remove all of assert(changeset.is_empty())
101 o but we can use that assert prior to txn_begin
f435293 @cruppstahl recovery is now more robust; adding fsync's if HAM_WRITE_THROUGH is e…
authored
102
103
104
105
a4ffa37 @cruppstahl Updated TODO
authored
106
a8926a4 @cruppstahl minor cleanups
authored
107 o more fine-grained locking
66e5f26 @cruppstahl cache refactoring
authored
108 x cache
109 x make sure it's perfectly abstracted
110 x protect with mutex
3794f98 @cruppstahl extkey-cache refactoring
authored
111 x extkey-cache
112 x make sure it's perfectly abstracted
113 x protect with mutex
5bca10f @cruppstahl log refactoring
authored
114 x log
115 x make sure it's perfectly abstracted
116 x protect with mutex
3a87831 @cruppstahl journal refactoring
authored
117 x journal
118 x make sure it's perfectly abstracted
119 x protect with mutex
0c41058 @cruppstahl device refactoring (WIP)
authored
120 x changeset
740d85b @cruppstahl changeset refactoring
authored
121 x make sure it's perfectly abstracted
122 x protect with mutex
0c41058 @cruppstahl device refactoring (WIP)
authored
123 x device
124 x make sure it's perfectly abstracted
4862d1f @cruppstahl device refactoring (done)
authored
125 x protect with mutex
29827e0 @cruppstahl freelist refactoring
authored
126 x freelist
75392bf @cruppstahl legacy format of hamsterdb 1.0.9 and older is no longer supported
authored
127 x remove HAM_DAM_ENFORCE_PRE110_FORMAT
8c8c05b @cruppstahl updated TODO file
authored
128 x remove legacy code (1.x)
129 x remove freelist_v2.cc
29827e0 @cruppstahl freelist refactoring
authored
130 x freelist class takes ownership of freelist_cache (from device)
131 x what is the difference between alloc_area and alloc_area_ex??
132 x move call to lazy_create into class
133 x create c++ class
134 x rename lazy_create to "initialize"
135 x do not create a freelist when opening in read-only mode
136 or in-memory
137 x freelist functions do not need to check for in-memory!
138 x completely refactor/reformat the code
139 x get rid of static functions in freelist.cc
140 x freelist_entry_t -> Freelist::Entry
141 x freelist_payload_t -> Freelist::Payload
142 x also merge/refactor freelist_statistics.cc
143 x check with valgrind
144 x protect with mutex
d76cfb8 @cruppstahl updated TODO items
authored
145 o backend
f440418 @cruppstahl refactoring of the Btree backend (WIP)
authored
146 x replace with C++ class and inheritance
147 x remove be_set_dirty, replace with be->_fun_flush()
148 x btree has keydata1, keydata2 - why? better use DynamicArray?
149 x BtreeBackend does not require to store in little/big-endian!
150 o btree.h declares many static functions - still used?
151 o include the functions in btree_insert.cc, btree_erase.cc etc
d76cfb8 @cruppstahl updated TODO items
authored
152 o improve abstraction
153 o statistics
154 o split into env/db/freelist
29827e0 @cruppstahl freelist refactoring
authored
155 o remove unused code - also from public interface?
d76cfb8 @cruppstahl updated TODO items
authored
156 o protect env and freelist with mutex
157 o in db: assert that the db is locked
8c8c05b @cruppstahl updated TODO file
authored
158 o db
159 o completely hide the local/remote implementation in the database
160 o move more members from Database to the Implementation classes
161 o improve abstraction
162 o protect with mutex
163 o env
164 o completely hide the local/remote implementation in the Environment
165 o move more members from Environment to the Implementation classes
166 o improve abstraction
d76cfb8 @cruppstahl updated TODO items
authored
167 o txn
168 o convert to clean c++ code
169 o protect with a mutex
170 o when changing the transaction queue: assert that the env is locked
171 o configuration/env-header-page
172 o create configuration object
173 o protect with mutex
174 o file filters -- why? the filter list is not modified in the selected
175 functions; but it needs to be documented that it has to be
176 threadsafe, therefore verify that the AES filter *is* threadsafe
177 o convert to C++ visitor pattern?
0c41058 @cruppstahl device refactoring (WIP)
authored
178 o page
179 o do we also need to lock pages?? or are they locked implicitly by
180 adding them to the changeset? if yes then make sure that this is
181 failsafe! and assert that there can be only one changeset at a
182 time
183 o changeset::contains is not thread safe
184 only used in Cache::purge
29827e0 @cruppstahl freelist refactoring
authored
185 o blob manager
186 o introduce a buffer manager?
187 o i.e. holds the cache and manages the device
188 o i.e. for de-coupling freelist from env
189 o i.e. for de-coupling btree from db and env
0c41058 @cruppstahl device refactoring (WIP)
authored
190 o the pages are only used in the btree (with one exception: header
191 page); should the cache therefore be limited to btree functions?
192 then purge and other stuff can also move to the btree level and
193 everything gets simplified
d76cfb8 @cruppstahl updated TODO items
authored
194
195 o all other functions/modules: assert that the env-mutex is locked!
196
a8926a4 @cruppstahl minor cleanups
authored
197 o use read/write lock for Environment
198 o introduce a new lock in the Database
199 o the following functions lock the Environment for reading, but the
200 Database for writing:
201 o ham_insert
202 o ham_find
203 o ham_erase
204 o ham_cursor_*
205 o any others?
66e5f26 @cruppstahl cache refactoring
authored
206 o make sure that the cache does not flush pages that are currently locked
207 by any Transaction
c3d8264 @cruppstahl Backend is now C++-ified
authored
208
d3fb9ec @cruppstahl release 2.0.3
authored
209 o freelist: store the last successful freelist page in the hinter of the
210 database
211
29827e0 @cruppstahl freelist refactoring
authored
212 o is the recovery working if there's a crash during ham_close?
213
47cf99b @cruppstahl Fixed fsync's when flushing changeset
authored
214 o blob_allocate: remove writev when writing header and blob body
215
c3d8264 @cruppstahl Backend is now C++-ified
authored
216 o also remove locking from C# and Java APIs
c8e331e @cruppstahl temporary key->data and record->data storage is now managed by the Tr…
authored
217
f435293 @cruppstahl recovery is now more robust; adding fsync's if HAM_WRITE_THROUGH is e…
authored
218 o why do tests with 20 threads fail with oom when using mmap? the cache limits
219 should still work
220
c8e331e @cruppstahl temporary key->data and record->data storage is now managed by the Tr…
authored
221 o implementation of hamsterdb should move into a namespace; otherwise
222 there are conflicts if users have a C++ class called Database or
223 Environment etc
224
f5fc536 @cruppstahl code is now threadsafe; some tests are still missing though
authored
225 o clean up the "close" functions
226 o ham_close - move all functionality to Database::close
227 o ham_env_close - move all functionality to Environment::close
228 o ~Database: call close(), then simplify all code
229 o ~Environment: call close(), then simplify all code
230 o Cursor::close: currently (nearly) empty; merge with ~Cursor and
231 Database::close_cursor()
29827e0 @cruppstahl freelist refactoring
authored
232 o do not have st2/st; just fail if there's a serious problem
f5fc536 @cruppstahl code is now threadsafe; some tests are still missing though
authored
233
79d4cae @cruppstahl updated TODO items
authored
234 o python API - update and integrate
6922cec @cruppstahl minor fixes and valgrind suppressions
authored
235 o rewrite with boost::python??
79d4cae @cruppstahl updated TODO items
authored
236 o also add to win32 package
237
1b9a579 @cruppstahl data pointers are now stored in thread local storage
authored
238 o continue with c++-ification of db.h/db.cc
239
240 o c++-ify the backend
c3d8264 @cruppstahl Backend is now C++-ified
authored
241 o replace with C++ class and inheritance
242 o BtreeBackend does not require to store in little/big-endian!
1b9a579 @cruppstahl data pointers are now stored in thread local storage
authored
243 o remove be_set_dirty, replace with be->_fun_flush()
c3d8264 @cruppstahl Backend is now C++-ified
authored
244 o btree has keydata1, keydata2 - why? better use DynamicArray?
79d4cae @cruppstahl updated TODO items
authored
245
6d40855 @cruppstahl always flush transactions before closing the database
authored
246
247
248
249
250 o move flushing of transactions in background
251 o new flag HAM_DISABLE_ASYNC_COMMITS
252 o need new test: n threads; each thread inserts keys [i*n, i*(n+1))
d76cfb8 @cruppstahl updated TODO items
authored
253 o make sure that each Database accesses its own pages; i.e. do not share
254 blob pages between databases. Each database stores the address of the
255 previously used blob page in order to reduce freelist access
256 o when flushing and values are written to multiple databases: write them
257 in parallel
2885e54 @cruppstahl More C++-ification of the Environment class; no functional changes
authored
258
79d4cae @cruppstahl updated TODO items
authored
259 o need a function to get the txn of a conflict (same as in v2)
260 ham_status_t ham_txn_get_conflicting_txn(ham_txn_t *txn, ham_txn_t **other);
5fac4f3 @cruppstahl updated TODO items
authored
261 oder: txn-id zurückgeben?
79d4cae @cruppstahl updated TODO items
authored
262 o also add to c++ API
263 o add documentation (header file)
264 o add documentation (wiki)
8bcfa94 @cruppstahl updated TODO file
authored
265
266 o recovery: re-create pending transactions (if required)
267 o needs a function to enumerate them
268
6d40855 @cruppstahl always flush transactions before closing the database
authored
269 o c++-ify the transaction
270
271
272
273
274
275
276 o allow transactions in-memory
277
278 o allow transactions w/o journal
279
280 o allow transactions w/o recovery
281
282 o rename HAM_WRITE_THROUGH to HAM_ENABLE_FSYNC
283
284 o new node format:
285 iiikkkkkkkkkrrrrrrrr
286
287 iii: fixed size index (skip-list)
288 kkk: keys
289 rrr: records
290 keys can have different compressions (bitmap, suppress null, ...)
291 records are compressed; will be multiplied by BLOCKSIZE (32)
292 each key consists of { char flag; short record_id; char data[1]; }
293 where record_id is an offset into rrrrrrrrr
294 keys are sorted lazily (i.e. inserted at the end and only sorted
295 when flushed to disk or when searched
79d4cae @cruppstahl updated TODO items
authored
296
8bcfa94 @cruppstahl updated TODO file
authored
297 . android port (needs new java api) in /contrib directory (it's on a separate
298 branch)
299
3412f64 @cruppstahl updated TODO list; started with removing idempotent operations from t…
authored
300 . new test case for cursors
301 insert (1, a)
302 insert (1, b) (duplicate of 1)
303 move (last) (-> 1, b)
304 insert (1, c)
305 move (last) (-> 1, c)? is the dupecache updated correctly?
306
307 . look for someone who can write a PHP or Perl or Ruby wrapper
e6f6f92 @cruppstahl updated TODO file
authored
308
8bcfa94 @cruppstahl updated TODO file
authored
309 . implement support for partial keys
e6f6f92 @cruppstahl updated TODO file
authored
310
dbd7802 @cruppstahl ham_db_t is now C++-ified (WIP)
authored
311 . test with tcmalloc; if it works then also use it in the master branch, but
312 make sure that memory consumption does not increase significantly
3412f64 @cruppstahl updated TODO list; started with removing idempotent operations from t…
authored
313
b2ab1a5 @cruppstahl updated TODO file regarding performance improvements
authored
314 . there are a couple of areas where a btree cursor is uncoupled, just to
315 retrieve the key and to couple the txn-key. that's not efficient
316 db.c:__btree_cursor_points_to
317 db.c:__compare_cursors
318 txn_cursor.c:cursor_sync
319 txn_cursor.c:cursor_overwrite
320 o move to a separate function
321 o try to optimize
e6f6f92 @cruppstahl updated TODO file
authored
322
4ee7a3d @cruppstahl cleanups of the cursor code; no functional changes
authored
323 . hash-table.h: the foreach/remove_if/visitor pattern is clumsy. use
324 functor or class w/ operator() instead
325 . changeset: use a generic hash table for fast lookup (but leave list in place
326 for everything else)
327 . cache: use a generic hash table
328
6302799 @cruppstahl updated TODO file
authored
329 . add tests to verify that the cursor is not modified if an operation fails!
330 (in cursor.cpp:LongTxnCursorTest are some wrapper functions to move or
331 insert the cursor; that's a good starting point)
332
dbd7802 @cruppstahl ham_db_t is now C++-ified (WIP)
authored
333 . the whole c++ protocol should be c++-ified
f4dbd73 @cruppstahl inlining a couple of functions to improve performance
authored
334
6302799 @cruppstahl updated TODO file
authored
335 . move the whole configuration (key sizes, parameters, page size, etc) into a
336 separate class which is instantiated by the env
337
338 . c++-ify the btree node representation;
339 o include duplicates as well! disentangle duplicates from blob-handling
dbd7802 @cruppstahl ham_db_t is now C++-ified (WIP)
authored
340
341 . c++-ify the blob handling and split off the duplicates
342
3412f64 @cruppstahl updated TODO list; started with removing idempotent operations from t…
authored
343 . cleanup db.h/db.cc - move functions into Database or
b99a85b @cruppstahl increased version to 20.0.0.rc3
authored
344 DatabaseImplementationLocal namespace - but take care b/c these functions
345 are also used by Cursor or other modules which don't necessarily have
346 access to the Local stuff
347 o db_get_key_count
348 o db_alloc_page
349 o db_fetch_page
350 o db_insert_txn
351 o db_erase_txn
352 o db_find_txn
353 o db_check_insert_conflicts
354 o db_check_erase_conflicts
355 o __increment_dupe_index
356
dbd7802 @cruppstahl ham_db_t is now C++-ified (WIP)
authored
357 . c++-ify everything else
358
3412f64 @cruppstahl updated TODO list; started with removing idempotent operations from t…
authored
359 . device, page and os shold no longer return errors but throw exceptions
6302799 @cruppstahl updated TODO file
authored
360
3412f64 @cruppstahl updated TODO list; started with removing idempotent operations from t…
authored
361 XXXXXXXXXXXXXXXXXXXXX release 2.0.0 STABLE !!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cac668e @cruppstahl Cleaning up the cache usage, removed unnecessary code
authored
362
a95e0b7 @cruppstahl updated TODO file
authored
363 . new flag for transactions: HAM_TXN_WILL_COMMIT
e3e99cc @cruppstahl added unittest for cursor_get_dupecache_count
authored
364 if this flag is set, then write all records directly to the blob, not
365 to the log. the log will only contain the rid.
366 o document this (and also the drawback - that an abort will lose the
367 blobs and they cannot be reused
368 -> this affects all temporary ham_insert-transactions
369 (not sure if this should get high priority)
cac668e @cruppstahl Cleaning up the cache usage, removed unnecessary code
authored
370
cf9c6c7 @cruppstahl fixed a few regressions
authored
371 o hamsterdb.com
372 x add twitter feed
373 o API documentation: don't link to "modules" but to startup page, update
374 with newest version
375 o crupp.de: do a backup of the database
376 . google +1 button
377 . can we use something like Aller.font?
378
b98155a @cruppstahl updated header file with documentation (and new copyright year)
authored
379 o update documentation
380 x in header file
381 o in the wiki
f9d3746 @cruppstahl HAM_SORT_DUPLICATES is now forbidden if Transactions are enabled
authored
382 o don't forget to list all functions that are currently disabled
383 w/ txn's -> sorting dupes, approx. matching, ...
3e66c05 @cruppstahl updated TODO list
authored
384 o transactional behavior/conflicts of duplicate keys
9220b03 @cruppstahl improved the doxygen documentation and added a 'mainpage' tag
authored
385 o in the wiki: start with internal documentation
386 o transactions
387 o architecture
388 o btree
389 o journal/log
390 o cache
391 o I/O
e9b49fc @cruppstahl fixed several smaller memory leaks
authored
392 o unittests
2e8ec8b @cruppstahl some refactoring of _local_Cursor_insert; no functional changes
authored
393 o cursor(s)
7a2551d @cruppstahl updated TODO items
authored
394 o monstertests - how to use them?
9220b03 @cruppstahl improved the doxygen documentation and added a 'mainpage' tag
authored
395
fe6e5e8 @cruppstahl configure switch --enable-internal is now obsolete
authored
396 o fully (!) automize the whole release process for unix; the result (on
397 success) are the following files:
398 o tar-ball
399 o the README
400 o the documentation as a tar
401 o the Changelog
402 o the release notes (a template)
403 o the output (xml) of the monster tests
404
7a2551d @cruppstahl updated TODO items
authored
405 . port to WinCE
406
131c913 @cruppstahl refactoring; removed several TODOs and renamed a couple of functions.…
authored
407 o how can we extend the monster-tests to have reliable tests for transactions?
408
7a2551d @cruppstahl updated TODO items
authored
409 . if memory consumption in the txn-tree is too high: flush records to disk
410 (not sure if this should get high priority)
affbe6f @cruppstahl fixed several regressions
authored
411
e9a9e6d @cruppstahl added a unittest to make sure that the dupecache is extended correctl…
authored
412 o when recovering, give users the choice if active transactions should be
413 aborted (default behavior) or re-created
414
66cc747 @cruppstahl cleanup for the next version - removed all items which were implement…
authored
415 o extkeys: don't use txn_id for the 'age', use lsn instead
3c8400b @cruppstahl updated TODO file
authored
416
f2c0e4f @cruppstahl more fixes and performance for recovery
authored
417 o the DatabaseImplementation subclass is not neccessary; all subclasses
418 can directly derive from Database.
419
66cc747 @cruppstahl cleanup for the next version - removed all items which were implement…
authored
420 . allow use of transactions without a log/journal
4ba05c5 @cruppstahl removed log file switching from physical log file; general refactorin…
authored
421
66cc747 @cruppstahl cleanup for the next version - removed all items which were implement…
authored
422 . allow use of transactions for in-memory databases
4ba05c5 @cruppstahl removed log file switching from physical log file; general refactorin…
authored
423
e4991ac @cruppstahl version 2.0.0
authored
424 XXXXXXXXXXXXXXXXXXXXX release 2.0.0 STABLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
f9a1f7b @cruppstahl fixed several regressions; ham_cursor_erase and ham_cursor_find are n…
authored
425
a95e0b7 @cruppstahl updated TODO file
authored
426 o ham_get_count: could be atomically updated with every journal entry
427
83d34cc @cruppstahl fixed more regressions
authored
428 o when flushing a changeset: sort by offset, use writev()
429
a95e0b7 @cruppstahl updated TODO file
authored
430 o add concurrency (on a high level)
431
e9a9e6d @cruppstahl added a unittest to make sure that the dupecache is extended correctl…
authored
432 o flush transactions in background
f9a1f7b @cruppstahl fixed several regressions; ham_cursor_erase and ham_cursor_find are n…
authored
433
e9a9e6d @cruppstahl added a unittest to make sure that the dupecache is extended correctl…
authored
434 . have a flag to disable flushing of logfiles/journal files (or flush them
435 async.)
436
1bcb6af red-black tree will be needed for transaction stuff
Christoph Rupp authored
437 o continue as described in integrate-ham2.txt...
4ba05c5 @cruppstahl removed log file switching from physical log file; general refactorin…
authored
438
Something went wrong with that request. Please try again.