mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0
into bob.(none):/home/reggie/bk/mysql5.0
This commit is contained in:
commit
70dfda8851
1 changed files with 40 additions and 3 deletions
|
@ -2186,6 +2186,38 @@ static my_bool dump_all_views_in_db(char *database)
|
|||
return 0;
|
||||
} /* dump_all_tables_in_db */
|
||||
|
||||
/*
|
||||
get_actual_table_name -- executes a SHOW TABLES LIKE '%s' to get the actual
|
||||
table name from the server for the table name given on the command line.
|
||||
we do this because the table name given on the command line may be a
|
||||
different case (e.g. T1 vs t1)
|
||||
|
||||
RETURN
|
||||
void
|
||||
*/
|
||||
static void get_actual_table_name( const char *old_table_name,
|
||||
char *new_table_name,
|
||||
int buf_size )
|
||||
{
|
||||
MYSQL_RES *tableRes;
|
||||
MYSQL_ROW row;
|
||||
char query[ NAME_LEN + 50 ];
|
||||
|
||||
DBUG_ENTER("get_actual_table_name");
|
||||
|
||||
sprintf( query, "SHOW TABLES LIKE '%s'", old_table_name );
|
||||
if (mysql_query_with_error_report(sock, 0, query))
|
||||
{
|
||||
safe_exit(EX_MYSQLERR);
|
||||
}
|
||||
|
||||
tableRes = mysql_store_result( sock );
|
||||
row = mysql_fetch_row( tableRes );
|
||||
strncpy( new_table_name, row[0], buf_size );
|
||||
mysql_free_result(tableRes);
|
||||
} /* get_actual_table_name */
|
||||
|
||||
|
||||
static int dump_selected_tables(char *db, char **table_names, int tables)
|
||||
{
|
||||
uint numrows;
|
||||
|
@ -2219,9 +2251,14 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
|
|||
print_xml_tag1(md_result_file, "", "database name=", db, "\n");
|
||||
for (i=0 ; i < tables ; i++)
|
||||
{
|
||||
numrows = getTableStructure(table_names[i], db);
|
||||
if (!dFlag && numrows > 0)
|
||||
dumpTable(numrows, table_names[i]);
|
||||
char new_table_name[NAME_LEN];
|
||||
|
||||
/* the table name passed on commandline may be wrong case */
|
||||
get_actual_table_name( table_names[i], new_table_name, sizeof(new_table_name) );
|
||||
|
||||
numrows = getTableStructure(new_table_name, db);
|
||||
|
||||
dumpTable(numrows, new_table_name);
|
||||
my_free(order_by, MYF(MY_ALLOW_ZERO_PTR));
|
||||
order_by= 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue