[Jifty-commit] r1510 - in Jifty-DBI/trunk: . lib/Jifty/DBI
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Fri Jul 7 18:47:57 EDT 2006
Author: zev
Date: Fri Jul 7 18:47:56 2006
New Revision: 1510
Modified:
Jifty-DBI/trunk/ (props changed)
Jifty-DBI/trunk/lib/Jifty/DBI/Collection.pm
Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm
Jifty-DBI/trunk/lib/Jifty/DBI/Handle/SQLite.pm
Log:
r11410 at galvatron: zev | 2006-07-07 18:47:50 -0400
* fixed my breakage
* cleaned up case sensitivity code
* fixed SQLite docs
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Collection.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Collection.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Collection.pm Fri Jul 7 18:47:56 2006
@@ -828,21 +828,18 @@
# If it's a new value or we're overwriting this sort of restriction,
- if ( $self->_handle->case_sensitive
- # don't worry about case for numeric columns
- && ! $self->new_item()->column($args{column})->is_numeric
+ if ($self->_handle->case_sensitive
&& defined $args{'value'}
- && $args{'value'} ne ''
- && $args{'value'} ne "''"
- && ( $args{'operator'} !~ /IS/ && $args{'value'} !~ /^null$/i ) )
- {
-
- unless ( $args{'case_sensitive'} || !$args{'quote_value'} ) {
- ( $qualified_column, $args{'operator'}, $args{'value'} )
- = $self->_handle->_make_clause_case_insensitive(
- $qualified_column, $args{'operator'}, $args{'value'} );
- }
-
+ && $args{'quote_value'}
+ && ! $args{'case_sensitive'}) {
+ # don't worry about case for numeric columns_in_db
+ my $column_obj = $self->new_item()->column($args{column});
+ if (defined $column_obj ? ! $column_obj->is_numeric : 1) {
+ ( $qualified_column, $args{'operator'}, $args{'value'} ) =
+ $self->_handle->_make_clause_case_insensitive( $qualified_column,
+ $args{'operator'},
+ $args{'value'} );
+ }
}
my $clause = "($qualified_column $args{'operator'} $args{'value'})";
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Handle.pm Fri Jul 7 18:47:56 2006
@@ -603,9 +603,14 @@
my $operator = shift;
my $value = shift;
- if ( $value !~ /^['"]?\d+['"]?$/ ) { # don't downcase integer values
- $column = "lower($column)";
- $value = "lower($value)";
+ if ($value ne ''
+ && $value ne "''"
+ && ($operator !~ /IS/ && $value !~ /^null$/i)
+ # don't downcase integer values
+ && $value !~ /^['"]?\d+['"]?$/) {
+ $column = "lower($column)";
+ $value = "lower($value)";
+
}
return ( $column, $operator, $value );
}
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Handle/SQLite.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Handle/SQLite.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Handle/SQLite.pm Fri Jul 7 18:47:56 2006
@@ -62,7 +62,8 @@
=head2 case_sensitive
-Returns undef, since SQLite's searches are not case sensitive by default
+Returns 1, since SQLite's searches are case sensitive by default.
+Note, however, SQLite's C<like> operator is case I<in>sensitive.
=cut
More information about the Jifty-commit
mailing list