Commit graph

48731 commits

Author SHA1 Message Date
unknown
e5fd6b3c71 (Pushing for Andrei)
Merge magare.gmz:/home/kgeorge/mysql/work/B27417-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27417-5.1-opt


mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/log.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/set_var.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sp_head.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_delete.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_insert.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_load.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_parse.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_update.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
2007-07-30 19:02:21 +03:00
unknown
1307d3b803 (pushing for Andrei)
Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
  
Once had been set the flag might later got reset inside of a stored routine 
execution stack.
The reason was in that there was no check if a new statement started at time 
of resetting.
The artifact affects most of binlogable DML queries. Notice, that multi-update 
is wrapped up within
  bug@27716 fix, multi-delete bug@29136.
  
Fixed with saving parent's statement flag of whether the statement modified 
non-transactional table, and unioning (merging) the value with that was gained 
in mysql_execute_command.
  
Resettling thd->no_trans_update members into thd->transaction.`member`;
Asserting code;
Effectively the following properties are held.
  
1. At the end of a substatement thd->transaction.stmt.modified_non_trans_table
   reflects the fact if such a table got modified by the substatement.
   That also respects THD::really_abort_on_warnin() requirements.
2. Eventually thd->transaction.stmt.modified_non_trans_table will be computed as
   the union of the values of all invoked sub-statements.
   That fixes this bug#27417;

Computing of thd->transaction.all.modified_non_trans_table is refined to base to 
the stmt's value for all the case including insert .. select statement which 
before the patch had an extra issue bug@28960.
Minor issues are covered with mysql_load, mysql_delete, and binloggin of insert in
to temp_table select. 
  
The supplied test verifies limitely, mostly asserts. The ultimate testing is defered
for bug@13270, bug@23333.


mysql-test/r/mix_innodb_myisam_binlog.result:
  results changed
mysql-test/t/mix_innodb_myisam_binlog.test:
  regression test incl the related bug#28960.
sql/ha_ndbcluster.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/handler.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/handler.h:
  new member added
sql/log.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/set_var.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sp_head.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
  
  and saving and merging stmt's flag at the end of a substatement.
sql/sql_class.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_class.h:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_delete.cc:
  correcting basic delete incl truncate branch and multi-delete queries to set
  stmt.modified_non_trans_table;
  optimization to set the flag at the end of per-row loop;
  multi-delete still has an extra issue similar to bug#27716 of multi-update 
  - to be address with bug_29136 fix.
sql/sql_insert.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_load.cc:
  eliminating a separate issue where the stmt flag was saved and re-stored after 
  write_record that actually could change it and the change would be lost but 
  should remain permanent;
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_parse.cc:
  initialization to transaction.stmt.modified_non_trans_table at the common part 
  of all types of statements processing - mysql_execute_command().
sql/sql_table.cc:
  moving the reset up to the mysql_execute_command() caller
