Commit graph

34242 commits

Author SHA1 Message Date
unknown
13eeee6f3f support-files/mysql.spec.sh
The "mysqlmanager" man page got moved from section 1 to 8.


support-files/mysql.spec.sh:
  The "mysqlmanager" man page got moved from section 1 to 8.
2006-12-14 22:41:26 +01:00
unknown
d480867964 Merge trift2.:/MySQL/M41/spec-4.1
into  trift2.:/MySQL/M50/spec-5.0


support-files/mysql.spec.sh:
  Manual merge.
2006-12-14 22:37:13 +01:00
unknown
007357e7cd support-files/mysql.spec.sh
The Docs team has two new manpages for the "server" RPM: "my_print_defaults" and "mysql_tzinfo_to_sql".


support-files/mysql.spec.sh:
  The Docs team has two new manpages for the "server" RPM: "my_print_defaults" and "mysql_tzinfo_to_sql".
2006-12-14 22:30:32 +01:00
unknown
991de08780 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
2006-12-14 13:32:27 +01:00
unknown
76bd00a993 After merge fix for bug N22645
mysql-test/t/mysqlbinlog.test:
  After merge fix
sql/log_event.cc:
  Fixing comment, thanks to Andrei for suggestion
2006-12-14 16:31:23 +04:00
unknown
32fcce2b60 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work


mysql-test/mysql-test-run.pl:
  Auto merged
2006-12-14 13:31:11 +01:00
unknown
c8b678ac08 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b22645


mysql-test/t/disabled.def:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  After merge fix
mysql-test/t/mysqlbinlog.test:
  After merge fix
2006-12-14 14:19:30 +04:00
unknown
430b2eafbc Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1
into  kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
2006-12-14 09:34:24 +01:00
unknown
39d873cf3c Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2006-12-14 09:33:27 +01:00
unknown
cbd1bd9078 Fixed bug .
Blocked evaluation of constant objects of the classes
Item_func_is_null and Item_is_not_null_test at the
prepare phase in the cases when the objects used subqueries. 


mysql-test/r/ps.result:
  Extended test case for bug .
mysql-test/t/ps.test:
  Extended test case for bug .
sql/sql_lex.cc:
  Returned back the assertion in st_select_lex_unit::set_limit,
  removed by the previous commit for this bug.
2006-12-13 21:08:25 -08:00
unknown
b9d2627ca1 Merge mysql.com:/home/svoj/devel/mysql/BUG23404/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG23404/mysql-5.0-engines


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
sql/sql_parse.cc:
  SCCS merged
2006-12-13 16:29:33 +04:00
unknown
a4ad07b7ea Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG23404/mysql-4.1-engines


mysql-test/r/alter_table.result:
  SCCS merged
mysql-test/t/alter_table.test:
  SCCS merged
2006-12-13 15:53:37 +04:00
unknown
2f78d5ca81 Fixed bug .
Removed an assertion that was not valid for the cases where the query
in a prepared statement contained a single-row non-correlated
subquery that was used as an argument of the IS NULL predicate.


mysql-test/r/ps.result:
  Added a test case for bug .
mysql-test/t/ps.test:
  Added a test case for bug .
2006-12-13 00:39:13 -08:00
unknown
22192d083a Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_subselect.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
sql/item_subselect.h:
  Manual merge
2006-12-12 11:53:09 -08:00
unknown
2aa36d2d96 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt1


libmysql/libmysql.c:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/type_newdecimal.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
strings/decimal.c:
  Auto merged
2006-12-12 17:57:51 +03:00
unknown
c6e421bc45 BUG#24896 magnus' suggestion 2006-12-12 15:47:02 +01:00
unknown
f67380eb6a BUG#24902 in 5.0
mysql-test/Makefile.am:
  BUG#24902
2006-12-12 13:55:40 +01:00
unknown
4108725364 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


sql/sql_class.h:
  Auto merged
2006-12-12 15:41:43 +04:00
unknown
7433bdfa7b Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2006-12-12 14:01:06 +04:00
unknown
33446269e1 Fixed bug : optimizations that are legal only for subqueries without tables
and no WHERE condition were applied for any subquery without tables.



mysql-test/r/subselect.result:
  Added a test case for bug .
mysql-test/t/subselect.test:
  Added a test case for bug .
sql/item_subselect.cc:
  Fixed bug : optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  
  Removed an assertion that caused an abort for subqueries without tables and no 
  WHERE condition. 
  Blocked substitution of a single-row subquery without tables for the constant 
  row from its select list when the subquery contained a WHERE condition.
  This optimization is valid only for subquries without tables with no conditions.
  Any subquery without tables with WHERE clause returns NULL if the WHERE condition
  is FALSE. Erroneously it was always considered as non-nullable that could trigger 
  another optimization concerning IS NULL predicates which is applicable only for 
  non-nullable expressions and ultimately led to a wrong result returned by the outer
  query.
  Added a proper implementation of the virtual method may_be_null for class 
  subselect_single_select_engine.
sql/item_subselect.h:
  Fixed bug : optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  Made method may_by_null for class subselect_engine vvirtual.
2006-12-11 18:57:23 -08:00
unknown
d501b2dd39 minor cleanup
mysql-test/t/sp_stress_case.test:
  Minor cleanup ... the test is now faster, even in debug builds
2006-12-11 18:52:24 -07:00
unknown
1ec1068037 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-19194


sql/sp_head.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-12-11 17:15:08 -07:00
unknown
c01c4cc359 Bug#19194 (Right recursion in parser for CASE causes excessive stack usage,
limitation)
Bug#24854 (Mixing Searched Case with Simple Case inside Stored Procedure
  crashes Mysqld)

Implemented code review (19194) comments


mysql-test/r/sp_stress_case.result:
  Implemented code review comments : use SQL instead of a shell script to
  generate the code
mysql-test/t/sp_stress_case.test:
  Adjusted
sql/sql_yacc.yy:
  Added more explicit comments
BitKeeper/deleted/.del-sp_stress_case.sh:
  Delete: mysql-test/t/sp_stress_case.sh
2006-12-11 16:59:02 -07:00
unknown
a8103a89b4 Post-merge fixes for Bug#4968 "Stored procedure crash if cursor opened
on altered table" and Bug#19733 "Repeated alter, or repeated 
create/drop, fails"


mysql-test/r/ps.result:
  Post-merge fixes: update results with new tests.
mysql-test/r/sp.result:
  Post-merge fixes: update results.
mysql-test/t/ps.test:
  Add more test cases for Bug#4968 and related.
mysql-test/t/sp.test:
  A post-merge fix: add more testcases for Bug#4968 and related.
sql/sql_insert.cc:
  Post-merge fixes: update comments, fix errors of the manual merge.
sql/sql_lex.cc:
  Fix a manual merge error.
sql/sql_parse.cc:
  Fix a few errors of the manual merge, style.
sql/sql_table.cc:
  Post-merge fixes, fix a few errors of the manual merge, fix style.
sql/sql_yacc.yy:
  A post-merge fix.
2006-12-12 01:50:12 +03:00
unknown
3e3990433a Merge bodhi.local:/opt/local/work/mysql-4.1-4968
into  bodhi.local:/opt/local/work/mysql-5.0-4968-pull-from-4.1


sql/sql_insert.cc:
  Auto merged
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
sql/mysql_priv.h:
  Manual merge.
sql/sql_class.h:
  Manual merge.
sql/sql_lex.cc:
  Manual merge.
sql/sql_lex.h:
  Manual merge.
sql/sql_list.h:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
sql/sql_show.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
2006-12-12 01:23:30 +03:00
unknown
1c1c35d2b5 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2006-12-11 15:32:07 +04:00
unknown
7dca488c3e Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1
into  kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
2006-12-11 10:51:29 +01:00
unknown
fb9d6963bf Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build


mysql-test/mysql-test-run.pl:
  Auto merged
2006-12-11 10:49:31 +01:00
unknown
750dd5ed04 Merge mysql.com:/home/bk/MERGE/mysql-4.1-merge
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge


sql/item_timefunc.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-12-08 23:51:21 +01:00
unknown
cacaef6e44 Merge mysql.com:/home/bkroot/mysql-5.0-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge


client/mysqldump.c:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/rpl_timezone.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysys/my_thr_init.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-12-08 23:33:39 +01:00
unknown
5aa8705ab6 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge


