mirror of
https://github.com/MariaDB/server.git
synced 2026-05-04 22:25:32 +02:00
Portability fixes
Fixed bug in end space handle for WHERE text_column="constant" heap/hp_hash.c: Optimzations (no change of logic) libmysql/libmysql.c: Added missing casts (portability fix) myisam/mi_key.c: Changed macro to take arguments and not depend on local variables Simple indentation fixes ? mysql-test/r/connect.result: Added test for setting empty password mysql-test/r/create_select_tmp.result: TYPE -> ENGINE mysql-test/r/ctype_utf8.result: Combine drop's mysql-test/r/endspace.result: Added more tests to test end space behaviour mysql-test/r/having.result: Added missing DROP TABLE mysql-test/r/type_blob.result: Added more tests to ensure that fix for BLOB usage is correct mysql-test/r/type_timestamp.result: Add test from 4.0 mysql-test/t/connect.test: Added test for setting empty password mysql-test/t/create_select_tmp.test: TYPE -> ENGINE mysql-test/t/ctype_utf8.test: Combine drop's mysql-test/t/endspace.test: Added more tests to test end space behaviour mysql-test/t/having.test: Added missing DROP TABLE mysql-test/t/type_blob.test: Added more tests to ensure that fix for BLOB usage is correct mysql-test/t/type_timestamp.test: Add test from 4.0 sql/field.cc: Removed not used variable Portability fix (cast) Simplified Field_str::double() Simple indentation cleanups sql/field.h: Removed not needed class variable sql/item_cmpfunc.cc: Indentation fix sql/item_strfunc.cc: Use on stack variable for Item_str_func::val() instead of str_value. This makes it safe to use str_value inside the Item's val function. Cleaned up LEFT() usage, thanks to the above change sql/item_sum.cc: Indentation cleanups sql/protocol.cc: Added missing cast sql/sql_acl.cc: Indentatin cleanups. Added missing cast Simple optimization of get_sort() sql/sql_select.cc: Don't use 'ref' to search on text field that is not of type BINARY (use 'range' instead). The reson is that for 'ref' we use 'index_next_same' to read the next possible row. For text fields, rows in a ref may not come in order, like for 'x', 'x\t' 'x ' (stored in this order) which causes a search for 'column='x ' to fail sql/tztime.cc: Simple cleanup strings/ctype-bin.c: Comment fixes strings/ctype-mb.c: Changed variable names for arguments
This commit is contained in:
parent
92dfd1bf9a
commit
44b2807e4b
28 changed files with 254 additions and 164 deletions
|
|
@ -551,21 +551,19 @@ static ulong get_sort(uint count,...)
|
|||
uint chars= 0;
|
||||
uint wild_pos= 0; /* first wildcard position */
|
||||
|
||||
if (start= str)
|
||||
if ((start= str))
|
||||
{
|
||||
for (; *str ; str++)
|
||||
{
|
||||
if (*str == wild_many || *str == wild_one || *str == wild_prefix)
|
||||
{
|
||||
wild_pos= str - start + 1;
|
||||
wild_pos= (uint) (str - start) + 1;
|
||||
break;
|
||||
}
|
||||
else
|
||||
chars++;
|
||||
chars= 128; // Marker that chars existed
|
||||
}
|
||||
}
|
||||
sort= (sort << 8) + (wild_pos ? (wild_pos > 127 ? 127 : wild_pos) :
|
||||
(chars ? 128 : 0));
|
||||
sort= (sort << 8) + (wild_pos ? min(wild_pos, 127) : chars);
|
||||
}
|
||||
va_end(args);
|
||||
return sort;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue