Commit graph

8858 commits

Author SHA1 Message Date
unknown
fbed697d86 Merge mysql.com:/home/hf/work/mysql-4.1.10166
into mysql.com:/home/hf/work/mysql-4.1.clean
2006-06-26 21:07:13 +05:00
unknown
80bb69ed8f Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt


sql/mysqld.cc:
  Auto merged
2006-06-26 16:56:28 +02:00
unknown
c68cc392f5 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-26 16:45:32 +02:00
unknown
90ff8fbd38 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/mysql-5.0-maint-18462


mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
client/mysqldump.c:
  SCCS merged
2006-06-26 16:15:41 +02:00
unknown
eef15bdf46 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/data0/bk/mysql-5.0-maint


sql/sp_head.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-06-26 04:48:16 +02:00
unknown
907acc785d key.result:
After merge fix


mysql-test/r/key.result:
  After merge fix
2006-06-23 19:36:54 +04:00
unknown
d3ff1c2f7f Bug#15276: MySQL ignores collation-server
Problem:
    mysqld --collation-server=xxx --character-set-server=yyy
    didn't work as expected: collation_server was set not to xxx,
    but to the default collation of character set "yyy".
    
    With different argument order it worked as expected:
    mysqld --character-set-server=yyy --collation-server=yyy 
    
    Fix:
    initializate default_collation_name to 0
    when processing --character-set-server
    only if --collation-server has not been specified
    in command line.



mysql-test/r/ctype_ucs2_def.result:
  Adding test case
mysql-test/t/ctype_ucs2_def-master.opt:
  Specifying variables in reverse order, to cover the bug.
mysql-test/t/ctype_ucs2_def.test:
  Adding test case
sql/mysqld.cc:
  Don't clear default_collation_name when processing 
      --character-set-server if collation has already
      been specified using --collation-server
2006-06-23 18:00:49 +05:00
unknown
cbc5f34c54 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


sql/sql_parse.cc:
  Auto merged
2006-06-23 16:09:33 +04:00
unknown
27cc02049e Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/key.result:
  Auto merged
mysql-test/t/key.test:
  Auto merged
sql/table.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2006-06-23 14:53:41 +04:00
unknown
446f03bd2f Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-kt
into  mysql.com:/usr/home/bar/mysql-5.0-kt.b20392
2006-06-23 13:38:16 +05:00
unknown
89e415950c Bug#11228: DESC shows arbitrary column as "PRI"
An UNIQUE KEY consisting of NOT NULL columns
  was displayed as PRIMARY KEY in "DESC t1".
  According to the code, that was intentional
  behaviour for some reasons unknown to me.
  This code was written before bitkeeper time,
  so I cannot check who and why made this.
  After discussing on dev-public, a decision
  was made to remove this code


mysql-test/r/key.result:
  Adding test case.
mysql-test/t/key.test:
  Adding test case.
sql/table.cc:
  Removing old wrong code
2006-06-23 13:19:30 +05:00
unknown
d0412ab8e0 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
mysql-test/r/ctype_utf8.result:
  SCCS merged
2006-06-22 20:48:49 -07:00
unknown
d62551af39 Added a test case for bug #18359.
This was another manifestation of the problems fixed in the
patch for bug 16674.
Wrong calculation of length of the search prefix in the pattern
string led here to a wrong result set for a query in 4.1. 
The bug could be demonstrated for any multi-byte character set. 


mysql-test/r/ctype_utf8.result:
  Added a test case for bug #18359.
mysql-test/t/ctype_utf8.test:
  Added a test case for bug #18359.
2006-06-22 20:39:46 -07:00
unknown
596102c9be Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


sql/item_sum.cc:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Manual merge
mysql-test/t/ctype_ucs.test:
  Manual merge
