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

FreeBSD Manual Pages

  
 
  

home | help
Padre::DB::Snippets(3)User Contributed Perl DocumentatioPadre::DB::Snippets(3)

NAME
       Padre::DB::Snippets - Padre::DB class for the snippets table

DESCRIPTION
       TO BE COMPLETED

METHODS
   base
	 # Returns 'Padre::DB'
	 my $namespace = Padre::DB::Snippets->base;

       Normally	you will only need to work directly with a table class,	and
       only with one ORLite package.

       However,	if for some reason you need to work with multiple ORLite
       packages	at the same time without hardcoding the	root namespace all the
       time, you can determine the root	namespace from an object or table
       class with the "base" method.

   table
	 # Returns 'snippets'
	 print Padre::DB::Snippets->table;

       While you should	not need the name of table for any simple operations,
       from time to time you may need it programatically. If you do need it,
       you can use the "table" method to get the table name.

   load
	 my $object = Padre::DB::Snippets->load( $id );

       If your table has single	column primary key, a "load" method will be
       generated in the	class. If there	is no primary key, the method is not
       created.

       The "load" method provides a shortcut mechanism for fetching a single
       object based on the value of the	primary	key. However it	should only be
       used for	cases where your code trusts the record	to already exists.

       It returns a "Padre::DB::Snippets" object, or throws an exception if
       the object does not exist.

   select
	 # Get all objects in list context
	 my @list = Padre::DB::Snippets->select;

	 # Get a subset	of objects in scalar context
	 my $array_ref = Padre::DB::Snippets->select(
	     'where id > ? order by id',
	     1000,
	 );

       The "select" method executes a typical SQL "SELECT" query on the
       snippets	table.

       It takes	an optional argument of	a SQL phrase to	be added after the
       "FROM snippets" section of the query, followed by variables to be bound
       to the placeholders in the SQL phrase. Any SQL that is compatible with
       SQLite can be used in the parameter.

       Returns a list of Padre::DB::Snippets objects when called in list
       context,	or a reference to an "ARRAY" of	Padre::DB::Snippets objects
       when called in scalar context.

       Throws an exception on error, typically directly	from the DBI layer.

   iterate
	 Padre::DB::Snippets->iterate( sub {
	     print $_->id . "\n";
	 } );

       The "iterate" method enables the	processing of large tables one record
       at a time without loading having	to them	all into memory	in advance.

       This plays well to the strength of SQLite, allowing it to do the	work
       of loading arbitrarily large stream of records from disk	while
       retaining the full power	of Perl	when processing	the records.

       The last	argument to "iterate" must be a	subroutine reference that will
       be called for each element in the list, with the	object provided	in the
       topic variable $_.

       This makes the "iterate"	code fragment above functionally equivalent to
       the following, except with an O(1) memory cost instead of O(n).

	 foreach ( Padre::DB::Snippets->select ) {
	     print $_->id . "\n";
	 }

       You can filter the list via SQL in the same way you can with "select".

	 Padre::DB::Snippets->iterate(
	     'order by ?', 'id',
	     sub {
		 print $_->id .	"\n";
	     }
	 );

       You can also use	it in raw form from the	root namespace for better
       control.	 Using this form also allows for the use of arbitrarily
       complex queries,	including joins. Instead of being objects, rows	are
       provided	as "ARRAY" references when used	in this	form.

	 Padre::DB->iterate(
	     'select name from snippets	order by id',
	     sub {
		 print $_->[0] . "\n";
	     }
	 );

   count
	 # How many objects are	in the table
	 my $rows = Padre::DB::Snippets->count;

	 # How many objects
	 my $small = Padre::DB::Snippets->count(
	     'where id > ?',
	     1000,
	 );

       The "count" method executes a "SELECT COUNT(*)" query on	the snippets
       table.

       It takes	an optional argument of	a SQL phrase to	be added after the
       "FROM snippets" section of the query, followed by variables to be bound
       to the placeholders in the SQL phrase. Any SQL that is compatible with
       SQLite can be used in the parameter.

       Returns the number of objects that match	the condition.

       Throws an exception on error, typically directly	from the DBI layer.

   new
	 TO BE COMPLETED

       The "new" constructor is	used to	create a new abstract object that is
       not (yet) written to the	database.

       Returns a new Padre::DB::Snippets object.

   create
	 my $object = Padre::DB::Snippets->create(

	     id	=> 'value',

	     mimetype => 'value',

	     category => 'value',

	     name => 'value',

	     snippet =>	'value',

	 );

       The "create" constructor	is a one-step combination of "new" and
       "insert"	that takes the column parameters, creates a new
       Padre::DB::Snippets object, inserts the appropriate row into the
       snippets	table, and then	returns	the object.

       If the primary key column "id" is not provided to the constructor (or
       it is false) the	object returned	will have "id" set to the new unique
       identifier.

       Returns a new snippets object, or throws	an exception on	error,
       typically from the DBI layer.

   insert
	 $object->insert;

       The "insert" method commits a new object	(created with the "new"
       method) into the	database.

       If a the	primary	key column "id"	is not provided	to the constructor (or
       it is false) the	object returned	will have "id" set to the new unique
       identifier.

       Returns the object itself as a convenience, or throws an	exception on
       error, typically	from the DBI layer.

   delete
	 # Delete a single instantiated	object
	 $object->delete;

	 # Delete multiple rows	from the snippets table
	 Padre::DB::Snippets->delete('where id > ?', 1000);

       The "delete" method can be used in a class form and an instance form.

       When used on an existing	Padre::DB::Snippets instance, the "delete"
       method removes that specific instance from the "snippets", leaving the
       object intact for you to	deal with post-delete actions as you wish.

       When used as a class method, it takes a compulsory argument of a	SQL
       phrase to be added after	the "DELETE FROM snippets" section of the
       query, followed by variables to be bound	to the placeholders in the SQL
       phrase. Any SQL that is compatible with SQLite can be used in the
       parameter.

       Returns true on success or throws an exception on error,	or if you
       attempt to call delete without a	SQL condition phrase.

   truncate
	 # Delete all records in the snippets table
	 Padre::DB::Snippets->truncate;

       To prevent the common and extremely dangerous error case	where deletion
       is called accidentally without providing	a condition, the use of	the
       "delete"	method without a specific condition is forbidden.

       Instead,	the distinct method "truncate" is provided to delete all
       records in a table with specific	intent.

       Returns true, or	throws an exception on error.

ACCESSORS
   id
	 if ( $object->id ) {
	     print "Object has been inserted\n";
	 } else	{
	     print "Object has not been	inserted\n";
	 }

       Returns true, or	throws an exception on error.

       REMAINING ACCESSORS TO BE COMPLETED

SQL
       The snippets table was originally created with the following SQL
       command.

	 CREATE	TABLE snippets (
	     id	INTEGER	PRIMARY	KEY,
	     mimetype VARCHAR(255),
	     category VARCHAR(255),
	     name VARCHAR(255),
	     snippet TEXT
	 )

SUPPORT
       Padre::DB::Snippets is part of the Padre::DB API.

       See the documentation for Padre::DB for more information.

AUTHOR
       Adam Kennedy <adamk@cpan.org>

COPYRIGHT
       Copyright 2010 Adam Kennedy.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full	text of	the license can	be found in the	LICENSE	file included
       with this module.

perl v5.24.1			  2010-10-05		Padre::DB::Snippets(3)

NAME | DESCRIPTION | METHODS | ACCESSORS | SQL | SUPPORT | AUTHOR | COPYRIGHT

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

home | help