summaryrefslogtreecommitdiff
path: root/src/db.erl
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Add init functions, for testing.Linus Nordberg2014-04-301-2/+14
|
* Turn it all into an application.Linus Nordberg2014-04-291-0/+1
| | | | Warning: Rough edges.
* First cut at adding DB support.Linus Nordberg2014-04-291-0/+86
Including half crazy rewrite of most of the data structures.