2006-06-22 16:18:54 -07:00
unknown
e8adb49910 Fixed bug #20076.
Server crashed in some cases when a query required a MIN/MAX
agrregation for a 'ucs2' field. 
In these cases  the aggregation caused calls of the function
update_tmptable_sum_func that indirectly invoked 
the method Item_sum_hybrid::min_max_update_str_field() 
containing a call to strip_sp for a ucs2 character set.
The latter led directly to the crash as it used my_isspace
undefined for the ucs2 character set.
Actually the call of strip_sp is not needed at all in this
situation and has been removed by the fix.


mysql-test/r/ctype_ucs.result:
  Added a test case for bug #20076.
mysql-test/t/ctype_ucs.test:
  Added a test case for bug #20076.
2006-06-22 15:50:15 -07:00
unknown
357755fc1f Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/mysql-5.0-maint-19409
2006-06-22 22:21:43 +02:00
unknown
0271faa8c2 #19409: Test 'func_timestamp' fails on Windows x64
- The setting of "ENV{'TZ'}" doesn't affect the timezone
  used by MySQL Server on Windows.
- Explicitly set timezone in test cases before doing UTC/localtime
  conversions so tests produce deterministic results


mysql-test/r/func_timestamp.result:
  Update test results
mysql-test/r/type_timestamp.result:
  Update test results
mysql-test/t/func_timestamp.test:
  Specifically set timezone to make tests that do localtime/UTC conversions deterministic
mysql-test/t/type_timestamp.test:
  Specifically set timezone to make tests that do localtime/UTC conversions deterministic
2006-06-22 20:50:38 +02:00
unknown
e8beb72cc6 Bug#19408 Test 'func_time' fails on Windows x64
- The setting of "ENV{'TZ'}" doesn't affect the timezone
  used by MySQL Server on Windows.
- Explicitly set timezone to "+03:00" in test case before
  doing the calculatiosn to check that there is three hours
  difference between utc and local time.
