Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
9f961250
Commit
9f961250
authored
Dec 21, 2007
by
joerg@trift2
Browse files
Options
Browse Files
Download
Plain Diff
Merge trift2.:/MySQL/M51/mysql-5.1
into trift2.:/MySQL/M51/push-5.1
parents
bea1bfd5
97e3c6cb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
32 deletions
+46
-32
client/client_priv.h
client/client_priv.h
+0
-1
client/mysqlslap.c
client/mysqlslap.c
+38
-31
mysql-test/r/mysqlslap.result
mysql-test/r/mysqlslap.result
+8
-0
No files found.
client/client_priv.h
View file @
9f961250
...
@@ -60,7 +60,6 @@ enum options_client
...
@@ -60,7 +60,6 @@ enum options_client
OPT_USE_THREADS
,
OPT_USE_THREADS
,
OPT_IMPORT_USE_THREADS
,
OPT_IMPORT_USE_THREADS
,
OPT_MYSQL_NUMBER_OF_QUERY
,
OPT_MYSQL_NUMBER_OF_QUERY
,
OPT_MYSQL_PRESERVE_SCHEMA
,
OPT_IGNORE_TABLE
,
OPT_INSERT_IGNORE
,
OPT_SHOW_WARNINGS
,
OPT_DROP_DATABASE
,
OPT_IGNORE_TABLE
,
OPT_INSERT_IGNORE
,
OPT_SHOW_WARNINGS
,
OPT_DROP_DATABASE
,
OPT_TZ_UTC
,
OPT_AUTO_CLOSE
,
OPT_CREATE_SLAP_SCHEMA
,
OPT_TZ_UTC
,
OPT_AUTO_CLOSE
,
OPT_CREATE_SLAP_SCHEMA
,
OPT_SLAP_CSV
,
OPT_SLAP_CREATE_STRING
,
OPT_SLAP_CSV
,
OPT_SLAP_CREATE_STRING
,
...
...
client/mysqlslap.c
View file @
9f961250
...
@@ -131,7 +131,8 @@ const char *delimiter= "\n";
...
@@ -131,7 +131,8 @@ const char *delimiter= "\n";
const
char
*
create_schema_string
=
"mysqlslap"
;
const
char
*
create_schema_string
=
"mysqlslap"
;
static
my_bool
opt_preserve
=
0
,
debug_info_flag
=
0
,
debug_check_flag
=
0
;
static
my_bool
opt_preserve
=
TRUE
;
static
my_bool
debug_info_flag
=
0
,
debug_check_flag
=
0
;
static
my_bool
opt_only_print
=
FALSE
;
static
my_bool
opt_only_print
=
FALSE
;
static
my_bool
opt_compress
=
FALSE
,
tty_password
=
FALSE
,
static
my_bool
opt_compress
=
FALSE
,
tty_password
=
FALSE
,
opt_silent
=
FALSE
,
opt_silent
=
FALSE
,
...
@@ -508,12 +509,12 @@ static struct my_option my_long_options[] =
...
@@ -508,12 +509,12 @@ static struct my_option my_long_options[] =
(
uchar
**
)
&
auto_generate_sql
,
(
uchar
**
)
&
auto_generate_sql
,
(
uchar
**
)
&
auto_generate_sql
,
(
uchar
**
)
&
auto_generate_sql
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-add-autoincrement"
,
OPT_SLAP_AUTO_GENERATE_ADD_AUTO
,
{
"auto-generate-sql-add-autoincrement"
,
OPT_SLAP_AUTO_GENERATE_ADD_AUTO
,
"Add a
utoincrement
to auto-generated tables."
,
"Add a
n AUTO_INCREMENT column
to auto-generated tables."
,
(
uchar
**
)
&
auto_generate_sql_autoincrement
,
(
uchar
**
)
&
auto_generate_sql_autoincrement
,
(
uchar
**
)
&
auto_generate_sql_autoincrement
,
(
uchar
**
)
&
auto_generate_sql_autoincrement
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-execute-number"
,
OPT_SLAP_AUTO_GENERATE_EXECUTE_QUERIES
,
{
"auto-generate-sql-execute-number"
,
OPT_SLAP_AUTO_GENERATE_EXECUTE_QUERIES
,
"Set this number to generate a set number of queries to run.
\n
"
,
"Set this number to generate a set number of queries to run."
,
(
uchar
**
)
&
auto_actual_queries
,
(
uchar
**
)
&
auto_actual_queries
,
(
uchar
**
)
&
auto_actual_queries
,
(
uchar
**
)
&
auto_actual_queries
,
0
,
GET_ULL
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_ULL
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-guid-primary"
,
OPT_SLAP_AUTO_GENERATE_GUID_PRIMARY
,
{
"auto-generate-sql-guid-primary"
,
OPT_SLAP_AUTO_GENERATE_GUID_PRIMARY
,
...
@@ -522,32 +523,32 @@ static struct my_option my_long_options[] =
...
@@ -522,32 +523,32 @@ static struct my_option my_long_options[] =
(
uchar
**
)
&
auto_generate_sql_guid_primary
,
(
uchar
**
)
&
auto_generate_sql_guid_primary
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-load-type"
,
OPT_SLAP_AUTO_GENERATE_SQL_LOAD_TYPE
,
{
"auto-generate-sql-load-type"
,
OPT_SLAP_AUTO_GENERATE_SQL_LOAD_TYPE
,
"
Load types are mixed, update, write, key, or read. Default is mixed
\n
"
,
"
Specify test load type: mixed, update, write, key, or read; default is mixed.
"
,
(
uchar
**
)
&
auto_generate_sql_type
,
(
uchar
**
)
&
auto_generate_sql_type
,
(
uchar
**
)
&
auto_generate_sql_type
,
(
uchar
**
)
&
auto_generate_sql_type
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-secondary-indexes"
,
{
"auto-generate-sql-secondary-indexes"
,
OPT_SLAP_AUTO_GENERATE_SECONDARY_INDEXES
,
OPT_SLAP_AUTO_GENERATE_SECONDARY_INDEXES
,
"Number of secondary indexes to add auto-generated tables."
,
"Number of secondary indexes to add
to
auto-generated tables."
,
(
uchar
**
)
&
auto_generate_sql_secondary_indexes
,
(
uchar
**
)
&
auto_generate_sql_secondary_indexes
,
(
uchar
**
)
&
auto_generate_sql_secondary_indexes
,
0
,
(
uchar
**
)
&
auto_generate_sql_secondary_indexes
,
0
,
GET_UINT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
GET_UINT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-unique-query-number"
,
{
"auto-generate-sql-unique-query-number"
,
OPT_SLAP_AUTO_GENERATE_UNIQUE_QUERY_NUM
,
OPT_SLAP_AUTO_GENERATE_UNIQUE_QUERY_NUM
,
"Number of unique queries
auto tests
"
,
"Number of unique queries
to generate for automatic tests.
"
,
(
uchar
**
)
&
auto_generate_sql_unique_query_number
,
(
uchar
**
)
&
auto_generate_sql_unique_query_number
,
(
uchar
**
)
&
auto_generate_sql_unique_query_number
,
(
uchar
**
)
&
auto_generate_sql_unique_query_number
,
0
,
GET_ULL
,
REQUIRED_ARG
,
10
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_ULL
,
REQUIRED_ARG
,
10
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-unique-write-number"
,
{
"auto-generate-sql-unique-write-number"
,
OPT_SLAP_AUTO_GENERATE_UNIQUE_WRITE_NUM
,
OPT_SLAP_AUTO_GENERATE_UNIQUE_WRITE_NUM
,
"Number of unique queries
for auto-generate-sql-write-number
"
,
"Number of unique queries
to generate for auto-generate-sql-write-number.
"
,
(
uchar
**
)
&
auto_generate_sql_unique_write_number
,
(
uchar
**
)
&
auto_generate_sql_unique_write_number
,
(
uchar
**
)
&
auto_generate_sql_unique_write_number
,
(
uchar
**
)
&
auto_generate_sql_unique_write_number
,
0
,
GET_ULL
,
REQUIRED_ARG
,
10
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_ULL
,
REQUIRED_ARG
,
10
,
0
,
0
,
0
,
0
,
0
},
{
"auto-generate-sql-write-number"
,
OPT_SLAP_AUTO_GENERATE_WRITE_NUM
,
{
"auto-generate-sql-write-number"
,
OPT_SLAP_AUTO_GENERATE_WRITE_NUM
,
"Number of row
s to insert to used in read and write loads (default is 100).
\n
"
,
"Number of row
inserts to perform for each thread (default is 100).
"
,
(
uchar
**
)
&
auto_generate_sql_number
,
(
uchar
**
)
&
auto_generate_sql_number
,
(
uchar
**
)
&
auto_generate_sql_number
,
(
uchar
**
)
&
auto_generate_sql_number
,
0
,
GET_ULL
,
REQUIRED_ARG
,
100
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_ULL
,
REQUIRED_ARG
,
100
,
0
,
0
,
0
,
0
,
0
},
{
"commit"
,
OPT_SLAP_COMMIT
,
"Commit records
after
X number of statements."
,
{
"commit"
,
OPT_SLAP_COMMIT
,
"Commit records
every
X number of statements."
,
(
uchar
**
)
&
commit_rate
,
(
uchar
**
)
&
commit_rate
,
0
,
GET_UINT
,
REQUIRED_ARG
,
(
uchar
**
)
&
commit_rate
,
(
uchar
**
)
&
commit_rate
,
0
,
GET_UINT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"compress"
,
'C'
,
"Use compression in server/client protocol."
,
{
"compress"
,
'C'
,
"Use compression in server/client protocol."
,
...
@@ -566,9 +567,14 @@ static struct my_option my_long_options[] =
...
@@ -566,9 +567,14 @@ static struct my_option my_long_options[] =
"Generate CSV output to named file or to stdout if no file is named."
,
"Generate CSV output to named file or to stdout if no file is named."
,
(
uchar
**
)
&
opt_csv_str
,
(
uchar
**
)
&
opt_csv_str
,
0
,
GET_STR
,
(
uchar
**
)
&
opt_csv_str
,
(
uchar
**
)
&
opt_csv_str
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#ifdef DBUG_OFF
{
"debug"
,
'#'
,
"This is a non-debug version. Catch this and exit."
,
0
,
0
,
0
,
GET_DISABLED
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#else
{
"debug"
,
'#'
,
"Output debug log. Often this is 'd:t:o,filename'."
,
{
"debug"
,
'#'
,
"Output debug log. Often this is 'd:t:o,filename'."
,
(
uchar
**
)
&
default_dbug_option
,
(
uchar
**
)
&
default_dbug_option
,
0
,
GET_STR
,
(
uchar
**
)
&
default_dbug_option
,
(
uchar
**
)
&
default_dbug_option
,
0
,
GET_STR
,
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
OPT_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"debug-check"
,
OPT_DEBUG_CHECK
,
"Check memory and open file usage at exit ."
,
{
"debug-check"
,
OPT_DEBUG_CHECK
,
"Check memory and open file usage at exit ."
,
(
uchar
**
)
&
debug_check_flag
,
(
uchar
**
)
&
debug_check_flag
,
0
,
(
uchar
**
)
&
debug_check_flag
,
(
uchar
**
)
&
debug_check_flag
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
@@ -578,7 +584,8 @@ static struct my_option my_long_options[] =
...
@@ -578,7 +584,8 @@ static struct my_option my_long_options[] =
"Delimiter to use in SQL statements supplied in file or command line."
,
"Delimiter to use in SQL statements supplied in file or command line."
,
(
uchar
**
)
&
delimiter
,
(
uchar
**
)
&
delimiter
,
0
,
GET_STR
,
REQUIRED_ARG
,
(
uchar
**
)
&
delimiter
,
(
uchar
**
)
&
delimiter
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"detach"
,
OPT_SLAP_DETACH
,
"Detach connections after X number of requests."
,
{
"detach"
,
OPT_SLAP_DETACH
,
"Detach (close and reopen) connections after X number of requests."
,
(
uchar
**
)
&
detach_rate
,
(
uchar
**
)
&
detach_rate
,
0
,
GET_UINT
,
REQUIRED_ARG
,
(
uchar
**
)
&
detach_rate
,
(
uchar
**
)
&
detach_rate
,
0
,
GET_UINT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"engine"
,
'e'
,
"Storage engine to use for creating the table."
,
{
"engine"
,
'e'
,
"Storage engine to use for creating the table."
,
...
@@ -589,11 +596,11 @@ static struct my_option my_long_options[] =
...
@@ -589,11 +596,11 @@ static struct my_option my_long_options[] =
{
"iterations"
,
'i'
,
"Number of times to run the tests."
,
(
uchar
**
)
&
iterations
,
{
"iterations"
,
'i'
,
"Number of times to run the tests."
,
(
uchar
**
)
&
iterations
,
(
uchar
**
)
&
iterations
,
0
,
GET_UINT
,
REQUIRED_ARG
,
1
,
0
,
0
,
0
,
0
,
0
},
(
uchar
**
)
&
iterations
,
0
,
GET_UINT
,
REQUIRED_ARG
,
1
,
0
,
0
,
0
,
0
,
0
},
{
"number-char-cols"
,
'x'
,
{
"number-char-cols"
,
'x'
,
"Number of VARCHAR columns to create
table with if specifying --auto-generate-sql
"
,
"Number of VARCHAR columns to create
in table if specifying --auto-generate-sql.
"
,
(
uchar
**
)
&
num_char_cols_opt
,
(
uchar
**
)
&
num_char_cols_opt
,
0
,
GET_STR
,
REQUIRED_ARG
,
(
uchar
**
)
&
num_char_cols_opt
,
(
uchar
**
)
&
num_char_cols_opt
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"number-int-cols"
,
'y'
,
{
"number-int-cols"
,
'y'
,
"Number of INT columns to create
table with
if specifying --auto-generate-sql."
,
"Number of INT columns to create
in table
if specifying --auto-generate-sql."
,
(
uchar
**
)
&
num_int_cols_opt
,
(
uchar
**
)
&
num_int_cols_opt
,
0
,
GET_STR
,
REQUIRED_ARG
,
(
uchar
**
)
&
num_int_cols_opt
,
(
uchar
**
)
&
num_int_cols_opt
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
0
,
0
,
0
},
{
"number-of-queries"
,
OPT_MYSQL_NUMBER_OF_QUERY
,
{
"number-of-queries"
,
OPT_MYSQL_NUMBER_OF_QUERY
,
...
@@ -616,30 +623,25 @@ static struct my_option my_long_options[] =
...
@@ -616,30 +623,25 @@ static struct my_option my_long_options[] =
(
uchar
**
)
&
opt_mysql_port
,
0
,
GET_UINT
,
REQUIRED_ARG
,
MYSQL_PORT
,
0
,
0
,
0
,
0
,
(
uchar
**
)
&
opt_mysql_port
,
0
,
GET_UINT
,
REQUIRED_ARG
,
MYSQL_PORT
,
0
,
0
,
0
,
0
,
0
},
0
},
{
"post-query"
,
OPT_SLAP_POST_QUERY
,
{
"post-query"
,
OPT_SLAP_POST_QUERY
,
"Query to run or file containing query to
run after executing
."
,
"Query to run or file containing query to
execute after tests have completed
."
,
(
uchar
**
)
&
user_supplied_post_statements
,
(
uchar
**
)
&
user_supplied_post_statements
,
(
uchar
**
)
&
user_supplied_post_statements
,
(
uchar
**
)
&
user_supplied_post_statements
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"post-system"
,
OPT_SLAP_POST_SYSTEM
,
{
"post-system"
,
OPT_SLAP_POST_SYSTEM
,
"
System() string to run after the load has
completed."
,
"
system() string to execute after tests have
completed."
,
(
uchar
**
)
&
post_system
,
(
uchar
**
)
&
post_system
,
(
uchar
**
)
&
post_system
,
(
uchar
**
)
&
post_system
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"pre-query"
,
OPT_SLAP_PRE_QUERY
,
{
"pre-query"
,
OPT_SLAP_PRE_QUERY
,
"Query to run or file containing query to
run before executing
."
,
"Query to run or file containing query to
execute before running tests
."
,
(
uchar
**
)
&
user_supplied_pre_statements
,
(
uchar
**
)
&
user_supplied_pre_statements
,
(
uchar
**
)
&
user_supplied_pre_statements
,
(
uchar
**
)
&
user_supplied_pre_statements
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"pre-system"
,
OPT_SLAP_PRE_SYSTEM
,
{
"pre-system"
,
OPT_SLAP_PRE_SYSTEM
,
"
System() string to before load has completed
."
,
"
system() string to execute before running tests
."
,
(
uchar
**
)
&
pre_system
,
(
uchar
**
)
&
pre_system
,
(
uchar
**
)
&
pre_system
,
(
uchar
**
)
&
pre_system
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"preserve-schema"
,
OPT_MYSQL_PRESERVE_SCHEMA
,
"Preserve the schema from the mysqlslap run, this happens unless "
"--auto-generate-sql or --create are used."
,
(
uchar
**
)
&
opt_preserve
,
(
uchar
**
)
&
opt_preserve
,
0
,
GET_BOOL
,
NO_ARG
,
TRUE
,
0
,
0
,
0
,
0
,
0
},
{
"protocol"
,
OPT_MYSQL_PROTOCOL
,
{
"protocol"
,
OPT_MYSQL_PROTOCOL
,
"The protocol of connection (tcp,socket,pipe,memory)."
,
"The protocol of connection (tcp,socket,pipe,memory)."
,
0
,
0
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
@@ -664,7 +666,7 @@ static struct my_option my_long_options[] =
...
@@ -664,7 +666,7 @@ static struct my_option my_long_options[] =
(
uchar
**
)
&
user
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
(
uchar
**
)
&
user
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
#endif
{
"verbose"
,
'v'
,
{
"verbose"
,
'v'
,
"More verbose output;
Y
ou can use this multiple times to get even more "
"More verbose output;
y
ou can use this multiple times to get even more "
"verbose output."
,
(
uchar
**
)
&
verbose
,
(
uchar
**
)
&
verbose
,
0
,
"verbose output."
,
(
uchar
**
)
&
verbose
,
(
uchar
**
)
&
verbose
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"version"
,
'V'
,
"Output version information and exit."
,
0
,
0
,
0
,
GET_NO_ARG
,
{
"version"
,
'V'
,
"Output version information and exit."
,
0
,
0
,
0
,
GET_NO_ARG
,
...
@@ -1140,12 +1142,9 @@ get_options(int *argc,char ***argv)
...
@@ -1140,12 +1142,9 @@ get_options(int *argc,char ***argv)
if
(
!
user
)
if
(
!
user
)
user
=
(
char
*
)
"root"
;
user
=
(
char
*
)
"root"
;
/* If something is created we clean it up, otherwise we leave schemas alone */
if
(
create_string
||
auto_generate_sql
)
if
(
create_string
||
auto_generate_sql
)
{
if
(
verbose
>=
1
)
fprintf
(
stderr
,
"Turning off preserve-schema!
\n
"
);
opt_preserve
=
FALSE
;
opt_preserve
=
FALSE
;
}
if
(
auto_generate_sql
&&
(
create_string
||
user_supplied_query
))
if
(
auto_generate_sql
&&
(
create_string
||
user_supplied_query
))
{
{
...
@@ -1767,7 +1766,8 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
...
@@ -1767,7 +1766,8 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
pthread_handler_t
run_task
(
void
*
p
)
pthread_handler_t
run_task
(
void
*
p
)
{
{
ulonglong
counter
=
0
,
queries
;
ulonglong
counter
=
0
,
queries
;
ulonglong
trans_counter
;
ulonglong
detach_counter
;
unsigned
int
commit_counter
;
MYSQL
*
mysql
;
MYSQL
*
mysql
;
MYSQL_RES
*
result
;
MYSQL_RES
*
result
;
MYSQL_ROW
row
;
MYSQL_ROW
row
;
...
@@ -1811,12 +1811,16 @@ pthread_handler_t run_task(void *p)
...
@@ -1811,12 +1811,16 @@ pthread_handler_t run_task(void *p)
printf
(
"connected!
\n
"
);
printf
(
"connected!
\n
"
);
queries
=
0
;
queries
=
0
;
commit_counter
=
0
;
if
(
commit_rate
)
run_query
(
mysql
,
"SET AUTOCOMMIT=0"
,
strlen
(
"SET AUTOCOMMIT=0"
));
limit_not_met:
limit_not_met:
for
(
ptr
=
con
->
stmt
,
trans
_counter
=
0
;
for
(
ptr
=
con
->
stmt
,
detach
_counter
=
0
;
ptr
&&
ptr
->
length
;
ptr
&&
ptr
->
length
;
ptr
=
ptr
->
next
,
trans
_counter
++
)
ptr
=
ptr
->
next
,
detach
_counter
++
)
{
{
if
(
!
opt_only_print
&&
detach_rate
&&
!
(
trans
_counter
%
detach_rate
))
if
(
!
opt_only_print
&&
detach_rate
&&
!
(
detach
_counter
%
detach_rate
))
{
{
mysql_close
(
mysql
);
mysql_close
(
mysql
);
...
@@ -1890,8 +1894,11 @@ limit_not_met:
...
@@ -1890,8 +1894,11 @@ limit_not_met:
}
while
(
mysql_next_result
(
mysql
)
==
0
);
}
while
(
mysql_next_result
(
mysql
)
==
0
);
queries
++
;
queries
++
;
if
(
commit_rate
&&
commit_rate
<=
trans_counter
)
if
(
commit_rate
&&
(
++
commit_counter
==
commit_rate
))
{
commit_counter
=
0
;
run_query
(
mysql
,
"COMMIT"
,
strlen
(
"COMMIT"
));
run_query
(
mysql
,
"COMMIT"
,
strlen
(
"COMMIT"
));
}
if
(
con
->
limit
&&
queries
==
con
->
limit
)
if
(
con
->
limit
&&
queries
==
con
->
limit
)
goto
end
;
goto
end
;
...
...
mysql-test/r/mysqlslap.result
View file @
9f961250
...
@@ -177,13 +177,17 @@ INSERT INTO t1 VALUES (1, 'This is a test');
...
@@ -177,13 +177,17 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SET AUTOCOMMIT=0;
SHOW TABLES;
SHOW TABLES;
SET AUTOCOMMIT=0;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
COMMIT;
COMMIT;
...
@@ -199,13 +203,17 @@ INSERT INTO t1 VALUES (1, 'This is a test');
...
@@ -199,13 +203,17 @@ INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SET AUTOCOMMIT=0;
SHOW TABLES;
SHOW TABLES;
SET AUTOCOMMIT=0;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
select * from t1;
select * from t1;
COMMIT;
select * from t2;
select * from t2;
COMMIT;
COMMIT;
COMMIT;
COMMIT;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment