Loading sql/parse_file.cc +4 −94 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) @param file pointer to IO_CACHE structure for writing @param base pointer to data structure @param parameter pointer to parameter descriptor @param old_version for returning back old version number value @retval FALSE OK Loading @@ -100,8 +99,7 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) static my_bool write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, ulonglong *old_version) write_parameter(IO_CACHE *file, uchar* base, File_option *parameter) { char num_buf[20]; // buffer for numeric operations // string for numeric operations Loading Loading @@ -129,15 +127,6 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, DBUG_RETURN(TRUE); break; } case FILE_OPTIONS_REV: { ulonglong *val_i= (ulonglong *)(base + parameter->offset); *old_version= (*val_i)++; num.set(*val_i, &my_charset_bin); if (my_b_append(file, (const uchar *)num.ptr(), num.length())) DBUG_RETURN(TRUE); break; } case FILE_OPTIONS_TIMESTAMP: { /* string have to be allocated already */ Loading Loading @@ -207,7 +196,6 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, @param base base address for parameter reading (structure like TABLE) @param parameters parameters description @param max_versions number of versions to save @retval FALSE OK Loading @@ -219,13 +207,11 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, uchar* base, File_option *parameters, uint max_versions) uchar* base, File_option *parameters) { File handler; IO_CACHE file; char path[FN_REFLEN+1]; // +1 to put temporary file name for sure ulonglong old_version= ULONGLONG_MAX; int path_end; File_option *param; DBUG_ENTER("sql_create_definition_file"); Loading Loading @@ -272,7 +258,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, if (my_b_append(&file, (const uchar *)param->name.str, param->name.length) || my_b_append(&file, (const uchar *)STRING_WITH_LEN("=")) || write_parameter(&file, base, param, &old_version) || write_parameter(&file, base, param) || my_b_append(&file, (const uchar *)STRING_WITH_LEN("\n"))) goto err_w_cache; } Loading @@ -286,55 +272,6 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, } path[path_end]='\0'; #ifdef FRM_ARCHIVE // archive copies management: disabled unused feature (see bug #17823). if (!access(path, F_OK)) { if (old_version != ULONGLONG_MAX && max_versions != 0) { // save backup char path_arc[FN_REFLEN]; // backup old version char path_to[FN_REFLEN]; // check archive directory existence fn_format(path_arc, "arc", dir->str, "", MY_UNPACK_FILENAME); if (access(path_arc, F_OK)) { if (my_mkdir(path_arc, 0777, MYF(MY_WME))) { DBUG_RETURN(TRUE); } } my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", path_arc, file_name->str, (ulong) old_version); if (my_rename(path, path_to, MYF(MY_WME))) { DBUG_RETURN(TRUE); } // remove very old version if (old_version > max_versions) { my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", path_arc, file_name->str, (ulong)(old_version - max_versions)); if (!access(path_arc, F_OK) && my_delete(path_to, MYF(MY_WME))) { DBUG_RETURN(TRUE); } } } else { if (my_delete(path, MYF(MY_WME))) // no backups { DBUG_RETURN(TRUE); } } } #endif//FRM_ARCHIVE { // rename temporary file Loading @@ -361,8 +298,6 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, @param schema name of given schema @param old_name original file name @param new_name new file name @param revision revision number @param num_view_backups number of backups @retval 0 OK Loading @@ -371,8 +306,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, */ my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, const char *new_name, ulonglong revision, uint num_view_backups) const char *new_name) { char old_path[FN_REFLEN], new_path[FN_REFLEN], arc_path[FN_REFLEN]; Loading @@ -387,28 +321,6 @@ my_bool rename_in_schema_file(THD *thd, /* check if arc_dir exists: disabled unused feature (see bug #17823). */ build_table_filename(arc_path, sizeof(arc_path) - 1, schema, "arc", "", 0); #ifdef FRM_ARCHIVE if (revision > 0 && !access(arc_path, F_OK)) { char old_name_buf[FN_REFLEN], new_name_buf[FN_REFLEN]; ulonglong limit= ((revision > num_view_backups) ? revision - num_view_backups : 0); VOID(tablename_to_filename(old_name, old_name_buf, sizeof(old_name_buf))); VOID(tablename_to_filename(new_name, new_name_buf, sizeof(new_name_buf))); for (; revision > limit ; revision--) { my_snprintf(old_path, FN_REFLEN, "%s/%s%s-%04lu", arc_path, old_name_buf, reg_ext, (ulong) revision); (void) unpack_filename(old_path, old_path); my_snprintf(new_path, FN_REFLEN, "%s/%s%s-%04lu", arc_path, new_name_buf, reg_ext, (ulong) revision); (void) unpack_filename(new_path, new_path); my_rename(old_path, new_path, MYF(0)); } } #else//FRM_ARCHIVE { // remove obsolete 'arc' directory and files if any MY_DIR *new_dirp; if ((new_dirp = my_dir(arc_path, MYF(MY_DONT_SORT)))) Loading @@ -417,7 +329,6 @@ my_bool rename_in_schema_file(THD *thd, (void) mysql_rm_arc_files(thd, new_dirp, arc_path); } } #endif//FRM_ARCHIVE return 0; } Loading Loading @@ -846,7 +757,6 @@ File_parser::parse(uchar* base, MEM_ROOT *mem_root, break; } case FILE_OPTIONS_ULONGLONG: case FILE_OPTIONS_REV: if (!(eol= strchr(ptr, '\n'))) { my_error(ER_FPARSER_ERROR_IN_PARAMETER, MYF(0), Loading sql/parse_file.h +2 −4 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ enum file_opt_type { FILE_OPTIONS_STRING, /**< String (LEX_STRING) */ FILE_OPTIONS_ESTRING, /**< Escaped string (LEX_STRING) */ FILE_OPTIONS_ULONGLONG, /**< ulonglong parameter (ulonglong) */ FILE_OPTIONS_REV, /**< Revision version number (ulonglong) */ FILE_OPTIONS_TIMESTAMP, /**< timestamp (LEX_STRING have to be allocated with length 20 (19+1) */ FILE_OPTIONS_STRLIST, /**< list of escaped strings Loading Loading @@ -81,11 +80,10 @@ File_parser *sql_parse_prepare(const LEX_STRING *file_name, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, uchar* base, File_option *parameters, uint versions); uchar* base, File_option *parameters); my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, const char *new_name, ulonglong revision, uint num_view_backups); const char *new_name); class File_parser: public Sql_alloc { Loading sql/sql_db.cc +0 −2 Original line number Diff line number Diff line Loading @@ -1099,7 +1099,6 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db, /* .frm archive: Those archives are obsolete, but following code should exist to remove existent "arc" directories. See #ifdef FRM_ARCHIVE directives for obsolete code. */ char newpath[FN_REFLEN]; MY_DIR *new_dirp; Loading Loading @@ -1268,7 +1267,6 @@ static my_bool rm_dir_w_symlink(const char *org_path, my_bool send_error) NOTE A support of "arc" directories is obsolete, however this function should exist to remove existent "arc" directories. See #ifdef FRM_ARCHIVE directives for obsolete code. */ long mysql_rm_arc_files(THD *thd, MY_DIR *dirp, const char *org_path) { Loading sql/sql_trigger.cc +4 −6 Original line number Diff line number Diff line Loading @@ -682,7 +682,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, trigname.trigger_table.length= tables->table_name_length; if (sql_create_definition_file(NULL, &trigname_file, &trigname_file_type, (uchar*)&trigname, trigname_file_parameters, 0)) (uchar*)&trigname, trigname_file_parameters)) return 1; /* Loading Loading @@ -800,7 +800,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Create trigger definition file. */ if (!sql_create_definition_file(NULL, &file, &triggers_file_type, (uchar*)this, triggers_file_parameters, 0)) (uchar*)this, triggers_file_parameters)) return 0; err_with_cleanup: Loading Loading @@ -876,8 +876,7 @@ static bool save_trigger_file(Table_triggers_list *triggers, const char *db, TRG_EXT, 0); file.str= file_buff; return sql_create_definition_file(NULL, &file, &triggers_file_type, (uchar*)triggers, triggers_file_parameters, 0); (uchar*)triggers, triggers_file_parameters); } Loading Loading @@ -1806,8 +1805,7 @@ Table_triggers_list::change_table_name_in_trignames(const char *db_name, trigname.trigger_table= *new_table_name; if (sql_create_definition_file(NULL, &trigname_file, &trigname_file_type, (uchar*)&trigname, trigname_file_parameters, 0)) (uchar*)&trigname, trigname_file_parameters)) return trigger; } Loading sql/sql_view.cc +6 −25 Original line number Diff line number Diff line Loading @@ -655,7 +655,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, } VOID(pthread_mutex_unlock(&LOCK_open)); if (view->revision != 1) if (mode != VIEW_CREATE_NEW) query_cache_invalidate3(thd, view, 0); start_waiting_global_read_lock(thd); if (res) Loading @@ -673,12 +673,8 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, } /* index of revision number in following table */ static const int revision_number_position= 8; /* number of required parameters for making view */ static const int required_view_parameters= 16; /* number of backups */ static const int num_view_backups= 3; static const int required_view_parameters= 14; /* table of VIEW .frm field descriptors Loading Loading @@ -711,9 +707,6 @@ static File_option view_parameters[]= {{ C_STRING_WITH_LEN("with_check_option")}, my_offsetof(TABLE_LIST, with_check), FILE_OPTIONS_ULONGLONG}, {{ C_STRING_WITH_LEN("revision")}, my_offsetof(TABLE_LIST, revision), FILE_OPTIONS_REV}, {{ C_STRING_WITH_LEN("timestamp")}, my_offsetof(TABLE_LIST, timestamp), FILE_OPTIONS_TIMESTAMP}, Loading Loading @@ -921,18 +914,9 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, } /* read revision number TODO: read dependence list, too, to process cascade/restrict TODO: special cascade/restrict procedure for alter? */ if (parser->parse((uchar*)view, thd->mem_root, view_parameters + revision_number_position, 1, &file_parser_dummy_hook)) { error= thd->is_error() ? -1 : 0; goto err; } } else { Loading Loading @@ -997,7 +981,7 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, } if (sql_create_definition_file(&dir, &file, view_file_type, (uchar*)view, view_parameters, num_view_backups)) (uchar*)view, view_parameters)) { error= thd->is_error() ? -1 : 1; goto err; Loading Loading @@ -1963,8 +1947,7 @@ mysql_rename_view(THD *thd, goto err; /* rename view and it's backups */ if (rename_in_schema_file(thd, view->db, view->table_name, new_name, view_def.revision - 1, num_view_backups)) if (rename_in_schema_file(thd, view->db, view->table_name, new_name)) goto err; dir.str= dir_buff; Loading @@ -1979,12 +1962,10 @@ mysql_rename_view(THD *thd, file.length= pathstr.length - dir.length; if (sql_create_definition_file(&dir, &file, view_file_type, (uchar*)&view_def, view_parameters, num_view_backups)) (uchar*)&view_def, view_parameters)) { /* restore renamed view in case of error */ rename_in_schema_file(thd, view->db, new_name, view->table_name, view_def.revision - 1, num_view_backups); rename_in_schema_file(thd, view->db, new_name, view->table_name); goto err; } } else Loading Loading
sql/parse_file.cc +4 −94 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) @param file pointer to IO_CACHE structure for writing @param base pointer to data structure @param parameter pointer to parameter descriptor @param old_version for returning back old version number value @retval FALSE OK Loading @@ -100,8 +99,7 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) static my_bool write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, ulonglong *old_version) write_parameter(IO_CACHE *file, uchar* base, File_option *parameter) { char num_buf[20]; // buffer for numeric operations // string for numeric operations Loading Loading @@ -129,15 +127,6 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, DBUG_RETURN(TRUE); break; } case FILE_OPTIONS_REV: { ulonglong *val_i= (ulonglong *)(base + parameter->offset); *old_version= (*val_i)++; num.set(*val_i, &my_charset_bin); if (my_b_append(file, (const uchar *)num.ptr(), num.length())) DBUG_RETURN(TRUE); break; } case FILE_OPTIONS_TIMESTAMP: { /* string have to be allocated already */ Loading Loading @@ -207,7 +196,6 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, @param base base address for parameter reading (structure like TABLE) @param parameters parameters description @param max_versions number of versions to save @retval FALSE OK Loading @@ -219,13 +207,11 @@ write_parameter(IO_CACHE *file, uchar* base, File_option *parameter, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, uchar* base, File_option *parameters, uint max_versions) uchar* base, File_option *parameters) { File handler; IO_CACHE file; char path[FN_REFLEN+1]; // +1 to put temporary file name for sure ulonglong old_version= ULONGLONG_MAX; int path_end; File_option *param; DBUG_ENTER("sql_create_definition_file"); Loading Loading @@ -272,7 +258,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, if (my_b_append(&file, (const uchar *)param->name.str, param->name.length) || my_b_append(&file, (const uchar *)STRING_WITH_LEN("=")) || write_parameter(&file, base, param, &old_version) || write_parameter(&file, base, param) || my_b_append(&file, (const uchar *)STRING_WITH_LEN("\n"))) goto err_w_cache; } Loading @@ -286,55 +272,6 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, } path[path_end]='\0'; #ifdef FRM_ARCHIVE // archive copies management: disabled unused feature (see bug #17823). if (!access(path, F_OK)) { if (old_version != ULONGLONG_MAX && max_versions != 0) { // save backup char path_arc[FN_REFLEN]; // backup old version char path_to[FN_REFLEN]; // check archive directory existence fn_format(path_arc, "arc", dir->str, "", MY_UNPACK_FILENAME); if (access(path_arc, F_OK)) { if (my_mkdir(path_arc, 0777, MYF(MY_WME))) { DBUG_RETURN(TRUE); } } my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", path_arc, file_name->str, (ulong) old_version); if (my_rename(path, path_to, MYF(MY_WME))) { DBUG_RETURN(TRUE); } // remove very old version if (old_version > max_versions) { my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", path_arc, file_name->str, (ulong)(old_version - max_versions)); if (!access(path_arc, F_OK) && my_delete(path_to, MYF(MY_WME))) { DBUG_RETURN(TRUE); } } } else { if (my_delete(path, MYF(MY_WME))) // no backups { DBUG_RETURN(TRUE); } } } #endif//FRM_ARCHIVE { // rename temporary file Loading @@ -361,8 +298,6 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, @param schema name of given schema @param old_name original file name @param new_name new file name @param revision revision number @param num_view_backups number of backups @retval 0 OK Loading @@ -371,8 +306,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, */ my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, const char *new_name, ulonglong revision, uint num_view_backups) const char *new_name) { char old_path[FN_REFLEN], new_path[FN_REFLEN], arc_path[FN_REFLEN]; Loading @@ -387,28 +321,6 @@ my_bool rename_in_schema_file(THD *thd, /* check if arc_dir exists: disabled unused feature (see bug #17823). */ build_table_filename(arc_path, sizeof(arc_path) - 1, schema, "arc", "", 0); #ifdef FRM_ARCHIVE if (revision > 0 && !access(arc_path, F_OK)) { char old_name_buf[FN_REFLEN], new_name_buf[FN_REFLEN]; ulonglong limit= ((revision > num_view_backups) ? revision - num_view_backups : 0); VOID(tablename_to_filename(old_name, old_name_buf, sizeof(old_name_buf))); VOID(tablename_to_filename(new_name, new_name_buf, sizeof(new_name_buf))); for (; revision > limit ; revision--) { my_snprintf(old_path, FN_REFLEN, "%s/%s%s-%04lu", arc_path, old_name_buf, reg_ext, (ulong) revision); (void) unpack_filename(old_path, old_path); my_snprintf(new_path, FN_REFLEN, "%s/%s%s-%04lu", arc_path, new_name_buf, reg_ext, (ulong) revision); (void) unpack_filename(new_path, new_path); my_rename(old_path, new_path, MYF(0)); } } #else//FRM_ARCHIVE { // remove obsolete 'arc' directory and files if any MY_DIR *new_dirp; if ((new_dirp = my_dir(arc_path, MYF(MY_DONT_SORT)))) Loading @@ -417,7 +329,6 @@ my_bool rename_in_schema_file(THD *thd, (void) mysql_rm_arc_files(thd, new_dirp, arc_path); } } #endif//FRM_ARCHIVE return 0; } Loading Loading @@ -846,7 +757,6 @@ File_parser::parse(uchar* base, MEM_ROOT *mem_root, break; } case FILE_OPTIONS_ULONGLONG: case FILE_OPTIONS_REV: if (!(eol= strchr(ptr, '\n'))) { my_error(ER_FPARSER_ERROR_IN_PARAMETER, MYF(0), Loading
sql/parse_file.h +2 −4 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ enum file_opt_type { FILE_OPTIONS_STRING, /**< String (LEX_STRING) */ FILE_OPTIONS_ESTRING, /**< Escaped string (LEX_STRING) */ FILE_OPTIONS_ULONGLONG, /**< ulonglong parameter (ulonglong) */ FILE_OPTIONS_REV, /**< Revision version number (ulonglong) */ FILE_OPTIONS_TIMESTAMP, /**< timestamp (LEX_STRING have to be allocated with length 20 (19+1) */ FILE_OPTIONS_STRLIST, /**< list of escaped strings Loading Loading @@ -81,11 +80,10 @@ File_parser *sql_parse_prepare(const LEX_STRING *file_name, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, uchar* base, File_option *parameters, uint versions); uchar* base, File_option *parameters); my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, const char *new_name, ulonglong revision, uint num_view_backups); const char *new_name); class File_parser: public Sql_alloc { Loading
sql/sql_db.cc +0 −2 Original line number Diff line number Diff line Loading @@ -1099,7 +1099,6 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db, /* .frm archive: Those archives are obsolete, but following code should exist to remove existent "arc" directories. See #ifdef FRM_ARCHIVE directives for obsolete code. */ char newpath[FN_REFLEN]; MY_DIR *new_dirp; Loading Loading @@ -1268,7 +1267,6 @@ static my_bool rm_dir_w_symlink(const char *org_path, my_bool send_error) NOTE A support of "arc" directories is obsolete, however this function should exist to remove existent "arc" directories. See #ifdef FRM_ARCHIVE directives for obsolete code. */ long mysql_rm_arc_files(THD *thd, MY_DIR *dirp, const char *org_path) { Loading
sql/sql_trigger.cc +4 −6 Original line number Diff line number Diff line Loading @@ -682,7 +682,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, trigname.trigger_table.length= tables->table_name_length; if (sql_create_definition_file(NULL, &trigname_file, &trigname_file_type, (uchar*)&trigname, trigname_file_parameters, 0)) (uchar*)&trigname, trigname_file_parameters)) return 1; /* Loading Loading @@ -800,7 +800,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Create trigger definition file. */ if (!sql_create_definition_file(NULL, &file, &triggers_file_type, (uchar*)this, triggers_file_parameters, 0)) (uchar*)this, triggers_file_parameters)) return 0; err_with_cleanup: Loading Loading @@ -876,8 +876,7 @@ static bool save_trigger_file(Table_triggers_list *triggers, const char *db, TRG_EXT, 0); file.str= file_buff; return sql_create_definition_file(NULL, &file, &triggers_file_type, (uchar*)triggers, triggers_file_parameters, 0); (uchar*)triggers, triggers_file_parameters); } Loading Loading @@ -1806,8 +1805,7 @@ Table_triggers_list::change_table_name_in_trignames(const char *db_name, trigname.trigger_table= *new_table_name; if (sql_create_definition_file(NULL, &trigname_file, &trigname_file_type, (uchar*)&trigname, trigname_file_parameters, 0)) (uchar*)&trigname, trigname_file_parameters)) return trigger; } Loading
sql/sql_view.cc +6 −25 Original line number Diff line number Diff line Loading @@ -655,7 +655,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, } VOID(pthread_mutex_unlock(&LOCK_open)); if (view->revision != 1) if (mode != VIEW_CREATE_NEW) query_cache_invalidate3(thd, view, 0); start_waiting_global_read_lock(thd); if (res) Loading @@ -673,12 +673,8 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, } /* index of revision number in following table */ static const int revision_number_position= 8; /* number of required parameters for making view */ static const int required_view_parameters= 16; /* number of backups */ static const int num_view_backups= 3; static const int required_view_parameters= 14; /* table of VIEW .frm field descriptors Loading Loading @@ -711,9 +707,6 @@ static File_option view_parameters[]= {{ C_STRING_WITH_LEN("with_check_option")}, my_offsetof(TABLE_LIST, with_check), FILE_OPTIONS_ULONGLONG}, {{ C_STRING_WITH_LEN("revision")}, my_offsetof(TABLE_LIST, revision), FILE_OPTIONS_REV}, {{ C_STRING_WITH_LEN("timestamp")}, my_offsetof(TABLE_LIST, timestamp), FILE_OPTIONS_TIMESTAMP}, Loading Loading @@ -921,18 +914,9 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, } /* read revision number TODO: read dependence list, too, to process cascade/restrict TODO: special cascade/restrict procedure for alter? */ if (parser->parse((uchar*)view, thd->mem_root, view_parameters + revision_number_position, 1, &file_parser_dummy_hook)) { error= thd->is_error() ? -1 : 0; goto err; } } else { Loading Loading @@ -997,7 +981,7 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, } if (sql_create_definition_file(&dir, &file, view_file_type, (uchar*)view, view_parameters, num_view_backups)) (uchar*)view, view_parameters)) { error= thd->is_error() ? -1 : 1; goto err; Loading Loading @@ -1963,8 +1947,7 @@ mysql_rename_view(THD *thd, goto err; /* rename view and it's backups */ if (rename_in_schema_file(thd, view->db, view->table_name, new_name, view_def.revision - 1, num_view_backups)) if (rename_in_schema_file(thd, view->db, view->table_name, new_name)) goto err; dir.str= dir_buff; Loading @@ -1979,12 +1962,10 @@ mysql_rename_view(THD *thd, file.length= pathstr.length - dir.length; if (sql_create_definition_file(&dir, &file, view_file_type, (uchar*)&view_def, view_parameters, num_view_backups)) (uchar*)&view_def, view_parameters)) { /* restore renamed view in case of error */ rename_in_schema_file(thd, view->db, new_name, view->table_name, view_def.revision - 1, num_view_backups); rename_in_schema_file(thd, view->db, new_name, view->table_name); goto err; } } else Loading