X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FStorable.pm;h=7b4c2e0d813f9585c210ad276e87ef2906a72098;hb=282bf498899061be19ec7fd7ce16bf25a562fdcf;hp=c636660a031deff284847055723ae259c3db827b;hpb=349af1145a95c90b8012fd93cd90aabd4586ecd0;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/Storable.pm b/lib/SQL/Translator/Producer/Storable.pm old mode 100755 new mode 100644 index c636660..7b4c2e0 --- a/lib/SQL/Translator/Producer/Storable.pm +++ b/lib/SQL/Translator/Producer/Storable.pm @@ -1,43 +1,56 @@ package SQL::Translator::Producer::Storable; -# $Source: /home/faga/work/sqlfairy_svn/sqlfairy-cvsbackup/sqlfairy/lib/SQL/Translator/Producer/Storable.pm,v $ -# $Id: Storable.pm,v 1.2 2003-10-08 20:33:31 phrrngtn Exp $ - +# ------------------------------------------------------------------- +# Copyright (C) 2002-2009 SQLFairy Authors +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; version 2. +# +# This program 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. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA +# ------------------------------------------------------------------- =head1 NAME -SQL::Translator::Producer::Storable - null producer for Schema objects that have already been created. +SQL::Translator::Producer::Storable - serializes the SQL::Translator::Schema + object via the Storable module =head1 SYNOPSIS use SQL::Translator; - use SQL::Translator::Producer::Storable; my $translator = SQL::Translator->new; - $translator->producer("SQL::Translator::Producer::Storable"); + $translator->producer('Storable'); =head1 DESCRIPTION -Uses Storable to serialize a schema to a string so that it can be -saved on disk or whatever. +This module uses Storable to serialize a schema to a string so that it +can be saved to disk. Serializing a schema and then calling producers +on the stored can realize significant performance gains when parsing +takes a long time. =cut use strict; use vars qw($DEBUG $VERSION @EXPORT_OK); $DEBUG = 0 unless defined $DEBUG; -$VERSION = sprintf "%d.%02d", q$Revision: 1.2 $ =~ /(\d+)\.(\d+)/; +$VERSION = '1.59'; use Storable; use Exporter; -use SQL::Translator::Utils qw(debug normalize_name); - use base qw(Exporter); @EXPORT_OK = qw(produce); sub produce { my $t = shift; - my $args = $t->producer_args; my $schema = $t->schema; my $serialized = Storable::nfreeze($schema); @@ -49,12 +62,12 @@ sub produce { =pod -=head1 AUTHORS +=head1 AUTHOR -Paul Harrington +Paul Harrington Eharringp@deshaw.comE. =head1 SEE ALSO -SQL::Translator::Parser::Excel; +SQL::Translator, SQL::Translator::Schema, Storable. =cut