[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