[Rt-commit] r2737 - in DBIx-SearchBuilder/trunk: . SearchBuilder
jesse at bestpractical.com
jesse at bestpractical.com
Sun Apr 17 19:25:30 EDT 2005
Author: jesse
Date: Sun Apr 17 19:25:30 2005
New Revision: 2737
Modified:
DBIx-SearchBuilder/trunk/ (props changed)
DBIx-SearchBuilder/trunk/Changes
DBIx-SearchBuilder/trunk/MANIFEST
DBIx-SearchBuilder/trunk/META.yml
DBIx-SearchBuilder/trunk/SIGNATURE
DBIx-SearchBuilder/trunk/SearchBuilder.pm
DBIx-SearchBuilder/trunk/SearchBuilder/Handle.pm
Log:
r13183 at hualien: jesse | 2005-04-17 19:24:53 -0400
1.26 Sun Apr 17 19:22:23 EDT 2005
- Added support for expression based left joins
1.25 Sat Apr 9 12:33:30 EDT 2005
- Backed out a change introduced in 1.23 that caused table and column names
to be quoted, causing Postgres to flip out.
1.24 Wed Apr 6 22:54:37 EDT 2005
- Added a new "SearchBuilder::Unique" module for uniquifying search results
Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes (original)
+++ DBIx-SearchBuilder/trunk/Changes Sun Apr 17 19:25:30 2005
@@ -1,7 +1,16 @@
Revision history for Perl extension DBIx::SearchBuilder.
+1.26 Sun Apr 17 19:22:23 EDT 2005
+ - Added support for expression based left joins
+
+
+1.25 Sat Apr 9 12:33:30 EDT 2005
+
+ - Backed out a change introduced in 1.23 that caused table and column names
+ to be quoted, causing Postgres to flip out.
+
1.24 Wed Apr 6 22:54:37 EDT 2005
- - Added a new "SearchBuilder::Unique module for uniquifying search results
+ - Added a new "SearchBuilder::Unique" module for uniquifying search results
1.23
- Now use DBI->quote_identifier to quote column and table names (Ruslan)
Modified: DBIx-SearchBuilder/trunk/MANIFEST
==============================================================================
--- DBIx-SearchBuilder/trunk/MANIFEST (original)
+++ DBIx-SearchBuilder/trunk/MANIFEST Sun Apr 17 19:25:30 2005
@@ -5,6 +5,7 @@
inc/Module/Install/Metadata.pm
Makefile.PL
MANIFEST This list of files
+SIGNATURE
META.yml
SearchBuilder.pm
SearchBuilder/Handle.pm
@@ -20,7 +21,9 @@
SearchBuilder/Record/Cachable.pm
SearchBuilder/Union.pm
SearchBuilder/Unique.pm
+t/utils.pl
t/00.load.t
+t/01basics.t
t/01records.t
t/02records_object.t
t/pod.t
Modified: DBIx-SearchBuilder/trunk/META.yml
==============================================================================
--- DBIx-SearchBuilder/trunk/META.yml (original)
+++ DBIx-SearchBuilder/trunk/META.yml Sun Apr 17 19:25:30 2005
@@ -1,5 +1,5 @@
name: DBIx-SearchBuilder
-version: 1.24
+version: 1.25
license: perl
distribution_type: module
build_requires:
Modified: DBIx-SearchBuilder/trunk/SIGNATURE
==============================================================================
--- DBIx-SearchBuilder/trunk/SIGNATURE (original)
+++ DBIx-SearchBuilder/trunk/SIGNATURE Sun Apr 17 19:25:30 2005
@@ -14,12 +14,12 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 ab6e03d54237f2dbb0dc8719d07d446993ef0278 Changes
-SHA1 6c5970c9d00ad3e4a1c479bab460218edd733936 MANIFEST
-SHA1 e0c75c21c135189b4915370d718536b9ed81ea0d META.yml
+SHA1 2cf45efdc104a936342f4d3ea5283a8e6b1ccaec Changes
+SHA1 dceebecaec0a60f15be74ac0ecd26eb6dfe7cf91 MANIFEST
+SHA1 e44f79a0d8ad6bb8541758f026054c215f055e96 META.yml
SHA1 6d660abb8f5ceb477b017d1cdbc8c73812a86eb2 Makefile.PL
-SHA1 c32abdddc9b909b6eb3e73eb890826169606dae3 SearchBuilder.pm
-SHA1 77b82302aec577bd8e95e45a94e8e798abadb18b SearchBuilder/Handle.pm
+SHA1 6e25b487156ff6e9a6960491f79b857035e62df1 SearchBuilder.pm
+SHA1 799f8da0756e572d3a1397a5ecbf363a482f1ab9 SearchBuilder/Handle.pm
SHA1 0103d897704a95032b32363dc65ea4f0d8f5965d SearchBuilder/Handle/Informix.pm
SHA1 861cee4205d1f367af5cc68b561fd37e38c1acf0 SearchBuilder/Handle/ODBC.pm
SHA1 6f798ff065f28239767230fcd8c9330dae4eafa7 SearchBuilder/Handle/Oracle.pm
@@ -37,13 +37,15 @@
SHA1 e094fe96aef06c68d7a424818c12e52b11f1ccdd inc/Module/Install/Makefile.pm
SHA1 e448c6dc5351ef425e3f8bdbeb642409120bc3ca inc/Module/Install/Metadata.pm
SHA1 e59ea21b9407644714a5f67c7132a11916c25133 t/00.load.t
+SHA1 c59e7dce93fbfd0d942cad8fc7f723a08301da39 t/01basics.t
SHA1 14bcc915f2138bd9e2cfc2d71a1dc81f48d1c2a9 t/01records.t
SHA1 c6d09fe0aed0504426b40f9bd630690f7ba69e4d t/02records_object.t
SHA1 e9c6a5881fc60173fbc8d479c1afd2ce3b43bef1 t/pod.t
+SHA1 97cdae718319ca9e2cd6d2c0cfe2f07cda098284 t/utils.pl
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
-iD8DBQFCVKESEi9d9xCOQEYRAu8QAJ9U9YRMJUKwk6+2F7c9rnmL/Fi2BgCbBbh7
-vPp70wXmbzoC76j9kdkwzgI=
-=7mPP
+iD8DBQFCYu/DEi9d9xCOQEYRAgzpAJsF0Fch944I94/B9GvorOOSW/iZXwCeM7Go
+420+Ua7vwCGhPSNFivFZjqI=
+=+Bqc
-----END PGP SIGNATURE-----
Modified: DBIx-SearchBuilder/trunk/SearchBuilder.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder.pm (original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder.pm Sun Apr 17 19:25:30 2005
@@ -5,7 +5,7 @@
use strict;
use vars qw($VERSION);
-$VERSION = "1.24";
+$VERSION = "1.26";
=head1 NAME
@@ -1190,6 +1190,8 @@
rather than merely an alias. For this type of join, it will return
the alias generated by the join.
+Instead of ALIAS1/FIELD1, it's possible to specify EXPRESSION, to join ALIAS2/TABLE2 on an arbitrary expression.
+
=cut
sub Join {
Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Handle.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Handle.pm (original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Handle.pm Sun Apr 17 19:25:30 2005
@@ -808,6 +808,7 @@
TABLE2 => undef,
FIELD2 => undef,
ALIAS2 => undef,
+ EXPRESSION => undef,
@_
);
@@ -882,12 +883,21 @@
$string = " JOIN " . $args{'TABLE2'} . " $alias ";
}
+
+
+ my $criterion;
+ if ($args{'EXPRESSION'}) {
+ $criterion = $args{'EXPRESSION'};
+ } else {
+ $criterion = $args{'ALIAS1'}.".".$args{'FIELD1'};
+ }
+
$args{'SearchBuilder'}->{'left_joins'}{"$alias"}{'alias_string'} = $string;
$args{'SearchBuilder'}->{'left_joins'}{"$alias"}{'depends_on'} =
$args{'ALIAS1'};
$args{'SearchBuilder'}->{'left_joins'}{"$alias"}{'criteria'}
{ 'criterion' . $args{'SearchBuilder'}->{'criteria_count'}++ } =
- " $args{'ALIAS1'}.$args{'FIELD1'} = $alias.$args{'FIELD2'}";
+ " $alias.$args{'FIELD2'} = $criterion";
return ($alias);
}
More information about the Rt-commit
mailing list