mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Move "analyze_testcase_failure" to mysqltest(since it knows best when
to perform this analyzis)
This commit is contained in:
@@ -604,6 +604,71 @@ void do_eval(DYNAMIC_STRING *query_eval, const char *query,
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Run query and dump the result to stdout in vertical format
|
||||
|
||||
NOTE! This function should be safe to call when an error
|
||||
has occured and thus any further errors will be ignored(although logged)
|
||||
|
||||
SYNOPSIS
|
||||
show_query
|
||||
mysql - connection to use
|
||||
query - query to run
|
||||
|
||||
*/
|
||||
|
||||
static void show_query(MYSQL* mysql, const char* query)
|
||||
{
|
||||
MYSQL_RES* res;
|
||||
DBUG_ENTER("show_query");
|
||||
|
||||
if (!mysql)
|
||||
DBUG_VOID_RETURN;
|
||||
|
||||
if (mysql_query(mysql, query))
|
||||
{
|
||||
log_msg("Error running query '%s': %d %s",
|
||||
query, mysql_errno(mysql), mysql_error(mysql));
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
if ((res= mysql_store_result(mysql)) == NULL)
|
||||
{
|
||||
/* No result set returned */
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
{
|
||||
MYSQL_ROW row;
|
||||
unsigned int i;
|
||||
unsigned int row_num= 0;
|
||||
unsigned int num_fields= mysql_num_fields(res);
|
||||
MYSQL_FIELD *fields= mysql_fetch_fields(res);
|
||||
|
||||
fprintf(stderr, "=== %s ===\n", query);
|
||||
while ((row= mysql_fetch_row(res)))
|
||||
{
|
||||
unsigned long *lengths= mysql_fetch_lengths(res);
|
||||
row_num++;
|
||||
|
||||
fprintf(stderr, "---- %d. ----\n", row_num);
|
||||
for(i= 0; i < num_fields; i++)
|
||||
{
|
||||
fprintf(stderr, "%s\t%.*s\n",
|
||||
fields[i].name,
|
||||
(int)lengths[i], row[i] ? row[i] : "NULL");
|
||||
}
|
||||
}
|
||||
for (i= 0; i < strlen(query)+8; i++)
|
||||
fprintf(stderr, "=");
|
||||
fprintf(stderr, "\n\n");
|
||||
}
|
||||
mysql_free_result(res);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Show any warnings just before the error. Since the last error
|
||||
is added to the warning stack, only print @@warning_count-1 warnings.
|
||||
@@ -3150,7 +3215,11 @@ wait_for_position:
|
||||
SLAVE has been issued ?
|
||||
*/
|
||||
if (tries++ == 30)
|
||||
{
|
||||
show_query(mysql, "SHOW MASTER STATUS");
|
||||
show_query(mysql, "SHOW SLAVE STATUS");
|
||||
die("could not sync with master ('%s' returned NULL)", query_buf);
|
||||
}
|
||||
sleep(1); /* So at most we will wait 30 seconds and make 31 tries */
|
||||
mysql_free_result(res);
|
||||
goto wait_for_position;
|
||||
|
Reference in New Issue
Block a user