List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:June 28 1999 3:00pm
Subject:again -> select * from table where 'e' like 'é' does n
ot works
View as plain text  
>>>>> "Dino" == Dino  <dino@stripped> writes:

Dino> I am a user "that desperately need a new feature that is found only" in
Dino> 3.22.23 release.

Dino> select * from table where 'e' like 'é'

Dino> Where can I download it?

You have to wait a couple of days until I have tested 3.23 properly!

Dino> or who knows what should I change in sql/sql_string.cc to put that feature
Dino> working?

Dino> Thanks

You could try the included patch...

Regards,
Monty


*** sql_string.cc	Thu May 13 15:45:23 1999
--- ../sql-3.22/sql_string.cc	Wed Jun  2 13:59:01 1999
***************
*** 442,453 ****
  **	 1 if matched with wildcard
  */
  
- #ifdef LIKE_CMP_TOUPPER
- #define likeconv(A) toupper(A)
- #else
- #define likeconv(A) my_sort_order[(uchar) (A)]
- #endif
- 
  static int wild_case_compare(const char *str,const char *strend,
  			     const char *wildstr,const char *wildend,
  			     char escape)
--- 427,432 ----
***************
*** 478,484 ****
  	  wildstr += l;
        } else
  #endif
!       if (str == strend || likeconv(*wildstr++) != likeconv(*str++))
  	return(1);				// No match
        if (wildstr == wildend)
  	return (str != strend);			// Match if both are at end
--- 457,463 ----
  	  wildstr += l;
        } else
  #endif
!       if (str == strend || toupper(*wildstr++) != toupper(*str++))
  	return(1);				// No match
        if (wildstr == wildend)
  	return (str != strend);			// Match if both are at end
***************
*** 529,535 ****
  #endif
        INC_PTR(wildstr,wildend);			// This is compared trough cmp
  #if !defined(USE_BIG5CODE)
!       cmp=likeconv(cmp);
  #endif
        do
        {
--- 508,514 ----
  #endif
        INC_PTR(wildstr,wildend);			// This is compared trough cmp
  #if !defined(USE_BIG5CODE)
!       cmp=toupper(cmp);
  #endif
        do
        {
***************
*** 548,554 ****
  	  }
  	  else if (str+1 != strend && isbig5code(*str,*(str+1)) && *str != cmp)
  	    str++;				// Skip extra shar
! 	  else if (likeconv(*str) == likeconv(cmp))
  	  {
  	    str++;
  	    break;				// Found it
--- 527,533 ----
  	  }
  	  else if (str+1 != strend && isbig5code(*str,*(str+1)) && *str != cmp)
  	    str++;				// Skip extra shar
! 	  else if (toupper(*str) == toupper(cmp))
  	  {
  	    str++;
  	    break;				// Found it
***************
*** 570,576 ****
  	      break;
  	    }
  	  }
! 	  else if (!ismbchar(str, strend) && likeconv(*str) == cmp)
  	  {
  	    str++;
  	    break;
--- 549,555 ----
  	      break;
  	    }
  	  }
! 	  else if (!ismbchar(str, strend) && toupper(*str) == cmp)
  	  {
  	    str++;
  	    break;
***************
*** 578,584 ****
  	  INC_PTR(str, strend);
  	}
  #else
! 	while (str != strend && likeconv(*str) != cmp)
  	  str++;
  	if (str++ == strend) return (result);
  #endif
--- 557,563 ----
  	  INC_PTR(str, strend);
  	}
  #else
! 	while (str != strend && toupper(*str) != cmp)
  	  str++;
  	if (str++ == strend) return (result);
  #endif
Thread
rexx interface to mysqlDavid Bear8 Jun
  • Re: rexx interface to mysql:\"Terrence W. Zellers\"9 Jun
    • Spatial indexing..Kim Sung-Jin14 Jun
      • Spatial indexing..Michael Widenius25 Jun
    • Re: Spatial indexing..shane16 Jun
    • again -> select * from table where 'e' like 'é' does not worksDino18 Jun
      • again -> select * from table where 'e' like 'é' does not worksMichael Widenius28 Jun