From: Nirbhay Choubey Date: March 31 2011 3:28pm Subject: bzr commit into mysql-5.1 branch (nirbhay.choubey:3645) Bug#11765157 List-Archive: http://lists.mysql.com/commits/134382 X-Bug: 11765157 Message-Id: <201103311529.p2VFT4rC003681@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1934135382==" --===============1934135382== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/nirbhay/Project/mysql/repo/bugs/mysql-5.1.58090/ based on revid:magne.mahre@stripped 3645 Nirbhay Choubey 2011-03-31 Bug#11765157 - 58090: mysqlslap drops schema specified in create_schema if auto-generate-sql also set. mysqlslap uses a schema to run its tests on and later drops it if auto-generate-sql is used. This can be a problem, if the schema is an already existing one. If create-schema is used with auto-generate-sql option, mysqlslap while performing the cleanup, drops the specified database. Fixed by introducing an option --no-drop, which, if used, will prevent the dropping of schema at the end of the test. @ client/client_priv.h Bug#11765157 - 58090: mysqlslap drops schema specified in create_schema if auto-generate-sql also set. Added an option. @ client/mysqlslap.c Bug#11765157 - 58090: mysqlslap drops schema specified in create_schema if auto-generate-sql also set. Introduced an option 'no-drop' to forbid the removal of schema even if 'create' or 'auto-generate-sql' options are used. @ mysql-test/r/mysqlslap.result Added a testcase for Bug#11765157. @ mysql-test/t/mysqlslap.test Added a testcase for Bug#11765157. modified: client/client_priv.h client/mysqlslap.c mysql-test/r/mysqlslap.result mysql-test/t/mysqlslap.test === modified file 'client/client_priv.h' --- a/client/client_priv.h 2010-01-27 12:23:28 +0000 +++ b/client/client_priv.h 2011-03-31 15:28:39 +0000 @@ -85,6 +85,7 @@ enum options_client OPT_SLAP_POST_SYSTEM, OPT_SLAP_COMMIT, OPT_SLAP_DETACH, + OPT_SLAP_NO_DROP, OPT_MYSQL_REPLACE_INTO, OPT_BASE64_OUTPUT_MODE, OPT_SERVER_ID, OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES, OPT_SSL_VERIFY_SERVER_CERT, OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE, === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c 2011-01-13 10:26:42 +0000 +++ b/client/mysqlslap.c 2011-03-31 15:28:39 +0000 @@ -131,7 +131,7 @@ const char *delimiter= "\n"; const char *create_schema_string= "mysqlslap"; -static my_bool opt_preserve= TRUE; +static my_bool opt_preserve= TRUE, opt_no_drop= FALSE; static my_bool debug_info_flag= 0, debug_check_flag= 0; static my_bool opt_only_print= FALSE; static my_bool opt_compress= FALSE, tty_password= FALSE, @@ -599,6 +599,8 @@ static struct my_option my_long_options[ REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"iterations", 'i', "Number of times to run the tests.", &iterations, &iterations, 0, GET_UINT, REQUIRED_ARG, 1, 0, 0, 0, 0, 0}, + {"no-drop", OPT_SLAP_NO_DROP, "Do not drop the schema after the test.", + &opt_no_drop, &opt_no_drop, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"number-char-cols", 'x', "Number of VARCHAR columns to create in table if specifying --auto-generate-sql.", &num_char_cols_opt, &num_char_cols_opt, 0, GET_STR, REQUIRED_ARG, @@ -1147,8 +1149,11 @@ get_options(int *argc,char ***argv) if (!user) user= (char *)"root"; - /* If something is created we clean it up, otherwise we leave schemas alone */ - if (create_string || auto_generate_sql) + /* + If something is created and --no-drop is not specified, we drop the + schema. + */ + if (!opt_no_drop && (create_string || auto_generate_sql)) opt_preserve= FALSE; if (auto_generate_sql && (create_string || user_supplied_query)) === modified file 'mysql-test/r/mysqlslap.result' --- a/mysql-test/r/mysqlslap.result 2007-12-20 20:32:16 +0000 +++ b/mysql-test/r/mysqlslap.result 2011-03-31 15:28:39 +0000 @@ -225,3 +225,23 @@ DROP SCHEMA IF EXISTS `mysqlslap`; DROP PROCEDURE IF EXISTS p1; CREATE PROCEDURE p1() SELECT 1; DROP PROCEDURE p1; +# +# Bug #11765157 - 58090: mysqlslap drops schema specified in +# create_schema if auto-generate-sql also set. +# +# 'bug58090' database should not be present. +SHOW DATABASES; +Database +information_schema +mtr +mysql +test +# 'bug58090' database should be present. +SHOW DATABASES; +Database +information_schema +bug58090 +mtr +mysql +test +DROP DATABASE bug58090; === modified file 'mysql-test/t/mysqlslap.test' --- a/mysql-test/t/mysqlslap.test 2007-09-27 08:15:15 +0000 +++ b/mysql-test/t/mysqlslap.test 2011-03-31 15:28:39 +0000 @@ -53,3 +53,18 @@ CREATE PROCEDURE p1() SELECT 1; --exec $MYSQL_SLAP --create-schema=test --delimiter=";" --query="CALL p1; SELECT 1;" --silent 2>&1 DROP PROCEDURE p1; + + +--echo # +--echo # Bug #11765157 - 58090: mysqlslap drops schema specified in +--echo # create_schema if auto-generate-sql also set. +--echo # + +--exec $MYSQL_SLAP --silent --create-schema=bug58090 --concurrency=5 --iterations=20 --auto-generate-sql +--echo # 'bug58090' database should not be present. +SHOW DATABASES; +--exec $MYSQL_SLAP --silent --create-schema=bug58090 --no-drop --auto-generate-sql +--echo # 'bug58090' database should be present. +SHOW DATABASES; +DROP DATABASE bug58090; + --===============1934135382== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/nirbhay.choubey@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: nirbhay.choubey@stripped\ # 2kmx4ntqke1lqypk # target_branch: file:///home/nirbhay/Project/mysql/repo/bugs/mysql-\ # 5.1.58090/ # testament_sha1: 7cbac790625226e5e13a4987a03ab7935a84a0e5 # timestamp: 2011-03-31 20:58:44 +0530 # base_revision_id: magne.mahre@stripped\ # 9xe5fqklvg12495n # # Begin bundle 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 W00moSUEceSWy44DT/U6P+LuSKcKEhsDK0Mg --===============1934135382==--