Michael Alan Dorman > DBIx-POS > DBIx::POS

Download:
DBIx-POS-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source  

NAME ^

DBIx::POS - Define a dictionary of SQL statements in a POD dialect (POS)

SYNOPSIS ^

To define your dictionary:

  package OurSQL;

  use strict;
  use warnings;
  use base qw{DBIx::POS};
  __PACKAGE__->instance (__FILE__);

  =name testing

  =desc test the DBI::POS module

  =param

  Some arbitrary parameter

  =sql

  There is really no syntax checking done on the content of the =sql section.

  =cut

To use your dictionary:

  package main;

  use strict;
  use warnings;
  use OurSQL;

  my $sql = OurSQL->instance;

  $dbh->do ($sql->{testing});

DESCRIPTION ^

DBIx-POS subclasses Pod::Parser to define a POD dialect for writing a SQL dictionary for an application, and uses code from Class::Singleton to make the resulting structure easily accessible.

By encouraging the centralization of SQL code, it guards against SQL statement duplication (and the update problems that can generate).

By separating the SQL code from its normal context of execution, it encourages you to do other things with it---for instance, it is easy to create a script that can do performance testing of certain SQL statements in isolation, or to create generic command-line wrapper around your SQL statements.

By giving a framework for documenting the SQL, it encourages documentation of the intent and/or implementation of the SQL code. It also provides all of that information in a format from which other documentation could be generated---say, a chunk of DocBook for incorporation into a guide to programming the application.

EXPORT

Nothing is exported. Aren't singletons cool?

SEE ALSO ^

DBI, Pod::Parser, Class::Singleton

AUTHOR ^

Michael Alan Dorman, <mdorman@debian.org>

The instance routine is from Class::Singleton

Andy Wardley, <abw@cre.canon.co.uk>

Web Technology Group, Canon Research Centre Europe Ltd.

Thanks to Andreas Koenig <andreas.koenig@anima.de> for providing some significant speedup patches and other ideas.

COPYRIGHT AND LICENSE ^

Copyright (C) 2004 by Michael Alan Dorman

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

The instance routine is from Class::Singleton

Copyright (C) 1998 Canon Research Centre Europe Ltd. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the term of the Perl Artistic License.

syntax highlighting: