tntdb 1.0.1 (Default branch)


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News tntdb 1.0.1 (Default branch)
# 1  
Old 06-04-2008
tntdb 1.0.1 (Default branch)

ImageTntdb is a c++-class-library for database access.It implements a database-independent layer, whichloads the actual driver dynamically when aconnection is made. The classes use automaticresource management with reference counts.Resources are freed when the classes go out ofscope. Error handling is done with exceptions(derived from std::exception). There are STL-likeiterators for result sets and rows, and also thecursor is an STL-like iterator. It is written instandard C++ with Linux. Drivers for PostgreSQL,sqlite3, MySQL, and Oracle are available.License: GNU Lesser General Public License (LGPL)Changes:
The sqlite driver of tntdb had two small bugs.Setting strings in statements did not lead toequality when compared to columns. Using multiplecursors for one statement crashed tntdb when thecursors were released in reverse order.Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
Test::Database::Driver(3pm)				User Contributed Perl Documentation			       Test::Database::Driver(3pm)

NAME
Test::Database::Driver - Base class for Test::Database drivers SYNOPSIS
package Test::Database::Driver::MyDatabase; use strict; use warnings; use Test::Database::Driver; our @ISA = qw( Test::Database::Driver ); sub _version { my ($class) = @_; ...; return $version; } sub create_database { my ( $self ) = @_; ...; return $handle; } sub drop_database { my ( $self, $name ) = @_; ...; } sub databases { my ($self) = @_; ...; return @databases; } DESCRIPTION
"Test::Database::Driver" is a base class for creating "Test::Database" drivers. METHODS
The class provides the following methods: new( %args ) Create a new "Test::Database::Driver" object. If called as "Test::Database::Driver->new()", requires a "driver" parameter to define the actual object class. make_handle() Create a new "Test::Database::Handle" object, attached to an existing database or to a newly created one. The decision whether to create a new database or not is made by "Test::Database::Driver" based on the information in the mapper. See "TEMPORARY STORAGE ORGANIZATION" for details. make_dsn( %args ) Return a Data Source Name based on the driver's DSN, with the key/value pairs contained in %args as additional parameters. This is typically used by "dsn()" to make a DSN for a specific database, based on the driver's DSN. name() dbd() The driver's short name (everything after "Test::Database::Driver::"). base_dir() The directory where the driver should store all the files for its databases, if needed. Typically used by file-based database drivers. version() "version" object representing the version of the underlying database enginge. This object is build with the return value of "_version()". version_string() Version string representing the version of the underlying database enginge. This string is the actual return value of "_version()". dbd_version() The version of the DBD used to connect to the database engine, as returned by "VERSION()". driver_dsn() Return a driver Data Source Name, sufficient to connect to the database engine without specifying an actual database. username() Return the connection username. password() Return the connection password. connection_info() Return the connection information triplet ("driver_dsn", "username", "password"). version_matches( $request ) Return a boolean indicating if the driver's version matches the version constraints in the given request (see Test::Database documentation's section about requests). The class also provides a few helpful commands that may be useful for driver authors: available_dbname() Return an unused database name that can be used to create a new database for the driver. dsn( $dbname ) Build a Data Source Name for the database with the given $dbname, based on the driver's DSN. WRITING A DRIVER FOR YOUR DATABASE OF CHOICE
The SYNOPSIS contains a good template for writing a "Test::Database::Driver" class. Creating a driver requires writing the following methods: _version() Return the version of the underlying database engine. create_database( $name ) Create the database for the corresponding DBD driver. Return a "Test::Database::Handle" in case of success, and nothing in case of failure to create the database. drop_database( $name ) Drop the database named $name. Some methods have defaults implementations in "Test::Database::Driver", but those can be overridden in the derived class: is_filebased() Return a boolean value indicating if the database engine is file-based or not, i.e. if all the database information is stored in a file or a directory, and no external database server is needed. databases() Return the names of all existing databases for this driver as a list (the default implementation is only valid for file-based drivers). TEMPORARY STORAGE ORGANIZATION
Subclasses of "Test::Database::Driver" store useful information in the system's temporary directory, under a directory named Test-Database-$user ($user being the current user's name). That directory contains the following files: database files The database files and directories created by file-based drivers controlled by "Test::Database" are stored here, under names matching tdd_DRIVER_N, where DRIVER is the lowercased name of the driver and N is a number. the mapping.yml file A YAML file containing a "cwd()" / database name mapping, to enable a given test suite to receive the same database handles in all the test scripts that call the "Test::Database-"handles()> method. AUTHOR
Philippe Bruhat (BooK), "<book@cpan.org>" COPYRIGHT
Copyright 2008-2010 Philippe Bruhat (BooK), all rights reserved. LICENSE
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-11-27 Test::Database::Driver(3pm)