Loading innobase/dict/dict0dict.c +29 −26 Original line number Diff line number Diff line Loading @@ -604,7 +604,7 @@ dict_table_get_on_id( } /************************************************************************ Looks for column n postion in the clustered index. */ Looks for column n position in the clustered index. */ ulint dict_table_get_nth_col_pos( Loading Loading @@ -2140,8 +2140,8 @@ dict_foreign_add_to_cache( /************************************************************************* Scans from pointer onwards. Stops if is at the start of a copy of 'string' where characters are compared without case sensitivity. Stops also at '\0'. */ 'string' where characters are compared without case sensitivity, and only outside `` or "" quotes. Stops also at '\0'. */ static const char* dict_scan_to( Loading @@ -2150,33 +2150,36 @@ dict_scan_to( const char* ptr, /* in: scan from */ const char* string) /* in: look for this */ { ibool success; char quote = '\0'; for (; *ptr; ptr++) { if (*ptr == quote) { /* Closing quote character: do not look for starting quote or the keyword. */ quote = '\0'; } else if (quote) { /* Within quotes: do nothing. */ } else if (*ptr == '`' || *ptr == '"') { /* Starting quote: remember the quote character. */ quote = *ptr; } else { /* Outside quotes: look for the keyword. */ ulint i; loop: if (*ptr == '\0') { return(ptr); for (i = 0; string[i]; i++) { if (toupper((ulint)(ptr[i])) != toupper((ulint)(string[i]))) { goto nomatch; } } success = TRUE; for (i = 0; i < ut_strlen(string); i++) { if (toupper((ulint)(ptr[i])) != toupper((ulint)(string[i]))) { success = FALSE; break; nomatch: ; } } if (success) { return(ptr); } ptr++; goto loop; } /************************************************************************* Accepts a specified string. Comparisons are case-insensitive. */ Loading Loading @@ -2762,13 +2765,13 @@ dict_create_foreign_constraints_low( ut_a(success); if (!isspace(*ptr)) { if (!isspace(*ptr) && *ptr != '"' && *ptr != '`') { goto loop; } do { while (isspace(*ptr)) { ptr++; } while (isspace(*ptr)); } /* read constraint name unless got "CONSTRAINT FOREIGN" */ if (ptr != ptr2) { Loading Loading
innobase/dict/dict0dict.c +29 −26 Original line number Diff line number Diff line Loading @@ -604,7 +604,7 @@ dict_table_get_on_id( } /************************************************************************ Looks for column n postion in the clustered index. */ Looks for column n position in the clustered index. */ ulint dict_table_get_nth_col_pos( Loading Loading @@ -2140,8 +2140,8 @@ dict_foreign_add_to_cache( /************************************************************************* Scans from pointer onwards. Stops if is at the start of a copy of 'string' where characters are compared without case sensitivity. Stops also at '\0'. */ 'string' where characters are compared without case sensitivity, and only outside `` or "" quotes. Stops also at '\0'. */ static const char* dict_scan_to( Loading @@ -2150,33 +2150,36 @@ dict_scan_to( const char* ptr, /* in: scan from */ const char* string) /* in: look for this */ { ibool success; char quote = '\0'; for (; *ptr; ptr++) { if (*ptr == quote) { /* Closing quote character: do not look for starting quote or the keyword. */ quote = '\0'; } else if (quote) { /* Within quotes: do nothing. */ } else if (*ptr == '`' || *ptr == '"') { /* Starting quote: remember the quote character. */ quote = *ptr; } else { /* Outside quotes: look for the keyword. */ ulint i; loop: if (*ptr == '\0') { return(ptr); for (i = 0; string[i]; i++) { if (toupper((ulint)(ptr[i])) != toupper((ulint)(string[i]))) { goto nomatch; } } success = TRUE; for (i = 0; i < ut_strlen(string); i++) { if (toupper((ulint)(ptr[i])) != toupper((ulint)(string[i]))) { success = FALSE; break; nomatch: ; } } if (success) { return(ptr); } ptr++; goto loop; } /************************************************************************* Accepts a specified string. Comparisons are case-insensitive. */ Loading Loading @@ -2762,13 +2765,13 @@ dict_create_foreign_constraints_low( ut_a(success); if (!isspace(*ptr)) { if (!isspace(*ptr) && *ptr != '"' && *ptr != '`') { goto loop; } do { while (isspace(*ptr)) { ptr++; } while (isspace(*ptr)); } /* read constraint name unless got "CONSTRAINT FOREIGN" */ if (ptr != ptr2) { Loading