Loading innobase/dict/dict0dict.c +32 −9 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ Created 1/8/1996 Heikki Tuuri #include "que0que.h" #include "rem0cmp.h" ibool dict_char_0xA0_is_space = FALSE; /* A special fix for 4.0 */ dict_sys_t* dict_sys = NULL; /* the dictionary system */ rw_lock_t dict_operation_lock; /* table create, drop, etc. reserve Loading Loading @@ -196,7 +198,28 @@ and unique key errors */ FILE* dict_foreign_err_file = NULL; mutex_t dict_foreign_err_mutex; /* mutex protecting the foreign and unique error buffers */ /************************************************************************ Checks if a byte is considered space in the current charset of MySQL. TODO: find out if this works correctly in multibyte charsets. */ static ibool dict_isspace( /*=========*/ /* out: TRUE if considered space */ char c) /* in: one-byte character */ { if (isspace(c)) { return(TRUE); } if (dict_char_0xA0_is_space && (byte)c == (byte)0xA0) { return(TRUE); } return(FALSE); } /************************************************************************ Checks if the database name in two table names is the same. */ Loading Loading @@ -2324,7 +2347,7 @@ dict_accept( *success = FALSE; while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading Loading @@ -2369,7 +2392,7 @@ dict_scan_id( *id = NULL; while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading Loading @@ -2400,7 +2423,7 @@ dict_scan_id( len++; } } else { while (!isspace(*ptr) && *ptr != '(' && *ptr != ')' while (!dict_isspace(*ptr) && *ptr != '(' && *ptr != ')' && (accept_also_dot || *ptr != '.') && *ptr != ',' && *ptr != '\0') { Loading Loading @@ -2904,11 +2927,11 @@ dict_create_foreign_constraints_low( ut_a(success); if (!isspace(*ptr) && *ptr != '"' && *ptr != '`') { if (!dict_isspace(*ptr) && *ptr != '"' && *ptr != '`') { goto loop; } while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading @@ -2934,7 +2957,7 @@ dict_create_foreign_constraints_low( ptr = dict_accept(ptr, "FOREIGN", &success); if (!isspace(*ptr)) { if (!dict_isspace(*ptr)) { goto loop; } Loading Loading @@ -3022,7 +3045,7 @@ dict_create_foreign_constraints_low( } ptr = dict_accept(ptr, "REFERENCES", &success); if (!success || !isspace(*ptr)) { if (!success || !dict_isspace(*ptr)) { dict_foreign_report_syntax_err(name, start_of_latest_foreign, ptr); return(DB_CANNOT_ADD_CONSTRAINT); Loading Loading @@ -3403,7 +3426,7 @@ dict_foreign_parse_drop_constraints( ptr = dict_accept(ptr, "DROP", &success); if (!isspace(*ptr)) { if (!dict_isspace(*ptr)) { goto loop; } Loading innobase/include/dict0dict.h +2 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ Created 1/8/1996 Heikki Tuuri #include "ut0byte.h" #include "trx0types.h" extern ibool dict_char_0xA0_is_space; /************************************************************************ Get the database name length in a table name. */ Loading sql/log.cc +10 −8 Original line number Diff line number Diff line Loading @@ -2036,6 +2036,7 @@ bool flush_error_log() char err_renamed[FN_REFLEN], *end; end= strmake(err_renamed,log_error_file,FN_REFLEN-4); strmov(end, "-old"); VOID(pthread_mutex_lock(&LOCK_error_log)); #ifdef __WIN__ char err_temp[FN_REFLEN+4]; /* Loading @@ -2056,7 +2057,7 @@ bool flush_error_log() if ((fd = my_open(err_temp, O_RDONLY, MYF(0))) >= 0) { while ((bytes = (int) my_read(fd, (byte*) buf, IO_SIZE, MYF(0))) > 0) my_fwrite(stderr, (byte*) buf, (uint) strlen(buf),MYF(0)); my_fwrite(stderr, (byte*) buf, bytes, MYF(0)); my_close(fd, MYF(0)); } (void) my_delete(err_temp, MYF(0)); Loading @@ -2070,6 +2071,7 @@ bool flush_error_log() else result= 1; #endif VOID(pthread_mutex_unlock(&LOCK_error_log)); } return result; } Loading Loading
innobase/dict/dict0dict.c +32 −9 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ Created 1/8/1996 Heikki Tuuri #include "que0que.h" #include "rem0cmp.h" ibool dict_char_0xA0_is_space = FALSE; /* A special fix for 4.0 */ dict_sys_t* dict_sys = NULL; /* the dictionary system */ rw_lock_t dict_operation_lock; /* table create, drop, etc. reserve Loading Loading @@ -196,7 +198,28 @@ and unique key errors */ FILE* dict_foreign_err_file = NULL; mutex_t dict_foreign_err_mutex; /* mutex protecting the foreign and unique error buffers */ /************************************************************************ Checks if a byte is considered space in the current charset of MySQL. TODO: find out if this works correctly in multibyte charsets. */ static ibool dict_isspace( /*=========*/ /* out: TRUE if considered space */ char c) /* in: one-byte character */ { if (isspace(c)) { return(TRUE); } if (dict_char_0xA0_is_space && (byte)c == (byte)0xA0) { return(TRUE); } return(FALSE); } /************************************************************************ Checks if the database name in two table names is the same. */ Loading Loading @@ -2324,7 +2347,7 @@ dict_accept( *success = FALSE; while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading Loading @@ -2369,7 +2392,7 @@ dict_scan_id( *id = NULL; while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading Loading @@ -2400,7 +2423,7 @@ dict_scan_id( len++; } } else { while (!isspace(*ptr) && *ptr != '(' && *ptr != ')' while (!dict_isspace(*ptr) && *ptr != '(' && *ptr != ')' && (accept_also_dot || *ptr != '.') && *ptr != ',' && *ptr != '\0') { Loading Loading @@ -2904,11 +2927,11 @@ dict_create_foreign_constraints_low( ut_a(success); if (!isspace(*ptr) && *ptr != '"' && *ptr != '`') { if (!dict_isspace(*ptr) && *ptr != '"' && *ptr != '`') { goto loop; } while (isspace(*ptr)) { while (dict_isspace(*ptr)) { ptr++; } Loading @@ -2934,7 +2957,7 @@ dict_create_foreign_constraints_low( ptr = dict_accept(ptr, "FOREIGN", &success); if (!isspace(*ptr)) { if (!dict_isspace(*ptr)) { goto loop; } Loading Loading @@ -3022,7 +3045,7 @@ dict_create_foreign_constraints_low( } ptr = dict_accept(ptr, "REFERENCES", &success); if (!success || !isspace(*ptr)) { if (!success || !dict_isspace(*ptr)) { dict_foreign_report_syntax_err(name, start_of_latest_foreign, ptr); return(DB_CANNOT_ADD_CONSTRAINT); Loading Loading @@ -3403,7 +3426,7 @@ dict_foreign_parse_drop_constraints( ptr = dict_accept(ptr, "DROP", &success); if (!isspace(*ptr)) { if (!dict_isspace(*ptr)) { goto loop; } Loading
innobase/include/dict0dict.h +2 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ Created 1/8/1996 Heikki Tuuri #include "ut0byte.h" #include "trx0types.h" extern ibool dict_char_0xA0_is_space; /************************************************************************ Get the database name length in a table name. */ Loading
sql/log.cc +10 −8 Original line number Diff line number Diff line Loading @@ -2036,6 +2036,7 @@ bool flush_error_log() char err_renamed[FN_REFLEN], *end; end= strmake(err_renamed,log_error_file,FN_REFLEN-4); strmov(end, "-old"); VOID(pthread_mutex_lock(&LOCK_error_log)); #ifdef __WIN__ char err_temp[FN_REFLEN+4]; /* Loading @@ -2056,7 +2057,7 @@ bool flush_error_log() if ((fd = my_open(err_temp, O_RDONLY, MYF(0))) >= 0) { while ((bytes = (int) my_read(fd, (byte*) buf, IO_SIZE, MYF(0))) > 0) my_fwrite(stderr, (byte*) buf, (uint) strlen(buf),MYF(0)); my_fwrite(stderr, (byte*) buf, bytes, MYF(0)); my_close(fd, MYF(0)); } (void) my_delete(err_temp, MYF(0)); Loading @@ -2070,6 +2071,7 @@ bool flush_error_log() else result= 1; #endif VOID(pthread_mutex_unlock(&LOCK_error_log)); } return result; } Loading