sql/item_timefunc.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-12-08 23:33:15 +01:00
unknown
a79858049e Minor fix
include/my_pthread.h:
  Fixed missing \ in #if directive.
2006-12-08 19:23:12 +01:00
unknown
42b2cb8613 Merge quant.(none):/ext/mysql/bkroot/mysql-5.0-rpl
into  quant.(none):/ext/mysql/bk/mysql-5.0-bug24507


sql/sql_acl.cc:
  Auto merged
2006-12-08 16:50:06 +01:00
unknown
885de57181 Merge chilla.local:/home/mydev/mysql-4.1-axmrg
into  chilla.local:/home/mydev/mysql-5.0-axmrg


sql/sql_class.h:
  Auto merged
2006-12-08 12:29:13 +01:00
unknown
c0ca163d06 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2006-12-08 12:28:21 +01:00
unknown
5e3f06db42 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/embt/my50-embt


libmysqld/lib_sql.cc:
  Auto merged
mysql-test/include/federated.inc:
  Auto merged
mysql-test/t/flush_block_commit.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/status.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
mysql-test/mysql-test-run.pl:
  merging
mysql-test/r/flush_block_commit.result:
  SCCS merged
2006-12-08 15:22:46 +04:00
unknown
605f62ce32 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2006-12-08 12:20:48 +01:00
unknown
6aa09b4c23 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b24158
2006-12-08 15:18:03 +04:00
unknown
ca98fb63ad Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/embt/my41-embt


libmysqld/lib_sql.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
2006-12-08 15:15:33 +04:00
unknown
df2af6cdf0 Merge quant.(none):/ext/mysql/bkroot/mysql-5.0-rpl
into  quant.(none):/ext/mysql/bk/mysql-5.0-bug24507


client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-12-08 11:47:48 +01:00
unknown
9f37ea459c BUG#24507 (rpl_log.test crash slave):
The problem was located to lie inside current NPTL pthread_exit() 
implementation. Race conditions in this code can lead to segmentation
fault. Hovewer, this can happen only in a race between first thread 
calling pthread_exit() and other threads. 

Workaround implemented in this patch spawns a dummy thread, which
exits immediately, during thread lib initialization. This will exclude
segment violations when further threads exit.
 


include/my_pthread.h:
  define macro NPTL_PTHREAD_EXIT_BUG which controls whether workaround
  in my_thread_global_init() is included or not.
mysys/my_thr_init.c:
  Spawn a dummy thread in my_thread_global_init() to initialize pthread 
  lib internal variables.
2006-12-08 11:41:12 +01:00
unknown
12ac165c2f BUG#24896 mysql_upgrade -p fix
client/mysql_upgrade.c:
  BUG#24896 mysql_upgrade core dumps on RHEL3 using 5.0.30 commerical binaries
2006-12-08 10:23:03 +01:00
unknown
b93baf4832 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b20396
2006-12-08 09:48:46 +04:00
unknown
e47ded8114 A fix and test cases for
Bug#4968 "Stored procedure crash if cursor opened on altered table"
Bug#19733 "Repeated alter, or repeated create/drop, fails"
Bug#19182 "CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work from 
stored procedure."
Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing"
Bug#22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"

Test cases for bugs 4968, 19733, 6895 will be added in 5.0.

Re-execution of CREATE DATABASE, CREATE TABLE and ALTER TABLE 
statements in stored routines or as prepared statements caused
incorrect results (and crashes in versions prior to 5.0.25).
In 5.1 the problem occured only for CREATE DATABASE, CREATE TABLE
SELECT and CREATE TABLE with INDEX/DATA DIRECTOY options).

The problem of bugs 4968, 19733, 19282 and 6895 was that functions
mysql_prepare_table, mysql_create_table and mysql_alter_table were not
re-execution friendly: during their operation they used to modify contents
of LEX (members create_info, alter_info, key_list, create_list),
thus making the LEX unusable for the next execution.
In particular, these functions removed processed columns and keys from
create_list, key_list and drop_list. Search the code in sql_table.cc 
for drop_it.remove() and similar patterns to find evidence.

