Commit graph

16573 commits

Author SHA1 Message Date
unknown
98b03424ae Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into serg.mylan:/usr/home/serg/Abk/m51
2006-06-14 19:46:52 +02:00
unknown
1a9fae81cb Better comments in KEY_PART_INFO struct 2006-06-14 21:06:02 +04:00
unknown
b395f9c29e Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B18895
2006-06-14 17:37:26 +03:00
unknown
ac9a5303d4 Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B18895
2006-06-14 17:35:14 +03:00
unknown
7d119734ce Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19801
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002


mysql-test/r/partition.result:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/partition_info.cc:
  manual merge
sql/sql_partition.cc:
  manual merge
2006-06-14 09:22:27 -04:00
unknown
dd24721737 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
2006-06-14 17:18:42 +04:00
unknown
e6170de4c0 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_partition.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/r/partition_error.result:
  manual merge
mysql-test/r/partition_range.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
mysql-test/t/partition_error.test:
  manual merge
mysql-test/t/partition_range.test:
  manual merge
sql/ha_partition.cc:
  manual merge
sql/partition_element.h:
  manual merge
sql/partition_info.cc:
  manual merge
sql/partition_info.h:
  manual merge
sql/share/errmsg.txt:
  manual merge
sql/sql_partition.cc:
  manual merge
sql/sql_table.cc:
  manual merge
sql/table.cc:
  manual merge
2006-06-14 09:12:07 -04:00
unknown
89ce81ceed Bug #18895: BIT values cause joins to fail
The Field::eq() considered instances of Field_bit that differ only in 
bit_ptr/bit_ofs equal. This caused equality conditions optimization 
(build_equal_items_for_cond()) to make bad field substitutions that result
in wrong predicates. 
Field_bit requires an overloaded eq() function that checks the bit_ptr/bit_ofs
in addition to Field::eq().


mysql-test/r/select.result:
  Bug #18895: BIT values cause joins to fail
  
  - test case
mysql-test/t/select.test:
  Bug #18895: BIT values cause joins to fail
  
  - test case
sql/field.h:
  Bug #18895: BIT values cause joins to fail
  
  - eq() method overloaded for Field_bit
2006-06-14 15:57:23 +03:00
unknown
179c979937 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19801


mysql-test/r/partition.result:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/partition_info.cc:
  manual merge
2006-06-14 08:51:39 -04:00
unknown
a4c2d33ed9 BUG#19801: Problems with single partition with only NULL allowed in LIST partitioning
After review fix


sql/partition_info.cc:
  After review fix
2006-06-14 08:35:19 -04:00
unknown
6e9bdcc9e9 BUG#16002: Unsigned partition function support
After review fix


sql/sql_partition.cc:
  After review fix
2006-06-14 08:31:38 -04:00
unknown
5436a16e43 Fixed variable description 2006-06-14 14:13:45 +02:00
unknown
b20b17d604 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into serg.mylan:/usr/home/serg/Abk/m51
2006-06-14 13:57:17 +02:00
unknown
7189f0a599 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-14 13:52:50 +02:00
unknown
2e1616d627 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-14 13:51:08 +02:00
unknown
ed6bd84fee Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/marty/MySQL/mysql-5.1


sql/sql_table.cc:
  Auto merged
2006-06-14 13:45:30 +02:00
unknown
708740c8bb After merge fix. 2006-06-14 16:45:29 +05:00
unknown
9df1f38597 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/marty/MySQL/mysql-5.1


sql/mysqld.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-06-14 13:45:27 +02:00
unknown
de253b6359 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
2006-06-14 13:45:26 +02:00
unknown
dcd5786c16 corrected merge error 2006-06-14 13:32:29 +02:00
unknown
5c5d721f28 Merge moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
into moonbone.local:/work/15962-bug-5.0-opt-mysql
2006-06-14 15:27:27 +04:00
unknown
8b4362b63a Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-14 13:01:32 +02:00
unknown
ec3a7c41b7 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0


sql/ha_ndbcluster.cc:
  manual merge
2006-06-14 13:00:15 +02:00
unknown
234de47475 Bug #18595 repeated create, insert, drop can cause MySQL table definition cache to
corrupt
  - add infinite retry on drop table temporary error
2006-06-14 12:54:28 +02:00
unknown
2bd4fb4669 Bug #18595 repeated create, insert, drop can cause MySQL table definition cache to corrupt
- add infinite retry on drop table temporary error


mysql-test/r/ndb_restore_partition.result:
  New BitKeeper file ``mysql-test/r/ndb_restore_partition.result''
mysql-test/t/ndb_restore_partition-master.opt:
  New BitKeeper file ``mysql-test/t/ndb_restore_partition-master.opt''
mysql-test/t/ndb_restore_partition.test:
  New BitKeeper file ``mysql-test/t/ndb_restore_partition.test''
2006-06-14 12:21:18 +02:00
unknown
0795b20b62 Added flag to detect renaming of fields (not supported as fast alter table for ndbcluster): psot review comment: cleared flag before checking 2006-06-14 12:01:06 +02:00
unknown
cf0374854b Added flag to detect renaming of fields (not supported as fast alter table for ndbcluster) 2006-06-14 11:08:36 +02:00
unknown
665d17c685 Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B20195
2006-06-14 10:41:35 +03:00
unknown
115cb627b0 Bug#14708: Inconsistent treatment of NULLs in LEFT JOINed FULLTEXT matching without index
Don't rely on table->null_row when no index is used - it may be a multi-table
2006-06-14 09:19:02 +02:00
unknown
e30a2aea74 post-merge fix
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/lowercase_table2.result:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
mysql-test/t/information_schema.test:
  manual merge
2006-06-14 10:54:56 +05:00
unknown
5eead315e0 Post-review corrections of the fix for bug #18206.
mysql-test/r/func_group.result:
  Added another test case for bug #18206.
mysql-test/t/func_group.test:
  Added another test case for bug #18206.
2006-06-13 22:38:00 -07:00
unknown
61684e2e75 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt


sql/field.cc:
  Auto merged
2006-06-13 22:33:38 -07:00
unknown
e846fb8945 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug20397
2006-06-13 23:08:06 -04:00
unknown
69e344e0b2 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/t/ctype_utf8.test:
  Auto merged
sql/opt_sum.cc:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Manual merge
sql/field.cc:
  Manual merge
2006-06-13 20:04:48 -07:00
unknown
36b49259b1 Fixed bug #14896.
This bug in Field_string::cmp resulted in a wrong comparison 
with keys in partial indexes over multi-byte character fields.
Given field a is declared as 
  a varchar(16) collate utf8_unicode_ci
INDEX(a(4)) gives us an example of such an index.

Wrong key comparisons could lead to wrong result sets if 
the selected query execution plan used a range scan by 
a partial index over a utf8 character field.
This also caused wrong results in many other cases.


mysql-test/r/ctype_utf8.result:
  Added test cases for bug #14896.
mysql-test/t/ctype_utf8.test:
  Added test cases for bug #14896.
2006-06-13 19:57:50 -07:00
unknown
cb0f1641fe BUG#20397: Crash at ALTER TABLE t1 engine = x; for partitioned table
mysql-test/r/partition_error.result:
  New test cases
mysql-test/t/partition_error.test:
  New test cases
sql/sql_table.cc:
  ALTER TABLE t1 engine = x;
  will behave exactly like
  ALTER TABLE t1;
  See no reason why one should change handler to something not specified in query when
  there is already something one is attached to.
2006-06-13 22:46:38 -04:00
unknown
08e728ea96 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
2006-06-14 04:41:49 +02:00
unknown
ec0e1a1b2b Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19307


mysql-test/r/partition.result:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/partition_info.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/sql_partition.cc:
  Auto merged
2006-06-13 21:41:02 -04:00
unknown
17f566506e ndb: add missing LOCK_open 2006-06-14 01:20:39 +02:00
unknown
5eb8871e74 Bug#19066 (DELETE FROM replication inconsistency for NDB):
Post-merge fixes.


sql/sql_class.h:
  Post-merge fixes
sql/sql_delete.cc:
  Conditional inclusion of row-based code.
2006-06-13 22:10:00 +02:00
unknown
a8c24bf75e Merge mysql.com:/home/bkroot/mysql-5.1-new-rpl
into  mysql.com:/home/bk/b19066-mysql-5.1-new


mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
2006-06-13 22:09:59 +02:00
unknown
b4b3f31d52 Bug#20168
"--default-storage-engine=XXX" doesn't work
  typo in the code and forgotten changes


sql/mysqld.cc:
  Bug#20168
    typo and forgotten changes
2006-06-13 13:00:06 -07:00
unknown
9237d65d33 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
2006-06-13 22:53:30 +04:00
unknown
60be734e52 BUG#19307: CSV engine can cause crashes in partitioned tables (due to its conversion of NULLs to 0)
mysql-test/r/partition.result:
  New test case
mysql-test/t/partition.test:
  New test case
sql/partition_info.cc:
  Disable CSV engine for partitioned tables
sql/share/errmsg.txt:
  Update error message for more flexibility
sql/sql_partition.cc:
  Editing fixes
