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

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

Serving Software Downloads in 976 Categories, Downloaded 29.989.580 Times

Tangram 2.10

  Date Added: July 02, 2010  |  Visits: 653

Tangram

Report Broken Link
Printer Friendly Version


Product Homepage
Download (80 downloads)

Tangram is a simple Perl module that can store pure objects in standard relational databases. Tangram is an object-relational mapper. It is orthogonal, meaning that it does not require anything of the objects stored in it (other than the common convention that base objects be based upon HASHes; individual columns can be anything). It consists of a schema language that can describe or be built around an object structure, or so as to closely match an existing SQL schema (with some limitations). This schema language is rich enough to express such common RDBMS features as links, foreign keys, and link tables. It also consists of a relational database storage engine, which based on the schema structure, will make Perl structures persist in a relational (SQL compliant) database. References to other objects (or collections, as represented with foreign keys and link tables) may be loaded using on demand references that `lazily load data when it is needed. As of Tangram 2.08, the schema need not describe every single object property, so that you can map only the columns you intend to query. The rest of the object is then stored in a column via a serialiser, like Data::Dumper, YAML or Storable. These structures themselves may contain arbitrary references to other objects in storage. Tangram has soundly engineered transaction support, without sacrificing excellent data caching abilities. The general optimisation strategy of the code makes it most suited for OLTP (aka application servers) and other situations where it is better to select and update whole rows than to worry about which columns to retrieve/update or not retrieve/update. Once your object are persistent, you can build query expressions to find them in terms of the schema language that you used to put them in. Therefore, the schema data structure does not describe a data structure, it describes a data access pattern. If you are not picky about which accessor module to use, preferring to specify the schema once only, then you can use the seperately distributed Class::Tangram::Generator to make a set of classes from a Tangram schema structure. If you are looking for a tool that implements SQL abstraction only, you have probably missed the point (of this module, anyway), and a well-supported module like Class::DBI, or an interactive SQL modeller like Alzabo will likely suit your needs better. Tangram is beginning to include preliminary support for aggregation functions, and currently supports grouping, summing and counting. Joins must currently be in terms of integer primary key columns, to extend past this would require extra mapping types to be developed. Basic support for alternative join types is present, but in its infancy. Tangram currently contains no support for database-side updates (ie, UPDATE foo SET bar = baz where frop = blarg), but support is planned. There is no support for creating views based on existing classes to make new derived classes; you have to use your database SQL and create corresponding Tangram classes manually to do that. Tangram has a web site at http://tangram.utsl.gen.nz/, currently sponsored by MarketView (New Zealand) Ltd..

Requirements: No special requirements
Platforms: Linux
Keyword: Libraries Module Objects Perl Module Programming Relational Schema Sql Support Tangram
Users rating: 0/10

License: Freeware Size: 153.6 KB
TANGRAM RELATED
Libraries  -  Class::Tangram 1.57
Class::Tangram is a Perl module for tangram-friendly classes, DWIM attributes. SYNOPSIS package MyObject; use base qw(Class::Tangram); our $fields = { int => [ qw(foo bar) ], string => [ qw(baz quux) ] }; package main; my $object =...
50.18 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  Class::DBI::FormTools 0.0.4
Class::DBI::FormTools is a Perl module to build forms with multiple interconnected objects. SYNOPSIS package MyApp::Film; use base Class::DBI::FormTools; Mason example my $o = Film->retrieve(42); < input...
9.22 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Libraries  -  Ace::Object 1.89
Ace::Object is a Perl module to manipulate Ace Data Objects. SYNOPSIS # open database connection and get an object use Ace; $db = Ace->connect(-host => beta.crbm.cnrs-mop.fr, -port => 20000100); $sequence = $db->fetch(Sequence => D12345);...
296.96 KB  
Libraries  -  Module::Signature 0.55
Module::Signature is a Perl module signature file manipulation. SYNOPSIS As a shell command: % cpansign # verify an existing SIGNATURE, or # make a new one if none exists % cpansign sign # make signature; overwrites existing one %...
68.61 KB  
Libraries  -  Myco::Devel 1.22
Myco::Devel is a Perl module for myco Developers Guide. This guide is intended for developers wanting to build applications with myco. You should have a decent grasp of the Perl programming language, or else a solid grasp of another programming...
102.4 KB  
Libraries  -  OurNet::BBSApp::Sync 0.87
OurNet::BBSApp::Sync is a Perl module to sync between BBS article groups. SYNOPSIS my $sync = OurNet::BBSApp::Sync->new({ artgrp => $local->{boards}{board1}{articles}, rartgrp => $remote->{boards}{board2}{articles}, param => { lseen => 0,...
24.58 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Audio::LADSPA::Buffer 0.018
Audio::LADSPA::Buffer is a Perl module for LADSPA buffer. SYNOPSIS use Audio::LADSPA; my $buffer = Audio::LADSPA::Buffer->new($size); $plugin->connect(Port name => $buffer); $buffer->set( @values ); # or get a buffer from a plugin.....
81.92 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.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...
2.73 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