Commit graph

37755 commits

Author SHA1 Message Date
unknown
3b7f80940d Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-29 11:54:21 +02:00
unknown
ff2475635c Merge pilot.(none):/data/msvensson/mysql/mysql-4.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_misc.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2007-08-29 11:53:36 +02:00
unknown
2675c95217 Remove unportable use of "exec chmod" 2007-08-29 11:53:15 +02:00
unknown
038df2d05c Add 'mtr_rmtree'
mysql-test/lib/mtr_misc.pl:
  Add function 'mtr_rmtree' it will try 'rmtree' and if that fails (most likely
  due to permission problems we will fun File::find to chmod all files and dirs
  to 0777 and then delete.
mysql-test/mysql-test-run.pl:
  Use 'mtr_rmtree' in favour of 'rmtree'
2007-08-29 11:51:34 +02:00
unknown
bd1f34d932 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30377-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-08-29 12:47:24 +03:00
unknown
bdf19dc73b Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bugx/my50-bugx


mysql-test/t/innodb_mysql.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  SCCS merged
2007-08-29 10:49:19 +02:00
unknown
901ead6cb5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  moksha.local:/Users/davi/mysql/push/mysql-5.0-runtime
2007-08-28 18:47:08 -03:00
unknown
4dac538a0b Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/b27694/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-28 13:24:31 -06:00
unknown
e0e44ad66e Bug#30625 (Performance, reduce depth for expressions)
This is a performance bug, affecting in particular the bison generated code
for the parser.

Prior to this fix, the grammar used a long chain of reduces to parse an
expression, like:
  bit_expr -> bit_term
  bit_term -> bit_factor
  bit_factor -> value_expr
  value_expr -> term
  term -> factor
etc

This chain of reduces cause the internal state automaton in the generated
parser to execute more state transitions and more reduces, so that the
generated MySQLParse() function would spend a lot of time looping to execute
all the grammar reductions.

With this patch, the grammar has been reorganized so that rules are more
"flat", limiting the depth of reduces needed to parse <expr>.

Tests have been written to enforce that relative priorities and properties
of operators have not changed while changing the grammar.

See the bug report for performance data.


mysql-test/r/parser_precedence.result:
  Improved test coverage for operator precedence
mysql-test/t/parser_precedence.test:
  Improved test coverage for operator precedence
sql/sql_yacc.yy:
  Simplified the grammar to improve performances
2007-08-28 11:16:03 -06:00
unknown
8c1e206971 Fixes for
Bug#30418 "datadict" tests (all engines) fail: Dependency on the host name
                for ordering
     Bug#30420 "datadict" tests (all engines) fail: Release build has help tables loaded
     Bug#30438 "{memory,myisam,ndb}__datadict" tests fail: Use "InnoDB" without checking
     Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
Attention: Only the build team can check if Bug#30440 is really fixed.


mysql-test/suite/funcs_1/README.txt:
  Update README
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
  1. Exclude the help tables from the INFORMATION_SCHEMA.TABLES
     and the INFORMATION_SCHEMA.STATISTICS selects.
  2. Replace error numbers with error names
  3. Sort some results with mysqltest builtin function
  4. Some other minor changes
mysql-test/suite/funcs_1/r/innodb__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/memory__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/t/innodb__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/memory__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/myisam__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/r/datadict_help_tables_build.result:
  File with expected results
mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result:
  File with expected results
mysql-test/suite/funcs_1/t/datadict_help_tables_build.test:
  Additional test checking the information about the help tables within
         INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
  as compensation for the removed checks within datadict_master.inc.
  Variant for use during build tests (non empty help tables)
mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test:
  Additional test checking the information about the help tables within
         INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
  as compensation for the removed checks within datadict_master.inc.
  Variant for use during development tests (empty help tables)
2007-08-28 18:37:17 +02:00
unknown
310afbd4a9 Bug #30377: EXPLAIN loses last_query_cost when used with UNION
Currently the Last_query_cost session status variable shows
only the cost of a single flat subselect. For complex queries
(with subselects or unions etc) Last_query_cost is not valid
as it was showing the cost for the last optimized subselect.
Fixed by reseting to zero Last_query_cost when the complete
cost of the query cannot be determined.
Last_query_cost will be non-zero only for single flat queries.


mysql-test/r/status.result:
  Bug #30377: test case
mysql-test/t/status.test:
  Bug #30377: test case
sql/sql_lex.h:
  Bug #30377: helper function
sql/sql_select.cc:
  Bug #30377: don't assign cost if not on single level statement
2007-08-28 18:51:03 +03:00
unknown
2bb6a44af1 Streamline "do_close_connection" and "do_send_quit"
Fix typo, "next_con" -> "con"


client/mysqltest.c:
  Reuse "find_connection_by_name" both from "do_close_connection" and "do_send_quit"
  Adjust alignment of comment
  Fix typo in "do_close_connection", it used the global variable "next_con" instead
  of local variable "con"
2007-08-28 16:47:05 +02:00
unknown
5f524dadcd Remove unportable constructs in loaddata.test 2007-08-28 16:44:31 +02:00
unknown
e968129c6b fix bug in test case for bug#25714
mysql-test/include/have_bug25714.inc:
  this is not how you access variables
2007-08-28 16:06:08 +02:00
unknown
345c18e4e1 Move "analyze_testcase_failure" to mysqltest(since it knows best when
to perform this analyzis)


client/mysqltest.c:
  Add function 'show_query' and use it to output some debug queries when
  "sync_with_master" has failed.
mysql-test/mysql-test-run.pl:
  Move "analyze_testcase_failure" to mysqltest
2007-08-28 15:32:13 +02:00
unknown
a85d1b2e5e build fix for aix and others
libmysql/libmysql.c:
  build fix: DBUG_ENTER can't be this late
2007-08-28 15:22:14 +02:00
unknown
484069cf00 Merge pilot.(none):/data/msvensson/mysql/bug28812/my50-bug28812
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-28 11:35:22 +02:00
unknown
b8c3ba1f84 Merge pilot.(none):/data/msvensson/mysql/yassl_import/my50-yassl_import
into  pilot.(none):/data/msvensson/mysql/bug28812/my50-bug28812
2007-08-28 11:35:05 +02:00
unknown
9c3a03a239 Bug#28812 rpl_ssl fails due to assert in extra/yassl/src/socket_wrapper.cpp:117
- Merge sslaccept and sslconnect.
 - Atomically "reset" vio to VIO_TYPE_SSL when the SSL connection has
   succeeded, this avoids having to revert anything and thus protects
   against "close_active_vio" in the middle.
 - Add some variance to the testcase


mysql-test/t/rpl_ssl.test:
  Add some variance by running two selects before stopping the slave
  Check that number of records in t1 are equal on master and slave
vio/viossl.c:
  Rewrite sslconnect and sslaccept to automically "reset" the vio
  to VIO_TYPE_SSL. Also use the fd from 'SSL_get_fd' to avoid
  setting vio->sd to -1, that previously occured when "close_active_vio"
  was called during connect/accept.
  
  Merge the two function since they were exactly the same except for one line.
  
  Update the DBUG printouts to be generic(i.e use peer instead of client/server).
2007-08-28 11:34:43 +02:00
unknown
fe4abfb2f7 Import yaSSL version 1.7.2
- Fix bug#27265
- Support for fixing bug#18441


extra/yassl/include/openssl/crypto.h:
  Import patch yassl.diff
extra/yassl/include/openssl/ssl.h:
  Import patch yassl.diff
extra/yassl/include/yassl_int.hpp:
  Import patch yassl.diff
extra/yassl/src/handshake.cpp:
  Import patch yassl.diff
extra/yassl/src/socket_wrapper.cpp:
  Import patch yassl.diff
extra/yassl/src/ssl.cpp:
  Import patch yassl.diff
extra/yassl/src/yassl_int.cpp:
  Import patch yassl.diff
extra/yassl/taocrypt/src/coding.cpp:
  Import patch yassl.diff
extra/yassl/taocrypt/src/crypto.cpp:
  Import patch yassl.diff
extra/yassl/include/openssl/des_old.h:
  Import patch yassl.diff
extra/yassl/include/openssl/evp.h:
  Import patch yassl.diff
extra/yassl/include/openssl/hmac.h:
  Import patch yassl.diff
extra/yassl/include/openssl/objects.h:
  Import patch yassl.diff
extra/yassl/include/openssl/sha.h:
  Import patch yassl.diff
extra/yassl/include/openssl/prefix_ssl.h:
  Update prefixes
2007-08-28 10:35:55 +02:00
unknown
d54f42c16c Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


sql/sql_show.cc:
  Auto merged
2007-08-27 18:19:55 -06:00
unknown
2368664681 Bug #30596 GROUP BY optimization gives wrong result order
The optimization that uses a unique index to remove GROUP BY, did not 
ensure that the index was actually used, thus violating the ORDER BY
that is impled by GROUP BY.
Fixed by replacing GROUP BY with ORDER BY if the GROUP BY clause contains
a unique index. In case GROUP BY ... ORDER BY null is used, GROUP BY is
simply removed.


BitKeeper/etc/ignore:
  Added support-files/mysqld_multi.server tests/bug25714 cscope.in.out cscope.out cscope.po.out to the ignore list
mysql-test/r/distinct.result:
  Bug#30596: Changed test case. 
  Prior to Bug#16458, These queries use temp table and filesort. The
  bug was that they used a temp table. However, that patch removed
  filesort also, in which case we can no longer gurantee correct ordering.
mysql-test/r/group_by.result:
  Bug#30596: Correct result
mysql-test/r/innodb_mysql.result:
  Bug#30596: Test case for innodb. Here, as opposed to for MyISAM, row 
  lookup is done using index whenever the index covers the group list.
mysql-test/t/group_by.test:
  Bug#30596: Test case
mysql-test/t/innodb_mysql.test:
  Bug#30596: Test case
sql/sql_select.cc:
  Bug#30596: The fix, replacing GROUP BY with ORDER BY unless 
  ORDER BY [NULL|<constant>]
2007-08-27 17:33:41 +02:00
unknown
34ded62908 Bug#30632 HANDLER read failure causes hang
If, after the tables are locked, one of the conditions to read from a
HANDLER table is not met, the handler code wrongly jumps to a error path
that won't unlock the tables.

The user-visible effect is that after a error in a handler read command,
all subsequent handler operations on the same table will hang.

The fix is simply to correct the code to jump to the (same) error path that
unlocks the tables.


mysql-test/r/handler.result:
  Bug#30632 test case result
mysql-test/t/handler.test:
  Bug#30632 test case
sql/sql_handler.cc:
  Always unlock the internal and external table level locks if any of the conditions
  (including errors) to read from a HANDLER table are not met.
2007-08-27 10:37:12 -03:00
unknown
369a5f1cdc Bug#25164 create table a as select * from A hangs
The problem from a user's perspective: user creates table A, and then tries
to CREATE TABLE a SELECT from A - and this causes a deadlock error, a hang,
or fails with a debug assert, but only if the storage engine is InnoDB.

The origin of the problem: InnoDB uses case-insensitive collation
(system_charset_info) when looking up the internal table share, thus returning
the same share for 'a' and 'A'.

Cause of the user-visible behavior: since the same share is returned to SQL
locking subsystem, it assumes that the same table is first locked (within the
same session) for WRITE, and then for READ, and returns a deadlock error.
However, the code is wrong in not properly cleaning up upon an error, leaving
external locks in place, which leads to assertion failures and hangs.

Fix that has been implemented: the SQL layer should properly propagate the
deadlock error, cleaning up and freeing all resources.

Further work towards a more complete solution: InnoDB should not use case
insensitive collation for table share hash if table names on disk honor the case.


mysql-test/r/innodb-deadlock.result:
  Bug#25164 test case result
mysql-test/t/innodb-deadlock.test:
  Bug#25164 test case. The CREATE TABLE may fail depending on the character set
  of the system and filesystem, but it should never hang.
sql/lock.cc:
  Unlock the storage engine "external" table level locks, if the MySQL thr_lock
  locking subsystem detects a deadlock error.
2007-08-27 10:13:54 -03:00
unknown
7388ea3c56 adjust version number
configure.in:
  adjust version number after 5.0.48 clone-off
2007-08-27 11:38:32 +02:00
unknown
6fdcb4c7b3 Bug#29805 mysql_upgrade test fail if ~/.my.cnf contain a password
- "mysql" and "mysqlcheck" should not read defaults file


client/mysql_upgrade.c:
  Instruct "mysql" and "mysqlcheck" that is invoked by "mysql_upgrade" not
  to read defaults file, they should get all the parameters they need from
  mysql_upgrade(that read the default file)
2007-08-27 11:31:49 +02:00
unknown
478fb4a14d Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/data0/mysqldev/my/build-200708231546-5.0.48/mysql-5.0-release
2007-08-27 11:24:54 +02:00
unknown
bd55d4f174 Bug#28560 mysql_upgrade test links /usr/local/mysql/lib libraries
- Chop off .libs/ part of path if running in non installed builddir
   using libtool


client/mysql_upgrade.c:
  Chop off .libs part of path to avoid executing "non relinked" binaries
  that would use the system installed dynamic libraries instead of the
  newly built ones.
2007-08-27 10:25:34 +02:00
unknown
af8598bf4d Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-26 19:47:23 +05:00
unknown
c81d4aacaf Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-25 23:25:37 +05:00
unknown
5b03876f2e sql_select.cc:
Additional fix for the bug#30245.


sql/sql_select.cc:
  Additional fix for the bug#30245.
2007-08-25 17:32:17 +00:00
unknown
863a430108 Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.0-main
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.0-marvel
2007-08-25 11:39:56 +03:00
unknown
e19f49ae5e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/30245-bug-5.0-opt-mysql


sql/sql_select.cc:
  Auto merged
2007-08-24 22:11:23 +00:00
unknown
ac7f0f98d6 Merge trift2.:/MySQL/M50/netware2-5.0
into  trift2.:/MySQL/M50/push-5.0


netware/Makefile.am:
  Auto merged
2007-08-24 23:40:36 +02:00
unknown
4a801dde7e Fixes for the NetWare builds, discovered during 5.1.21-beta and backported to 5.0:
1) Ensure "init_db.sql" and "test_db-sql" really get built.

2) Ensure the "*.def" files with NetWare linker options get distributed to the proper directories.


netware/BUILD/compile-netware-END:
  Ensure the "*.def" files are built for NetWare.
  
  This is a backport of a 5.1 fix which may not be needed in 5.0 but cannot do any harm:
  the general "link_sources" step might fall victim to a cleanup which would be fatal
  just for NetWare, because of problems in the ordering of SUBDIR entries.
netware/Makefile.am:
  1) The scripts "init_db.sql" and "test_db.sql" must be built in the NetWare phase.
  
  2) Use "basename", not sed.
2007-08-24 23:07:59 +02:00
unknown
b18447112c Remove unsued variable $glob_hostname, unused functions
'mtr_short_hostname' and 'mtr_full_hostname'
2007-08-24 15:43:45 +02:00
unknown
41e295b933 Merge bk-internal:/home/bk/mysql-5.0-build
into  mysql.com:/data0/mysqldev/my/build-200708231546-5.0.48/mysql-5.0-release
2007-08-24 13:47:11 +02:00
unknown
aecc3606a9 Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.0-main
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.0-marvel
2007-08-24 14:43:33 +03:00
unknown
66b660f08c Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/data0/mysqldev/my/build-200708231546-5.0.48/mysql-5.0-release


sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
2007-08-24 13:30:16 +02:00
unknown
6ba1e8a039 Merge pilot.(none):/data/msvensson/mysql/bug30593/my50-bug30593
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-24 13:11:14 +02:00
unknown
17f03bb7a6 Remove unecessary use of "Socket" 2007-08-24 13:10:34 +02:00
unknown
7d65f9e891 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  trift2.:/MySQL/M50/push-5.0
2007-08-24 12:34:45 +02:00
unknown
7c3c98e72c Merge trift2.:/MySQL/pushed/netware-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-08-24 10:58:14 +02:00
unknown
5eccf587d5 NetWare packages were missing the scripts to initialize the database: add them. 2007-08-24 10:47:13 +02:00
unknown
5b59f374da Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-08-24 09:55:47 +02:00
unknown
294a43ec5e Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/users/gshchepa/mysql-5.0-opt


sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
2007-08-23 21:28:33 +02:00
unknown
50911dec3e Bug#30593 No cipher list returned for "SHOW STATUS LIKE 'Ssl_cipher_list'"
- Move increment of "i" to "increment section" of for loop
 - Protect against writing after end of "buff"(backport from 5.1)


sql/sql_show.cc:
  - Move the increment of i to "increment" section of for loop. Since "i"
  was initially 0 the for loop exited immediately
  - Add protection for writing after end of "buff"
2007-08-23 20:24:48 +02:00
unknown
48f72746f6 Merge trift2.:/MySQL/M50/netware-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-08-23 19:47:42 +02:00
unknown
0ff829bb71 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-marvel
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.48


sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
2007-08-23 17:43:47 +02:00
unknown
e4659ee132 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-opt
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.48
2007-08-23 17:43:15 +02:00