1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-31 08:42:45 +03:00

774 Commits

Author SHA1 Message Date
unknown
b896d3343b Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
field::sort_key() now adds length last for varbinary/blob
VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
Fixed issues in test cases from last merge



mysql-test/r/select.result:
  Change column name in test to get GROUP BY to use the alias
mysql-test/r/type_blob.result:
  Test BLOB and VARCHAR sorting
mysql-test/t/select.test:
  Change column name in test to get GROUP BY to use the alias
  Drop used tables at start of test
  Don't use table names 'a', 'b' or 'c'
mysql-test/t/type_blob.test:
  Test BLOB and VARCHAR sorting
sql/field.cc:
  Store length last in VARBINARY() and BLOB() columns to get shorter strings sorted before longer onces
sql/field.h:
  Added method 'sort_length()' to allow one to have length bytes last for VARBINARY/BLOB to get these to sort properly
sql/filesort.cc:
  Use 'sort_length()' instead of 'pack_length()' to get length of field.
  Store suffix_length last for varbinary (blob) objects.
  The above ensures that BLOB/VARBINARY are correctly sorted (shorter strings before longer ones)
sql/sql_class.h:
  Added sort suffix length (to get varbinary/blob to sort correctly)
sql/sql_select.cc:
  Use sort_length() instead of pack_lengths()
strings/ctype-bin.c:
  Don't let strnxfrm_bin store length last
  Better to do it in MySQL field object to ensure it's done properly for all cases
2005-10-14 00:04:52 +03:00
monty@mysql.com
3da5f1c223 Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
field::sort_key() now adds length last for varbinary/blob
VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
Fixed issues in test cases from last merge
2005-10-14 00:04:52 +03:00
unknown
8c3423652d Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0


mysql-test/r/temp_table.result:
  Auto merged
mysql-test/r/warnings.result:
  Auto merged
sql/sql_db.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/create.result:
  Merged from 4.1 to 5.0
mysql-test/r/innodb.result:
  Merged from 4.1 to 5.0
mysql-test/t/create.test:
  Merged from 4.1 to 5.0
sql/item_cmpfunc.cc:
  Merged from 4.1 to 5.0
sql/sql_table.cc:
  Merged from 4.1 to 5.0
2005-09-12 20:18:49 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
01ce8a8aa9 Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
2005-09-12 20:18:49 +03:00
unknown
90ca6d15b3 Review fixes since last pull
Fix for bug #13025; Server crash in filesort because wrong call to handler::position()


client/mysqltest.c:
  Code cleanup during review
mysql-test/r/innodb.result:
  Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
mysql-test/t/innodb.test:
  Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
sql/filesort.cc:
  Don't call handler::position() if row was not found
sql/item_cmpfunc.cc:
  Indentation changes
sql/sql_select.cc:
  Moved variable to outer level
2005-09-12 18:48:17 +03:00
monty@mishka.mysql.com
0965bfa832 Review fixes since last pull
Fix for bug #13025; Server crash in filesort because wrong call to handler::position()
2005-09-12 18:48:17 +03:00
unknown
c4257ae3ce Fix bug #7422 "order by" doesn't work
Field with wrong buffer was used to make sort key, which results in producing
same sort key for all records.



sql/filesort.cc:
  Fix bug#7422 "order by" doesn't work
mysql-test/t/view.test:
  Test case for bug#7422 "order by" doesn't work
mysql-test/r/view.result:
  Test case for bug#7422 "order by" doesn't work
2005-06-21 20:14:50 +04:00
evgen@moonbone.local
e94f16a125 Fix bug #7422 "order by" doesn't work
Field with wrong buffer was used to make sort key, which results in producing
same sort key for all records.
2005-06-21 20:14:50 +04:00
unknown
e10d81448d Moved some old test and added a new test to only be run with mysql-test-run --big
Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files


BitKeeper/etc/ignore:
  added tools/mysqltestmanager
client/mysqltest.c:
  Ensure that BIG_TEST is always set to 0 or 1
  Fix the 'eval' also honors 'require'
mysql-test/mysql-test-run.sh:
  Enlarge InnoDB table space for --big tests
mysql-test/r/heap.result:
  Fix after adding more optimzation for filsort
mysql-test/r/sum_distinct.result:
  Move 'slow' part of test to sum_distinct-big.test
mysql-test/t/heap.test:
  Ensure that results are indpendent of optimizer
mysql-test/t/sum_distinct.test:
  Move 'slow' part of test to sum_distinct-big.test
sql/filesort.cc:
  Use 'sort with data' also on temporary files and with INSERT ... SELECT
sql/ha_innodb.h:
  Remove HA_FAST_KEY_READ to enable buffered-record-reads after filesort
sql/handler.h:
  More comments
sql/mysql_priv.h:
  A bit smaller limit for cache for buffered-records-read (after testing)
sql/records.cc:
  Don't use buffered-record-reads if ref_length > MAX_REFLENGTH
  Fixed warning from valgrind in 'sum_distinct'
sql/sql_select.cc:
  Ensure that tempory tables has query_id set for all fields
  (Required for sort-with-data to work on temp files)
2005-04-07 19:24:14 +03:00
monty@mysql.com
780202f130 Moved some old test and added a new test to only be run with mysql-test-run --big
Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files
2005-04-07 19:24:14 +03:00
unknown
3c42daa9a3 merging
heap/hp_create.c:
  Auto merged
sql/filesort.cc:
  Auto merged
mysql-test/r/heap.result:
  manual merging
mysql-test/t/heap.test:
  manual merging
sql/ha_heap.cc:
  manual merging
2005-03-15 19:31:52 +04:00
ramil@mysql.com
d5e3ba70f3 merging 2005-03-15 19:31:52 +04:00
unknown
0ba3164e0e A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end).
sql/filesort.cc:
  A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end).              
  Should call ha_rnd_end() only if ha_rnd_init() was called.
2005-03-15 15:32:11 +04:00
ramil@mysql.com
04328c3dfa A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end). 2005-03-15 15:32:11 +04:00
unknown
db93db85b6 Merge
mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item.cc:
  SCCS merged
2005-03-10 13:59:48 +02:00
timour@mysql.com
b9c56257bb Merge 2005-03-10 13:59:48 +02:00
unknown
146df30f79 Fix for BUG#7425.
The reported problems were due to two completely unrelated omissions.
1) The file sort procedure didn't correctly create the sort key in
   make_sortkey when the sortkey was an unsigned integer.
2) The name resolution procedure for column references inside a HAVING
   clause did not propagate the unsigned_flag of the resolved references.
This patch corrects both problems.


mysql-test/r/select.result:
  Added test result for BUG#7425.
mysql-test/t/select.test:
  Added test for BUG#7425.
sql/filesort.cc:
  Take into account whether 'item' represents a signed or an unsigned integer.
sql/item.cc:
  Once an Item_ref is resolved, propagate the unsigned_flag to the resolved item.
2005-03-09 16:51:03 +02:00
timour@mysql.com
f489e56291 Fix for BUG#7425.
The reported problems were due to two completely unrelated omissions.
1) The file sort procedure didn't correctly create the sort key in
   make_sortkey when the sortkey was an unsigned integer.
2) The name resolution procedure for column references inside a HAVING
   clause did not propagate the unsigned_flag of the resolved references.
This patch corrects both problems.
2005-03-09 16:51:03 +02:00
unknown
1b002905b7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
include/mysql_com.h:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 16:22:26 +02:00
monty@mysql.com
72b692e11f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-28 16:22:26 +02:00
unknown
45a26d449d merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/r/type_set.result:
  Auto merged
mysys/default.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-simple.c:
  Auto merged
include/mysql_com.h:
  Merge
sql/filesort.cc:
  merge
2005-02-28 12:18:39 +02:00
monty@mysql.com
3839e443a4 merge with 4.1 2005-02-28 12:18:39 +02:00
unknown
8b8c9452dd Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)


innobase/dict/dict0dict.c:
  Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
  Add missing drop table
mysql-test/r/type_set.result:
  More tests
mysql-test/t/select_found.test:
  Add missing drop table
mysql-test/t/type_set.test:
  More tests
mysys/my_init.c:
  Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
  enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
  enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
  Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
  Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
  Wait for signal handler to stop when running --bootstrap
  (Fixes warning from purify)
sql/sql_insert.cc:
  Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
  Better comments
sql/sql_repl.cc:
  memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
  Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
  Fixes to not access uninitialized memory
  (Not critical)
2005-02-28 11:59:46 +02:00
monty@mysql.com
253bfcf783 Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)
2005-02-28 11:59:46 +02:00
unknown
7cc7a62856 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/filesort.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-26 16:15:36 +01:00
mskold@mysql.com
b9aa67bc76 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb
2005-02-26 16:15:36 +01:00
unknown
248e449451 Remove compiler warnings and remove not used variables
(Found during build process)


extra/comp_err.c:
  Remove compiler warnings
extra/perror.c:
  Remove compiler warnings
innobase/dict/dict0dict.c:
  Remove compiler warnings
innobase/dict/dict0load.c:
  Remove compiler warnings
innobase/pars/pars0sym.c:
  Remove compiler warnings
innobase/row/row0row.c:
  Remove compiler warnings
innobase/row/row0sel.c:
  Remove compiler warnings
libmysqld/lib_sql.cc:
  Remove not used variables
myisam/mi_key.c:
  Remove compiler warnings
regex/engine.c:
  Added comment
sql/derror.cc:
  Remove not used variables
sql/examples/ha_archive.cc:
  Fixed bug in blob handling
  Removed not used variable
sql/field.cc:
  Remove compiler warnings
  Remove not used variables
sql/filesort.cc:
  Remove compiler warnings
sql/ha_heap.cc:
  Remove not used variable
sql/ha_innodb.cc:
  Remove not used variables
  Remove compiler warnings
sql/handler.cc:
  Remove compiler warnings and remove not used variables
sql/item.cc:
  Remove compiler warnings and remove not used variables
sql/item_subselect.cc:
  Remove compiler warnings
sql/item_sum.cc:
  Remove compiler warnings
sql/item_sum.h:
  Remove compiler warnings and remove not used variables
sql/log.cc:
  Remove compiler warnings and remove not used variables
sql/log_event.cc:
  Remove compiler warnings
sql/mysqld.cc:
  Remove compiler warnings and remove not used variables
sql/opt_range.cc:
  Remove compiler warnings and remove not used variables
sql/slave.cc:
  Remove compiler warnings and remove not used variables
sql/sp_pcontext.cc:
  Remove compiler warnings and remove not used variables
sql/sql_acl.cc:
  Remove compiler warnings and remove not used variables
sql/sql_analyse.cc:
  Remove compiler warnings and remove not used variables
sql/sql_base.cc:
  Remove compiler warnings and remove not used variables
sql/sql_db.cc:
  Remove compiler warnings and remove not used variables
sql/sql_help.cc:
  Remove compiler warnings and remove not used variables
sql/sql_insert.cc:
  Remove compiler warnings and remove not used variables
sql/sql_load.cc:
  Remove compiler warnings and remove not used variables
sql/sql_parse.cc:
  Remove compiler warnings and remove not used variables
sql/sql_prepare.cc:
  Remove compiler warnings and remove not used variables
sql/sql_select.cc:
  Remove compiler warnings and remove not used variables
sql/sql_show.cc:
  Remove compiler warnings and remove not used variables
sql/sql_table.cc:
  Remove compiler warnings
sql/sql_union.cc:
  Remove compiler warnings
sql/sql_update.cc:
  Remove compiler warnings and remove not used variables
sql/sql_yacc.yy:
  Remove compiler warnings and remove not used variables
sql/strfunc.cc:
  Remove compiler warnings and remove not used variables
strings/ctype-ucs2.c:
  Remove compiler warnings
tests/mysql_client_test.c:
  Remove compiler warnings and remove not used variables
tools/mysqlmanager.c:
  Remove compiler warnings and remove not used variables
