[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