Commit graph

10658 commits

Author SHA1 Message Date
lars/lthalmann@dl145k.mysql.com
d798f52aa0 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-11 09:44:15 +02:00
bar@bar.myoffice.izhnet.ru
170e900bd9 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-work/mysql-5.0.b28916
2007-06-08 13:25:25 +05:00
bar@mysql.com/bar.myoffice.izhnet.ru
d3c4f1b22b Bug#28916 LDML doesn't work for utf8
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
  moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
  defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
  collation example.
2007-06-07 17:55:55 +05:00
bar@bar.myoffice.izhnet.ru
c86b91ee92 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-work/mysql-5.0.b26711
2007-06-07 13:17:19 +05:00
bar@mysql.com/bar.myoffice.izhnet.ru
fef1be0548 Bug#26711 "Binary content 0x00 sometimes becomes 0x5C 0x00 after dump/load"
Problem: "SELECT INTO OUTFILE" created incorrect dumps for BLOBs,
so "LOAD DATA" later incorrectly interpreted 0x5C as the second
byte of a multi-byte sequence, instead of escape character.
Fix: adding escaping of multi-byte heads.
2007-06-07 13:16:49 +05:00
tsmith@quadxeon.mysql.com
d2fe24d1ef Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/50
2007-06-05 23:04:40 +02:00
tsmith@quadxeon.mysql.com
502320ef05 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/50
2007-06-05 17:28:49 +02:00
lars/lthalmann@dl145h.mysql.com
b53b448d45 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-05 01:14:10 +02:00
ramil/ram@ramil.myoffice.izhnet.ru
9be267cbf2 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b28652/b28652.5.0
2007-06-04 10:37:43 +05:00
igor@olga.mysql.com
44b46b73f2 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
2007-06-03 07:58:07 -07:00
evgen@moonbone.local
5d695b777a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
2007-06-03 14:46:37 +04:00
evgen@moonbone.local
7dbe9d3318 user_var.result, user_var.test:
Extended test case for the bug#28494.
2007-06-03 14:46:09 +04:00
igor@olga.mysql.com
cc0eff3e63 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
2007-06-03 00:21:42 -07:00
gkodinov/kgeorge@macbook.gmz
8fd809bfd8 Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B26162-5.0-opt
2007-06-03 10:03:37 +03:00
gkodinov/kgeorge@macbook.gmz
9a1d8adc9d Bug #26162: Trigger DML ignores low_priority_updates setting
The value of "low-priority-updates" option and the LOW PRIORITY
prefix was taken into account at parse time.
This caused triggers (among others) to ignore this flag (if
supplied for the DML statement).
Moved reading of the LOW_PRIORITY flag at run time.
Fixed an incosistency when handling
SET GLOBAL LOW_PRIORITY_UPDATES : now it is in effect for
delayed INSERTs.
Tested by checking the effect of LOW_PRIORITY flag via a 
trigger.
2007-06-03 09:40:00 +03:00
igor@olga.mysql.com
55fea25de4 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
2007-06-02 12:46:48 -07:00
evgen@moonbone.local
294ead9ac9 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
2007-06-02 23:20:54 +04:00
evgen@moonbone.local
4934646764 Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
This is an additional fix.
Item::val_xxx methods are supposed to use original data source and
Item::val_xxx_result methods to use the item's result field. But for the
Item_func_set_user_var class val_xxx_result methods were mapped to val_xxx
methods. This leads, in particular, to producing bad sort keys and thus
wrong order of the result set of queries with group by/order by clauses.

The set of val_xxx_result methods is added to the Item_func_set_user_var
class. It's the same as the val_xxx set of method but uses the result_field
to return a value.
2007-06-02 23:17:46 +04:00
igor@olga.mysql.com
5cbebf0a18 Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query
using a derived table over a grouping subselect.

This crash happens only when materialization of the derived tables 
requires creation of auxiliary temporary table, for example when
a grouping operation is carried out with usage of a temporary table.

The crash happened because EXPLAIN EXTENDED when printing the query
expression made an attempt to use the objects created in the mem_root
of the temporary table which has been already freed by the moment
when printing is called.