2005-02-25 16:53:22 +02:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
unknown
88a2b72ce0 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/filesort.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-16 13:13:13 +01:00
mskold@mysql.com
5d23cdb591 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb
2005-02-16 13:13:13 +01:00
unknown
bcbc61b1b7 Fix for bug #8534 (Compile errors in Precision Math code on Windows)
sql/filesort.cc:
  Type of the parameter changed
sql/my_decimal.cc:
  type of the parameter changed
sql/my_decimal.h:
  Parameter type changed
2005-02-16 11:44:34 +04:00
hf@deer.(none)
d75c9dc1d8 Fix for bug #8534 (Compile errors in Precision Math code on Windows) 2005-02-16 11:44:34 +04:00
unknown
67b16d202b Fixed failing test cases 'row.test' when running with --ps-protocol
Simple optimzations done while reviewing code


client/mysqltest.c:
  Added options --enable-ps-warnings and --disable-ps-warnings
  (to fix failing test case)
mysql-test/t/row.test:
  Disable warnings that comes from 'parse' parth
sql/field.cc:
  Removed calls to is_null() in field functions.
  (Not needed as NULL handling is done on the level above fields)
  Indentation fixes
  Removed calls to alloca() as buffer needed was quite small.
sql/field.h:
  Indentation changes and comment fixes
sql/filesort.cc:
  Simple optimization during code review
sql/item.cc:
  Indentation fixes
  Removed some unnecessary tests (added DBUG_ASSERTS() instead)
sql/item_buff.cc:
  Indentation fixes
sql/my_decimal.cc:
  Indentation fixes
  Simple optimization
  Fixed compiler warning
sql/sql_update.cc:
  Removed unnessessary assignment
2005-02-15 16:45:00 +02:00
monty@mysql.com
410e51c854 Fixed failing test cases 'row.test' when running with --ps-protocol
Simple optimzations done while reviewing code
2005-02-15 16:45:00 +02:00
unknown
810d558f97 Merge
sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-11 22:30:37 +01:00
mskold@mysql.com
66343612d1 Merge 2005-02-11 22:30:37 +01:00
unknown
91db48e35a Precision Math implementation
BitKeeper/etc/ignore:
  Added client/decimal.c client/my_decimal.cc client/my_decimal.h to the ignore list
2005-02-09 02:50:45 +04:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
unknown
af97b55308 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-01 10:05:22 +01:00
mskold@mysql.com
f21a737197 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb
2005-02-01 10:05:22 +01:00
unknown
9bb464487d CSC#4385: slow sorting for UTF8 large table:
my_strnxfrm_utf8 now requires 2 bytes per character
in filesort key, instead of 3 bytes per character.
Shorter filesort keys make sorting faster.
2005-01-26 16:34:09 +04:00
bar@mysql.com
8828884f4c CSC#4385: slow sorting for UTF8 large table:
my_strnxfrm_utf8 now requires 2 bytes per character
in filesort key, instead of 3 bytes per character.
Shorter filesort keys make sorting faster.
2005-01-26 16:34:09 +04:00
unknown
5c52b71d48 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-01-21 08:43:41 +01:00
mskold@mysql.com
7c07a2e725 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb
2005-01-21 08:43:41 +01:00
unknown
7aecbab85c Merge with global tree
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/r/order_by.result:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/t/order_by.test:
  Merge
sql/sql_lex.cc:
  Merge
sql/sql_yacc.yy:
  Use local copy
2005-01-18 04:03:26 +02:00
monty@mysql.com
502ba93b38 Merge with global tree 2005-01-18 04:03:26 +02:00
unknown
985805ce6a Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1
sql/filesort.cc:
  Auto merged
2005-01-18 03:52:15 +02:00
monty@mysql.com
edffca827e Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 2005-01-18 03:52:15 +02:00
unknown
896cdbe5df Anoter fix for moved IO_CACHE object 2005-01-18 02:04:41 +02:00
monty@mysql.com
5ba79d72a7 Anoter fix for moved IO_CACHE object 2005-01-18 02:04:41 +02:00