mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
10.0-base -> 10.0-monty
This commit is contained in:
commit
e1f681c99b
1113 changed files with 65339 additions and 8570 deletions
|
|
@ -2615,6 +2615,7 @@ static uint get_table_structure(char *table, char *db, char *table_type,
|
|||
if (strcmp(field->name, "View") == 0)
|
||||
{
|
||||
char *scv_buff= NULL;
|
||||
my_ulonglong n_cols;
|
||||
|
||||
verbose_msg("-- It's a view, create dummy table for view\n");
|
||||
|
||||
|
|
@ -2629,8 +2630,8 @@ static uint get_table_structure(char *table, char *db, char *table_type,
|
|||
the same name in order to satisfy views that depend on this view.
|
||||
The table will be removed when the actual view is created.
|
||||
|
||||
The properties of each column, aside from the data type, are not
|
||||
preserved in this temporary table, because they are not necessary.
|
||||
The properties of each column, are not preserved in this temporary
|
||||
table, because they are not necessary.
|
||||
|
||||
This will not be necessary once we can determine dependencies
|
||||
between views and can simply dump them in the appropriate order.
|
||||
|
|
@ -2657,8 +2658,23 @@ static uint get_table_structure(char *table, char *db, char *table_type,
|
|||
else
|
||||
my_free(scv_buff);
|
||||
|
||||
if (mysql_num_rows(result))
|
||||
n_cols= mysql_num_rows(result);
|
||||
if (0 != n_cols)
|
||||
{
|
||||
|
||||
/*
|
||||
The actual formula is based on the column names and how the .FRM
|
||||
files are stored and is too volatile to be repeated here.
|
||||
Thus we simply warn the user if the columns exceed a limit we
|
||||
know works most of the time.
|
||||
*/
|
||||
if (n_cols >= 1000)
|
||||
fprintf(stderr,
|
||||
"-- Warning: Creating a stand-in table for view %s may"
|
||||
" fail when replaying the dump file produced because "
|
||||
"of the number of columns exceeding 1000. Exercise "
|
||||
"caution when replaying the produced dump file.\n",
|
||||
table);
|
||||
if (opt_drop)
|
||||
{
|
||||
/*
|
||||
|
|
@ -2685,14 +2701,19 @@ static uint get_table_structure(char *table, char *db, char *table_type,
|
|||
|
||||
row= mysql_fetch_row(result);
|
||||
|
||||
fprintf(sql_file, " %s %s", quote_name(row[0], name_buff, 0),
|
||||
row[1]);
|
||||
/*
|
||||
The actual column type doesn't matter anyway, since the table will
|
||||
be dropped at run time.
|
||||
We do tinyint to avoid hitting the row size limit.
|
||||
*/
|
||||
fprintf(sql_file, " %s tinyint NOT NULL",
|
||||
quote_name(row[0], name_buff, 0));
|
||||
|
||||
while((row= mysql_fetch_row(result)))
|
||||
{
|
||||
/* col name, col type */
|
||||
fprintf(sql_file, ",\n %s %s",
|
||||
quote_name(row[0], name_buff, 0), row[1]);
|
||||
fprintf(sql_file, ",\n %s tinyint NOT NULL",
|
||||
quote_name(row[0], name_buff, 0));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -4164,6 +4185,7 @@ static int dump_all_databases()
|
|||
if (dump_all_tables_in_db(row[0]))
|
||||
result=1;
|
||||
}
|
||||
mysql_free_result(tableres);
|
||||
if (seen_views)
|
||||
{
|
||||
if (mysql_query(mysql, "SHOW DATABASES") ||
|
||||
|
|
@ -4186,6 +4208,7 @@ static int dump_all_databases()
|
|||
if (dump_all_views_in_db(row[0]))
|
||||
result=1;
|
||||
}
|
||||
mysql_free_result(tableres);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
@ -4314,8 +4337,6 @@ static int init_dumping(char *database, int init_func(char*))
|
|||
check_io(md_result_file);
|
||||
}
|
||||
}
|
||||
if (extended_insert)
|
||||
init_dynamic_string_checked(&extended_row, "", 1024, 1024);
|
||||
return 0;
|
||||
} /* init_dumping */
|
||||
|
||||
|
|
@ -5592,6 +5613,9 @@ int main(int argc, char **argv)
|
|||
if (opt_alltspcs)
|
||||
dump_all_tablespaces();
|
||||
|
||||
if (extended_insert)
|
||||
init_dynamic_string_checked(&extended_row, "", 1024, 1024);
|
||||
|
||||
if (opt_alldbs)
|
||||
{
|
||||
if (!opt_alltspcs && !opt_notspcs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue