[rt-commit] r300 - in DBIx-SearchBuilder/trunk: . SearchBuilder
SearchBuilder/Handle inc/Module inc/Module/Install
jesse at fsck.com
jesse at fsck.com
Sun Dec 14 23:32:10 EST 2003
Author: jesse
Date: 2003-12-06 14:34:24 -0500 (Sat, 06 Dec 2003)
New Revision: 300
Modified:
DBIx-SearchBuilder/trunk/Changes
DBIx-SearchBuilder/trunk/MANIFEST
DBIx-SearchBuilder/trunk/MANIFEST.SKIP
DBIx-SearchBuilder/trunk/META.yml
DBIx-SearchBuilder/trunk/SIGNATURE
DBIx-SearchBuilder/trunk/SearchBuilder.pm
DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Pg.pm
DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
DBIx-SearchBuilder/trunk/inc/Module/Install.pm
DBIx-SearchBuilder/trunk/inc/Module/Install/Base.pm
DBIx-SearchBuilder/trunk/inc/Module/Install/Makefile.pm
DBIx-SearchBuilder/trunk/inc/Module/Install/Metadata.pm
Log:
postgres fixes
Modified: DBIx-SearchBuilder/trunk/Changes
===================================================================
--- DBIx-SearchBuilder/trunk/Changes 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/Changes 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,5 +1,8 @@
Revision history for Perl extension DBIx::SearchBuilder.
+0.95_03 - Allow case-insensitive loading by columns in SearchBuilder::Record
+ - Record::LoadByCols now lets you specify operator and values
+
0.95_01
- Removed historical escaping for non-ascii searche queries
Modified: DBIx-SearchBuilder/trunk/MANIFEST
===================================================================
--- DBIx-SearchBuilder/trunk/MANIFEST 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/MANIFEST 2003-12-06 19:34:24 UTC (rev 300)
@@ -15,11 +15,8 @@
SearchBuilder/Handle/ODBC.pm
test.pl
inc/Module/Install/Base.pm
-inc/Module/Install/Can.pm
-inc/Module/Install/Fetch.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Metadata.pm
-inc/Module/Install/Win32.pm
inc/Module/Install.pm
META.yml
SIGNATURE
Modified: DBIx-SearchBuilder/trunk/MANIFEST.SKIP
===================================================================
--- DBIx-SearchBuilder/trunk/MANIFEST.SKIP 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/MANIFEST.SKIP 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,12 +1,12 @@
- \bRCS\b
- \bCVS\b
- ,v$
- \B\.svn\b
- ^MANIFEST\.
- ^Makefile$
- ^blib/
- ^MakeMaker-\d
- ~$
- \.old$
- ^#.*#$
- ^\.#
+\bRCS\b
+\bCVS\b
+,v$
+\B\.svn\b
+^MANIFEST\.
+^Makefile$
+^blib/
+^MakeMaker-\d
+~$
+\.old$
+^#.*#$
+^\.#
Modified: DBIx-SearchBuilder/trunk/META.yml
===================================================================
--- DBIx-SearchBuilder/trunk/META.yml 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/META.yml 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,5 +1,5 @@
name: DBIx-SearchBuilder
-version: 0.95_02
+version: 0.95_03
license: unknown
distribution_type: module
requires:
Modified: DBIx-SearchBuilder/trunk/SIGNATURE
===================================================================
--- DBIx-SearchBuilder/trunk/SIGNATURE 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/SIGNATURE 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,5 +1,5 @@
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.35.
+signed via the Module::Signature module, version 0.37.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
@@ -14,32 +14,31 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 e5940d6d90b042ec302f7d989d0b673b42d2a9b8 Changes
-SHA1 b0ce864348c4270aeba74aa089f052464442e263 MANIFEST
-SHA1 b063da3f93fa6305a080cfd238282bf3ee7f8888 MANIFEST.SKIP
-SHA1 8cb26ae73593d0bf200a13b97ee2e916c85f2e69 META.yml
+SHA1 61977ede076ac9de9f17c8318ae3f60c3a5ceefe Changes
+SHA1 e2d0a63f89e91ffcfcb21c8500de4eaef4832517 MANIFEST
+SHA1 8541c8988476422ee38fbc8714c1dd45b212f7fb MANIFEST.SKIP
+SHA1 aaf1c7a471e42891a8d15d1c64eee9a3d1c1d226 META.yml
SHA1 42a7d726a314465af0b0b2249ffee0eba4841274 Makefile.PL
-SHA1 663104e7bd93560a5748cffc5a5a177d081a58cb SearchBuilder.pm
+SHA1 25a566b1de01399563bd057d1032b0ecff5e124a SearchBuilder.pm
SHA1 47e0932f707b28fb6296b72b62ce27817264eded SearchBuilder/Handle.pm
SHA1 68a6d7d744e5d123e3c8b59041d12253fcee5d04 SearchBuilder/Handle/Informix.pm
SHA1 35f764ab7e3c675ffc568f5bcb1ebf921813d801 SearchBuilder/Handle/ODBC.pm
SHA1 b7fd5ef2fcb2f18ff19a6561bfec4122995daa57 SearchBuilder/Handle/Oracle.pm
-SHA1 ca537c2649bfbfbaaff3d62115fbc4ff7ea00096 SearchBuilder/Handle/Pg.pm
+SHA1 a4059aa0efde53772ebd209391f5566543c22328 SearchBuilder/Handle/Pg.pm
SHA1 4dfd673981bb75c8f630405c419ece75338dec33 SearchBuilder/Handle/SQLite.pm
SHA1 cf4420e25ae28aa09fbf5e12643ff43f6a2d9241 SearchBuilder/Handle/mysql.pm
SHA1 e9716814b99c423b8e3f46c68a86363047b408fd SearchBuilder/Handle/mysqlPP.pm
-SHA1 bbacd3a9ab0bb8ff7ccb733fdcf0ac2f9ce0a3e8 SearchBuilder/Record.pm
+SHA1 611419248aab0bb0561437eae9ae4299c5d31af7 SearchBuilder/Record.pm
SHA1 f0f291ca7532d913b84c290ae7d8e05d85ded271 SearchBuilder/Record/Cachable.pm
-SHA1 98c3ada349cd0f2bdec1f4db090745abbed2db71 inc/Module/Install.pm
-SHA1 7eabc5bd2ae92791a6053f1fdf52bf5ef2a565b0 inc/Module/Install/Base.pm
-SHA1 c35c64a7408e717f5aa8b9bc9d5ff4cc253e83d2 inc/Module/Install/Makefile.pm
-SHA1 3f6d682e0e55fd264ec9836e88c7ff2644ed6006 inc/Module/Install/Metadata.pm
+SHA1 755af332d954ddb0501af597ffd0c4ac3e9eeda9 inc/Module/Install.pm
+SHA1 b38be6632ae55a0958621c2ab81f6165f97688d5 inc/Module/Install/Base.pm
+SHA1 e2cd2aa67ccdff8c2591d368458aacee3ea30ae5 inc/Module/Install/Makefile.pm
+SHA1 cb9f841603175785b8e6ee5d7287723d57e4bd99 inc/Module/Install/Metadata.pm
SHA1 71ce3b59b3feeca937fccd3f18c146d8ccbbf6a5 test.pl
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.0.6 (GNU/Linux)
-Comment: For info see http://www.gnupg.org
+Version: GnuPG v1.2.3 (GNU/Linux)
-iEYEARECAAYFAj/Rd/wACgkQQaM/s3DrrJCq6QCgyW6GSMtFMRlVrKC+4sp9Nbyz
-IQQAniHYSxWS/8GHZOkYuedFldnLVi9O
-=J/zL
+iD8DBQE/048eQaM/s3DrrJARAjdDAKCRe5g40byXXPNmuG7HDs4bfiLJGwCfei7k
+/YWlbNYVSkdUciCSoJz+t58=
+=gF2k
-----END PGP SIGNATURE-----
Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Pg.pm
===================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Pg.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Pg.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -102,7 +102,7 @@
if ( $per_page) {
$limit_clause = " LIMIT ";
$limit_clause .= $per_page;
- if ( $first != 0 ) {
+ if ( $first && $first != 0 ) {
$limit_clause .= " OFFSET $first";
}
}
@@ -271,7 +271,7 @@
if ($operator =~ /LIKE/i ) {
$operator =~ s/LIKE/ILIKE/ig;
return ($field, $operator, $value);
- } elsif ($operator eq '=') {
+ } elsif ($operator =~ /\s*=\s*/) {
return ($field,'ILIKE',$value);
} else {
$self->SUPER::_MakeClauseCaseInsensitive($field, $operator,$value);
Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
===================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -773,6 +773,14 @@
Takes a hash of columns and values. Loads the first record that matches all
keys.
+The hash's keys are the columns to look at.
+
+The hash's values are either: scalar values to look for
+ OR has references which contain 'operator' and 'value'
+
+
+
+
=cut
*load_by_cols = \&LoadByCols;
@@ -782,8 +790,18 @@
my (@bind, @phrases);
foreach my $key (keys %hash) {
if (defined $hash{$key} && $hash{$key} ne '') {
- push @phrases, "$key = ?";
- push @bind, $hash{$key};
+ my $op;
+ my $value;
+ if (ref $hash{$key}) {
+ $op = $hash{$key}->{operator};
+ $value = $hash{$key}->{value};
+ } else {
+ $op = '=';
+ $value = $hash{$key};
+ }
+
+ push @phrases, "$key $op ?";
+ push @bind, $value;
}
else {
push @phrases, "($key IS NULL OR $key = '')";
Modified: DBIx-SearchBuilder/trunk/SearchBuilder.pm
===================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/SearchBuilder.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -5,7 +5,7 @@
use strict;
use vars qw($VERSION);
-$VERSION = "0.95_02";
+$VERSION = "0.95_03";
=head1 NAME
Modified: DBIx-SearchBuilder/trunk/inc/Module/Install/Base.pm
===================================================================
--- DBIx-SearchBuilder/trunk/inc/Module/Install/Base.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/inc/Module/Install/Base.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Base.pm - /opt/perl-5.8.0/lib/site_perl/Module/Install/Base.pm"
+#line 1 "inc/Module/Install/Base.pm - /usr/local/share/perl/5.8.2/Module/Install/Base.pm"
# $File: //depot/cpan/Module-Install/lib/Module/Install/Base.pm $ $Author: autrijus $
# $Revision: #9 $ $Change: 1665 $ $DateTime: 2003/08/18 07:52:47 $ vim: expandtab shiftwidth=4
Modified: DBIx-SearchBuilder/trunk/inc/Module/Install/Makefile.pm
===================================================================
--- DBIx-SearchBuilder/trunk/inc/Module/Install/Makefile.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/inc/Module/Install/Makefile.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,6 +1,6 @@
-#line 1 "inc/Module/Install/Makefile.pm - /opt/perl-5.8.0/lib/site_perl/Module/Install/Makefile.pm"
+#line 1 "inc/Module/Install/Makefile.pm - /usr/local/share/perl/5.8.2/Module/Install/Makefile.pm"
# $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile.pm $ $Author: autrijus $
-# $Revision: #45 $ $Change: 1645 $ $DateTime: 2003/07/16 01:05:06 $ vim: expandtab shiftwidth=4
+# $Revision: #49 $ $Change: 1782 $ $DateTime: 2003/10/27 19:48:59 $ vim: expandtab shiftwidth=4
package Module::Install::Makefile;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -31,6 +31,17 @@
$self->makemaker_args( clean => { FILES => "@_ " } );
}
+sub libs {
+ my $self = shift;
+ my $libs = ref $_[0] ? shift : [shift];
+ $self->makemaker_args( LIBS => $libs );
+}
+
+sub inc {
+ my $self = shift;
+ $self->makemaker_args( INC => shift );
+}
+
sub write {
my $self = shift;
die "&Makefile->write() takes no arguments\n" if @_;
@@ -46,10 +57,13 @@
$args->{ABSTRACT} = $self->abstract;
$args->{AUTHOR} = $self->author;
}
- if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 )
- {
+ if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
$args->{NO_META} = 1;
}
+ if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 ) {
+ $args->{SIGN} = 1 if $self->sign;
+ }
+ delete $args->{SIGN} unless $self->is_admin;
# merge both kinds of requires into prereq_pm
my $prereq = ($args->{PREREQ_PM} ||= {});
@@ -87,6 +101,12 @@
my $makefile = do { local $/; <MAKEFILE> };
close MAKEFILE;
+ $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
+ $makefile =~ s/(\$\(TESTDB_SW\) "-I)/$1inc" "-I/;
+
+ $makefile =~ s/^(FULLPERL = .*)/$1 -Iinc/m;
+ $makefile =~ s/^(PERL = .*)/$1 -Iinc/m;
+
open MAKEFILE, '> Makefile' or die $!;
print MAKEFILE "$preamble$makefile$postamble";
close MAKEFILE;
@@ -110,4 +130,4 @@
__END__
-#line 242
+#line 262
Modified: DBIx-SearchBuilder/trunk/inc/Module/Install/Metadata.pm
===================================================================
--- DBIx-SearchBuilder/trunk/inc/Module/Install/Metadata.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/inc/Module/Install/Metadata.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,25 +1,28 @@
-#line 1 "inc/Module/Install/Metadata.pm - /opt/perl-5.8.0/lib/site_perl/Module/Install/Metadata.pm"
+#line 1 "inc/Module/Install/Metadata.pm - /usr/local/share/perl/5.8.2/Module/Install/Metadata.pm"
# $File: //depot/cpan/Module-Install/lib/Module/Install/Metadata.pm $ $Author: autrijus $
-# $Revision: #25 $ $Change: 1665 $ $DateTime: 2003/08/18 07:52:47 $ vim: expandtab shiftwidth=4
+# $Revision: #28 $ $Change: 1781 $ $DateTime: 2003/10/22 17:14:03 $ vim: expandtab shiftwidth=4
package Module::Install::Metadata;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
-$VERSION = '0.01';
+$VERSION = '0.02';
use strict 'vars';
use vars qw($VERSION);
sub Meta { shift }
-my @scalar_keys = qw(name module_name version abstract author license distribution_type);
+my @scalar_keys = qw(
+ name module_name version abstract author license
+ distribution_type sign
+);
my @tuple_keys = qw(build_requires requires recommends bundles);
foreach my $key (@scalar_keys) {
*$key = sub {
my $self = shift;
- return $self->{values}{$key} unless @_;
- $self->{values}{$key} = shift;
+ return $self->{'values'}{$key} unless @_;
+ $self->{'values'}{$key} = shift;
return $self;
};
}
@@ -27,13 +30,13 @@
foreach my $key (@tuple_keys) {
*$key = sub {
my $self = shift;
- return $self->{values}{$key} unless @_;
+ return $self->{'values'}{$key} unless @_;
my @rv;
while (@_) {
my $module = shift or last;
my $version = shift || 0;
my $rv = [$module, $version];
- push @{$self->{values}{$key}}, $rv;
+ push @{$self->{'values'}{$key}}, $rv;
push @rv, $rv;
}
return @rv;
@@ -44,18 +47,29 @@
my $self = shift;
while (my ($name, $mods) = splice(@_, 0, 2)) {
my $count = 0;
- push @{$self->{values}{features}}, ($name => [
+ push @{$self->{'values'}{'features'}}, ($name => [
map { (++$count % 2 and ref($_) and ($count += $#$_)) ? @$_ : $_ } @$mods
] );
}
- return @{$self->{values}{features}};
+ return @{$self->{'values'}{'features'}};
}
+sub no_index {
+ my $self = shift;
+ my $type = shift;
+ push @{$self->{'values'}{'no_index'}{$type}}, @_ if $type;
+ return $self->{'values'}{'no_index'};
+}
+
sub _dump {
my $self = shift;
my $package = ref($self->_top);
my $version = $self->_top->VERSION;
- my %values = %{$self->{values}};
+ my %values = %{$self->{'values'}};
+
+ delete $values{sign};
+
+ $values{license} ||= 'unknown';
$values{distribution_type} ||= 'module';
$values{name} ||= do {
my $name = $values{module_name};
@@ -70,10 +84,31 @@
foreach my $key (@tuple_keys) {
next unless exists $values{$key};
$dump .= "$key:\n";
- $dump .= " $_->[0]: $_->[1]\n" for @{$values{$key}};
+ foreach (@{$values{$key}}) {
+ $dump .= " $_->[0]: $_->[1]\n";
+ }
}
- return($dump . "private:\n directory:\n - inc\ngenerated_by: $package version $version\n");
+ if (my $no_index = $values{no_index}) {
+ push @{$no_index->{'directory'}}, 'inc';
+ require YAML;
+ local $YAML::UseHeader = 0;
+ $dump .= YAML::Dump({ no_index => $no_index});
+ $dump .= YAML::Dump({ private => $no_index});
+ }
+ else {
+ $dump .= << "META";
+no_index:
+ directory:
+ - inc
+private:
+ directory:
+ - inc
+META
+ }
+
+ $dump .= "generated_by: $package version $version\n";
+ return $dump;
}
sub read {
@@ -123,4 +158,10 @@
$self->version(ExtUtils::MM_Unix->parse_version($version_from));
}
+sub abstract_from {
+ my ($self, $abstract_from) = @_;
+ require ExtUtils::MM_Unix;
+ $self->abstract(ExtUtils::MM_Unix->parse_abstract($abstract_from));
+}
+
1;
Modified: DBIx-SearchBuilder/trunk/inc/Module/Install.pm
===================================================================
--- DBIx-SearchBuilder/trunk/inc/Module/Install.pm 2003-12-06 06:33:12 UTC (rev 299)
+++ DBIx-SearchBuilder/trunk/inc/Module/Install.pm 2003-12-06 19:34:24 UTC (rev 300)
@@ -1,9 +1,9 @@
-#line 1 "inc/Module/Install.pm - /opt/perl-5.8.0/lib/site_perl/Module/Install.pm"
+#line 1 "inc/Module/Install.pm - /usr/local/share/perl/5.8.2/Module/Install.pm"
# $File: //depot/cpan/Module-Install/lib/Module/Install.pm $ $Author: autrijus $
-# $Revision: #58 $ $Change: 1709 $ $DateTime: 2003/09/01 03:13:10 $ vim: expandtab shiftwidth=4
+# $Revision: #61 $ $Change: 1782 $ $DateTime: 2003/10/27 19:48:59 $ vim: expandtab shiftwidth=4
package Module::Install;
-$VERSION = '0.24';
+$VERSION = '0.27';
die <<END unless defined $INC{'inc/Module/Install.pm'};
Please invoke Module::Install with:
@@ -17,20 +17,20 @@
END
use strict 'vars';
-use File::Find;
-use File::Path;
+use File::Find ();
+use File::Path ();
@inc::Module::Install::ISA = 'Module::Install';
#line 127
sub import {
- my $class = $_[0];
- my $self = $class->new(@_[1..$#_]);
+ my $class = shift;
+ my $self = $class->new(@_);
if (not -f $self->{file}) {
require "$self->{path}/$self->{dispatch}.pm";
- mkpath "$self->{prefix}/$self->{author}";
+ File::Path::mkpath("$self->{prefix}/$self->{author}");
$self->{admin} =
"$self->{name}::$self->{dispatch}"->new(_top => $self);
$self->{admin}->init;
@@ -68,8 +68,9 @@
$class =~ s/^\Q$args{prefix}\E:://;
$args{name} ||= $class;
$args{version} ||= $class->VERSION;
+
unless ($args{path}) {
- $args{path} = $args{name};
+ $args{path} = $args{name};
$args{path} =~ s!::!/!g;
}
$args{file} ||= "$args{prefix}/$args{path}.pm";
@@ -77,7 +78,7 @@
bless(\%args, $class);
}
-#line 195
+#line 196
sub call {
my $self = shift;
@@ -88,7 +89,7 @@
goto &{$obj->can($method)};
}
-#line 210
+#line 211
sub load {
my ($self, $method) = @_;
@@ -112,7 +113,7 @@
$obj;
}
-#line 240
+#line 241
sub load_extensions {
my ($self, $path, $top_obj) = @_;
@@ -131,13 +132,13 @@
}
}
-#line 264
+#line 265
sub find_extensions {
my ($self, $path) = @_;
my @found;
- find(sub {
+ File::Find::find(sub {
my $file = $File::Find::name;
return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
return if $1 eq $self->{dispatch};
@@ -154,4 +155,4 @@
__END__
-#line 556
+#line 557
More information about the Rt-commit
mailing list