Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tangram::relational(3pm) [debian man page]

Tangram::Relational(3pm)				User Contributed Perl Documentation				  Tangram::Relational(3pm)

NAME
Tangram::Relational - Orthogonal Object Persistence in Relational Databases SYNOPSIS
use Tangram; $schema = Tangram::Relational->schema( $hashref ); Tangram::Relational->deploy($schema, $dbh); $storage = Tangram::Relational->connect( $schema, $data_source, $username, $password ); $storage->disconnect(); Tangram::Relational->retreat($schema, $dbh); DESCRIPTION
This is the entry point in the vanilla object-relational persistence backend. Vendor-specific backends should be used when they exist. Cur- rently Mysql, Sybase and Oracle have such backends; see Tangram::mysql, Tangram::Sybase and Tangram::Oracle. More backends could be added in the future; they might implement persistence in XML documents, pure object databases, using C database libraries to bypass the need for an RDBMS, etc. CLASS METHODS
schema $schema = Tangram::Relational->schema( $hashref ); Returns a new Schema object. See Tangram::Schema. deploy Tangram::Relational->deploy($schema); Tangram::Relational->deploy($schema, HANDLE); Tangram::Relational->deploy($schema, @dbi_args); Writes SQL statements for preparing a database for use with the given $schema. Called with a single argument, writes SQL statements to STDOUT. Called with two arguments, writes SQL statements to HANDLE. HANDLE may be a DBI connection handle or a file handle. Called with more than two arguments, passes all but the first to DBI::connect() and writes statements to the resulting DBI handle, which is automatically closed. The SQL code is only guaranteed to work on newly created databases. connect $storage = Tangram::Relational->connect( $schema, $data_source, $user, $password, \%options ) Connects to a storage and return a handle object. Dies in case of failure. $schema is a Schema object describing the system of classes stored in the database. $data_source, $user and $password are passed directly to DBI::connect(). \%options is a reference to a hash containing connection options. See Tangram::Storage for a description of available options. retreat Tangram::Relational->retreat($schema); Tangram::Relational->retreat($schema, HANDLE); Tangram::Relational->retreat($schema, @dbi_args); Remove the tables created by deploy(). Only guaranteed to work against a database that was deployed using exactly the same schema. For an explanation of the possible argument lists, see deploy. WRITING A VENDOR DRIVER
Like Charles Moore (inventor of Forth) used to say, "standards are great, everybody should have one!". Tangram can take advantage of extensions available in some SQL dialects. To create a vendor-specific driver, call it "Tangram::Foo" (where "Foo" is the name of the DBI driver, as would be selected with the DBI connection string "dbi:Foo:"), and derive "Tangram::Relational". For now, the existing back-ends should be used as examples of how to extend Tangram to support different databases or utilise some of their more exotic features. perl v5.8.8 2006-03-29 Tangram::Relational(3pm)

Check Out this Related Man Page

Tangram::Type::Scalar(3pm)				User Contributed Perl Documentation				Tangram::Type::Scalar(3pm)

NAME
Tangram::Type::Scalar - map scalar fields SYNOPSIS
use Tangram; Tangram::Schema->new( classes => { NaturalPerson => { fields => { string => [ qw( name firstName gender ) ], int => [ qw( age ) ], real => [ qw( height weight ) ], $schema = Tangram::Schema->new( classes => { NaturalPerson => { fields => { string => { name => { sql => 'VARCHAR(100)' }, 1stname => { col => 'firstName', sql => 'VARCHAR(100) NULL' }, gender => undef() }, DESCRIPTION
Classes Tangram::Type::String, ::Int and ::Real and ::Ref are responsible for mapping the various subtypes of scalars. The first three map- pings are documented here since they differ very little. See Tangram::Type::Ref::FromMany for information on mapping references. Tangram::Type::String uses DBI's quote() method to quote strings if that method is available, thus making it possible to store binary objects or multiline text in databases that support it (thanks to Marian Kelc <marian.kelc@ruhr-uni-bochum.de> for suggesting this improve- ment). The three predefined typetags "string", "int" and "real" are for the corresponding Perl scalar subtypes. Each scalar field is stored in a single column of the table associated to the class. The persistent fields may be specified either as a hash or as an array of field names. In the hash form, each entry consists in a field name and an associated option hash. The option hash may contain the following fields: * col * sql * automatic "col" sets the name of the column used to store the field's value. This field is optional, it defaults to the persistent field name. Over- ride if the field name is not an acceptable SQL column name. "sql" sets the SQL type of the column. Used by Schema::deploy() when initializing a database. Defaults to 'VARCHAR(255) NULL' for strings, 'INT NULL' for ints and 'REAL NULL' for reals. "automatic", if set to true, tells Tangram not to save the field to storage. This is useful for auto-increment or timestamp columns. The persistent fields may also be specified as an array of strings, in which case the defaults are used. perl v5.8.8 2006-03-29 Tangram::Type::Scalar(3pm)
Man Page