- 24 May, 2007 16 commits
-
-
unknown authored
This changeset belongs to the fix of Bug#735 Prepared Statements: there is no support for Query Cache - Create "--ps-protocol" and no "--<whatever>-protocol" variants of the former tests t/grant_cache.test and t/query_cache_sql_prepare.test. - Some additional subtest and fixes of bugs - Minor improvements mysql-test/include/grant_cache.inc: - Rename mysql-test/t/grant_cache.test to include/grant_cache.inc - Toplevel scripts running variants of this test are t/grant_cache_ps_prot.test (runs only with "--ps-protocol") t/grant_cache_no_prot.test (skipped if any protocol is assigned) - Modifications to include/grant_cache.inc: - Minor improvements like replace --error <number> by --error <name> - enable that some subtests are run with "--ps-protocol" mysql-test/include/query_cache_sql_prepare.inc: - Rename t/query_cache_sql_prepare.test to include/query_cache_sql_prepare.inc - Toplevel scripts running variants of this test are query_cache_ps_ps_prot.test (skipped if other protocol than --ps-protocol is used.) query_cache_ps_no_prot.test (skipped if --<whatever>-protocol is used) - Modifications to include/query_cache_sql_prepare.inc: - Minor improvements like add drop table - Add tests checking that - another connection gets the same amount of QC hits - statements running via ps-protocol do not hit QC results of preceding sql EXECUTEs mysql-test/r/grant_cache_no_prot.result: Updated result mysql-test/r/query_cache_ps_no_prot.result: Updated result tests/mysql_client_test.c: - correct wrong sized "for" loop - add some missing tests of query cache hit numbers mysql-test/r/grant_cache_ps_prot.result: New BitKeeper file ``mysql-test/r/grant_cache_ps_prot.result'' mysql-test/r/query_cache_ps_ps_prot.result: New BitKeeper file ``mysql-test/r/query_cache_ps_ps_prot.result'' mysql-test/t/grant_cache_no_prot.test: Variant of the test grant_cache to be run without any "--<whatever>-protocol" mysql-test/t/grant_cache_ps_prot.test: Variant of the test grant_cache to be run with "--ps-protocol" only mysql-test/t/query_cache_ps_no_prot.test: Variant of the test query_cache_sql_prepare to be run without any "--<whatever>-protocol" mysql-test/t/query_cache_ps_ps_prot.test: Variant of the test query_cache_sql_prepare to be run with "--ps-protocol" only
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-runtime sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-runtime include/my_global.h: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/r/innodb_mysql.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged mysql-test/r/type_date.result: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/type_date.test: Auto merged sql/filesort.cc: Auto merged sql/handler.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.0-runtime sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged
-
unknown authored
into trift2.:/MySQL/M51/push-5.1
-
unknown authored
Makefile.am: The "test-bt" target was lacking "embedded" tests - add them, dependent on the build of the test binary needed for them.
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/bug28644/my51-bug28644 mysql-test/lib/mtr_report.pl: Auto merged sql/sql_test.cc: Auto merged
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/bug28644/my50-bug28644 mysql-test/lib/mtr_report.pl: Auto merged sql/sql_test.cc: Auto merged
-
unknown authored
This patch removes a false memory leak error report from the test suite. There is a test case that puposely provokes a SAFEMALLOC leak report, even though there is no actual leak. mysql-test/lib/mtr_report.pl: There is a test case that purposely provokes a SAFEMALLOC leak report, even though there is no actual leak. We need to detect this, and ignore the warning in that case. sql/sql_test.cc: Added tags to surround memory dump status report to help the test suite to determine that this isn't a memory leak
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build configure.in: Auto merged include/my_global.h: Auto merged sql/item_func.cc: Auto merged strings/strtod.c: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build configure.in: Auto merged include/my_global.h: Auto merged sql/item_func.cc: Auto merged strings/strtod.c: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build configure.in: Auto merged include/my_global.h: Auto merged sql/item_func.cc: Auto merged strings/strtod.c: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work
-
- 23 May, 2007 16 commits
-
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-like-2 sql/handler.h: Auto merged sql/mysql_priv.h: 5.1 version of mysql_priv.h already contains all necessary changes. sql/sql_parse.cc: 5.1 version of sql_parse.cc already contains all necessary changes. sql/sql_table.cc: 5.1 version of sql_table.cc already contains all necessary changes. sql/sql_yacc.yy: SCCS merged mysql-test/r/grant2.result: Manual merge. mysql-test/t/grant2.test: Manual merge.
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-like-2 sql/sql_parse.cc: Auto merged
-
unknown authored
Bug #23667 "CREATE TABLE LIKE is not isolated from alteration by other connections" Bug #18950 "CREATE TABLE LIKE does not obtain LOCK_open" As well as: Bug #25578 "CREATE TABLE LIKE does not require any privileges on source table". The first and the second bugs resulted in various errors and wrong binary log order when one tried to execute concurrently CREATE TABLE LIKE statement and DDL statements on source table or DML/DDL statements on its target table. The problem was caused by incomplete protection/table-locking against concurrent statements implemented in mysql_create_like_table() routine. We solve it by simply implementing such protection in proper way. Most of actual work for 5.1 was already done by fix for bug 20662 and preliminary patch changing locking in ALTER TABLE. The third bug allowed user who didn't have any privileges on table create its copy and therefore circumvent privilege check for SHOW CREATE TABLE. This patch solves this problem by adding privilege check, which was missing. Finally it also removes some duplicated code from mysql_create_like_table() and thus fixes bug #26869 "TABLE_LIST::table_name_length inconsistent with TABLE_LIST::table_name". mysql-test/r/create-big.result: Added test coverage for concurrency-related issues with CREATE TABLE LIKE. mysql-test/r/create.result: Adjusted error-code in the test case after refactoring code that implements CREATE TABLE ... LIKE. mysql-test/r/grant2.result: Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges on source table". mysql-test/t/create-big.test: Added test coverage for concurrency-related issues with CREATE TABLE LIKE. mysql-test/t/create.test: Adjusted error-code in the test case after refactoring code that implements CREATE TABLE ... LIKE. mysql-test/t/disabled.def: Recent code changes ensured that CREATE TABLE LIKE statement is properly isolated against other statements, so synchronization.test should no longer fail (see fix for bug 20662 and preliminary patch for bug 23667 changing ALTER TABLE locking). mysql-test/t/grant2.test: Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges on source table". sql/handler.h: Introduced new flag for HA_CREATE_INFO::options in order to be able to distinguish CREATE TABLE ... LIKE from other types of CREATE TABLE. sql/mysql_priv.h: mysql_create_like_table() now takes source table name not as a Table_ident object but as regular table list element. sql/sql_lex.h: Removed LEX::like_name member. Now we use special flag in LEX::create_info::options for distinguishing CREATE TABLE ... LIKE from other types of CREATE TABLE and store name of source table as regular element in statement's table list. sql/sql_parse.cc: CREATE TABLE ... LIKE implementation now uses statement's table list for storing information about the source table. We also use flag in LEX::create_info.options for distinguishing it from other types of CREATE TABLE. Finally CREATE TABLE ... LIKE now requires the same privileges on the source tables as SHOW CREATE TABLE. Moved this privilege check to check_show_create_table_access() function. sql/sql_partition.cc: Now we use special flag in LEX::create_info::options for distinguishing CREATE TABLE ... LIKE from other types of CREATE TABLE and store name of source table as regular element in statement's table list. sql/sql_table.cc: mysql_create_like_table(): - Commented and cleaned-up a bit code which is responsible for achieving isolation from concurrent statements. Most of actual work was done by fix for bug 20662 and preliminary patch changing locking locking in ALTER TABLE, so here we do minor things like relaxing locking on source table (we don't need lock on it, to have it open is enough) and adjusting code to make it more friendly against code implementing I_S. - Get rid of duplicated code related to source database/table name handling. All these operations are already done in st_select_lex::add_table_to_list(), so we achieve the same effect by including source table into the statement's table list. sql/sql_yacc.yy: Now we use special flag in LEX::create_info::options for distinguishing CREATE TABLE ... LIKE from other types of CREATE TABLE and store name of source table as regular element in statement's table list.
-
unknown authored
Bug #23667 "CREATE TABLE LIKE is not isolated from alteration by other connections" Bug #18950 "CREATE TABLE LIKE does not obtain LOCK_open" As well as: Bug #25578 "CREATE TABLE LIKE does not require any privileges on source table". The first and the second bugs resulted in various errors and wrong binary log order when one tried to execute concurrently CREATE TABLE LIKE statement and DDL statements on source table or DML/DDL statements on its target table. The problem was caused by incomplete protection/table-locking against concurrent statements implemented in mysql_create_like_table() routine. We solve it by simply implementing such protection in proper way (see comment for sql_table.cc for details). The third bug allowed user who didn't have any privileges on table create its copy and therefore circumvent privilege check for SHOW CREATE TABLE. This patch solves this problem by adding privilege check, which was missing. Finally it also removes some duplicated code from mysql_create_like_table(). Note that, altough tests covering concurrency-related aspects of CREATE TABLE LIKE behaviour will only be introduced in 5.1, they were run manually for this patch as well. mysql-test/r/grant2.result: Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges on source table". mysql-test/t/grant2.test: Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges on source table". sql/handler.h: Introduced new flag for HA_CREATE_INFO::options in order to be able to distinguish CREATE TABLE ... LIKE from other types of CREATE TABLE. sql/mysql_priv.h: mysql_create_like_table() now takes source table name not as a Table_ident object but as regular table list element. sql/sql_parse.cc: CREATE TABLE ... LIKE implementation now uses statement's table list for storing information about the source table. We also use flag in LEX::create_info.options for distinguishing it from other types of CREATE TABLE. Finally CREATE TABLE ... LIKE now requires the same privileges on the source tables as SHOW CREATE TABLE. Moved this privilege check to check_show_create_table_access() function. sql/sql_table.cc: mysql_create_like_table(): - Provided proper protection from concurrent statements. This is achieved by keeping name-lock on the source table and holding LOCK_open mutex during whole operation. This gives protection against concurrent DDL on source table. Also holding this mutex makes copying of .frm file, call to ha_create_table() and binlogging atomic against concurrent DML and DDL operations on target table. - Get rid of duplicated code related to source database/table name handling. All these operations are already done in st_select_lex::add_table_to_list(), so we achieve the same effect by including source table into the statement's table list. sql/sql_yacc.yy: Now we use special flag in LEX::create_info::options for distinguishing CREATE TABLE ... LIKE from other types of CREATE TABLE and store name of source table as regular element in statement's table list.
-
unknown authored
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime sql/set_var.cc: Auto merged sql/sql_cache.cc: Auto merged
-
unknown authored
cache by changing the behavior of the query cache resize-method. - set query_cache_size=<new_size>; is significantly faster than RESET QUERY CACHE as it simply destroys and recreates the query cache, whereas RESET QUERY CACHE keeps its internal structure aligned with server load profile. sql/set_var.cc: Refactored behavior of function. Instead of setting the global variable from within the class method scope we return the new cache size as a result of the method call. sql/sql_cache.cc: - Changed behavior of resize-method. Now, the cache will be cleared as one single block of data instead of an iteration over all cached statements.
-
unknown authored
into trift2.:/MySQL/M51/push-5.1
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build configure.in: Auto merged include/my_global.h: Auto merged sql/item_func.cc: Auto merged BitKeeper/deleted/.del-CMakeLists.txt~13: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build configure.in: Auto merged sql/item_func.cc: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines mysql-test/mysql-test-run.pl: Auto merged mysql-test/t/disabled.def: Auto merged sql/handler.cc: Auto merged sql/sql_table.cc: Auto merged storage/myisam/ha_myisam.cc: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work
-
- 22 May, 2007 8 commits
-
-
unknown authored
include/config-win.h: cleanup, windows build break include/my_pthread.h: cleanup, windows build break sql/event_queue.cc: warnings cleanup, unititialized waiting_on_cond tests/mysql_client_test.c: warnings cleanup
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user storage/ndb/src/common/transporter/Packer.cpp: Auto merged storage/ndb/src/common/transporter/TCP_Transporter.hpp: Auto merged storage/ndb/src/common/transporter/TransporterRegistry.cpp: Auto merged storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Auto merged storage/ndb/test/ndbapi/testNdbApi.cpp: manual merge storage/ndb/test/run-test/daily-basic-tests.txt: manual merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-21554-merge
-
unknown authored
The problem reported is a compile bug, reported by the development GCC team with GCC 4.2. The original issue can no longer be reproduced in MySQL 5.1, since the configure script no longer define HAVE_ATOMIC_ADD, which caused the Linux atomic functions to be used (and cause a problem with an invalid cast). This patch implements some code cleanup for 5.1 only, which was identified during the investigation of this issue. With this patch, statistics maintained in THD::status_var are by definition owned by the running thread, and do not need to be protected against race conditions. These statistics are maintained by the status_var_* helpers, which do not require any lock. include/my_global.h: General cleanup of thread_safe_increment / statistic_increment include/my_pthread.h: General cleanup of thread_safe_increment / statistic_increment sql/filesort.cc: General cleanup of thread_safe_increment / statistic_increment sql/handler.cc: General cleanup of thread_safe_increment / statistic_increment sql/sql_insert.cc: General cleanup of thread_safe_increment / statistic_increment sql/sql_parse.cc: General cleanup of thread_safe_increment / statistic_increment sql/sql_prepare.cc: General cleanup of thread_safe_increment / statistic_increment sql/sql_select.cc: General cleanup of thread_safe_increment / statistic_increment
-