This bug appeared after the method Item_field::print() had been 
introduced.
2007-06-02 11:44:16 -07:00
ibabaev@bk-internal.mysql.com
4bc1738be0 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
2007-06-02 00:57:25 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
2b2a80733d Fix for bug #28652: MySQL (with-debug=full) asserts when alter table operations
Problem: we may create a deadlock committing changes in the mysql_alter_table() when 
LOCK_open is set. Moreover, "in some variants of the ALTER TABLE commit
happens earlier, outside of LOCK_open, in other later - inside. It's no good, a storage 
engine code that is called in between could expect a consistency - either there is a 
transaction or there is not".
Fix: move the commit to happen earlier and outside of the LOCK_open.
2007-06-01 22:53:50 +05:00
kostja@bodhi.(none)
b9a3431048 Fix more mysqltest warnings. 2007-06-01 20:05:34 +04:00
kostja@bodhi.(none)
4688ace2a6 Fix a typo in the test case. 2007-06-01 18:04:25 +04:00
kostja@bodhi.(none)
d97db648a0 Fix some mysqltest warnings. 2007-06-01 17:49:01 +04:00
msvensson@pilot.(none)
583a126660 Merge pilot.(none):/data/msvensson/mysql/bug28373/my50-bug28373
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-01 15:43:04 +02:00
msvensson@pilot.(none)
146e087186 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-01 14:53:58 +02:00
msvensson@pilot.(none)
8ed65b97e1 Merge pilot.(none):/data/msvensson/mysql/bug28497/my50-bug28497
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-01 14:35:47 +02:00
msvensson@pilot.(none)
fd1c544384 Add missing semicolon after connect command 2007-06-01 13:39:54 +02:00
msvensson@pilot.(none)
91170035d9 Turn query_logging back on to avoid sideeffects in folloing test section 2007-06-01 12:38:41 +02:00
aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi
c762ec3a60 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27716-multi_upd_no_binlog
2007-06-01 13:22:52 +03:00
msvensson@pilot.(none)
d43153f274 Merge pilot.(none):/data/msvensson/mysql/bug28497/my41-bug28497-query_get_value
into  pilot.(none):/data/msvensson/mysql/bug28497/my50-bug28497
2007-06-01 12:04:05 +02:00
msvensson@pilot.(none)
09c5c03cb2 Bug#28497 wait_for_slave_to_stop can cause random replication mysql-test failures
- Add funtion "query_get_value to allow reading a fields value
   into a $variable
2007-06-01 12:01:42 +02:00
aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi
1c0ac63808 Bug #27716 multi-update did partially and has not binlogged
Implementation of mysql_multi_update did not call multi_update::send_error method in some cases 
(see the test reported on bug page and test cases in changeset).

Fixed with deploying the method, ::send_error() is refined to get binlogging code which works whenever 
there is modified non-transactional table.
thd->no_trans_update.stmt flag is set in to TRUE to ease testing though being the beginning of relative 
bug#27417 fix (addresses a part of those issues).
Eliminating two minor issues (small bugs) in multi_update methods.
This patch for multi-update also addresses a part of the issues reported in bug#13270,bug#23333.
2007-06-01 11:14:04 +03:00
gshchepa/uchum@gleb.loc
5d15377d2d Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
2007-06-01 02:51:35 +05:00
gshchepa/uchum@gleb.loc
92737068ea Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27827-fresh
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
2007-06-01 02:40:49 +05:00
evgen@moonbone.local
df3b70821b Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/28494-bug-5.0-opt-mysql
2007-06-01 01:18:45 +04:00
evgen@moonbone.local
f70ae3a6de Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
The end_update() function uses the Item::save_org_in_field() function to
save original values of items into the group buffer. But for the 
Item_func_set_user_var this method was mapped to the save_in_field method.
The latter function wrongly decides to use the result_field. This leads to
saving incorrect value in the grouping buffer and wrong result of the whole
query.

The can_use_result_field argument of the bool type is added to the
Item_func_set_user_var::save_in_field() function. If it is set to FALSE
then the item's result field won't be used. Otherwise it will be detected
whether the result field will be used (old behaviour).
Two wrapping functions for the function above are added to the 
Item_func_set_user_var class:
the save_in_field(Field *field, bool no_conversions) - it calls the above
function with the can_use_result_field set to TRUE.
the save_org_in_field(Field *field) - same, but the can_use_result_field
is set to FALSE.
2007-06-01 01:17:14 +04:00
gshchepa/uchum@gleb.loc
cab4ca9c33 Fixed bug #27827.
ON conditions from JOIN expression were ignored at CHECK OPTION
check when updating a multi-table view with CHECK OPTION.

