summaryrefslogtreecommitdiff
path: root/src/db.erl
Commit message (Collapse)AuthorAgeFilesLines
* Commit changes to entryhash keyvalue storeMagnus Ahltorp2015-12-091-0/+4
|
* Move timeouts to separate include fileMagnus Ahltorp2015-11-111-1/+2
|
* Change index.erl to use gen_server and named databases.Magnus Ahltorp2015-11-111-12/+5
| | | | Prefetch indices in frontend:fetchmissingentries/2.
* Make it possible to send several entries at once with merge/sendentryMagnus Ahltorp2015-11-111-3/+16
|
* Change perm interface to be add/commit basedMagnus Ahltorp2015-11-111-26/+11
|
* Save sendsth verification position and restart from that pointMagnus Ahltorp2015-09-151-12/+40
|
* Preliminary merge secondary implementation.Magnus Ahltorp2015-06-181-0/+22
|
* Dialyzer clean.Linus Nordberg2015-05-051-3/+3
|
* Be less strict when writing entryhash files.Linus Nordberg2015-04-151-3/+2
| | | | Closes CATLFISH-44.
* Fix copyright strings.Linus Nordberg2015-04-091-1/+1
|
* perm:ensurefile now only does fsync only when sync flag is setMagnus Ahltorp2015-04-081-1/+1
| | | | Closes CATLFISH-35
* Read db size from sth file and cacheMagnus Ahltorp2015-03-251-8/+16
|
* Fix specs; remove unused file.Linus Nordberg2015-03-231-2/+1
| | | | Add a spec; remove some warnings.
* db:get_by_entry_hash: Check that entry existsMagnus Ahltorp2015-02-271-3/+7
|
* Log leaf hashes as hex stringsMagnus Ahltorp2015-02-271-2/+2
|
* Delay fsync for index writesMagnus Ahltorp2015-02-271-1/+1
|
* Perform frontend index writes in two phasesMagnus Ahltorp2015-02-271-7/+18
|
* Get rid of two warnings.Linus Nordberg2014-11-211-1/+1
|
* Move db size check from db.erl to plop.erl to allow reads past db size.Magnus Ahltorp2014-11-191-1/+1
|
* Remove support for internal mergeMagnus Ahltorp2014-11-191-70/+32
|
* Invoke gen_server:call/2 via stacktrace:call/2.stacktraceLinus Nordberg2014-11-041-10/+11
| | | | stacktrace:call() logs an error if the gen_server:call() throws timeout.
* Merge remote-tracking branch 'refs/remotes/map/external-merge3' into ↵Linus Nordberg2014-10-291-2/+8
|\ | | | | | | | | | | | | | | | | | | | | | | merging-external-merge Conflicts: src/db.erl src/frontend.erl src/index.erl src/plop.erl src/storage.erl src/ts.erl
| * Check that entries are actually present when receiving new STH from merge nodesMagnus Ahltorp2014-10-271-3/+6
| |
| * Optimize db:get_by_indices by not fetching entry and implementing index:getrangeMagnus Ahltorp2014-10-251-5/+7
| |
| * Added lager for loggingMagnus Ahltorp2014-10-241-0/+2
| |
| * Added HTTP API:s for external mergeMagnus Ahltorp2014-10-241-2/+36
| |
| * db:get_by_leaf_hash(): Return notfound instead of crashing when no entry ↵Magnus Ahltorp2014-10-241-6/+19
| | | | | | | | | | | | | | could be found. db:get_by_entry_hash(): Don't fetch index, isn't used and might not exist. index:add(): Allow writes at exiting indicies.
* | Whitespace and long lines.Linus Nordberg2014-10-291-1/+2
| |
* | Added HTTP API:s for external mergeMagnus Ahltorp2014-10-291-2/+36
| |
* | Prepare for external-merge.Magnus Ahltorp2014-10-291-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | db:get_by_leaf_hash(): Return notfound instead of crashing when no entry could be found. db:get_by_entry_hash(): Don't fetch index, isn't used and might not exist. index:add(): Allow writes at exiting indicies. Conflicts: src/index.erl
* | Optimize db:get_by_indices by not fetching entry and implementing index:getrangeMagnus Ahltorp2014-10-251-5/+7
|/ | | | | | Conflicts: src/index.erl src/plop.erl
* Break include dependency on plop.hrlMagnus Ahltorp2014-10-241-1/+0
|
* Make get_by_indices() handle non-existing entries.Linus Nordberg2014-10-101-9/+17
| | | | | - Limit End to size - 1. - Return [] for start < 0 and bound end < start.
* Indent.Linus Nordberg2014-10-091-2/+2
|
* Merge remote-tracking branch 'refs/remotes/map/fsync4' into origin-masterLinus Nordberg2014-10-081-114/+70
|\ | | | | | | | | | | Conflicts: src/db.erl src/plop.erl
| * Use raw file storageMagnus Ahltorp2014-09-281-114/+71
| |
| * wipplop-if-cleanupLinus Nordberg2014-09-271-51/+75
| |
* | Clean up the plop interface, in preparation for a new db implementation.Linus Nordberg2014-09-291-51/+75
|/
* Store and retrieve extra-data in/from db.Linus Nordberg2014-09-201-8/+11
| | | | Also, add more specs to db.
* Fix crash in inclusion() and add inclusion-and-leaf().Linus Nordberg2014-09-191-10/+19
|
* Add field 'mtlhash' to the database, for get-proof-by-hash.Linus Nordberg2014-09-181-16/+27
| | | | | | | | | | Also, in db: Add field 'mtlhash' to record 'plop'. Rename 'hash' -> 'entryhash'. Add leaf_hash(), calculating a leaf hash from data. Fix a bug where print_tree() print half a byte of the hashes. Rename tree_hash() -> root(). Closes CATLFISH-3.
* Get rid of dialyzer warning.Linus Nordberg2014-09-101-1/+1
| | | | | | | | Specify the match as a tuple rather than a record since dialyzer correctly reports that #plop fields cannot be atoms. The drawback is that the match needs updating when the definition of #plop{} changes, including merely reordering of fields.
* Add db:get_by_index_sorted/2.Linus Nordberg2014-09-091-4/+26
|
* Add licensing information.Linus Nordberg2014-06-091-0/+3
|
* plop.hrl has finally moved into include/.Linus Nordberg2014-06-041-1/+1
|
* Add db:size/0 and some error checking.Linus Nordberg2014-05-291-8/+15
|
* Add db:get_by_index/2.Linus Nordberg2014-05-261-2/+14
|
* Use mnesia:index_read() instead of select() bc simpler.Linus Nordberg2014-05-031-2/+1
|
* Sign using ECDSA and fix a couple bugs.Linus Nordberg2014-05-021-3/+12
| | | | | | | | | | | Revive the plop_entry and hash over that instead of the full MTL, for the db hash. We don't want the timestamp in that hash! Use ECDSA instead of RSA for signing stuff. That's what Google does and we want to use their test suites. An annoyance with DSA is that the signature isn't deterministic. Testing just became less easy. Fix db:find() now that the hash is no longer the primary key.
* Move some records out of public header file. Improve db initialisation some.Linus Nordberg2014-05-011-6/+10
| | | | Wait for mnesia tables in init() and make the init-functions do some more.