The fix is to supply to these functions a usable copy of each of the
above structures at every re-execution of an SQL statement. 

To simplify memory management, LEX::key_list and LEX::create_list
were added to LEX::alter_info, a fresh copy of which is created for
every execution.

The problem of crashing bug 22060 stemmed from the fact that the above 
metnioned functions were not only modifying HA_CREATE_INFO structure in 
LEX, but also were changing it to point to areas in volatile memory of 
the execution memory root.
 
The patch solves this problem by creating and using an on-stack
copy of HA_CREATE_INFO (note that code in 5.1 already creates and
uses a copy of this structure in mysql_create_table()/alter_table(),
but this approach didn't work well for CREATE TABLE SELECT statement).


mysql-test/r/ps.result:
  Update test results (Bug#19182, Bug#22060)
mysql-test/t/ps.test:
  Add a test case for Bug#19182, Bug#22060 (4.1-only parts)
sql/mysql_priv.h:
  LEX::key_list and LEX::create_list were moved to LEX::alter_info.
  Update declarations to use LEX::alter_info instead of these two
  members.
sql/sql_class.h:
  Replace pair<columns, keys> with an instance of Alter_info in
  select_create constructor. We create a new copy of Alter_info
  each time we re-execute SELECT .. CREATE prepared statement.
sql/sql_insert.cc:
  Adjust to a new signature of create_table_from_items.
sql/sql_lex.cc:
  Implement Alter_info::Alter_info that would make a "deep" copy
  of all definition lists (keys, columns).
sql/sql_lex.h:
  Move key_list and create_list to class Alter_info. Implement
  Alter_info::Alter_info that can be used with PS and SP.
sql/sql_list.h:
  Implement a copy constructor of class List that makes a deep copy
  of all list nodes.
sql/sql_parse.cc:
  Adjust to new signatures of mysql_create_table, mysql_alter_table,
  select_create. Functions mysql_create_index and mysql_drop_index has
  become identical after initialization of alter_info was moved to the 
  parser, and were merged. Flag enable_slow_log was not updated for 
  SQLCOM_DROP_INDEX, which is a bug. Just like CREATE INDEX, DROP INDEX
  is currently done via complete table rebuild and is rightfully a slow
  administrative statement.
sql/sql_show.cc:
  Adjust mysqld_show_create_db to a new signature.
sql/sql_table.cc:
  Adjust mysql_alter_table, mysql_recreate_table, mysql_create_table,
  mysql_prepare_table to new signatures.
sql/sql_yacc.yy:
  LEX::key_list and LEX::create_list moved to class Alter_info
2006-12-08 02:20:09 +03:00
unknown
1a899c0531 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work
2006-12-07 16:07:14 +01:00
unknown
60b3a86ad4 do not autorelease build ids when a child of mysql-test-run.pl dies
mysql-test/lib/mtr_unique.pl:
  do not autorelease build ids when a child dies
2006-12-07 16:06:29 +01:00
unknown
bc675bbdb5 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-12-07 15:54:43 +01:00
unknown
d8ff6cdfc8 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_index_unique.result:
  Auto merged
mysql-test/t/ndb_index_unique.test:
  Auto merged
2006-12-07 15:51:16 +01:00
unknown
6e47c11c7a Bug#24818 CREATE UNIQUE INDEX (...) USING HASH on a NDB table crashes mysqld: Added test case 2006-12-07 15:49:59 +01:00
unknown
1cb8e4e9c9 BUG#23404 - ROW_FORMAT=FIXED option is lost is an index is added to the
table

ROW_FORMAT option is lost during CREATE/DROP INDEX.

This fix forces CREATE/DROP INDEX to retain ROW_FORMAT by instructing
mysql_alter_table() that ROW_FORMAT is not used during creating/dropping
indexes.


mysql-test/r/alter_table.result:
  A test case for bug#23404.
mysql-test/t/alter_table.test:
  A test case for bug#23404.
sql/sql_parse.cc:
  CREATE/DROP INDEX must not change ROW_FORMAT. Setting create_info.row_type
  to ROW_TYPE_NOT_USED informs mysql_alter_table that ROW_FORMAT was not
  used during alteration, and thus must be retained.
2006-12-07 18:32:40 +04:00