summaryrefslogtreecommitdiff
path: root/mysql-test
Commit message (Collapse)AuthorAgeFilesLines
* Backporting a patch for Bug#43138. That patch had been already backportedAlexander Nozdrin2009-10-222-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to 5.1 partially. This patch brings what was left to mysql-next-mr. Original revisions in 6.0: ------------------------------------------------------------ revno: 2617.31.26 committer: Alexander Nozdrin <alik@sun.com> branch nick: 6.0-rt-bug43138.3 timestamp: Thu 2009-04-30 19:31:30 +0400 message: Fix for Bug#43138: DROP DATABASE failure does not clean up message list. The problem was that the high-level function mysql_rm_db() invoked low-level mysql_rm_table_part2(), which reported low-level error (Unknown table) if SE refused to delete a table. Also when mysql_rm_table_part2() reported an error, it didn't add corresponding warning into the list (because it is used from other places where such behaviour is required). The fix is to 1. Remove no_warnings_for_error usage from sql_table.cc 2. Improve internal error handler support in THD, so that a stack of error handlers is allowed. 3. Create an internal error handler (Drop_table_error_handler) to silence useless warnings. 4. Use the handler in DROP DATABASE and DROP TABLE statements. ------------------------------------------------------------ revno: 2617.69.38 committer: Alexander Nozdrin <alik@sun.com> branch nick: mysql-next-bugfixing-bug37431 timestamp: Mon 2009-08-24 21:52:09 +0400 message: A test case for Bug#37431 (DROP TABLE does not report errors correctly). ------------------------------------------------------------ revno: 2617.31.29 committer: Dmitry Lenev <dlenev@mysql.com> branch nick: mysql-6.0-runtime timestamp: Fri 2009-05-01 17:37:34 +0400 message: Follow-up for fix for bug "Bug#43138: DROP DATABASE failure does not clean up message list". Fixed drop.test failure under non-debug server by moving part of test dependent on debug-only feature to separate .test file, which won't be run for non-debug versions of server. ------------------------------------------------------------ revno: 2617.45.17 committer: Sergei Golubchik <serg@mysql.com> branch nick: 6.0-maria timestamp: Wed 2009-05-13 20:08:58 +0200 message: followup for bug#43138 if delete fails with a permission denied error, we want to show it ------------------------------------------------------------ The patch was backported to 5.1 in scope of Bug#42364 by the following revision: ------------------------------------------------------------ revno: 2497.975.3 committer: Sergey Glukhov <Sergey.Glukhov@sun.com> branch nick: mysql-5.1-bugteam timestamp: Fri 2009-07-03 13:22:06 +0500 message: Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table enabled message storing into error message list for 'drop table' command ------------------------------------------------------------
* Backporting patches for Bug#38347 (ALTER ROUTINE privilegeAlexander Nozdrin2009-10-223-0/+1031
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | allows SHOW CREATE TABLE) from 6.0. Original revisions: ------------------------------------------------------------ revno: 2617.31.8 committer: Alexander Nozdrin <alik@sun.com> branch nick: 6.0-rt-bug38347 timestamp: Thu 2009-03-26 09:08:24 +0300 message: Patch for Bug#38347: ALTER ROUTINE privilege allows SHOW CREATE TABLE. If a user has any of the following privileges for a table (or the database if the table), he should be able to issue SHOW CREATE TABLE for the table: - CREATE - DROP - ALTER - DELETE - INDEX - INSERT - SELECT - UPDATE - TRIGGER - REFERENCES - GRANT OPTION - CREATE VIEW - SHOW VIEW Any other privilege (even SUPER) should not allow SHOW CREATE TABLE. ------------------------------------------------------------ revno: 2617.31.11 committer: Alexander Nozdrin <alik@sun.com> branch nick: 6.0-rt timestamp: Fri 2009-03-27 21:36:34 +0300 message: Additional patch for Bug#38347 (ALTER ROUTINE privilege allows SHOW CREATE TABLE). The problem was that information_schema.test, information_schema_parameters.test and information_schema_routines.test failed with the first patch. That happened due to limitation in check_access(): it allows only SELECT_ACL privilege for INFORMATION_SCHEMA tables. The patch is to request only SELECT_ACL privilege for INFORMATION_SCHEMA tables. ------------------------------------------------------------
* AutomergeKristofer Pettersson2009-10-19194-1084/+2760
|\
| * Pull from mysql-next-mr-runtime.Alexander Nozdrin2009-10-163-4/+74
| |\
| | * Backport of 2617.65.4 from 6.0-codebase.Konstantin Osipov2009-10-163-4/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A fix and a test case for Bug#34898 "mysql_info() reports 0 warnings while mysql_warning_count() reports 1" Review the patch by Chad Miller, implement review comments (since Chad left) and push the patch. This bug is actually not a bug. At least according to Monty. See Bug#841 "wrong number of warnings" reported back in July 2003 and closed as "not a bug". mysql_info() was printing the number of truncated columns, not the number of warnings. But since the message of mysql_info() was "Warnings: <number of truncated columns>", people would expect to get the number of warnings in it, not the number of truncated columns. So a possible fix would be to change the message of mysql_info() to say Rows changed: <n>, truncated: <m>. Instead, put the number of warnings there. That is, remove the feature that thd->cuted_fields (the number of truncated fields) is exposed to the client. The number of truncated columns can be calculated on the client, by analyzing SHOW WARNINGS output, and in future we may remove thd->cuted_fields altogether. So let's have one less thing to worry about. client/mysqltest.cc: Fix a bug in mysqltest program which used to return a wrong number of affected rows in ps-protocol, and a wrong mysql_info() information in both protocols in presence of warnings. mysql-test/r/insert.result: Update results (Bug#34898) mysql-test/suite/rpl/r/rpl_udf.result: Update to the changed output of mysqltest: mysql_info() is now printed before warnings. mysql-test/t/insert.test: Add a test case for Bug#34898. sql/sql_table.cc: A fix for Bug#34898 - report statement warn count, not the number of truncated values in mysql_info(). sql/sql_update.cc: A fix for Bug#34898 - report statement warn count, not the number of truncated values in mysql_info().
| * | A backporting patch for the following revision from 6.0:Alexander Nozdrin2009-10-152-0/+43
| |/ | | | | | | | | | | | | | | | | | | | | | | revno: 2630.22.41 committer: Alexander Nozdrin <alik@mysql.com> branch nick: 6.0-rt-bug39255 timestamp: Thu 2008-10-16 16:39:30 +0400 message: A patch for Bug#39255: Stored procedures: crash if function references nonexistent table. The problem is not reproduced in 6.0. Adding a test case.
| * Bug #43054 Assertion `!table->auto_increment_field_not_null' failed when ↵Magne Mahre2009-10-152-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | redefining trigger The 'table->auto_increment_field_not_null' flag is only valid within processing of a single row, and should be set to FALSE before navigating to the next row, or exiting the operation. This bug was caused by an SQL error occuring while executing a trigger after the flag had been set, so the normal resetting was bypassed. The table object was then returned to the table share's cache in a dirty condition. When the table object was reused, an assert caught that the flag was set. This patch explicitly clears the flag on error/abort. Backported from mysql-6.0-codebase revid: 2617.52.1
| * Bug #38124 "general_log_file" variable silently unset when using expressionMagne Mahre2009-10-152-58/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When assigning the new string value to the variable, the Item::str_value member was used. This is not according to the protocol. str_value is an internal member used for temporary assignments, and is not consistently set for all string operations. It is set for constant strings, so it would work in these cases, but not for string functions (concat, substr, etc.) The correct approach is to use Item::val_str(..) to evaluate and retrieve the string. Backport from 6.0-codebase 6.0-codebase revno: 2617.31.17
| * Backport of revno: 2617.81.4Jon Olav Hauglid2009-10-142-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #47274 assert in open_table on CREATE TABLE <already existing> The problem was an assertion during execution of CREATE TABLES. This assertion would occur if INSERT DELAYED or REPLACE DELAYED were used to update a table containing an AUTO_INCREMENT column and if the inserted row had a user-supplied value for that column. Any CREATE TABLE statement (including CREATE TABLE SELECT and CREATE TABLE LIKE) trying to create the same table and which followed the INSERT/REPLACED would cause the assertion. The problem was only noticeable on debug builds of the server and not present in the mysql-5.1 tree. The cause of the problem was that the code for delayed insert did not properly reset the TABLE->auto_increment_if_null flag after The flag is used to indicate that a non-null value of an auto_increment field has been provided by the user or retrieved from a current record. Open_tables() contains an assertion that tests this flag, and this was triggered by CREATE TABLE. This patch fixes the problem by resetting the auto_increment_if_null field to FALSE once INSERT/REPLACE DELAYED has updated the table, similar to what is done already for regular INSERT statements. Test case added to delayed.test.
| * Backport of:Konstantin Osipov2009-10-133-2/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------------------------------------------- revno: 2630.2.6 committer: Konstantin Osipov <konstantin@mysql.com> branch nick: mysql-6.0-27430 timestamp: Mon 2008-05-26 16:12:28 +0400 message: Cover four special cases of WL#4166 with tests: - when the query cache is disabled at the time of prepared statement reprepare - when long data parameters are used - when character_set_connection != character_set_client, and a parameter conversion takes place - when parameter data is out of acceptable range, e.g. year 10000 is supplied as part of MYSQL_TYPE_DATETIME value. The server is supposed to warn in such case. mysql-test/include/query_cache_sql_prepare.inc: Addditional test for Bug#27430 mysql-test/r/query_cache_ps_no_prot.result: Update result file. mysql-test/r/query_cache_ps_ps_prot.result: Update result file. tests/mysql_client_test.c: Add more tests (Bug#27430 and WL#4166). Fix test_datetime_range() test to correctly assert for the number of warnings. Additionally, print these warnings out.
| * Backport of:Konstantin Osipov2009-10-132-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------- revno: 2630.2.4 committer: Konstantin Osipov <konstantin@mysql.com> branch nick: mysql-6.0-runtime timestamp: Fri 2008-05-23 02:42:32 +0400 message: Bug#27430 "Crash in subquery code when in PS and table DDL changed after PREPARE" Add a test case for the situation with small TDC and many merge children. from 6.0-codebase. mysql-test/r/merge.result: Update results (Bug#27430) mysql-test/t/merge.test: Add test case (Bug#27430)
| * Bug #33693 general log name and location depend on PID file, Magne Mahre2009-10-124-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not on predefined values The default name of the PID file was constructed, as documented, based on the hostname. This name was subsequently used as the base for the general log file name. If the name of the PID file was overridden in the configuration, and no explicit name was set for the general log file, the path location for the PID file was used also for the general log file. A new variable, 'default_logfile_name', has been introduced. This name is constructed based on the hostname, and is then used to construct both the PID file and the general log file. The general log file will now, unless explicitly set, be located in the server data directory (as documentated in the server docs) mysql-test/t/log_state.test: run/mysqld.log was created as a consequence of this bug. After the fix it is no longer created, and will thus not be deleted.
| * Bug #35877 Update .. WHERE with function, constraint violation, crash Jon Olav Hauglid2009-10-122-0/+65
| | | | | | | | | | | | | | | | | | Unable to reproduce crash with current version of the 5.5.0 codebase. Test case for MyISAM/InnoDB based on the bug rapport added to sp_trans.test. Backport of revno: 2617.65.9.
| * Bug #34453 Can't change size of file (Errcode: 1224)Jon Olav Hauglid2009-10-122-0/+55
| | | | | | | | | | | | | | Unable to reproduce error on current version of the 5.5.0 codebase. Test case based on the bug report added to trigger.test. Backport of revno: 2617.52.11.
| * Post-backporting (Bug#28299) fix for fixing results of ndb_views.test.Alexander Nozdrin2009-10-111-4/+3
| |
| * Post-backporting (Bug#21099) patch for results of fixing events_bugs.test.Alexander Nozdrin2009-10-111-7/+7
| |
| * Post-backporting patch for WL#4300: fixing funcs_1 test results.Alexander Nozdrin2009-10-1110-80/+82
| |
| * Backporting another patch for WL#4300 (Define privileges for tablespaces).Alexander Nozdrin2009-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Original revision in 6.0: ------------------------------------------------------------ revno: 2630.13.14 committer: Alexander Nozdrin <alik@mysql.com> branch nick: 6.0-rt-fix timestamp: Fri 2008-07-25 22:44:20 +0400 message: Fix test & result files (WL 4300). ------------------------------------------------------------
| * A backporting patch for WL#4300 (Define privileges for tablespaces).Alexander Nozdrin2009-10-105-10/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original revision in 6.0: ------------------------------------------------------------ revno: 2630.13.11 committer: Alexander Nozdrin <alik@mysql.com> branch nick: 6.0-rt-wl4300 timestamp: Thu 2008-07-24 11:44:21 +0400 message: A patch for WL#4300: Define privileges for tablespaces. ------------------------------------------------------------ per-file messages: mysql-test/r/grant.result Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user. mysql-test/r/ps.result Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user. mysql-test/r/system_mysql_db.result Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user. mysql-test/suite/falcon/r/falcon_tablespace_priv.result Test case for WL#4300. mysql-test/suite/falcon/t/falcon_tablespace_priv.test Test case for WL#4300. mysql-test/suite/ndb/r/ndb_dd_ddl.result Test case for WL#4300. mysql-test/suite/ndb/t/ndb_dd_ddl.test Test case for WL#4300. scripts/mysql_system_tables.sql New columm 'Create_tablespace_priv' has been added to mysql.user. scripts/mysql_system_tables_data.sql 'CREATE TABLESPACE' is granted by default to the root user. scripts/mysql_system_tables_fix.sql Grant 'CREATE TABLESPACE' privilege during system table upgrade if a user had SUPER privilege. sql/sql_acl.cc Added CREATE TABLESPACE privilege. sql/sql_acl.h Added CREATE TABLESPACE privilege. sql/sql_parse.cc Check global 'CREATE TABLESPACE' privilege for the following SQL statements: - CREATE | ALTER | DROP TABLESPACE - CREATE | ALTER | DROP LOGFILE GROUP sql/sql_show.cc Added CREATE TABLESPACE privilege. sql/sql_yacc.yy Added CREATE TABLESPACE privilege.
| * Merge from mysql-next-bugfixing.Alexander Nozdrin2009-10-093-9/+46
| |\
| | * Backporting of Bug#40128 from 6.0 to next-mr.Alexander Nozdrin2009-10-092-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original revision in 6.0: ------------------------------------------------------------ revno: 2599.108.1 committer: Alexander Nozdrin <alik@sun.com> branch nick: 6.0-rpl-bug40128 timestamp: Wed 2009-01-21 15:33:42 +0300 message: Fix for Bug#40128: drop-no_root fails under windows in 6.0-rpl. The problem was that directories with no permission (000) files are deleted differently on UNIX and on Windows. On UNIX, 000-permission file is deleted perfectly, but other files are left in the directory. On Windows, 000-permission file is not deleted, but other files are deleted. Also, the fix needed a change in mysqltest.c: 'chmod' directive should return a positive error code (in order to be handled). It's decided to return a constant '1' for all error codes just to be OS-independent. ------------------------------------------------------------
| | * Fix events_bugs test after backporting a patch for Bug#35297.Alexander Nozdrin2009-10-091-3/+3
| | |
| * | Bug #34197 CREATE PROCEDURE fails when COMMENT truncated in non Jon Olav Hauglid2009-10-098-11/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strict SQL mode The problem was that a COMMENT longer than 64 characters caused CREATE PROCEDURE to fail. This patch fixed the problem by changing the COMMENT field in mysql.proc from char(64) to text. The corresponding ROUTINE_COMMENT field in INFORMATION_SCHEMA.ROUTINES is also changed from varchar(64) to longtext. mysql_system_tables.sql and mysql_system_tables_fix.sql updated. Test case added to sp.test and affected result-files updated.
| * | Fix for bug #39932 "create table fails if column for FK is in differentDmitry Lenev2009-10-092-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | case than in corr index". Server was unable to find existing or explicitly created supporting index for foreign key if corresponding statement clause used field names in case different than one used in key specification and created yet another supporting index. In cases when name of constraint (and thus name of generated index) was the same as name of existing/explicitly created index this led to duplicate key name error. The problem was that unlike all other code Key_part_spec::operator==() compared field names in case sensitive fashion. As result routines responsible for getting rid of redundant generated supporting indexes for foreign key were not working properly for versions of field names using different cases. mysql-test/r/innodb_mysql.result: Added test case for bug #39932 "create table fails if column for FK is in different case than in corr index". mysql-test/t/innodb_mysql.test: Added test case for bug #39932 "create table fails if column for FK is in different case than in corr index". sql/sql_class.cc: Make field name comparison case-insensitive like it is in the rest of server.
| * | Bug #21099 MySQL 5.0.22 silently creates MyISAM tables even though Jon Olav Hauglid2009-10-0910-71/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InnoDB specified. NO_ENGINE_SUBSTITUTION added to TRADITIONAL sql mode to prevent silent conversions from InnoDB to MyISAM in that sql mode. A number of test case results files updated to reflect this change. Test added to sql_mode.test that checks that TRADITIONAL really includes NO_ENGINE_SUBSTITUION. mysql-test/t/ctype_utf8.test: This test lacked "--source include/have_innodb.inc" which meant that a number of DDL statements with engine=innodb in reality were using myisam. "--disable_warnings" around all such statements, meant that these engine substitutions were not visible. Test case has been updated to include have_innodb.inc and "--disable_warnings" have been removed for the relevant DDL statements.
| * | Bug #44651 "have_community_features" variable should be renamed Jon Olav Hauglid2009-10-096-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "have_profiling" 1) Renamed have_community_features server system variable to have_profiling. 2) Removed eable-community-features configure option and ENABLE_COMMUNITY_FEATURES macro. 3) Removed COMMUNITY_SERVER macro and replaced its usage by ENABLED_PROFILING. Only --enable-profiling is now needed to enable profiling. It was the only existing "community feature", so there was no need for both configure options. Using --enable-community-features will give a warning message since it no longer exists.
| * | This is a backport of the two patches for Bug #28299: Staale Smedseng2009-10-09101-173/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To-number conversion warnings work differenly with CHAR and VARCHAR sp variables. The original revision-IDs are: staale.smedseng@sun.com-20081124095339-2qdvzkp0rn1ljs30 staale.smedseng@sun.com-20081125104611-rtxic5d12e83ag2o The patch provides ER_TRUNCATED_WRONG_VALUE warning messages for conversion of VARCHAR to numberic values, in line with messages provided for CHAR conversions. Conversions are checked for success, and the message is emitted in case failure. The tests are amended to accept the added warning messages, and explicit conversion of ON/OFF values is added for statements checking system variables. In test rpl.rpl_switch_stm_row_mixed checking for warnings is temporarily disabled for one statement, as this generates warning messages for strings that vary between executions. sql/field.cc: The pushing of the truncation warning is now done in a separate static function, and used in various places.
| * | Bug #31031 ALTER TABLE regression in 5.0Magne Mahre2009-10-092-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An ALTER TABLE statement which added a column and added a non-partial index on it failed with: "ERROR 1089 (HY000): Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys" In a check introduced to fix an earlier bug (no. 26794), to allow for indices on spatial type columns, the test expression was flawed (a logical OR was used instead of a logical AND), which led to this regression. The code in question does a sanity check on the key, and the flawed code mistakenly classified any index created in the way specified above as a partial index. Since many data types does not allow partial indices, the statement would fail.
| * | Merge RT patches from mysql-next-mr-bugfixing.Alexander Nozdrin2009-10-0910-60/+463
| |\ \ | | |/
| | * Pull from mysql-next-mr.Alexander Nozdrin2009-10-092-326/+1
| | |\
| | * | A backport of a patch for Bug#35297.Alexander Nozdrin2009-10-086-60/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original revision in mysql-6.0-codebase is: revno: 2617.31.14 committer: Konstantin Osipov <kostja@sun.com> branch nick: mysql-6.0-runtime timestamp: Sat 2009-03-28 11:42:55 +0300 message: Bug#35297 SHOW CREATE EVENT does not show the DEFINER: update test result after a merge from now.
| | * | A backport a patch of Bug#34828.Alexander Nozdrin2009-10-072-0/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original revision is from mysql-6.0-codebase: revno: 2617.23.13 committer: Alexander Nozdrin <alik@sun.com> branch nick: 6.0-rt-bug34828 timestamp: Tue 2009-02-24 14:25:46 +0300 message: A patch for Bug#34828: OF is taken as OFF and a value of 0 is set for variable SQL_notes. The problem was that partial match was allowed for keywords. A fix is to disable partial match and require full match.
| | * | A backport of patch for Bug#26704.Alexander Nozdrin2009-10-072-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original revision is from mysql-6.0-codebase: revno: 2630.3.1 committer: Alexander Nozdrin <alik@mysql.com> branch nick: 6.0-rt-bug26704 timestamp: Thu 2008-05-29 21:04:06 +0400 message: A fix for Bug#26704: Failing DROP DATABASE brings mysql-client out of sync. The problem was that we changed current database w/o caring whether it was dropped successfully or not. The fix is not to change current database if we failed to drop it.
| * | | Merge from mysql-next-mr.Alexander Nozdrin2009-10-0921-594/+480
| |\ \ \ | | | |/ | | |/|
| | * | Merge from mysql-trunk-bugfixing.Alexander Nozdrin2009-10-091-0/+1
| | |\ \
| | | * | Mark main.log_tables experimental (Bug 47924).Alexander Nozdrin2009-10-081-0/+1
| | | | |
| | * | | Merge from mysql-trunk-bugfixing.Alexander Nozdrin2009-10-081-326/+0
| | |\ \ \ | | | |/ / | | | | / | | | |/ | | |/|
| | | * Fix index_merge_innodb.result (Bug 45727).Alexander Nozdrin2009-10-081-326/+0
| | | |
| | * | Merge from mysql-trunk-bugfixing.Alexander Nozdrin2009-10-071-6/+2
| | |\ \ | | | |/
| | | * Disabled index_merge2.inc due to Bug 45727.Alexander Nozdrin2009-10-071-6/+2
| | | |
| | * | Backport of the fix for BUG#33730 "Full table scan instead selected ↵Guilhem Bichot2009-10-053-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | partitions for query more than 10 partitions" from 6.0, made in sergefp@mysql.com-20090205190644-q8632sniogedhtsu
| | * | Port of fix for BUG#42893 "main.information_schema times out sporadically"Guilhem Bichot2009-10-054-123/+141
| | | | | | | | | | | | | | | | | | | | (from revision konstantin@mysql.com-20080627154042-923m6lzk7z77lrgj ). This moves the slow part (10 seconds over 13) into a separate big test.
| | * | Merge from mysql-trunk-bugfixing.Alexander Nozdrin2009-10-021-0/+2
| | |\ \ | | | |/
| | | * Made two test cases experimental.Alexander Nozdrin2009-10-021-0/+2
| | | |
| | * | Merge from mysql-trunk-bugfixing.Alexander Nozdrin2009-10-011-1/+7
| | |\ \ | | | |/
| | | * 1. Respect experimental tag in gcov mode;Alexander Nozdrin2009-10-011-1/+7
| | | | | | | | | | | | | | | | 2. Mark ndb, rpl_ndb test suites experimental.
| | * | Merge from mysql-next-mr.Alexander Nozdrin2009-10-014-12/+386
| | |\ \
| | * \ \ auto-mergeIngo Struewing2009-09-309-134/+283
| | |\ \ \
| | | * | | Fix for BUG#42980 "Client doesn't set NUM_FLAG for DECIMAL and TIMESTAMP":Guilhem Bichot2009-09-309-134/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DECIMAL and TIMESTAMP used to have NUM_FLAG, but NEWDECIMAL was forgotten. It's correct that TIMESTAMP does not have the flag nowadays (manual will be updated, connectors developers will be notified). client/mysqldump.c: IS_NUM_FIELD(f) removed and replaced by its definition (f>flags & NUM_FLAG). include/mysql.h: - IS_NUM_FIELD() is removed because name is too close to IS_NUM() and it is not used a lot - INTERNAL_NUM_FIELD() is removed: * it forgets to test NEWDECIMAL (when IS_NUM() was updated for NEWDECIMAL we forgot to update INTERNAL_NUM_FIELD()), that's why client didn't mark NEWDECIMAL with NUM_FLAG (a bug). * it has an obsolete test for length of the TIMESTAMP field: test became accidentally wrong when length of TIMESTAMP was changed to always be 19 (when the format was changed from YYYYMMDDhhmmss to YYYY-MM-DD hh:mm:ss), never 8 or 14 anymore. That obsolete test caused TIMESTAMP to lose NUM_FLAG, which was an accidental but good change (see below). * IS_NUM() should be used instead - IS_NUM(f) is changed: TIMESTAMP used to be parsable as a number without quotes (when it was formatted as "YYYYMMDDhhmmss"); but it is not anymore (now that it is "YYYY-MM-DD hh:mm:ss"), so it should not have NUM_FLAG (mysqldump needs to quote TIMESTAMP values), so IS_NUM() should return false for it. libmysqld/lib_sql.cc: use IS_NUM() instead of INTERNAL_NUM_FIELD() mysql-test/r/bigint.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/r/metadata.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/r/mysqldump.result: DECIMAL columns are not quoted anymore by mysqldump. Which is ok, the parser does not need '' for them mysql-test/r/ps_2myisam.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/r/ps_3innodb.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/r/ps_4heap.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/r/ps_5merge.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/suite/ndb/r/ps_7ndb.result: result change: NEWDECIMAL fields now have NUM_FLAG (32768) mysql-test/t/metadata.test: test for BUG#42980 sql-common/client.c: use IS_NUM() instead of INTERNAL_NUM_FIELD()
| | * | | | Bug#37267 - connect() EINPROGRESS failures mishandled in client libraryIngo Struewing2009-09-302-3/+5
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cann connect() in a non-blocking mode to be able to specify a non-standard timeout. The problem was that we did not fetch the status from the non-blocking connect(). We assumed that poll() would not return a POLLIN flag if the connect failed. But on some platforms this is not true. After a successful poll() we do now retrieve the status value from connect() with getsockopt(...SO_ERROR...). Now we do know if (and how) the connect failed. The test case for my investigation was rpl.rlp_ssl1 on an Ubuntu 9.04 x86_64 machine. Both, IPV4 and IPV6 were active. 'localhost' resolved first for IPV6 and then for IPV4. The connection over IPV6 was blocked. rpl.rlp_ssl1 timed out as it did not notice the failed connect(). The first read() failed, which was interpreted as a master crash and the connection was tried to reestablish with the same result until the retry limit was reached. With the fix, the connect() problem is immediately recognized, and the connect() is retried on the second resolution for 'localhost', which is successful. libmysqld/libmysqld.c: Bug#37267 - connect() EINPROGRESS failures mishandled in client library Changed a DBUG print string to distinguish the two mysql_real_connect() implementations in DBUG traces. mysql-test/include/wait_for_slave_param.inc: Bug#37267 - connect() EINPROGRESS failures mishandled in client library Made timeout value available in error message. mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result: Bug#37267 - connect() EINPROGRESS failures mishandled in client library Fixed test result. Connect error is now detected as CR_CONN_HOST_ERROR (2003) instead of CR_SERVER_LOST (2013). sql-common/client.c: Bug#37267 - connect() EINPROGRESS failures mishandled in client library Added retrieval of the error code from the non-blocking connect(). Added DBUG. Added comment.