(Magnus' fix)


mysql-test/r/func_time.result:
  Update test results
mysql-test/t/func_time.test:
  Set timezone to GMT-3, to make it possible to use "interval 3 hour"
2006-06-22 20:23:22 +02:00
unknown
9a4b76ed64 bug #10166 (Signed byte values cause data to be padded)
The AsBinary function returns VARCHAR data type with binary collation.
It can cause problem for clients that treat that kind of data as
different from BLOB type.
So now AsBinary returns BLOB.


mysql-test/r/gis.result:
  result fixed
mysql-test/t/gis.test:
  test case added
sql/item_geofunc.h:
  Now we return MYSQL_TYPE_BLOB for asBinary function
2006-06-22 22:11:27 +05:00
unknown
8eb00d0af7 Merge mysql.com:/opt/local/work/mysql-5.0-root
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-06-22 21:06:09 +04:00
unknown
67fd3c4a53 A fix and a test case for Bug#15217 "Using a SP cursor on a table created
with PREPARE fails with weird error".
More generally, re-executing a stored procedure with a complex SP cursor query
could lead to a crash.

The cause of the problem was that SP cursor queries were not optimized 
properly at first execution: their parse tree belongs to sp_instr_cpush,
not sp_instr_copen, and thus the tree was tagged "EXECUTED" when the
cursor was declared, not when it was opened. This led to loss of optimization
transformations performed at first execution, as sp_instr_copen saw that the
query is already "EXECUTED" and therefore either not ran first-execution 
related blocks or wrongly rolled back the transformations caused by 
first-execution code.
The fix is to update the state of the parsed tree only when the tree is
executed, as opposed to when the instruction containing the tree is executed.
Assignment if i->state is moved to reset_lex_and_exec_core.


mysql-test/r/sp.result:
  Test results fixed (Bug#15217)
mysql-test/t/sp.test:
  Add a test case for Bug#15217
sql/sp_head.cc:
  Move assignment of stmt_arena->state to reset_lex_and_exec_core
2006-06-22 19:29:48 +04:00
unknown
9040e4a9ce Additional test for Bugs#20392: INSERT_ID session variable has weird value
sys_var_insert_id returned LAST_INSERT_ID instead of INSERT_ID,
as Guilhem suggested.


mysql-test/r/variables.result:
  Additional test
mysql-test/t/variables.test:
  Additional test
2006-06-22 19:40:59 +05:00
unknown
4af5e597ef Bugs#20392: INSERT_ID session variable has weird value
sys_var_insert_id returned LAST_INSERT_ID instead of INSERT_ID.


mysql-test/r/variables.result:
  Adding test case
mysql-test/t/variables.test:
  Adding test case
sql/set_var.cc:
  Fixed that sys_var_insert_id returned last_indert_id instead of insert_id.
2006-06-22 19:10:11 +05:00
unknown
41af8b9e3b Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug19904
2006-06-22 08:58:37 -04:00
unknown
b6473f7d68 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
2006-06-21 22:41:51 -07:00
unknown
af3c76631c Modified the test case for bug 16674 to have the same
execution plans in 4.1 and 5.0.
2006-06-21 22:39:48 -07:00
unknown
aec092521b 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
strings/ctype-mb.c:
  Auto merged
mysql-test/r/ctype_utf8.result:
  SCCS merged
2006-06-21 20:06:33 -07:00
unknown
6a63106558 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt


mysql-test/r/ctype_utf8.result:
  SCCS merged
mysql-test/t/ctype_utf8.test:
  SCCS merged
2006-06-21 16:29:58 -07:00
unknown
5cb66b1136 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
2006-06-22 01:16:57 +04:00
unknown
0f278f968b Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/p4-bug12096.2


sql/mysqld.cc:
  Auto merged
2006-06-21 14:16:15 -07:00
unknown
d5797063e3 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-06-22 00:29:47 +04:00
unknown
822e8866c7 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/t/ctype_utf8.test:
  Added test cases for bug #14896.
mysql-test/r/ctype_utf8.result:
  Added test cases for bug #14896.
sql/field.cc:
  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.
2006-06-22 00:29:04 +04:00
unknown
88547195e8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.0-maint
2006-06-21 11:07:34 -04:00
unknown
5b9d44fd86 Merge may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-5.0


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/opt_sum.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
2006-06-21 19:41:09 +05:00
unknown
bf76f070dd Merge april:devel/BitKeeper/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1


sql/opt_sum.cc:
  Auto merged
mysql-test/r/myisam.result:
  SCCS merged
mysql-test/t/myisam.test:
  SCCS merged
2006-06-21 17:51:16 +05:00
unknown
5c0cdea623 BUG#20357 - Got error 124 from storage engine using MIN and MAX
functions in queries

Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE)
results in error 124 (wrong index) from storage engine.

The problem was that optimizer use disabled index to optimize
MAX()/MIN(). Normally it must skip disabled index and perform
table scan.

This patch skips disabled indexes for min/max optimization.


mysql-test/r/myisam.result:
  Test case for BUG#20357.
mysql-test/t/myisam.test:
  Test case for BUG#20357.
sql/opt_sum.cc:
  Skip disabled/ignored indexes for min/max optimization.
2006-06-21 17:30:59 +05:00
unknown
ac67bfd7f7 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-21 13:42:02 +02:00
unknown
6d399b0c6b Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B18080


sql/sql_parse.cc:
  Auto merged
2006-06-21 13:06:32 +03:00
unknown
c0ff64f8f9 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/marty/MySQL/mysql-5.0
2006-06-21 12:03:08 +02:00
unknown
b92ad63f99 merge of the changes for bug #18080
mysql-test/t/insert_select.test:
  Auto merged
mysql-test/r/insert_select.result:
  manual merge
2006-06-21 13:03:06 +03:00
unknown
ea3392fb97 manual merge
mysql-test/r/view_grant.result:
  merged
mysql-test/t/view_grant.test:
  merged
2006-06-21 13:01:00 +03:00
unknown
5a3d028776 Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B20482


sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-21 12:59:34 +03:00
unknown
6c78715161 Bug #20482: failure on Create join view with sources views/tables in different
schemas
The function check_one_table_access() called to check access to tables in 
SELECT/INSERT/UPDATE was doing additional checks/modifications that don't hold
in the context of setup_tables_and_check_access().
That's why the check_one_table() was split into two : the functionality needed by
setup_tables_and_check_access() into check_single_table_access() and the rest of 
the functionality stays in check_one_table_access() that is made to call the new
check_single_table_access() function.


mysql-test/r/view_grant.result:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - test suite for the bug
mysql-test/t/view_grant.test:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - test suite for the bug
sql/mysql_priv.h:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - check_one_table_access split into 2
sql/sql_base.cc:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - the new sub-function called
sql/sql_parse.cc:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - check_one_table_access() split into two : check_single_table_access() to 
    actually check access to the table(ro) and check_one_table_access() that calls
    check_single_table_access() and checks also the tables belonging to sub selects
    or implicitly opened tables.
2006-06-21 12:12:46 +03:00
unknown
2b43555b55 Merge mysql.com:/home/marty/MySQL/mysql-5.0-backed
into  mysql.com:/home/marty/MySQL/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-21 09:50:41 +02:00
unknown
aedbb330c8 Fix for Bug #19906 REPLACE doesn't update TEXT fields correctly 2006-06-21 09:36:50 +02:00
unknown
3efeb89246 Fix for bug #15977 (switch ordering of DISABLE KEYS/LOCK TABLE in mysqldump) 2006-06-21 00:12:23 -07:00
unknown
8516546c80 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt
2006-06-20 22:15:30 -07:00
unknown
c6b67f0d15 Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
mysql-test/r/func_time.result:
  SCCS merged
2006-06-21 09:16:22 +05:00
unknown
69977fa50b Fixed bug #16674.
The length of the prefix of the pattern string in the LIKE predicate that 
determined the index range to be scanned was calculated incorrectly for
multi-byte character sets. 
As a result of this in 4. 1 the the scanned range was wider then necessary
if the prefix contained not only one-byte characters.  
In 5.0 additionally it caused missing some rows from the result set.


mysql-test/r/ctype_utf8.result:
  Added test cases for bug #16674.
mysql-test/t/ctype_utf8.test:
  Added test cases for bug #16674.
strings/ctype-mb.c:
  Fixed bug #16674.
  The length of the prefix of the pattern string in the LIKE predicate that 
  determined the index range to be scanned was calculated incorrectly for
  multi-byte character sets. 
  As a result of this in 4. 1 the the scanned range was wider then necessary
  if the prefix contained not only one-byte characters.  
  In 5.0 additionally it caused missing some rows from the result set.
      
  The function my_like_range_mb was fixed to calculate the length of
  the prefix in a pattern string correctly in all cases.
2006-06-20 19:57:21 -07:00
unknown
e9452db1c1 Fix for bug#19634 "Re-execution of multi-delete which involve trigger/stored
function crashes server".

Attempts to execute prepared multi-delete statement which involved trigger or
stored function caused server crashes (the same happened for such statements
included in stored procedures in cases when one tried to execute them more
than once).

The problem was caused by yet another incorrect usage of check_table_access()
routine (the latter assumes that table list which it gets as argument
corresponds to value LEX::query_tables_own_last). We solve this problem by
juggling with LEX::query_tables_own_last value when we call
check_table_access() for LEX::auxilliary_table_list (better solution is too
intrusive and should be done in 5.1).


mysql-test/r/sp-prelocking.result:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
mysql-test/t/sp-prelocking.test:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
sql/sql_parse.cc:
  To call safely check_table_access() for LEX::auxilliary_table_list we have
  to juggle with LEX::query_tables_own_last value.
2006-06-21 01:50:20 +04:00