diff -Nru libsql-statement-perl-1.404/Changes libsql-statement-perl-1.405/Changes --- libsql-statement-perl-1.404/Changes 2013-05-23 12:12:19.000000000 +0000 +++ libsql-statement-perl-1.405/Changes 2013-06-17 05:53:13.000000000 +0000 @@ -1,5 +1,10 @@ Changes log for Perl extension SQL::Statement +Version 1.405, released June 17, 2013 +------------------------------------------------- +[Bug fixes] +* INSERT now expands incomplete rows (Thanks to H.Merijn Brand) + Version 1.404, released May 23, 2013 ------------------------------------------------- [Bug fixes] diff -Nru libsql-statement-perl-1.404/META.json libsql-statement-perl-1.405/META.json --- libsql-statement-perl-1.404/META.json 2013-05-23 12:14:32.000000000 +0000 +++ libsql-statement-perl-1.405/META.json 2013-06-17 05:58:03.000000000 +0000 @@ -58,5 +58,5 @@ }, "x_MailingList" : "mailto:dbi-dev@perl.org" }, - "version" : "1.404" + "version" : "1.405" } diff -Nru libsql-statement-perl-1.404/META.yml libsql-statement-perl-1.405/META.yml --- libsql-statement-perl-1.404/META.yml 2013-05-23 12:14:31.000000000 +0000 +++ libsql-statement-perl-1.405/META.yml 2013-06-17 05:58:03.000000000 +0000 @@ -34,4 +34,4 @@ license: http://dev.perl.org/licenses/ repository: https://github.com/perl5-dbi/SQL-Statement x_MailingList: mailto:dbi-dev@perl.org -version: 1.404 +version: 1.405 diff -Nru libsql-statement-perl-1.404/debian/changelog libsql-statement-perl-1.405/debian/changelog --- libsql-statement-perl-1.404/debian/changelog 2013-06-01 12:19:38.000000000 +0000 +++ libsql-statement-perl-1.405/debian/changelog 2013-06-21 11:58:04.000000000 +0000 @@ -1,3 +1,14 @@ +libsql-statement-perl (1.405-1) unstable; urgency=low + + [ Xavier Guimard ] + * Imported Upstream version 1.405 + + [ gregor herrmann ] + * debian/control: for dual-lifed module, use version constraint as proposed + in #711674. + + -- Xavier Guimard Fri, 21 Jun 2013 06:27:18 +0200 + libsql-statement-perl (1.404-1) unstable; urgency=low * Imported Upstream version 1.404 diff -Nru libsql-statement-perl-1.404/debian/control libsql-statement-perl-1.405/debian/control --- libsql-statement-perl-1.404/debian/control 2013-06-01 12:19:38.000000000 +0000 +++ libsql-statement-perl-1.405/debian/control 2013-06-21 11:58:04.000000000 +0000 @@ -16,7 +16,7 @@ libparams-util-perl, libtest-pod-coverage-perl, libtest-pod-perl, - libtext-soundex-perl | perl (<< 5.18~), + libtext-soundex-perl | perl (<< 5.17.0), perl Standards-Version: 3.9.4 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libsql-statement-perl.git @@ -30,7 +30,7 @@ libclone-perl, libparams-util-perl Recommends: libdbi-perl (>= 1.616), - libtext-soundex-perl | perl (<< 5.18~) + libtext-soundex-perl | perl (<< 5.17.0) Breaks: libdbd-anydata-perl (<< 0.09+), libdbd-csv-perl (<< 0.3000), libdbi-perl (<< 1.612) diff -Nru libsql-statement-perl-1.404/lib/SQL/Dialects/ANSI.pm libsql-statement-perl-1.405/lib/SQL/Dialects/ANSI.pm --- libsql-statement-perl-1.404/lib/SQL/Dialects/ANSI.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Dialects/ANSI.pm 2013-05-30 10:20:39.000000000 +0000 @@ -1,7 +1,7 @@ package SQL::Dialects::ANSI; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; use SQL::Dialects::Role; diff -Nru libsql-statement-perl-1.404/lib/SQL/Dialects/AnyData.pm libsql-statement-perl-1.405/lib/SQL/Dialects/AnyData.pm --- libsql-statement-perl-1.404/lib/SQL/Dialects/AnyData.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Dialects/AnyData.pm 2013-05-30 10:20:39.000000000 +0000 @@ -1,7 +1,7 @@ package SQL::Dialects::AnyData; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; use SQL::Dialects::Role; diff -Nru libsql-statement-perl-1.404/lib/SQL/Dialects/CSV.pm libsql-statement-perl-1.405/lib/SQL/Dialects/CSV.pm --- libsql-statement-perl-1.404/lib/SQL/Dialects/CSV.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Dialects/CSV.pm 2013-05-30 10:20:39.000000000 +0000 @@ -1,7 +1,7 @@ package SQL::Dialects::CSV; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; use SQL::Dialects::Role; diff -Nru libsql-statement-perl-1.404/lib/SQL/Dialects/Role.pm libsql-statement-perl-1.405/lib/SQL/Dialects/Role.pm --- libsql-statement-perl-1.404/lib/SQL/Dialects/Role.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Dialects/Role.pm 2013-05-30 10:20:39.000000000 +0000 @@ -5,7 +5,7 @@ use base qw(Exporter); our @EXPORT = qw(get_config_as_hash); -our $VERSION = '1.404'; +our $VERSION = '1.405'; sub get_config_as_hash { diff -Nru libsql-statement-perl-1.404/lib/SQL/Eval.pm libsql-statement-perl-1.405/lib/SQL/Eval.pm --- libsql-statement-perl-1.404/lib/SQL/Eval.pm 2013-05-23 06:51:10.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Eval.pm 2013-05-30 10:20:37.000000000 +0000 @@ -7,7 +7,7 @@ use warnings; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; use Carp qw(croak); diff -Nru libsql-statement-perl-1.404/lib/SQL/Parser.pm libsql-statement-perl-1.405/lib/SQL/Parser.pm --- libsql-statement-perl-1.404/lib/SQL/Parser.pm 2013-05-23 06:51:11.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Parser.pm 2013-05-30 10:20:38.000000000 +0000 @@ -22,7 +22,7 @@ use Params::Util qw(_ARRAY0 _ARRAY _HASH); use Scalar::Util qw(looks_like_number); -$VERSION = '1.404'; +$VERSION = '1.405'; BEGIN { diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Function.pm libsql-statement-perl-1.405/lib/SQL/Statement/Function.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Function.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Function.pm 2013-05-30 10:20:39.000000000 +0000 @@ -7,7 +7,7 @@ require SQL::Statement::Term; @ISA = qw(SQL::Statement::Term); -$VERSION = '1.404'; +$VERSION = '1.405'; =pod diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Functions.pm libsql-statement-perl-1.405/lib/SQL/Statement/Functions.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Functions.pm 2013-05-23 06:59:04.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Functions.pm 2013-05-30 10:20:40.000000000 +0000 @@ -226,7 +226,7 @@ =cut use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; =pod diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/GetInfo.pm libsql-statement-perl-1.405/lib/SQL/Statement/GetInfo.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/GetInfo.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/GetInfo.pm 2013-05-30 10:20:40.000000000 +0000 @@ -4,7 +4,7 @@ use warnings; use vars qw($VERSION %info); -$VERSION = '1.404'; +$VERSION = '1.405'; use SQL::Statement(); diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Operation.pm libsql-statement-perl-1.405/lib/SQL/Statement/Operation.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Operation.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Operation.pm 2013-05-30 10:20:40.000000000 +0000 @@ -8,7 +8,7 @@ require SQL::Statement::Term; -our $VERSION = '1.404'; +our $VERSION = '1.405'; @ISA = qw(SQL::Statement::Term); diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Placeholder.pm libsql-statement-perl-1.405/lib/SQL/Statement/Placeholder.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Placeholder.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Placeholder.pm 2013-05-30 10:20:40.000000000 +0000 @@ -8,7 +8,7 @@ require SQL::Statement::Term; -our $VERSION = '1.404'; +our $VERSION = '1.405'; @ISA = qw(SQL::Statement::Term); diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/RAM.pm libsql-statement-perl-1.405/lib/SQL/Statement/RAM.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/RAM.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/RAM.pm 2013-05-30 10:20:40.000000000 +0000 @@ -6,7 +6,7 @@ use warnings; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; #################################### package SQL::Statement::RAM::Table; diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Term.pm libsql-statement-perl-1.405/lib/SQL/Statement/Term.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Term.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Term.pm 2013-05-30 10:20:40.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use warnings; -our $VERSION = '1.404'; +our $VERSION = '1.405'; use Scalar::Util qw(weaken); use Carp (); diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/TermFactory.pm libsql-statement-perl-1.405/lib/SQL/Statement/TermFactory.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/TermFactory.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/TermFactory.pm 2013-05-30 10:20:40.000000000 +0000 @@ -12,7 +12,7 @@ use Params::Util qw(_HASH _ARRAY0 _INSTANCE); use Scalar::Util qw(blessed weaken); -our $VERSION = '1.404'; +our $VERSION = '1.405'; my %oplist = ( '=' => 'Equal', diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement/Util.pm libsql-statement-perl-1.405/lib/SQL/Statement/Util.pm --- libsql-statement-perl-1.404/lib/SQL/Statement/Util.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement/Util.pm 2013-05-30 10:20:40.000000000 +0000 @@ -4,7 +4,7 @@ use warnings; use vars qw($VERSION); -$VERSION = '1.404'; +$VERSION = '1.405'; sub type { diff -Nru libsql-statement-perl-1.404/lib/SQL/Statement.pm libsql-statement-perl-1.405/lib/SQL/Statement.pm --- libsql-statement-perl-1.404/lib/SQL/Statement.pm 2013-05-23 06:51:12.000000000 +0000 +++ libsql-statement-perl-1.405/lib/SQL/Statement.pm 2013-05-30 10:20:39.000000000 +0000 @@ -30,7 +30,7 @@ #use locale; -$VERSION = '1.404'; +$VERSION = '1.405'; sub new { @@ -312,47 +312,49 @@ my ($cNum) = scalar( $self->columns() ); my $param_num = 0; - if ($cNum) - { - # INSERT INTO $table (row, ...) VALUES (value, ...), (...) - for ( $k = 0; $k < scalar( @{ $self->{values} } ); ++$k ) - { - my ($array) = []; - for ( $i = 0; $i < $cNum; $i++ ) - { - $col = $self->columns($i); - $val = $self->row_values( $k, $i ); - if ( defined( _INSTANCE( $val, 'SQL::Statement::Param' ) ) ) - { - $val = $eval->param( $val->idx() ); - } - elsif ( defined( _INSTANCE( $val, 'SQL::Statement::Term' ) ) ) - { - $val = $val->value($eval); - } - elsif ( $val and $val->{type} eq 'placeholder' ) - { - $val = $eval->param( $param_num++ ); - } - elsif ( defined( _HASH($val) ) ) - { - $val = $self->{termFactory}->buildCondition($val); - $val = $val->value($eval); - } - else - { - return $self->do_err('Internal error: Unexpected column type'); - } - $array->[ $table->column_num( $col->name() ) ] = $val; - } - $table->capability('insert_new_row') - ? $table->insert_new_row( $data, $array ) - : $table->push_row( $data, $array ); - } - } - else - { + $cNum or return $self->do_err("Bad col names in INSERT"); + + my $maxCol = $#$all_cols; + + # INSERT INTO $table (row, ...) VALUES (value, ...), (...) + for ( $k = 0; $k < scalar( @{ $self->{values} } ); ++$k ) + { + my ($array) = []; + for ( $i = 0; $i < $cNum; $i++ ) + { + $col = $self->columns($i); + $val = $self->row_values( $k, $i ); + if ( defined( _INSTANCE( $val, 'SQL::Statement::Param' ) ) ) + { + $val = $eval->param( $val->idx() ); + } + elsif ( defined( _INSTANCE( $val, 'SQL::Statement::Term' ) ) ) + { + $val = $val->value($eval); + } + elsif ( $val and $val->{type} eq 'placeholder' ) + { + $val = $eval->param( $param_num++ ); + } + elsif ( defined( _HASH($val) ) ) + { + $val = $self->{termFactory}->buildCondition($val); + $val = $val->value($eval); + } + else + { + return $self->do_err('Internal error: Unexpected column type'); + } + $array->[ $table->column_num( $col->name() ) ] = $val; + } + + # Extend row to put values in ALL fields + $#$array < $maxCol and $array->[$maxCol] = undef; + + $table->capability('insert_new_row') + ? $table->insert_new_row( $data, $array ) + : $table->push_row( $data, $array ); } return ( $k, 0 );