github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

asb / lua-tinycdb

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 1
    • 0
  • Source
  • Commits
  • Network (0)
  • Issues (0)
  • Downloads (2)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (2)
    • 0.2
    • 0.1
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

A lua binding to the tinycdb library by Michael Tokarev — Read more

  cancel

http://asbradbury.org/projects/lua-tinycdb/

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

pass O_BINARY to open() to make Windows happy 
asb (author)
Fri May 22 13:11:11 -0700 2009
commit  f5ea285cb29224af3d337df857036ce3750ac5e8
tree    85a8928a53341e52ec7e147e598ca3a82884ac59
parent  eb9b56079e6b5199c3f7a39ff06f1dccca3bd92c
lua-tinycdb /
name age
history
message
file DOCUMENTATION.mkd Loading commit data...
file LICENSE
file Makefile
file README.mkd
file cdb.h
file cdb.txt
file cdb_find.c
file cdb_findnext.c
file cdb_hash.c
file cdb_init.c
file cdb_int.h
file cdb_make.c
file cdb_make_add.c
file cdb_make_put.c
file cdb_seek.c
file cdb_seq.c
file cdb_unpack.c
file example.lua
file lcdb.c
file lua-tinycdb-dev-1.rockspec
file test.lua
README.mkd

lua-tinycdb

A binding to the tinycdb library by Michael Tokarev, which is a public domain implementation of Daniel J. Bernstein's Constant Database (cdb). A cdb is a key-value store (much like BDB/gdbm), but it cannot be updated at runtime (only rebuilt). Reading is very fast, and rebuilding is done atomically by building the new database and then renaming. lua-tinycdb includes the tinycdb source so there are no external dependencies.

Features

I include below the list some of the features of the cdb database structure, stolen (and slightly modified) from D.J. Bernstein's cdb page:

  • Fast lookups: A successful lookup in a large database normally takes just two disk accesses. An unsuccessful lookup takes only one.
  • Low overhead: A database uses 2048 bytes, plus 24 bytes per record, plus the space for keys and data.
  • Fast atomic database replacement

Project links

  • Home
  • Download
  • Documentation
  • Source

Release history

  • lua-tinycdb-0.2 (2008-11-07)
    • documentation
    • db:iter() is now db:pairs(), though for this release iter is available as an alias.
    • bugfix: __tostring on a cdb maker returned no results
    • small internal refactoring
  • lua-tinycdb-0.1 (2008-01-23)
    • first public release

See also

  • tinycdb
  • cdb DJ Bernstein's original implementation
  • cdb format specification
  • luacdb Taj Khattra's binding to the original cdb library. lua-tinycdb was developed independently.

License

lua-tinycdb is distributed under the MIT license.

Copyright (c) 2008 A.S. Bradbury

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Contact

Author: A.S. Bradbury
Email: asb@asbradbury.org
Homepage: http://asbradbury.org/

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server