Orthogonal object persistence in postgresql databases
use Tangram; use Tangram::Driver::Pg; $schema = Tangram::Driver::Pg->schema( $hashref ); Tangram::Driver::Pg->deploy($schema, $dbh); $storage = Tangram::Driver::Pg->connect( $schema, $data_source, $username, $password ); $storage->disconnect(); Tangram::Driver::Pg->retreat($schema, $dbh);
This is the entry point in the Pg-specific object-relational persistence backend.
This module performs the following:
This backend does not add any methods; for a description of available methods, see Tangram::Relational.
Tangram::Type::Dump::Storable objects are first encoded with MIME::Base64, because Tangram does not currently have an easy mechanism for calling \*(C`DBI->bind_param()\*(C' at the appropriate time to flag the column as binary.
Tangram::Type::Dump::Perl objects are stored as \*(C`BYTEA\*(C' columns, which as of DBD::Pg 1.31, also do not get correctly escaped by the \s-1DBD\s0 driver. This also affects the (as-yet not fully functional) Tangram::Type::Dump::YAML back-end, which might put \*(C`\\*(C' characters into a \s-1YAML\s0 document.
It is recommended to use the \*(C`storable\*(C' type with Tangram::Type::Dump::Any for this reason.