Commit graph

5968 commits

Author SHA1 Message Date
unknown
2860a7723e Fixes for bug#8115 "Server Crash with prepared statement"
and bug#8849 "problem with insert statement with table alias's": 
make equality propagation work in stored procedures and prepared 
statements.
Equality propagation can change AND/OR structure of ON expressions,
so the fix is to provide each execution of PS/SP with it's own
copy of AND/OR tree. We have been doing that already for WHERE clauses,
now ON clauses are also copied.


mysql-test/r/ps.result:
  Bug#8115: test results fixed.
mysql-test/r/sp.result:
  Bug#8849: test results fixed.
mysql-test/t/ps.test:
  A test case for Bug#8115 "Server Crash with prepared statement".
mysql-test/t/sp.test:
  A test case for Bug#8849 "problem with insert statement with table 
  alias's".
sql/item_cmpfunc.cc:
  Comment a parse tree transformation.
sql/item_cmpfunc.h:
  Comment how Item_equal works with PS/SP.
sql/mysql_priv.h:
  Add declaration for init_stmt_after_parse.
sql/sp_head.cc:
  Call init_stmt_after_parse in restore_lex(), which is used to
  grab TABLE_LIST and SELECT_LEX list of a parsed substatement of
  stored procedure. This is a necessary post-init step which 
  must be done for any statement which can be executed many times.
sql/sql_prepare.cc:
  Implement init_stmt_after_parse() which prepares AND/OR
  structure of all ON expressions and WHERE clauses of a statement
  for copying.
sql/sql_select.cc:
  Implementation of equality propagation inspected with regard to 
  prepared statements and stored procedures. We now restore
  AND/OR structure of every ON expression in addition to AND/OR
  structure of WHERE clauses when reexecuting a PS/SP.
sql/table.h:
  Add declaration for TABLE::prep_on_expr.
2005-03-03 17:38:59 +03:00
unknown
da4ea4fa23 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0
2005-03-03 15:38:00 +04:00
unknown
0abf1f6d3f manual merge 2005-03-03 14:29:37 +04:00
unknown
78c09205fc Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-03-03 10:51:20 +01:00
unknown
7cd4805654 committing this deletion of federated.disabled, which was already committed in another tree apparently; just to make bk happy.
BitKeeper/deleted/.del-federated.disabled~a5703a3321e4108:
  Delete: mysql-test/t/federated.disabled
2005-03-03 09:49:34 +01:00
unknown
37306fb125 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-03-03 09:46:13 +01:00
unknown
41624daa4c WL# 2094, removed federated 'disable' file.
BitKeeper/deleted/.del-federated.disabled~a5703a3321e4108:
  Delete: mysql-test/t/federated.disabled
2005-03-02 16:14:46 -08:00
unknown
436e2f8308 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-03-02 18:05:57 +01:00
unknown
a766c7bf6f Merge mysqldev@production.mysql.com:/data0/mysqldev/my/mysql-5.0-merge
into krsna.patg.net:/home/patg/mysql-5.0
2005-03-02 09:01:07 -08:00
unknown
5a5fc3433c Last part of fix for BUG#7998 "Replication should be more clever about when to replicate RELEASE_LOCK()" + fixes after merge
mysql-test/r/drop_temp_table.result:
  result update
mysql-test/r/mix_innodb_myisam_binlog.result:
  result update
mysql-test/r/rpl000001.result:
  result update
mysql-test/r/rpl_change_master.result:
  result update
mysql-test/r/rpl_deadlock.result:
  result update (merge)
mysql-test/t/rpl000001.test:
  can't rely on GET_LOCK() to do slave synchro (use table lock instead)
mysql-test/t/rpl_change_master.test:
  changing the test as we can't use GET_LOCK() for slave synchro
mysql-test/t/rpl_deadlock.test:
  update (merge) binlog positions
mysql-test/t/rpl_get_lock.test:
  comment
2005-03-02 17:52:38 +01:00
unknown
5699934fe0 Fixed BUG#8762: Stored Procedures: Inconsistent behavior
of DROP PROCEDURE IF EXISTS statement.


mysql-test/r/sp.result:
  New test case for BUG#8757
mysql-test/t/sp.test:
  New test case for BUG#8757
sql/sp.cc:
  Don't zap lex->found_semicolon. (For compound statements)
2005-03-02 17:25:58 +01:00
unknown
90eed6566b Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1
2005-03-02 20:04:38 +04:00
unknown
b7943b7aee Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into krsna.patg.net:/home/patg/mysql-5.0


sql/handler.cc:
  Auto merged