The st_table_list::prep_check_option function has been
modified to to take into account ON conditions at CHECK OPTION check
It was also changed to build the check option condition only once
for any update used in PS/SP.
2007-06-01 02:15:40 +05:00
msvensson@pilot.(none)
42deaca611 Bug#28373 mysqltest test case fails with binlog disabled
- Update tests to be independent how the mysqld was started
2007-05-31 15:58:22 +02:00
gshchepa/uchum@gleb.loc
362449418c Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
2007-05-31 18:19:38 +05:00
gshchepa/uchum@gleb.loc
19d513ded7 Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
2007-05-31 18:16:29 +05:00
gshchepa/uchum@gleb.loc
12d43d55b4 Fixed bug #28244.
When the same VIEW was created at the master side twice,
malformed (truncated after the word 'AS') query string 
was forwarded to client side, so error messages on the
master and client was different, and replication was
broken.

The mysql_register_view function call failed
too early: fields of `view' output argument of this 
function was not filled yet with correct data required
for query replication.
The mysql_register_view function also copied pointers to 
local buffers into a memory allocated by the caller.
2007-05-31 17:30:56 +05:00
kaa@polly.local
054da00167 Merge polly.local:/home/kaa/src/maint/bug27643/my50-bug27643
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
2007-05-31 15:01:49 +04:00
kaa@polly.local
d435b3ed74 Fix for bug #27643 "query failed : 1114 (The table '' is full)
Problem:

HASH indexes on VARCHAR columns with binary collations did not ignore trailing spaces from strings before comparisons. This could result in duplicate records being successfully inserted into a MEMORY table with unique key constraints.

As a direct consequence of the above, internal MEMORY tables used for GROUP BY calculation in testcases for bug #27643 contained duplicate rows which resulted in duplicate key errors when converting those temporary tables to MyISAM. Additionally, that error was incorrectly converted to the 'table is full' error.

Solution:

- ignore trailing spaces in VARCHAR fields with binary collations when calculating hashes.
- return a proper error from create_myisam_from_heap() when conversion fails.
2007-05-31 14:54:44 +04:00
lars/lthalmann@dl145h.mysql.com
4e90009904 Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
2007-05-31 10:20:58 +02:00
gshchepa/uchum@gleb.loc
be69f13dff Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28598
2007-05-31 12:43:59 +05:00
gshchepa/uchum@gleb.loc
e16953dfd8 Fixed bug #28598.
mysqld crashed when a long-running explain query was killed from
another connection.

When the current thread caught a kill signal executing the function
best_extension_by_limited_search it just silently returned to  
the calling function greedy_search without initializing elements of
the join->best_positions array.
However, the greedy_search function ignored thd->killed status
after a calls to the best_extension_by_limited_search function, and
after several calls the greedy_search function used an uninitialized
data from the join->best_positions[idx] to search position in the
join->best_ref array. 
That search failed, and greedy_search tried to call swap_variables
function with NULL argument - that caused a crash.
2007-05-31 12:10:21 +05:00
tsmith@quadxeon.mysql.com
64f582396b Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-30 23:46:21 +02:00
aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi
95b1be9eb1 bug#22725
refining the test because of Bug #28786 'reset master' does not reset binlogging on embeded server
2007-05-30 22:29:15 +03:00
evgen@moonbone.local
85b6e3f00d Bug#28729: Field_enum wrongly reported an error while storing an empty string.
ENUM fields internally store their values as integers and may use integer
values as indexes to their values. Invalid values are mapped to zero value.
When storing an empty string the ENUM field fails to find an appropriate value
and tries to convert the provided string to integer. The conversion also
fails and error is returned even if the thd->count_cuted_fields is set to
CHECK_FIELD_IGNORE. This makes the range optimizer wrongly decide that an
impossible range is present.

Now the Field_enum::store() returns error while storing an empty string only
if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE.
2007-05-30 23:28:14 +04:00