SQL-Routine ---------------------------------------------------------------------- by Darren Duncan CONTENTS * Preface * Keeping Up To Date * Dependencies * Support * Credits * Copyright And License PREFACE This distribution features the Perl 5 module named "SQL::Routine"; see the files lib/SQL/Routine.pm and lib/SQL/Routine/Language.pod for the roots of the main documentation, which is in POD format. The distribution also includes a ChangeLog file to say what changes already happened, and a TODO file to say what changes have yet to happen. The file INSTALL should help with installation issues. Read below for how to get support or keep up to date, know this distribution's dependencies, or read the credits or copyright and license. KEEPING UP TO DATE My module set is constantly under development. The canonical copies are all linked to through my website, "http://www.DarrenDuncan.net/", on the page called "Perl Libraries I Made" (name subject to change). For those of you that are interested in the bleeding edge, I now have a public Subversion repository at "http://svn.utsl.gen.nz/trunk/Rosetta/"; this repository contains all of my newer modules (whose problem domain is databases), but not my older modules (which are not about databases). You can download slightly older but more stable versions of all of my modules in standard tarred and gzipped distributions, either from the public CPAN archives, "http://www.cpan.org/authors/id/D/DU/DUNCAND/", or from my own web server, "http://www.DarrenDuncan.net/d/perl/". CPAN also extracts the POD from modules and maintains that documentation in an organized and searchable fashion. Their main search site is "http://search.cpan.org/", and my own DUNCAND author page is "http://search.cpan.org/~duncand/"; distributions are also there. You can download my oldest distributions from BACKPAN, at "http://history.perl.org/backpan/authors/id/D/DU/DUNCAND/", or from my web server, at "http://www.DarrenDuncan.net/d/perl/archives/". DEPENDENCIES Perl Version: 5.008001 Core Modules: Scalar::Util 1.11 (for weak refs) Test::More 0.47 (but only for the test suite) Non-Core Modules: Locale::KeyedText 1.05 (for error messages) This module doesn't require anything else. SUPPORT Currently I don't have any support arranged with other people, lists, newsgroups, or otherwise. Feel free to ask me if you can't figure things out on your own, or another person whom you know has used this. I may start a mailing list for support issues later, so that users of my modules can help each other with them. =head1 CREDITS Besides myself as the creator ... * 2004.05.20 - Thanks to Jarrell Dunson (jarrell_dunson@asburyseminary.edu) for inspiring me to add some concrete SYNOPSIS documentation examples to this module, which demonstrate actual SQL statements that can be generated from parts of a model, when he wrote me asking for examples of how to use this module. * 2005.03.21 - Thanks to Stevan Little (stevan@iinteractive.com) for feedback towards improving this module's documentation, particularly towards using a much shorter SYNOPSIS, so that it is easier for newcomers to understand the module at a glance, and not be intimidated by large amounts of detailed information. Also thanks to Stevan for introducing me to Scalar::Util::weaken(); by using it, SQL::Routine objects can be garbage collected normally despite containing circular references, and users no longer need to invoke destructor methods. COPYRIGHT AND LICENSE This file is part of the SQL::Routine database portability library. SQL::Routine is Copyright (c) 2002-2005, Darren R. Duncan. All rights reserved. Address comments, suggestions, and bug reports to perl@DarrenDuncan.net, or visit http://www.DarrenDuncan.net/ for more information. SQL::Routine is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation (http://www.fsf.org/); either version 2 of the License, or (at your option) any later version. You should have received a copy of the GPL as part of the SQL::Routine distribution, in the file named "GPL"; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Linking SQL::Routine statically or dynamically with other modules is making a combined work based on SQL::Routine. Thus, the terms and conditions of the GPL cover the whole combination. As a special exception, the copyright holders of SQL::Routine give you permission to link SQL::Routine with independent modules, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice, provided that every copy of the combined work is accompanied by a complete copy of the source code of SQL::Routine (the version of SQL::Routine used to produce the combined work), being distributed under the terms of the GPL plus this exception. An independent module is a module which is not derived from or based on SQL::Routine, and which is fully useable when not linked to SQL::Routine in any form. Any versions of SQL::Routine that you modify and distribute must carry prominent notices stating that you changed the files and the date of any changes, in addition to preserving this original copyright notice and other credits. SQL::Routine is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. While it is by no means required, the copyright holders of SQL::Routine would appreciate being informed any time you create a modified version of SQL::Routine that you are willing to distribute, because that is a practical way of suggesting improvements to the standard version. FIN Share and Enjoy!