about summary refs log tree commit
path: root/lib
DateCommit message (Collapse)
2011-01-17tdb: remove "threadsafe" option
We won't be supporting thread-safety, too difficult without upstream support.
2011-01-17use constants everywhere to reduce GC thrashing
This makes it easier to notice a typo, too.
2011-01-17tdb: use fetch with a reusable buffer
GC reductions
2011-01-13add suffix_mime output filter
It's faster than doing it via real Rack middleware.
2010-12-13minor documentation updates
This needs a LOT of work.
2010-12-10String#hash is not stable across processes :<
We need to implement our own hash functions for splitting databases across multiple files. This was totally fucking up Rainbows!
2010-12-10deflate: small garbage reduction by concatenation
String interpolation means an extra string is created.
2010-12-10tdb: allow enabling the thread-safety option
Maybe it's still broken...
2010-12-06allow easier, single-file options for TC and TDB
Most (other) users only need a single file, even though my primary use of this is for multiple files.
2010-12-05:path_pattern is independent of the URI
It can be confusing with printf-style patterns in URIs, so just force path_pattern-users to specify "/" as their path.
2010-12-03deflate+gzip: do not wrap rack.input if already encoded
Clients may pre-compress input so we do not have to deal with it on the server side.
2010-12-01add basic support for the Trivial Database (TDB)
TDB supports multiple simultaneous readers and writer *processes*, not just threads.
2010-11-30support pass-through :encoding for deflate and gzip
These allow serving pre-compressed data off disk and on-the-fly uncompressing for the few clients that do not accept compressed responses.
2010-11-30hash: fix some settings for memory-only hash
These have no finalizers.
2010-11-30tc/hdb: remove HEAD optimization
It makes future extensions difficult. HEAD requests aren't common enough to be worth optimizing for.
2010-11-30internal API: get and head methods require env
We'll need it for implementing the deflater/inflater
2010-11-23tc/hdb: add exclusive mode, lock disabling
The :exclusive mode behaves like TokyoTyrant and keeps the database opened in read-write mode, preventing other processes from accessing the database. This will be useful on Rubies without a GVL. :readonly no longer disables locking by default instead "rdlock=false" must be passed in the query parameter. Write locks may also be disabled with the "wrlock=false" query parameter.
2010-11-23add plain Hash database support
Useful as a proof-of-concept and for benchmark base.
2010-11-23split out common read-only code
It makes sense for other databases to share the same code.
2010-11-23use common setup elements
Some other databases will be able to utilize these variables.
2010-11-23fix readonly interface
use 403 to reject PUT/DELETE requests
2010-11-23add generic Rack read/write test
This fixes 404s on HEAD requests which do not return a body.
2010-11-23tc/hdb: minor formatting cleanups
No point in using more lines than we need to.
2010-11-23split out common read/write code
It will be useful when we support other backends.
2010-11-23rename internal "TokyoCabinet" => "TC"
It's less typing and less likely to clash on both the eyes and the interpreter.
2010-11-23rename @hdb* to @db*
This will allow easier code sharing between backends.
2010-11-22initial TokyoCabinet hash database support
Basically working, for now