Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.325.424 Times

SimpleCDB 1.0

  Date Added: May 04, 2010  |  Visits: 672

SimpleCDB

Report Broken Link
Printer Friendly Version


Product Homepage
Download (89 downloads)



SimpleCDB - A Perl-only Constant Database. SYNOPSIS use SimpleCDB; # writer # - tie blocks until DB is available (exclusive), or timeout tie %h, SimpleCDB, db, O_WRONLY or die "tie failed: $SimpleCDB::ERRORn"; $h{$k} = $v; die "store: $SimpleCDB::ERROR" if $SimpleCDB::ERROR; untie %h; # release DB (exclusive) lock # reader # - tie blocks until DB is available (shared), or timeout tie %h, SimpleCDB, db, O_RDONLY or die "tie failed: $SimpleCDB::ERRORn"; $v = $h{$i}; die "fetch: $SimpleCDB::ERROR" if $SimpleCDB::ERROR; untie %h; # release DB (shared) lock This is a simple perl-only DB intended for constant DB applications. A constant DB is one which, once created, is only ever read from (though this implementation allows appending of new data). That is, this is an "append-only DB" - records may only be added and/or extracted. Course-grained locking provided to allow multiple users, as per flock semantics (i.e. write access requires an exclusive lock, read access needs a shared lock (see notes below re. perl < 5.004)). As (exclusive) updates may be take some time to complete, shared lock attempts will timeout after a defined waiting period (returning $! == EWOULDBLOCK). Concurrent update attempts will behave similarly, but with a longer timeout. The DB files are simple flat files, with one record per line. Records (both keys and values) may be arbitrary (binary) data. Records are extracted from these files via a plain linear search. Unsurprisingly, this search is a relatively inefficient operation. To improve extraction speed, records are randomly distributed across N files, with the average search space is reduced by 1/N compared to a single file. (See below for some example performance times.) One advantage of this flat file based solution is that the DB is human readable (assuming the data is), and with some care can be edited with a plain ol text editor. Finally, note that this DB does not support duplicate entries. In practice, the first record found matching a given key is returned, any duplicates will be ignored..

Requirements: No special requirements
Platforms: Linux
Keyword: Constant Constant Database Error Files Libraries Lock Programming Simplecdb Tie Timeout
Users rating: 0/10

License: Freeware Size: 15.36 KB
USER REVIEWS
More Reviews or Write Review


SIMPLECDB RELATED
Libraries  -  cdbxx 0.0.1 RC2
cdbxx is a small STL style C++ library for TinyCDB implementation of Constant Database. It provides iterators, data adapters and high level interfaces for databases..
16.38 KB  
Mathematics  -  Sicyon Lite 4.1
Sicyon = scientific (VBScript/JScript) calculator + constant database + units converter + solver + curve-fit
5.4 MB  
Scientific and Engineering  -  Povray for python 1.0
This script is a relatively simple framework for making povray files from python programming language. It's good for creating structured/mathematical scenes and animations. Why go out on a limb to use povray's SDL language when you can raytrace...
 
Instant Messagers  -  ICQr Information 1.5
ICQr Information v1.5 reads out information stored in ICQ 99a/b, 2000a/b and 2001 Database (.DAT) files. These files contain everything the user enters in his private details. ICQr Information is able to read and reveal personal information,...
295 KB  
Development Editors  -  Resoor 1.26
Resource editor for programs. It can import resources from executable files and RES files. It can generate resource files and source files in different programming languages. Editing data (for example, images) is realized with the use of...
1.12 MB  
Libraries  -  ex::constant::vars 0.01
ex::constant::vars is a Perl pragma to create readonly variables. SYNOPSIS Using the tie() interface: use ex::constant::vars; tie my $pi, ex::constant::vars, 4 * atan2( 1, 1 ); tie my @family, ex::constant::vars, qw( John Jane ); tie my...
4.1 KB  
File Security  -  ABL Systems: TS Lock Privacy Suite. v3.2.0.10
The "TS Lock Privacy Suite" has four main components: (1) Password protects your files. TS Lock hides and encrypts your files from prying eyes. (2) Protects your Favorites/Bookmarks. You can keep a private list of your favorite websites...
1024 B  
Security Tools  -  Instant LOCK Hide n Guard, Files n Folde 3.0
InstantLOCK ! is a revolutionary file security software, totally protect, lock and hide all your private folders and precious files from other users and programs. You can unlock them with a simple click whenever you need. SAFETY - No one will ever...
1.88 MB  
Database Tools  -  Backup database structure 1.0
Backup database structure accesses a given MySQL database and generates files with SQL statements that can be used later to restore the database structure and data in the database.The database dump file can optionally be saved in a compressed...
10 KB  
Libraries  -  Bibliophile 3.0
Bibliophile project is a collection of libraries for Web-based literature database development that were created to align the development of bibliographic databases for the Web. Bibliophile was founded by Mark Grimshaw (Wikindx), Matthias...
204.8 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB