summaryrefslogtreecommitdiff
path: root/lib/rbot/registry
AgeCommit message (Collapse)Author
2020-04-08fix: in-memory registry persist correctlyMatthias Hecker
2020-04-06registry: add in-memory implementation for testsMatthias Hecker
2014-03-06[registry] improved tests, sqlite/tc bugfixesMatthias H
2014-03-06[registry] small refactoring and added flush testMatthias H
2014-03-06[registry] added sqlite3 database adapterMatthias H
2014-02-24[registry] refactoring into a abstract and factoryMatthias H
* a new abstract class AbstractAccessor is the new base for all concrete database implementations. * a factory now, dynamically discovers those implementations in the registry/ directory and will create the configured type for the plugins. * again: this makes db keys case-sensitive (aka 'the correct way of doing things' -.-) * re-added tokyocabinet
2014-02-20[registry] daybreak engine small fixMatthias H
2014-02-19[registry] registry folder with suffix, added daybreak engineMatthias H
2014-02-18[registry] removed temp loggingMatthias H
2014-02-18removes bdb&tc registry; adds dbm registryMatthias H
This removes the existing registries, ruby-bdb (Berkeley DB) and tokyocabinet, instead it creates a new registry based on ruby DBM. Ruby-bdb has long since been abandoned in favor for rubys DBM and tokyocabinet also has been ceased development since 2011 (for kyotocabinet).
2012-09-27bdb: message when wrong bdb module is loadedGiuseppe Bilotta
2012-08-31bdb: restore errors should be logged as errorsGiuseppe Bilotta
2012-04-30db adaptors: nil internal variable when closingGiuseppe Bilotta
This prevents subsequent spurious flushes from bombing out because of closed databases.
2011-07-11Fix TC db close on cleanupGiuseppe Bilotta
When closing the TC db on cleanup, we didn't remove it from the environment. Override the #close() method to achieve that.
2011-05-10bdb: don't retrieve the db values when warning about nil keyGiuseppe Bilotta
When either of the keys passed to the BDB compare function is nil, we emit a warning. In this warning, however, we used to peek at the registry value, which required the use of the comparison function itself, falling in a nested loop. Solve by omitting the self[<key>].inspect from the warning.
2011-01-31comments and message fixesGiuseppe Bilotta
2011-01-28bdb: support running without envsGiuseppe Bilotta
The various checkpointing function may be called when no env has been loaded (yet), support this.
2011-01-26TokyoCabinet pseudo-environmentGiuseppe Bilotta
Since TokyoCabinet does not provide a DB environment, trying to reopen the same db multiple times (something that happens with subregistry mostly, and possibly after rescans) causes the subsequent opens to fail due to "threading errors". Fix by implementing some sort of environmentalish database management (only keeps track of open databases, returns existing ones if reopening the same db multiple times, closes all of them on exit).
2010-10-06TokyoCabinet #fwmkeys() expects a stringGiuseppe Bilotta
Convert the (optional) first argument to #each*() methods to a string to ensure the calls work as expected. This fixes a problem with @registry.each not working as expected, and although it would have been sufficient to convert the default for the first argument from nil to the empty string, the approach implemented by this patch is more robust overall.
2010-10-06TokyoCabinet: upgrade from BDB using case-insensitive treeGiuseppe Bilotta
2010-09-27* wrap BDB::Fatal classes for abstract trappingGiuseppe Bilotta
When using a DB backend different from BDB, the BDB constant may not be defined, causing a NameError during error trapping in the main loop. Fix this by defining our own DBFatal error that maps to BDB::Fatal in the BDB case and is defined as an (unused) Exception for TokyoCabinet.
2010-09-24Check BDB version only if it's loadedVoker57
2010-09-24TokyoCabinet: more BDB checksGiuseppe Bilotta
2010-09-23TokyoCabinet: only warn about skipped upgrade if the old reg was foundGiuseppe Bilotta
2010-09-23TokyoCabinet: fix extension in 0.9.9 upgrade pathGiuseppe Bilotta
2010-09-23TokyoCabinet: 0.9.5-to-0.9.9 must use BDB onlyGiuseppe Bilotta
When upgrading from 0.9.5 data, write the 0.9.9-style regisitry using BDB still rather than trying to use TokyoCabinet already. This makes sure that the next step (0.9.9 to modern times) works correctly. (Moreover, the existing BDB-to-TC attempt wouldn't have worked anyway due to wrong var names. I doubt anybody will ever hit this path and notice though.)
2010-03-16Tokyo Cabinet DB backendVoker57
2010-03-16Moved DB stuff to registry/bdbVoker57