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.194.688 Times

DWH_File 0.24

  Date Added: June 23, 2010  |  Visits: 696

DWH_File

Report Broken Link
Printer Friendly Version


Product Homepage
Download (92 downloads)



DWH_File module contains data and object persistence in deep and wide hashes. SYNOPSIS use DWH_File qw/ GDBM_File /; # the use argument set the DBM module used tie( %h, DWH_File, myFile, O_RDWR|O_CREAT, 0644 ); untie( %h ); # essential! Note: the files produced by DWH_File 0.22 are in a different format and are incompatible with the files produced by previous versions. DWH_File is used in a manner resembling NDBM_File, DB_File etc. These DBM modules are limited to storing flat scalar values. References to data such as arrays or hashes are stored as useless strings and the data in the referenced structures will be lost. DWH_File uses one of the DBM modules (configurable through the parameters to use()), but extends the functionality to not only save referenced data structures but even object systems. This is why I made it. It makes it extremely simple to achieve persistence in object oriented Perl programs and you can skip the cumbersome interaction with a conventional database. DWH_File tries to make the tied hash behave as much like a standard Perl hash as possible. Besides the capability to store nested data structures DWH_File also implements exists(), delete() and undef() functionality like that of a standard hash (as opposed to all the DBM modules). MULTIPLE DBM FILES It is possible to distribute for instance an object system over several files if wanted. This might be practical to avoid huge single files and may also make it easier make a reasonable structure in the data. If this feature is used the same set of files should be tied each time if any of the contents that may refer across files is altered. See MODELS. GARBAGE COLLECTION DWH_File uses a garbage collection scheme similar to that of Perl itself. This means that you actually dont have to worry about freeing anything (see the cyclic reference caveat though). Just like Perl DWH_File will remove entries that nothing is pointing to (and therefore noone can ever get at). If youve got a key whose value refers to an array for instance, that array will be swept away if you assign something else to the key. Unless theres a reference to the array somewhere else in the structure. This works even across different dbm files when using multiple files. The garbage collection housekeeping is performed at untie time - so it is mandatory to call untie (and if you keep any references to the tied object to undef those in advance). Otherwise youll leave the object at the mercy of global destruction and garbage wont be properly collected. MUTUAL EXCLUSION Ealier versions had some specialized locking schemes to deal with concurrency in eg. web-applications. I havnt put any into this version, and I think Ill leave them out to avoid scope creep. The reason for having those features were that locking dbm-files isnt as straightforward as locking ordinary files. I find now, that the best solution is to use some of the generalized mechanisms for handling concurrency. There are some fine perl modules for facilitating the use of semaphores for instance. LOGGING Earlier versions had a logging feature. I havent put it into this new generation of DWH_File yet. If you need it, send me a mail. That might tempt me..

Requirements: No special requirements
Platforms: Linux
Keyword: Data Dbm Dwh Dwhfile File Files In Deep Libraries Module Object Perl Programming
Users rating: 0/10

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


DWH_FILE RELATED
Database Tools  -  Introduction to Object-Oriented Programming in MATLAB(R) Webinar 1.0
This contains the demo files and the presentation PDF file used in the "Introduction to Object-Oriented Programming in MATLAB(R)" Webinar, which was delivered in April 2009. These are meant to augment the Webinar, not replace it. Check out the...
30.72 KB  
Development Tools  -  What's New for Object-Oriented Programming in MATLAB Webinar - Code Examples 1.0
These are the code examples used in the "What's New for Object-Oriented Programming in MATLABdlT«" webinar, which described the new object oriented features in Release 2008a.To use the code, add the top folder to your path. See the test* M-files...
112.64 KB  
File Utilities  -  FileMarker.NET Free - Change File Icon 1.0
FileMarker.NET is a compact, intuitive and highly flexible tool for changing file icons in Windows. Mac users have been enjoying file and folder color-coding for years and the time has come for Windows users to join them and be finally able to...
1.56 MB  
File Utilities  -  File Marker 1.0
File Marker is a compact, intuitive and highly flexible tool for changing file icons in Windows. Mac users have been enjoying file and folder color-coding for years and the time has come for Windows users to join them and be finally able to...
1.56 MB  
Libraries  -  Daizu::File 0.3
Daizu::File is a Perl class representing files in working copies. Each object of this class represents a particular file in a Daizu CMS working copy (a record in the wc_file table). METHODS Note that all the functions which return the value...
419.84 KB  
Utilities  -  FlexTk Express 4.8.32
FlexTk is an advanced file management toolkit allowing one to search and classify files, scan file systems and apply rule-based, file organizing or data migration policies, analyze storage utilization, copy large amounts of files in a...
4.43 MB  
3D Graphic Tools  -  SGI RGB Image File Plug-In 1.1.1
SGI plug-in provides SGI image file load & save modules for The GIMP. The plug-in supports GRAY, GRAYA, RGB, and RGBA color modes. Using the SGI Plug-In: The Parameter Settings buttons control how much compression is applied to the image: No...
10.24 KB  
File Cataloguers  -  1-abc.net Folder-To-TXT 1.01
Do you know this situation? You just burned a disk, you collected some data on a USB stick or you simply organized some files on your local hard drive. Now you want to get an editable list of all files in this directory including sub-folders¦ but...
111.95 KB  
3D Graphic Tools  -  kGpsImageTag 0.1
kGpsImageTag reads gps data from a text file and correlates it with the photos in the same folder. Use Correlate data to correlate gps data with images. If an image does not have a gps entry, it is extrapolated. Use Hide/Show to hide/show all...
409.6 KB  
Utilities  -  Every File Format in The World 1.0
Found an unfamiliar file on your computer, solve the mystery, information on just about every file type can be found here. "Every File Format in the World" is a list of file name extensions or suffixes that indicate the format or usage of a file...
 
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