2005-03-02 08:04:26 -08:00
unknown
737f7292b4 a fix for --ps-protocol (bug #6089: FOUND_ROWS returns wrong values when no table/view is used)
sql/sql_union.cc:
  a fix for --ps-protocol (bug #6089: FOUND_ROWS returns wrong values when no table/view is used)
  Don't touch options as itit's not needed.
2005-03-02 20:00:48 +04:00
unknown
1972aa7d52 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-xa


sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
2005-03-02 16:40:04 +01:00
unknown
53ec5f0667 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2005-03-02 15:31:03 +01:00
unknown
8fdc684b0b Merge
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  SCCS merged
sql/slave.h:
  SCCS merged
2005-03-02 14:46:19 +01:00
unknown
199e195d3d Bug#8306 - TRUNCATE leads to index corruption
After merge fix.
The bugfix results in a different error message in this situation.
2005-03-02 11:49:50 +01:00
unknown
91820633ac Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean


sql/mysqld.cc:
  Auto merged
2005-03-02 11:38:38 +01:00
unknown
d7e0784c65 Fix for BUG#8325 "Deadlock in replication thread stops replication":
in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).


sql/mysql_priv.h:
  new var slave_transaction_retries
sql/mysqld.cc:
  new variable slave_transaction_retries. Plus fixing a typo.
sql/set_var.cc:
  new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
sql/slave.cc:
  Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
  optionally retry the transaction a certain number of times (--slave_transaction_retries).
sql/slave.h:
  new RELAY_LOG_INFO::trans_retries.
2005-03-02 11:29:48 +01:00
unknown
cc4455631a Merge
innobase/include/srv0srv.h:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/myisam.result:
  SCCS merged
mysql-test/t/myisam.test:
  SCCS merged
sql/ha_innodb.h:
  SCCS merged
2005-03-02 10:56:13 +01:00
unknown
f508a6ca80 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
2005-03-02 10:41:23 +01:00
unknown
e1ba1632fb bug#8151 - truncate leaves a transaction open
deadlock in MYSQL_LOG::new_file()
style fixes


mysql-test/r/innodb.result:
  one more test for truncate
mysql-test/t/innodb.test:
  one more test for truncate
sql/ha_innodb.cc:
  bug#8151 - truncate leaves a transaction open
sql/handler.cc:
  bug#8151 - truncate leaves a transaction open
sql/item.h:
  style fix
sql/item_cmpfunc.cc:
  style fix
sql/item_cmpfunc.h:
  style fix
sql/item_func.cc:
  style fix
sql/item_func.h:
  style fix
sql/log.cc:
  let new_file() to lock LOCK_index,
  don't check for prepared_xids in rotate_and_purge()
  increase thread_safe_increment when LOCK_log is taken
sql/log_event.cc:
  mysqlbinlog now prints a warning if binlog was not closed properly
sql/sql_class.h:
  comments
sql/sql_repl.cc:
  DBUG_ENTER tag corrected
2005-03-02 10:38:25 +01:00
unknown
26f75ffc83 Bug#8306 - TRUNCATE leads to index corruption
Added a check, if the table, which we are going to create, is open.
This can happen if a MERGE mapped table is TRUNCATEd.


myisam/mi_open.c:
  Bug#8306 - TRUNCATE leads to index corruption
  Made test_if_reopen() globally available.
myisam/myisamdef.h:
  Bug#8306 - TRUNCATE leads to index corruption
  Declared test_if_reopen() as globally available.
mysql-test/r/myisam.result:
  Bug#8306 - TRUNCATE leads to index corruption
  The test result.
mysql-test/t/myisam.test:
  Bug#8306 - TRUNCATE leads to index corruption
  The test case.
2005-03-02 10:35:00 +01:00
unknown
055273c114 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into krsna.patg.net:/home/patg/mysql-5.0


sql/handler.cc:
  Auto merged
2005-03-01 23:23:11 -08:00
unknown
53bfeb4844 Fix for Bug#5615 and merge from 4.1
mysql-test/r/func_group.result:
  Added some tests and fix for Bug#5615.
mysql-test/r/show_check.result:
  Fix for Bug#5615.
mysql-test/t/func_group.test:
  Added some tests.
sql/item_sum.cc:
  Fix for Bug#5615.
sql/item_sum.h:
  Fix for Bug#5615.
sql/sql_select.cc:
  Fix for Bug#5615.
sql/sql_select.h:
  Fix for Bug#5615.
2005-03-01 22:19:19 +02:00
unknown
425573747f Merge
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
strings/ctype-bin.c:
  Auto merged
sql/sql_select.cc:
  SCCS merged
2005-03-01 14:50:59 +02:00
unknown
59158b851c Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089


sql/sql_select.cc:
  Auto merged
2005-03-01 14:19:32 +04:00
unknown
4dc33bc87d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089


sql/sql_select.cc:
  Auto merged
2005-03-01 12:31:05 +04:00
unknown
81dea6cd21 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b5615


mysql-test/r/show_check.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-01 12:20:55 +04:00
unknown
ef7570c72b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/sql_repl.cc:
  Auto merged
2005-02-28 22:27:55 +02:00
unknown
8400a5a4a8 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-02-28 19:23:58 +01:00
unknown
d2ead18b69 Fix for BUG#8726: In JOIN::optimize on ER_TOO_BIG_SELECT error set JOIN::error to -1 to cause
the error to be sent to the client.


mysql-test/r/select_safe.result:
  Testcase for BUG#8726
mysql-test/t/select_safe.test:
  Testcase for BUG#8726
sql/sql_select.cc:
  Fix for BUG#8726: On ER_TOO_BIG_SELECT set JOIN::error to -1 to cause the error to be sent to the client.
2005-02-28 20:21:21 +03:00
unknown
ed3b44994c Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-bug-8532
2005-02-28 19:21:04 +02:00
unknown
cef636d9be Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-02-28 18:09:24 +01:00
unknown
110f6abd38 Fixed BUG#8760: Stored Procedures: Invalid SQLSTATE is allowed in
a DECLARE ? HANDLER FOR stmt.


mysql-test/r/sp-error.result:
  New test case for BUG#8776 (check format of sqlstates in handler declarations).
mysql-test/t/sp-error.test:
  New test case for BUG#8776 (check format of sqlstates in handler declarations).
sql/share/errmsg.txt:
  New error message for malformed SQLSTATEs.
sql/sp_pcontext.cc:
  Added function for checking SQLSTATE format.
sql/sp_pcontext.h:
  Added function for checking SQLSTATE format.
sql/sql_yacc.yy:
  Check format of SQLSTATE in handler declaration.
2005-02-28 18:07:06 +01:00
unknown
f9dd79c77d merging
mysql-test/r/ps.result:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 19:59:38 +04: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
unknown
7a703d6ace Fix for BUG#8532.
The problem was in that the code that analyses the applicability of the
QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
are no duplicate column references in the DISTINCT clause, and it added
non-exiting key parts for the duplicate column references. 

The solution adds a test to check whether the select list already contained
a field with the same name. If such field was already present, then it was
already decided to use its key part for index access. In this such case we
must skip the duplicate field instead of counting it as a new field.


mysql-test/r/group_min_max.result:
  Added test results for BUG#8532.
mysql-test/t/group_min_max.test:
  Added tests for BUG#8532.
sql/opt_range.cc:
  The problem was in that the code that analyses the applicability of the
  QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
  are no duplicate column references in the DISTINCT clause, and it added
  non-exiting key parts for the duplicate column references. 
  
  The solution adds a test to check whether the select list already contained
  a field with the same name. If such field was already present, then it was
  already decided to use its key part for index access. In this such case we
  must skip the duplicate field instead of counting it as a new field.
2005-02-28 16:20:02 +02:00
unknown
7865746c27 merging
mysql-test/r/show_check.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 18:11:18 +04:00
unknown
c8b3d65ca2 Merge 2005-02-28 14:52:35 +03: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
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
unknown
4ef7991d28 Merge mysql.com:/space/pekka/ndb/version/my50
into mysql.com:/space/pekka/ndb/version/my50-ndb


ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
2005-02-27 17:25:31 +01:00
unknown
87a48cdf0d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/svoj/devel/mysql/stddev-mysql-5.0


sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-02-27 13:33:20 +04: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
unknown
1a72e219f2 Fix for BUG#8560: Set max_sort_char for any 8-bit charset with binary collation. max_sort_char is needed by
my_like_range_simple to produce upper bound constants for LIKE "str_%" and similar expressions.


mysql-test/r/ctype_cp1251.result:
  Test for BUG#8560
mysql-test/t/ctype_cp1251.test:
  Test for BUG#8560
2005-02-26 17:15:04 +03:00
unknown
d339dd13cd BUG#3190 fix (request for STDDEV_SAMP, VAR_SAMP).
This bug is also known as WL#1639.


mysql-test/r/func_group.result:
  Test case for stddev_pop, var_pop, stddev_samp, var_samp was added.
mysql-test/t/func_group.test:
  Test case for stddev_pop, var_pop, stddev_samp, var_samp was added.
sql/item_sum.cc:
  New functions stddev_samp and var_samp were added.
sql/item_sum.h:
  New functions stddev_samp and var_samp were added.
sql/lex.h:
  New functions stddev_pop, var_pop, stddev_samp and var_samp were added.
sql/sql_yacc.yy:
  New functions stddev_pop, var_pop, stddev_samp and var_samp were added.
2005-02-25 22:19:04 +04:00
unknown
0be32e7e5a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/sp_pcontext.cc:
  Auto merged
2005-02-25 19:51:29 +02:00
unknown
3d8aed6d83 Fixed BUG#8757: Stored Procedures: Scope of Begin and End Statements do not work properly.
mysql-test/r/sp.result:
  New test case for BUG#8757.
mysql-test/t/sp.test:
  New test case for BUG#8757.
sql/sp_pcontext.cc:
  Return the correct scope offset to cursors during parsing.
2005-02-25 17:56:45 +01:00