|
From: <rv...@us...> - 2009-06-11 04:02:40
|
Revision: 21
http://treebase.svn.sourceforge.net/treebase/?rev=21&view=rev
Author: rvos
Date: 2009-06-11 04:02:05 +0000 (Thu, 11 Jun 2009)
Log Message:
-----------
Formatted source, added closing semicolon to terminate SQL INSERT statements
Modified Paths:
--------------
trunk/treebase-core/src/main/perl/lib/CIPRES/TreeBase/RecDumper.pm
Modified: trunk/treebase-core/src/main/perl/lib/CIPRES/TreeBase/RecDumper.pm
===================================================================
--- trunk/treebase-core/src/main/perl/lib/CIPRES/TreeBase/RecDumper.pm 2009-06-11 02:10:55 UTC (rev 20)
+++ trunk/treebase-core/src/main/perl/lib/CIPRES/TreeBase/RecDumper.pm 2009-06-11 04:02:05 UTC (rev 21)
@@ -5,12 +5,16 @@
sub new {
my $class = shift;
my %arg = @_;
- my $fn = $arg{FIELDS} or croak("$class->new: FIELDS required");
- my $ct = $arg{TYPES} or croak("$class->new: TYPES required");
- my $tn = uc $arg{TABLE} or croak("$class->new: TABLE required");
- my $X = my @fieldnames = map uc, @$fn;
-
- my $self = { F => \@fieldnames, X => $X, N => $tn, T => $ct };
+ my $fn = $arg{'FIELDS'} or croak("$class->new: FIELDS required");
+ my $ct = $arg{'TYPES'} or croak("$class->new: TYPES required");
+ my $tn = uc $arg{'TABLE'} or croak("$class->new: TABLE required");
+ my $X = my @fieldnames = map uc, @$fn;
+ my $self = {
+ 'F' => \@fieldnames,
+ 'X' => $X,
+ 'N' => $tn,
+ 'T' => $ct
+ };
bless $self => $class;
$self->_initialize();
return $self;
@@ -18,53 +22,54 @@
sub set_output {
my ($self, $fh) = @_;
- $self->{OUT} = $fh;
+ $self->{'OUT'} = $fh;
}
sub _initialize {
my $self = shift;
my $fieldlist = join ", ", @{$self->{F}};
# Need to escape certain field names here
- $self->{PREFIX} = qq{INSERT INTO $self->{N} ($fieldlist) VALUES (};
- $self->{SUFFIX} = qq{)\n};
+ $self->{'PREFIX'} = qq{INSERT INTO $self->{N} ($fieldlist) VALUES (};
+ $self->{'SUFFIX'} = qq{);\n}; # XXX added closing semicolon
return;
}
# Format data into an insert statement and return (or write) the result
sub rec {
- my $self = shift;
- @_ > @{$self->{F}}
- and croak("rec: too many items (expected $self->{X})");
- @_ < @{$self->{F}}
- and croak("rec: too few items (expected $self->{X})");
-
- @_ = $self->quote_data(@_);
-
- my $values = join ", ", @_;
- my $insert = $self->{PREFIX} . $values . $self->{SUFFIX};
- return print {$self->{OUT}} $insert if $self->{OUT};
- return $insert;
+ my $self = shift;
+ @_ > @{$self->{F}}
+ and croak("rec: too many items (expected $self->{X})");
+ @_ < @{$self->{F}}
+ and croak("rec: too few items (expected $self->{X})");
+
+ @_ = $self->quote_data(@_);
+
+ my $values = join ", ", @_;
+ my $insert = $self->{'PREFIX'} . $values . $self->{'SUFFIX'};
+ return print {$self->{'OUT'}} $insert if $self->{'OUT'};
+ return $insert;
}
# XXX UNFINISHED !!!!
sub quote_data {
my $self = shift;
my @d = @_;
- for my $i (0 .. $#{$self->{F}}) {
- my $t = $self->{T}[$i];
- local *_ = \$d[$i];
- $_ = "NULL", next unless defined;
-
- if ($t eq "CHAR" || $t eq "VARCHAR") {
- s/'/''/g;
- $_ = "'$_'";
- } elsif ($t =~ /^(BIG|SMALL|)INT$/ || $t eq "INTEGER"
- || $t eq "DOUBLE") {
- # do nothing
- } else {
- croak("Unknown field type '$t'; aborting");
+ for my $i (0 .. $#{$self->{F}}) {
+ my $t = $self->{T}[$i];
+ local *_ = \$d[$i];
+ $_ = "NULL", next unless defined;
+
+ if ($t eq "CHAR" || $t eq "VARCHAR") {
+ s/'/''/g;
+ $_ = "'$_'";
+ }
+ elsif ($t =~ /^(BIG|SMALL|)INT$/ || $t eq 'INTEGER' || $t eq 'DOUBLE') {
+ # do nothing
+ }
+ else {
+ croak("Unknown field type '$t'; aborting");
+ }
}
- }
return @d;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|