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

FreeBSD Manual Pages

  
 
  

home | help
DBIx::SQLite::Simple::UsereContributed Perl DocuDBIx::SQLite::Simple::Table(3)

NAME
       DBIx::SQLite::Simple::Table - superclass	only used to handle SQL	tables

SYNOPSIS
	  # Example of a table with a primary key

	  package TPub;

	  require DBIx::SQLite::Simple::Table;
	  our @ISA = qw(DBIx::SQLite::Simple::Table);

	  our @AS = qw(
	     idPub
	     pub
	  );
	  __PACKAGE__->cgBuildIndices;
	  __PACKAGE__->cgBuildAccessorsScalar(\@AS);

	  # 'our $Id' and 'our @Fields'	are named Id and Fields	for a good
	  # reason, so do not name these variables by another name.
	  our $Id     =	$AS[0];
	  our @Fields =	@AS[1..$#AS];

	  1;

	  # Example of a table with no key at all

	  package TBeer;

	  require DBIx::SQLite::Simple::Table;
	  our @ISA = qw(DBIx::SQLite::Simple::Table);

	  our @AS = qw(
	     beer
	     country
	  );
	  __PACKAGE__->cgBuildIndices;
	  __PACKAGE__->cgBuildAccessorsScalar(\@AS);

	  our @Fields =	@AS;

	  1;

	  # Now, we have two tables, we	can play with the database

	  package main;

	  require DBIx::SQLite::Simple;
	  my $db = DBIx::SQLite::Simple->new(db	=> 'sqlite.db');

	  # Create to object to	play with the two tables
	  my $tPub = TPub->new;
	  my $tBeer = TBeer->new;

	  # Create tables
	  $tPub->create	 unless	$tPub->exists;
	  $tBeer->create unless	$tBeer->exists;

	  # Create some	entries
	  my @pubEntries;
	  push @pubEntries, TPub->new(pub => $_) for (qw(corner	friends));

	  my @beerEntries;
	  push @beerEntries, TBeer->new(beer =>	$_, country => 'BE')
	     for (qw(grim leffe	bud));

	  # Now	insert those entries;
	  $tPub->insert(\@pubEntries);
	  $tBeer->insert(\@beerEntries);

	  # Get	friends	pub
	  my $friends =	$tPub->select(pub => 'friends');

	  # Lookup id
	  my $id = $tPub->lookupId(pub => 'friends');

	  # Lookup string
	  my $str = $tPub->lookupString('pub', idPub =>	$id);

	  # Add	a beer from 'chez moi'
	  my $dremmwel = TBeer->new(beer => 'Dremmwel',	country	=> '?');
	  $tBeer->insert([ $dremmwel ]);

	  $tPub->commit;
	  $tBeer->commit;

	  # Update Dremmwel
	  my $dremmwelOld = $dremmwel->cgClone;
	  $dremmwel->country('BZH');
	  $tBeer->update([ $dremmwel ],	$dremmwelOld);
	  $tBeer->commit;

	  # Delete all pubs
	  $tPub->delete(\@pubEntries);

ATTRIBUTES
       dbo Stores a DBIx::SQLite::Simple object.

METHODS
       new Object creator. Will	return an object used to access	corresponding
	   SQL table. You can pass an optional parameter: dbo. By default, it
	   uses	the global variable $DBIx::SQLite::Simple::Dbo.

       commit
	   Just	a convenient method to commit pending changes to the whole
	   database.

       create
	   Method to create the	table.

       exists
	   Method to verify existence of a table.

       select
	   If called without parameters, returns the whole content as an
	   arrayref. If	called with a hash as argument containing some table
	   fields with values, it plays	as multiple where clauses (return
	   result as an	arrayref also).	See SYNOPSIS.

       selectById
	   This	method returns a reference to an array with each array indice
	   set to the corresponding table object id.

       getKey
	   Method used to generate a unique key, using to store	and retrieve a
	   database element quickly. By	default, the key is the	first field in
	   the table schema (excluding the id field). It is user
	   responsibility to override this method to use an appropriate	key.

       selectByKey
	   Method used to cache	a table	content. It uses getKey	to store the
	   object into a reference to a	hash. You access a cached element by
	   calling getKey on an	object.

       delete($arrayref)
	   Deletes all entries specified in the	arrayref (they are all objects
	   of type DBIx::SQLite::Simple::Table).

       insert($arrayref)
	   Insert all entries specified	in the arrayref	(they are all objects
	   of type DBIx	::SQLite::Simple::Table).

       update($arrayref)
	   Will	update elements	specified within the arrayref (they are	all
	   objects of type DBIx::SQLite::Simple::Table). If an additionnal
	   argument is passed, it will act as a	where clause. See SYNOPSIS.

       lookupId(%hash)
	   Returns the the id if the specified field/value hash.

       lookupString($field, field2 => value)
	   Returns the content of the specified	field. See SYNOPSIS.

AUTHOR
       Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
       Copyright (c) 2005-2015,	Patrice	<GomoR>	Auffret

       You may distribute this module under the	terms of the Artistic license.
       See LICENSE.Artistic file in the	source distribution archive.

perl v5.24.1			  2015-01-04	DBIx::SQLite::Simple::Table(3)

NAME | SYNOPSIS | ATTRIBUTES | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::SQLite::Simple::Table&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help