2006-06-13 14:36:23 -04:00
unknown
c69ac89e12 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/sql_show.cc:
  Auto merged
2006-06-13 17:44:44 +02:00
unknown
b19c1896ad Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19305
2006-06-13 11:44:43 -04:00
unknown
01c9fd31d7 Bug #20195: INSERT DELAYED with auto_increment is assigned wrong values
The INSERT DELAYED should not maintain its own private auto-increment
counter, because this is assuming that other threads cannot insert
into the table while the INSERT DELAYED thread is inserting, which is
a wrong assumption.

So the start of processing of a batch of INSERT rows in the 
INSERT DELAYED thread must be treated as a start of a new statement
and cached next_insert_id must be cleared.


mysql-test/r/delayed.result:
  test suite for the bug
mysql-test/t/delayed.test:
  test suite for the bug
sql/sql_insert.cc:
  Reset auto-increment cacheing before processing
  the next batch of inserts in the handler thread
2006-06-13 18:18:32 +03:00
unknown
6297d1ab38 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into moonbone.local:/work/16377-bug-4.1-opt-mysql
2006-06-13 19:10:27 +04:00
unknown
47311e8e87 Fixed bug#16377: result of DATE/TIME functions were compared as strings which
can lead to a wrong result.

All date/time functions has the STRING result type thus their results are
compared as strings. The string date representation allows a user to skip 
some of leading zeros. This can lead to wrong comparison result if a date/time 
function result is compared to such a string constant.

The idea behind this bug fix is to compare results of date/time functions
and data/time constants as ints, because that date/time representation is 
more exact. To achieve this the agg_cmp_type() is changed to take in the
account that a date/time field or an date/time item should be compared 
as ints.

This bug fix is partially back ported from 5.0.

The agg_cmp_type() function now accepts THD as one of parameters. 
In addition, it now checks if a date/time field/function is present in the
list. If so, it tries to coerce all constants to INT to make date/time
comparison return correct result. The field for the constant coercion is
taken from the Item_field or constructed from the Item_func. In latter case
the constructed field will be freed after conversion of all constant items.
Otherwise the result is same as before - aggregated with help of the
item_cmp_type() function.

From the Item_func_between::fix_length_and_dec() function removed the part
which was converting date/time constants to int if possible. Now this is 
done by the agg_cmp_type() function.

The new function result_as_longlong() is added to the Item class. 
It indicates that the item is a date/time item and result of it can be
compared as int. Such items are date/time fields/functions.

Correct val_int() methods are implemented for classes Item_date_typecast, 
Item_func_makedate, Item_time_typecast, Item_datetime_typecast. All these
classes are derived from Item_str_func and Item_str_func::val_int() converts
its string value to int without regard to the date/time type of these items.

Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
functions are changed to substitute result type of an item with the INT_RESULT
if the item is a date/time item and another item is a constant. This is done
to get a correct result of comparisons like date_time_function() = string_constant.


mysql-test/r/cast.result:
  Fixed wrong test case result after bug fix#16377.
sql/item_timefunc.h:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  The result_as_longlong() function is set to return TRUE for these classes:
  Item_date, Item_date_func, Item_func_curtime, Item_func_sec_to_time,
  Item_date_typecast, Item_time_typecast, Item_datetime_typecast,
  Item_func_makedate.
sql/item_timefunc.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.Correct val_int() methods are implemented for classes Item_date_typecast, 
  Item_func_makedate, Item_time_typecast, Item_datetime_typecast.
sql/item_cmpfunc.h:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
  functions are changed to substitute result type of an item with the INT_RESULT
  if the item is a date/time item and another item is a constant.
sql/field.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  Field::set_warning(), Field::set_datetime_warning() now use current_thd to get thd if table isn't set.
sql/item_cmpfunc.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  The agg_cmp_type() function now accepts THD as one of parameters. 
  In addition, it now checks if a date/time field/function is present in the
  list. If so, it tries to coerce all constants to INT to make date/time
  comparison return correct result. The field for the constant coercion is
  taken from the Item_field or constructed from the Item_func. In latter case
  the constructed field will be freed after conversion of all constant items.
  Otherwise the result is same as before - aggregated with help of the
  item_cmp_type() function.
sql/item.h:
  The new function result_as_longlong() is added to the Item class. 
  It indicates that the item is a date/time item and result of it can be
  compared as int. Such items are date/time fields/functions.
mysql-test/t/func_time.test:
  Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
mysql-test/r/func_time.result:
  Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
2006-06-13 19:09:24 +04:00
unknown
55559673f3 Fixed incorrect handling of renamed fields, forcing copy of table if needed and added optional system variable ndb_use_copying_alter_table 2006-06-13 16:44:30 +02:00