Commit graph

13739 commits

Author SHA1 Message Date
unknown
47b9860231 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-5.0
into  devsrv-b.mysql.com:/space/magnus/my50-bug15302
2006-01-31 16:42:25 +01:00
unknown
1a53ee1a65 Merge msvensson@msvensson.mysql.internal:/home/msvensson/mysql/bug15302/my50-bug15302
into  devsrv-b.mysql.com:/space/magnus/my50-bug15302


client/mysqltest.c:
  Auto merged
sql/sql_db.cc:
  Auto merged
2006-01-31 15:14:46 +01:00
unknown
852a5405e6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg16829


sql/sql_yacc.yy:
  Auto merged
2006-01-31 15:51:55 +03:00
unknown
b498114fba Merge neptunus.(none):/home/msvensson/mysql/bug15302/my41-bug15302
into  neptunus.(none):/home/msvensson/mysql/bug15302/my50-bug15302


client/mysqltest.c:
  Already in 5.0
sql/sql_db.cc:
  "mysql_create_db" is already silent in 5.0
2006-01-31 12:52:25 +01:00
unknown
c35be28149 Bug #15302 LOAD DATA FROM MASTER -> Packets out of order (Found: 2, expected 1)
- Change "mysql_create_db" to not call "send_ok" if in silent mode i.e. called from "load_master_data"
 - Change mysqltest to detect when there aren't as many warnings available as was reported.


client/mysqltest.c:
  Call "die" if warnings were reported but there weren't any warnings to retrieve
sql/sql_db.cc:
  Don't call "send_ok" if in silent mode.
2006-01-31 12:47:22 +01:00
unknown
4675b563e2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg16829


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
2006-01-31 14:43:41 +03:00
unknown
b5e313f364 Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15737/mysql-5.0
2006-01-31 09:49:54 +01:00
unknown
d77bfdbc4a Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/5.0.b16511
2006-01-31 10:53:37 +04:00
unknown
6065cacb8a Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.0
2006-01-30 10:55:24 -08:00
unknown
79e09501ca Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15737/mysql-5.0
2006-01-30 16:27:35 +01:00
unknown
907c38cdb3 Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15737/mysql-5.0
2006-01-30 15:06:33 +01:00
unknown
d42c472e31 Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-5.0
into  selena.:H:/MYSQL/src/#15634-mysql-5.0


sql/field.cc:
  Auto merged
2006-01-30 17:03:09 +03:00
unknown
ef0cd2f58a information_schema_db.result, information_schema.result:
Fix test result.
table.h, sql_show.cc:
  Put I_S tables in lexical order.


sql/sql_show.cc:
  Put I_S tables in lexical order.
sql/table.h:
  Put I_S tables in lexical order.
mysql-test/r/information_schema.result:
  Fix test result.
mysql-test/r/information_schema_db.result:
  Fix test result.
2006-01-28 19:44:51 -06:00
unknown
a1b67ce2a2 Fix for bug #16829 "Firing trigger with RETURN crashes the server"
We should disallow usage of RETURN statement in triggers and emit
error at parsing time (instead of crashing when trigger is fired).


mysql-test/r/trigger.result:
  Added test for bug #16829 "Firing trigger with RETURN crashes the server".
mysql-test/t/trigger.test:
  Added test for bug #16829 "Firing trigger with RETURN crashes the server".
sql/sql_yacc.yy:
  We should disallow usage of RETURN statement in triggers and emit
  error at parsing time (instead of crashing when trigger is fired).
2006-01-28 12:50:16 +03:00
unknown
6bfbba34c7 Fixed bug #16260.
The problem has manifested itself in the cases when we have a nested outer join
for which it can be inferred that one of the inner tables is a single row table.


mysql-test/r/join_nested.result:
  Added a test case for bug #16260.
mysql-test/t/join_nested.test:
  Added a test case for bug #16260.
sql/sql_select.cc:
  Fixed bug #16260.
  The problem has manifested itself in the cases when we have a nested outer join
  for which it can be inferred that one of the inner tables is a single row table.
  A table is never considered as a const table if it is used in a nested join 
  that serves as an inner operand of an outer join.
2006-01-27 21:20:28 -08:00
unknown
e13a840ad7 BUG# 14768
Added fixes to make last_insert_id() to work.


mysql-test/r/federated.result:
  BUG #14768
  
  New test results for last_insert_id()
mysql-test/t/federated.test:
  BUG #14768
  
  Tests for last_insert_id()
sql/ha_federated.cc:
  BUG# 14768
  
  * Added code to set last_insert_id()
  * Added code to free share->scheme
sql/ha_federated.h:
  BUG #14768
  
  New method for setting last_insert_id()
2006-01-27 15:43:44 -08:00
unknown
7f3f9027d9 Added comments to specify why no much mutex is needed. 2006-01-27 12:44:33 -05:00
unknown
79f575a8f7 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into  c-5c0be253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug12796
2006-01-27 09:29:59 -05:00
unknown
e7f4df036b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1
2006-01-26 19:01:54 +02:00
unknown
af187fa29d Fixed on BUG#16568: Continue handler with simple CASE not working correctly
After trying multiple inheritance (to messy and hard make it work) and
  sublassing jump_if_not (worked, but ugly), decided to on this solution
  instead:
  Inserting an abstract sp_instr_opt_meta class as parent for all instructions
  with destinations makes it possible to handle a continuation pointer for
  sp_instr_set_case_expr too.
  Note: No special test case; the fix is captured by the changed behaviour of
  bug14643_2, and bug14498_4 (formerly disabled), in sp.test.


mysql-test/r/sp.result:
  Updated results for BUG#16568 (affects results for bug14643_2 and bug14498_4)
mysql-test/t/sp.test:
  Enabled test bug14498_4 for BUG#16568.
sql/sp_head.cc:
  Changed type of some parameters and variables (sp_instr_opt_meta instead of sp_instr_jump*).
  Added consistency check of m_ip member in instructions in sp_head::show_routine_code().
  Updated print() method of, and added opt_mark() and opt_move() methods to
  sp_instr_set_case_expr, to handle the new continuation destination.
sql/sp_head.h:
  New abstract class between sp_instr and instructions with destinations, in particular
  sp_instr_set_case_expr, for continuation destination handling.
  Changed type of some parameters and variables (sp_instr_opt_meta instead of sp_instr_jump*).
  Added opt_mark(), opt_move() and set_destination() methods to
  sp_instr_set_case_expr.
sql/sql_parse.cc:
  Fixed small bug at show_routine_code() call (tested return value the wrong way).
sql/sql_yacc.yy:
  sp_instr_set_case_expr is now added to backpatch list (for the new cont. destination).
2006-01-26 17:26:25 +01:00
unknown
f9ab554985 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1


sql/sql_select.cc:
  Auto merged
2006-01-26 16:00:49 +02:00
unknown
cce719fba8 Fixed BUG#16303: erroneus stored procedures and functions should be droppable
Use a special lookup function for DROP, which doesn't attempt to parse the
  definition.


mysql-test/r/sp-destruct.result:
  Updated test result for BUG#16303.
mysql-test/t/sp-destruct.test:
  Added test case for BUG#16303.
sql/sp.cc:
  New function sp_routine_exists_in_table() for DROP PROCEDURE/FUNCTION; which doesn't
  want to parse the definition, only know if it exists.
  
  Renamed sp_exists_routine to sp_exist_routines and added comment,
  and changed the misnamed parameter/variable 'tables'/'table' to
  'routines'/'routine'.
sql/sp.h:
  New function sp_routine_exists_in_table() for DROP PROCEDURE/FUNCTION.
  
  Renamed sp_exists_routine to sp_exist_routines,
  and changed the misnamed parameter 'tables' to 'routines'.
sql/sql_acl.cc:
  Call to sp_exists_routine() renamed to sp_exist_routines().
sql/sql_parse.cc:
  Use the new sp_routine_exists_in_table() instead of sp_find_routine(), since we don't
  want the routine definition parsed when doing DROP PROCEDURE/FUNCTION.
2006-01-26 13:29:46 +01:00
unknown
956a5b6dfa BUG#15699 importing the fix from 5.0
sql/sql_parse.cc:
  BUG#15699,16487 merge of the fix made in 5.0
mysql-test/r/rpl_multi_update4.result:
  New BitKeeper file ``mysql-test/r/rpl_multi_update4.result''
mysql-test/t/rpl_multi_update4-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_multi_update4-slave.opt''
mysql-test/t/rpl_multi_update4.test:
  New BitKeeper file ``mysql-test/t/rpl_multi_update4.test''
mysql-test/r/rpl_ignore_table.result:
  New BitKeeper file ``mysql-test/r/rpl_ignore_table.result''
2006-01-26 12:49:55 +02:00
unknown
27c25d38ef Fix for bug #16511: Decimal data types broken with prepared statements.
sql/sql_prepare.cc:
  Fix for bug #16511: Decimal data types broken with prepared statements.
  - should add the real length.
2006-01-26 13:15:47 +04:00
unknown
7dd2ec0f1b BUG#15935: post-review fixes: added comment 2006-01-26 00:09:04 +03:00
unknown
d33ac37ba6 BUG#15935: In mysql_update, don't use full index scan when we could have used quick select scan.
mysql-test/r/update.result:
  Testcase for BUG#15935
mysql-test/t/update.test:
  Testcase for BUG#15935
sql/sql_update.cc:
  BUG#15935: 
  - Do account for the fact that used_index!=MAX_KEY is also true for cases
    when quick select is used, and use quick select then (and not full index scan).
  - Also removed the redundant "used_index= MAX_KEY" statement
2006-01-25 23:25:23 +03:00
unknown
cc037976c3 Fixed BUGS#15011: error handler for mysql errno in nested block not activated
For nested sql errno handlers (unlike sqlexception and other), we didn't stop
  searching when the innermost handler was found - now make sure we do.


mysql-test/r/sp.result:
  Updated result for BUG#15011.
mysql-test/t/sp.test:
  New testcase for BUG#15011.
sql/sp_rcontext.cc:
  Make sure we stop at the innermost sql_errno handler.
2006-01-25 17:19:54 +01:00
unknown
7ee65fcf85 Fixed BUG#15737: Stored procedure optimizer bug with LEAVE
Second version.
  The problem was that the optimizer didn't work correctly with forwards jumps
  to "no-op" hpop and cpop instructions.
  Don't generate "no-op" instructions (hpop 0 and cpop 0), it isn't actually
  necessary.


mysql-test/r/sp-code.result:
  Updated results for new test case (BUG#15737)
mysql-test/t/sp-code.test:
  New test case (BUG#15737)
sql/sp_head.cc:
  Removed backpatch methods from sp_instr_hpop/cpop, since they're not needed any more.
  Added more documentation to sp_head::optimize()
sql/sp_head.h:
  Removed backpatch and opt_mark methods from sp_instr_hpop/cpop, since they're not needed
  any more.
  Added comments to optimizer methods in sp_instr.
sql/sql_yacc.yy:
  Don't generate "no-op" hpop and cpop instructions for LEAVE, it's not necessary.
  Just generate them when needed.
2006-01-25 15:11:49 +01:00
unknown
6b2718d16f Complaint from a user who was getting sick of repairing their tables do to their lousy setup (their words). All crashed archive tables will now be repaired on open.
sql/ha_archive.cc:
  Fix for repair table.
2006-01-24 21:43:41 -08:00
unknown
8f395ebbfa Fix for the following bugs:
- BUG#15166: Wrong update permissions required to execute triggers
  - BUG#15196: Wrong select permission required to execute triggers

The idea of the fix is to check necessary privileges
in Item_trigger_field::fix_fields(), instead of having "special variables"
technique. To achieve this, we should pass to an Item_trigger_field instance
a flag, which will indicate the usage/access type of this trigger variable.


mysql-test/r/trigger-grant.result:
  Update the result file.
mysql-test/t/trigger-grant.test:
  Add test cases for BUG#15166 and BUG#15196
sql/item.cc:
  Item_trigger_field: check appropriate (SELECT/UPDATE) privilege in fix_fields().
sql/item.h:
  Add a flag to specify access type for trigger field.
sql/sql_trigger.cc:
  "Special variable" technique of checking privileges for NEW/OLD variables
  was replaced by checking table- and column-level privileges in
  Item_trigger_field::fix_fields().
sql/sql_trigger.h:
  "Special variable" technique of checking privileges for NEW/OLD variables
  was replaced by checking table- and column-level privileges in
  Item_trigger_field::fix_fields().
sql/sql_yacc.yy:
  Specify access type for trigger fields.
2006-01-24 20:15:12 +03:00
unknown
9e0240d366 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/mysql-5.0
2006-01-24 14:49:25 +02:00
unknown
333b1f8594 Fix for bug#15307 GROUP_CONCAT() with ORDER BY returns empty set on information_schema(2nd ver)
Fill schema tables with data before filesort if it's necessary


mysql-test/r/information_schema.result:
  Fix for bug#15307 GROUP_CONCAT() with ORDER BY returns empty set on information_schema(2nd ver)
    test result
mysql-test/t/information_schema.test:
  Fix for bug#15307 GROUP_CONCAT() with ORDER BY returns empty set on information_schema(2nd ver)
    test case
2006-01-24 16:48:19 +04:00
unknown
794e94e4f7 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/mysql-5.0
2006-01-24 13:47:24 +02:00
unknown
30382bee9b Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug15020/my50-bug15020
2006-01-24 10:29:26 +01:00
unknown
1dcfe028a7 BUG#15699, failure to apply ignore rule for unexisting table.
Since replication rules execute after `mysql_multi_update_prepare' returns we
delay to `break' in case this functions returns non-zero (some tables are not found) 
for to examine if there is an ignore rule for a not-found table. By doing that
it is guaranteed do/ignore replication rules logically preceed opening table routine.


sql/sql_parse.cc:
  BUG#15699. We delay to `break' in case of unexisted tables for multi-update.
  First it is checked whether an ignore rule for such a table exists.
  
  More to the fix:
  if (opt_readonly && ...' in two places got be idented because it were
  enclosed explicitly into corresponding `else' groups. For that 
  the preceding lines with `else' were changed in to be 
  `else 
   {'.
  This grouping is necessary to avoid any inattentive
  insertion in between of `else' and belonging to the else 
  `if (opt_readonly && ...' statement.
mysql-test/r/rpl_multi_update4.result:
  New BitKeeper file ``mysql-test/r/rpl_multi_update4.result''
mysql-test/t/rpl_multi_update4-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_multi_update4-slave.opt''
mysql-test/t/rpl_multi_update4.test:
  New BitKeeper file ``mysql-test/t/rpl_multi_update4.test''
2006-01-23 18:03:09 +02:00
unknown
c56ae50732 Merge gboehn@bk-internal.mysql.com:/home/bk/mysql-4.1
into  phoenix.(none):/data/mysql-4.1-BK
2006-01-23 11:18:06 +01:00
unknown
4e69c153e3 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.tangent.org:/home/brian/mysql/mysql-5.0
2006-01-22 00:09:43 -08:00
unknown
494bccf044 Merging
mysql-test/ndb/ndbcluster.sh:
  Auto merged
mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
sql/spatial.h:
  Auto merged
mysql-test/r/type_float.result:
  merging
sql/item_func.cc:
  merging
2006-01-21 18:50:06 +04:00
unknown
a8e1b46834 Merge hf@192.168.21.12:work/mysql-4.1.14320
into eagle.intranet.mysql.r18.ru:/home/hf/work/mysql-4.1.mrg
2006-01-21 17:54:30 +04:00
unknown
32fc680089 Merge hf@192.168.21.12:work/mysql-4.1.9855
into eagle.intranet.mysql.r18.ru:/home/hf/work/mysql-4.1.mrg


sql/item_func.cc:
  Auto merged
2006-01-21 17:53:29 +04:00
unknown
a207c820e0 Turns out that the bulk interface was not well documented. I fixed the issue in archive and I will go and update the comments in handler next. I should probably also look through the other engines and see if this an issue elsewhere as well.
sql/ha_archive.cc:
  Fixed for bulk_insert
2006-01-21 04:49:26 -08:00
unknown
b688b19697 Fix for BUG#15588: String overrun during sp-vars.test
The bug appears after implementation of WL#2984
(Make stored routine variables work according to the standard).


mysql-test/r/type_varchar.result:
  Update result file.
mysql-test/t/type_varchar.test:
  Add a test for BUG#15588.
sql/field.cc:
  - use memmove() instead of memcpy() -- after implementation of WL#2984
    (Make stored routine variables work according to the standard) it is
    possible to store in the field the value from this field. For instance,
    this can happen for the following statement:
      SET sp_var = SUBSTR(sp_var, 1, 3);
sql/sp_head.cc:
  - Work correctly with String:
    - String length has to be be reset before use;
    - qs_append() does not allocate memory, so the memory should
      be reserved beforehand.
sql/sql_select.cc:
  Polishing: should have been done in WL#2984.
2006-01-20 15:59:22 +03:00
unknown
217d905537 Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15658/mysql-5.0
2006-01-19 16:13:38 +01:00
unknown
b60fc2cee8 Post-review fixes (BUG#15658).
sql/sp_head.cc:
  Post-review fix.
sql/sp_head.h:
  Post-review fix.
sql/sql_yacc.yy:
  Post-review fix.
2006-01-19 16:13:04 +01:00
unknown
de93185567 Fix option type error, crashes on 64-bit big endian. 2006-01-19 15:36:41 +01:00
unknown
76c1f674c1 Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15658/mysql-5.0
2006-01-19 15:15:47 +01:00
unknown
a648d0b161 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug15020/my50-bug15020


sql/table.cc:
  Auto merged
2006-01-19 12:12:47 +01:00
unknown
c87bfd13ac Merge mysql.com:/opt/local/work/mysql-4.1-15613
into  mysql.com:/opt/local/work/mysql-5.0-root


sql/protocol.cc:
  Auto merged
tests/mysql_client_test.c:
  Manual merge.
2006-01-19 14:01:20 +03:00
unknown
663fe66468 Merge mysql.com:/extern/mysql/bk/mysql-5.0
into  mysql.com:/extern/mysql/work/bug15658/mysql-5.0


mysql-test/r/sp-error.result:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2006-01-19 11:48:07 +01:00
unknown
ac015116e1 Bug#15020 "Can't find files" message incorrect for error 24
sql/table.cc:
  Use error message "Can't open file" if errno EMFILE is returned.
2006-01-19 11:35:27 +01:00