sql/sql_update.cc:
  correcting update query case (multi-update part of the issues covered by other 
  bug#27716 fix)
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
2007-07-30 18:27:36 +03:00
unknown
b9097abf00 Moved the DBUG_ASSERT from bug 28983 to
a place where it would not obstruct
correct multithreading.
2007-07-30 16:03:52 +03:00
unknown
c0b65fb77d disabled.def:
ddl_i18n_koi8r.test has been disabled to ignore bug #30120.


mysql-test/t/disabled.def:
  ddl_i18n_koi8r.test has been disabled to ignore bug #30120.
2007-07-30 03:20:45 +05:00
unknown
11816452bc sp_head.cc:
Post-merge fix.


sql/sp_head.cc:
  Post-merge fix.
2007-07-29 21:12:54 +05:00
unknown
a0a216bb40 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
sql/sql_show.cc:
  Auto merged
mysql-test/t/view.test:
  Merge with 5.0-opt.
sql/sp_head.cc:
  Merge with 5.0-opt.
2007-07-29 14:41:39 +05:00
unknown
d86f0a1382 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/29856-bug-5.0-opt-mysql


sql/sp_head.cc:
  Auto merged
mysql-test/r/query_cache.result:
  SCCS merged
mysql-test/t/query_cache.test:
  SCCS merged
2007-07-28 22:47:03 +04:00
unknown
ba9e6a5673 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-28 23:47:02 +05:00
unknown
26c63ee58d Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sql_base.cc:
  Merge with 5.0-opt.
2007-07-28 23:38:59 +05:00
unknown
3c1716151e Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29834
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/sql_base.cc:
  Auto merged
mysql-test/r/sp.result:
  Merge with local tree.
mysql-test/t/sp.test:
  Merge with local tree.
2007-07-28 23:36:27 +05:00
unknown
90c5621d6c Fixed bug #29834.
Using view columns by their names during an execution of
a prepared SELECT statement or a SELECT statement inside
a SP caused a memory leak.


sql/sql_base.cc:
  Fixed bug #29834.
  The find_field_in_view function has been modified to
  use the execution memory root for the Item_direct_view_ref
  objects allocation at non-first executions of
  a PS/SP instead of the statement memory.
mysql-test/t/sp.test:
  Updated test case for bug #29834.
mysql-test/r/sp.result:
  Updated test case for bug #29834.
2007-07-28 23:10:38 +05:00
unknown
da2652884c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/30020-bug-5.0-opt-mysql
2007-07-28 21:39:03 +04:00
unknown
78dd1fe530 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-28 22:26:29 +05:00
unknown
7b9a6b1b37 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-28 21:26:01 +05:00
unknown
bb2d58f5e4 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-28 21:24:19 +05:00
unknown
92d83dd212 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-28 21:18:19 +05:00
unknown
aa4a3c9ad0 Bug#30020: Insufficient check led to a wrong info provided by the
information schema table.

The get_schema_views_record() function fills records in the view table of
the informations schema with data about given views. Among other info
the is_updatable flag is set. But the check whether the view is updatable or
not wasn't covering all cases thus sometimes providing wrong info.
This might led to a user confusion.

Now the get_schema_views_record function additionally calls to the 
view->can_be_merge() function to find out whether the view can be updated or
not.


mysql-test/t/view.test:
  Added a test case for the bug#30020: Insufficient check led to a wrong info
  provided by the information schema table.
mysql-test/r/view.result:
  Added a test case for the bug#30020: Insufficient check led to a wrong info
  provided by the information schema table.
sql/sql_show.cc:
  Bug#30020: Insufficient check led to a wrong info provided by the
  information schema table.
  Now the get_schema_views_record function additionally calls to the 
  view->can_be_merge() function to find out whether the view can be updated or
  not.
2007-07-28 16:02:29 +04:00
unknown
40d596c200 Bug#29856: Insufficient buffer space led to a server crash.
The subst_spvars function is used to create query string with SP variables 
substituted with their values. This string is used later for the binary log
and for the query cache. The problem is that the
query_cache_send_result_to_client function requires some additional space
after the query to store database name and query cache flags. This 
space wasn't reserved by the subst_spvars function which led to a memory
corruption and crash.

Now the subst_spvars function reserves additional space for the query cache.


mysql-test/t/query_cache.test:
  Added a test case for the bug#29856: Insufficient buffer space led to a server crash.
mysql-test/r/query_cache.result:
  Added a test case for the bug#29856: Insufficient buffer space led to a server crash.
sql/sp_head.cc:
  Bug#29856: Insufficient buffer space led to a server crash.
  Now the subst_spvars function reserves additional space for the query cache.
2007-07-28 15:01:29 +04:00
unknown
e20fb23627 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/hf/work/29878/my51-29878
2007-07-28 14:11:34 +05:00
unknown
5fb351ae07 rpl_session_var.test fixed to not depend on mysql_test_run parameters
mysql-test/suite/rpl/r/rpl_session_var.result:
  result fixed
mysql-test/suite/rpl/t/rpl_session_var.test:
  test fixed
2007-07-28 14:10:56 +05:00
unknown
9c79db318c show_check.result:
Addendum to thr fix for bug 30000:
  show procedure/function code defined only in debug builds
show_check.test:
  Addendum to thr fix for bug 30000: 
  show procedure/function code defined only in debug builds


mysql-test/t/show_check.test:
  Addendum to thr fix for bug 30000: 
  show procedure/function code defined only in debug builds
mysql-test/r/show_check.result:
  Addendum to thr fix for bug 30000:
  show procedure/function code defined only in debug builds
2007-07-28 08:42:43 +03:00
unknown
0ce785538f Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/29878/my50-29878
2007-07-28 01:33:03 +05:00
unknown
baf24e69da Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/29878/my51-29878
2007-07-28 00:50:17 +05:00
unknown
8feaed2ae7 Merge mysql.com:/home/hf/work/29878/my50-29878
into  mysql.com:/home/hf/work/29878/my51-29878


mysql-test/suite/rpl/r/rpl_session_var.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_session_var.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
2007-07-27 22:43:33 +05:00
unknown
c40dabb64d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30000-5.1-opt
2007-07-27 17:57:29 +03:00
unknown
82c87c0a44 Bug #30000: SHOW commands once again ends up in the
slow query log
Disable the SHOW commands to appear in the show query
log.
Update the commands type array.


mysql-test/r/show_check.result:
  Bug #30000: test case
mysql-test/t/show_check.test:
  Bug #30000: test case
sql/sql_parse.cc:
  Bug #30000: skip SHOW commands from the
  slow query log.
2007-07-27 17:55:39 +03:00
unknown
d47763406d fixing the 5.1-opt merge of the fix for bug 29571:
cannot check the statments in the binlog for row based 
replication.
2007-07-27 17:29:48 +03:00
unknown
d27bf14ed7 Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
Item_func_user doesn't calculate anything in it's val_str() method,
just returns saved str_value.
Though Item::save_in_field method can destroy str_value, relying on
val_str() return. As a result we get the garbage stored in field.

We cannot use Item::save_in_field implementation for Item_func_user,
reimplement it in simpler way.


mysql-test/r/rpl_session_var.result:
  Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
  
  test result
mysql-test/t/rpl_session_var.test:
  Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
  
  test case
sql/item.cc:
  Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
  
  duplicating code moved to Item::save_str_in_field
sql/item.h:
  Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
  
  duplicating code moved to Item::save_str_in_field
sql/item_strfunc.h:
  Bug #29878 Garbage data generation when executing SESSION_USER() on a slave.
  
  Item_func_user::save_in_field implemented as simple storing str_value
2007-07-27 18:42:25 +05:00
unknown
78587a08ac portation of the test case for bug 29571 to cover row replication 2007-07-27 15:36:10 +03:00
unknown
13c679124f 5.0-opt -> 5.1-opt merge of the test case for bug 29571:
- reset the logs before and after the test.
 - cleanup from the previous tests : use the correct schema.


mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
  5.0-opt -> 5.1-opt merge of the test case for bug 29571.
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result:
  5.0-opt -> 5.1-opt merge of the test case for bug 29571.
2007-07-27 14:28:36 +03:00
unknown
ebec403511 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30036-5.1-opt
2007-07-27 12:54:05 +03:00
unknown
f97155c9f6 Merge mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.1-engines


storage/myisam/mi_extra.c:
  Auto merged
mysql-test/r/alter_table.result:
  Manual merge
mysql-test/t/alter_table.test:
  Manual merge
2007-07-27 14:44:31 +05:00
unknown
766725c502 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
2007-07-27 14:36:43 +05:00
unknown
e92ce5d56c BUG#29957 - alter_table.test fails
INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
may cause table corruption on Windows.

That happens because ALTER TABLE writes outdated shared state
info into index file.

Fixed by removing obsolete workaround.

Affects MyISAM tables on Windows only.


myisam/mi_extra.c:
  On windows when mi_extra(HA_EXTRA_PREPARE_FOR_DELETE) is called,
  we release external lock and close index file. If we're in LOCK
  TABLES, MyISAM state info doesn't get updated until UNLOCK TABLES.
  
  That means when we release external lock and we're in LOCK TABLES,
  we may write outdated state info.
  
  As SQL layer closes all table instances, we do not need this
  workaround anymore.
mysql-test/r/alter_table.result:
  A test case for BUG#29957.
mysql-test/t/alter_table.test:
  A test case for BUG#29957.
2007-07-27 14:30:25 +05:00
unknown
30408a12d8 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/sql_insert.cc:
  Auto merged
BitKeeper/deleted/.del-bdb.result:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
BitKeeper/deleted/.del-rpl_insert_delayed.result:
  Auto merged
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
  Auto merged
sql/sql_select.cc:
  Merge with 5.0-opt.
sql/table.cc:
  Merge with 5.0-opt.
2007-07-27 13:38:11 +05:00
unknown
1a6ced2cfa Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bdb-fix
2007-07-26 20:54:28 +04:00
unknown
9206f68477 BUG#28591: make the fix work for BDB tables too:
- make ha_berkeley::cmp_ref() take into account that auto-generated PKs 
   are stored in LSB-first order. 
 - Remove the temporary code that made the bugfix work for innodb only 


mysql-test/r/bdb.result:
  Adjust test-results.
sql/ha_berkeley.cc:
  BUG#28591: make the fix work for BDB tables too:
   - make ha_berkeley::cmp_ref() take into account that auto-generated PKs 
     are stored in LSB-first order.
sql/sql_select.cc:
  BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
sql/table.cc:
  BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
2007-07-26 20:52:53 +04:00
unknown
c7150fd814 Bug #30036: SHOW TABLE TYPES causes the debug client to crash
SHOW TABLE TYPES is a (to be deprecated) synonym for 
SHOW STORAGE ENGINES.
Fixed to use the right schema table in addition to 
issuing a warning.


mysql-test/r/show_check.result:
  Bug #30036: test case
mysql-test/t/show_check.test:
  Bug #30036: test case
sql/sql_yacc.yy:
  Bug #30036: use the right schema table
2007-07-26 18:33:05 +03:00
unknown
d64f73e431 Merge xiphis.org:/anubis/antony/work/mysql-5.0-engines.merge
into  xiphis.org:/anubis/antony/work/mysql-5.1-engines.merge
2007-07-26 08:18:32 -07:00
unknown
dd1d665a34 Merge xiphis.org:/anubis/antony/work/mysql-5.1-engines
into  xiphis.org:/anubis/antony/work/mysql-5.1-engines.merge
2007-07-26 07:57:50 -07:00
unknown
b7eca8bc16 Merge xiphis.org:/anubis/antony/work/mysql-5.0-engines
into  xiphis.org:/anubis/antony/work/mysql-5.0-engines.merge
2007-07-26 07:56:37 -07:00
unknown
f2a91e55c8 Addendum to bug 29571: wait for INSERT DELAYED to finish on master 2007-07-26 16:59:21 +03:00
unknown
935ce76278 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29571-5.0-opt


sql/sql_insert.cc:
  Auto merged
2007-07-26 11:32:27 +03:00
unknown
5babac539d Bug #29571: INSERT DELAYED IGNORE written to binary log on
the master but on the slave

MySQL can decide to "downgrade" a INSERT DELAYED statement
to normal insert in certain situations.
One such situation is when the slave is replaying a 
replication feed.
However INSERT DELAYED is logged even if there're no updates
whereas the NORMAL INSERT is not logged in such cases.

Fixed by always logging a "downgraded" INSERT DELAYED: even 
if there were no updates.


mysql-test/r/rpl_insert_delayed.result:
  Bug #29571: test case
mysql-test/t/rpl_insert_delayed.test:
  Bug #29571: test case
sql/sql_insert.cc:
  Bug #29571: log INSERT DELAYED even if it was 
  "downgraded" to INSERT (and there were no updates)
2007-07-26 11:31:10 +03:00
unknown
a4b9f7f7c4 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  pcg5ppc.xiphis.org:/Users/antony/Work/p1-bug29522.1
2007-07-25 21:21:02 -07:00
unknown
5cb265d874 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/t/create.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/create.result:
  Merge with 5.0-opt.
2007-07-26 05:28:10 +05:00
unknown
99dc9bdb4f Merge xiphis.org:/anubis/antony/work/p2-bug25679.3
into  xiphis.org:/anubis/antony/work/p2-bug25679.3.merge-5.1


storage/federated/ha_federated.cc:
  Auto merged
2007-07-25 17:24:59 -07:00
unknown
85af6ba9e3 fix pushbuild failures
sql/ha_federated.cc:
  remote_error_number is set to -1 when an error was already reported
  with my_error(). ER(-1) will also cause a crash on 64bit arch and only
  worked on 32bit arch by luck
2007-07-25 17:22:52 -07:00
unknown
217a35d64f Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/create.result:
  Merge with 5.1 (main).
2007-07-26 05:13:32 +05:00
unknown
ddd7289908 table.cc, sql_select.cc:
Post-merge fix.


sql/sql_select.cc:
  Post-merge fix.
sql/table.cc:
  Post-merge fix.
2007-07-26 04:41:48 +05:00