Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tangram::Type::Array::UserOContributed Perl DoTangram::Type::Array::FromOne(3)

NAME
       Tangram::Type::Array::FromOne - map Perl	arrays using a foreign key

SYNOPSIS
	  use Tangram;

	  # or
	  use Tangram::Core;
	  use Tangram::Type::Array::FromOne;

	  $schema = Tangram::Schema->new(

	     classes =>	{ Agenda => { fields =>	{

	     iarray =>
	     {
		# long form
		entries	=>
		{
		   class => 'Entry',
		   coll	=> 'agenda',
		},

		# or (short form)
		entries	=> 'Entry',
	     }

DESCRIPTION
       This class maps references to a Perl array in an	intrusive fashion. The
       persistent fields are grouped in	a hash under the "iarray" key in the
       field hash.

       The array may contain only objects of persistent	classes. These classes
       must have a common persistent base class.

       Tangram uses two	columns	on the element's table to store:

       o   the id of the object	containing the collection

       o   the position	of the element in the collection

       CAUTION:	the same object	may not	be an element of the same collection,
       in two different	objects. This mapping may be used only for one-to-many
       relationships.

       The field names are passed in a hash that associates a field name with
       a field descriptor. The field descriptor	may be either a	hash or	a
       string. The hash	uses the following fields:

       o   class

       o   aggreg

       o   back

       o   coll

       o   slot

       o   deep_update

       Mandatory field "class" specifies the class of the elements.

       Optional	field "aggreg" specifies that the elements of the collection
       must be removed (erased)	from persistent	storage	along with the
       containing object. The default is not to	aggregate.

       Optional	field "back" sets the name of a	field that is inserted in the
       elements. That field acts as a demand-loaded, read-only reference to
       the object containing the collection.

       Optional	field "coll" sets the name the column containing the id	of the
       containing object. This defaults	to 'C_m', where	'C' is the class of
       the containing object, and 'm' is the field name.

       Optional	field "slot" sets the name the column containing the id	of the
       containing object. This defaults	to 'C_m_slot', where 'C' is the	class
       of the containing object, and 'm' is the	field name.

       The "C" in C_m and C_m_slot are passed through the schema normalisation
       function	before being combined into a column name.

       Optional	field "deep_update" specificies	that all elements have to be
       updated automatically when "update" is called on	the collection object.
       Automatic update	ensures	consisitency between the Perl representation
       and the DBMS state, but degrades	update performance so use it with
       caution.	The default is not to do automatic updates.

       If the descriptor is a string, it is interpreted	as the name of the
       element's class.	This is	equivalent to specifying only the "class"
       field in	the hash variant.

perl v5.32.0			  2015-10-09  Tangram::Type::Array::FromOne(3)

NAME | SYNOPSIS | DESCRIPTION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Tangram::Type::Array::FromOne&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help