Loading Build-tools/Do-compile +12 −2 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ use Sys::Hostname; $opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env=""; $opt_dbd_options=$opt_perl_options=$opt_config_options=$opt_make_options=$opt_suffix=""; $opt_tmp=$opt_version_suffix=""; $opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0; $opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_csv=$opt_with_example=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0; $opt_embedded_test=$opt_ps_test=$opt_innodb=$opt_bdb=$opt_raid=$opt_libwrap=$opt_clearlogs=0; GetOptions( Loading Loading @@ -57,6 +57,8 @@ GetOptions( "version-suffix=s", "with-archive", "with-cluster", "with-csv", "with-example", "with-debug", "with-low-memory", "with-other-libc=s", Loading Loading @@ -279,6 +281,8 @@ if ($opt_stage <= 1) $opt_embedded_test= 0 if ($opt_without_embedded); $opt_config_options.= " --with-archive-storage-engine" if ($opt_with_archive); $opt_config_options.= " --with-ndbcluster" if ($opt_with_cluster); $opt_config_options.= " --with-csv-storage-engine" if ($opt_with_csv); $opt_config_options.= " --with-example-storage-engine" if ($opt_with_example); # Only enable InnoDB when requested (required to be able to # build the "Classic" packages that do not include InnoDB) Loading Loading @@ -637,11 +641,17 @@ If user is empty then no mail is sent. Set name suffix (e.g. 'com' or '-max') for a distribution --with archive Enable the Archive storage Engine Enable the Archive storage engine --with cluster Compile and test with NDB Cluster enabled --with-csv Enable the CSV storage engine --with-example Enable the Example storage engine --with-debug Build binaries with debug information (implies "--no-strip") Loading client/mysqldump.c +4 −2 Original line number Diff line number Diff line Loading @@ -1825,8 +1825,6 @@ static void dumpTable(uint numFields, char *table) err: if (query != query_buf) my_free(query, MYF(MY_ALLOW_ZERO_PTR)); if (order_by) my_free(order_by, MYF(0)); safe_exit(error); return; } /* dumpTable */ Loading Loading @@ -1978,6 +1976,8 @@ static int dump_all_tables_in_db(char *database) numrows = getTableStructure(table, database); if (!dFlag && numrows > 0) dumpTable(numrows,table); my_free(order_by, MYF(MY_ALLOW_ZERO_PTR)); order_by= 0; } if (opt_xml) { Loading Loading @@ -2027,6 +2027,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables) numrows = getTableStructure(*table_names, db); if (!dFlag && numrows > 0) dumpTable(numrows, *table_names); my_free(order_by, MYF(MY_ALLOW_ZERO_PTR)); order_by= 0; } if (opt_xml) { Loading include/my_base.h +1 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,7 @@ enum ha_base_keytype { #define HA_ERR_NO_SUCH_TABLE 155 /* The table does not exist in engine */ #define HA_ERR_TABLE_EXIST 156 /* The table existed in storage engine */ #define HA_ERR_NO_CONNECTION 157 /* Could not connect to storage engine */ #define HA_ERR_NULL_IN_SPATIAL 158 /* NULLs are not supported in spatial index */ /* Other constants */ Loading innobase/dict/dict0dict.c +26 −2 Original line number Diff line number Diff line Loading @@ -2364,6 +2364,8 @@ dict_scan_id( ulint len = 0; const char* s; char* d; ulint id_len; byte* b; *id = NULL; Loading Loading @@ -2425,6 +2427,28 @@ dict_scan_id( *id = s; } if (heap) { /* EMS MySQL Manager sometimes adds characters 0xA0 (in latin1, a 'non-breakable space') to the end of a table name. But isspace(0xA0) is not true, which confuses our foreign key parser. After the UTF-8 conversion in ha_innodb.cc, bytes 0xC2 and 0xA0 are at the end of the string. TODO: we should lex the string using thd->charset_info, and my_isspace(). Only after that, convert id names to UTF-8. */ b = (byte*)(*id); id_len = strlen(b); if (id_len >= 3 && b[id_len - 1] == 0xA0 && b[id_len - 2] == 0xC2) { /* Strip the 2 last bytes */ b[id_len - 2] = '\0'; } } return(ptr); } Loading Loading @@ -2479,7 +2503,7 @@ dict_scan_col( } /************************************************************************* Scans the referenced table name from an SQL string. */ Scans a table name from an SQL string. */ static const char* dict_scan_table_name( Loading @@ -2490,7 +2514,7 @@ dict_scan_table_name( const char* name, /* in: foreign key table name */ ibool* success,/* out: TRUE if ok name found */ mem_heap_t* heap, /* in: heap where to allocate the id */ const char** ref_name)/* out,own: the referenced table name; const char** ref_name)/* out,own: the table name; NULL if no name was scannable */ { const char* database_name = NULL; Loading myisam/mi_write.c +4 −3 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ int mi_write(MI_INFO *info, byte *record) err: save_errno=my_errno; if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL) if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL || my_errno == HA_ERR_NULL_IN_SPATIAL) { if (info->bulk_insert) { Loading Loading
Build-tools/Do-compile +12 −2 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ use Sys::Hostname; $opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env=""; $opt_dbd_options=$opt_perl_options=$opt_config_options=$opt_make_options=$opt_suffix=""; $opt_tmp=$opt_version_suffix=""; $opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0; $opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_csv=$opt_with_example=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0; $opt_embedded_test=$opt_ps_test=$opt_innodb=$opt_bdb=$opt_raid=$opt_libwrap=$opt_clearlogs=0; GetOptions( Loading Loading @@ -57,6 +57,8 @@ GetOptions( "version-suffix=s", "with-archive", "with-cluster", "with-csv", "with-example", "with-debug", "with-low-memory", "with-other-libc=s", Loading Loading @@ -279,6 +281,8 @@ if ($opt_stage <= 1) $opt_embedded_test= 0 if ($opt_without_embedded); $opt_config_options.= " --with-archive-storage-engine" if ($opt_with_archive); $opt_config_options.= " --with-ndbcluster" if ($opt_with_cluster); $opt_config_options.= " --with-csv-storage-engine" if ($opt_with_csv); $opt_config_options.= " --with-example-storage-engine" if ($opt_with_example); # Only enable InnoDB when requested (required to be able to # build the "Classic" packages that do not include InnoDB) Loading Loading @@ -637,11 +641,17 @@ If user is empty then no mail is sent. Set name suffix (e.g. 'com' or '-max') for a distribution --with archive Enable the Archive storage Engine Enable the Archive storage engine --with cluster Compile and test with NDB Cluster enabled --with-csv Enable the CSV storage engine --with-example Enable the Example storage engine --with-debug Build binaries with debug information (implies "--no-strip") Loading
client/mysqldump.c +4 −2 Original line number Diff line number Diff line Loading @@ -1825,8 +1825,6 @@ static void dumpTable(uint numFields, char *table) err: if (query != query_buf) my_free(query, MYF(MY_ALLOW_ZERO_PTR)); if (order_by) my_free(order_by, MYF(0)); safe_exit(error); return; } /* dumpTable */ Loading Loading @@ -1978,6 +1976,8 @@ static int dump_all_tables_in_db(char *database) numrows = getTableStructure(table, database); if (!dFlag && numrows > 0) dumpTable(numrows,table); my_free(order_by, MYF(MY_ALLOW_ZERO_PTR)); order_by= 0; } if (opt_xml) { Loading Loading @@ -2027,6 +2027,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables) numrows = getTableStructure(*table_names, db); if (!dFlag && numrows > 0) dumpTable(numrows, *table_names); my_free(order_by, MYF(MY_ALLOW_ZERO_PTR)); order_by= 0; } if (opt_xml) { Loading
include/my_base.h +1 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,7 @@ enum ha_base_keytype { #define HA_ERR_NO_SUCH_TABLE 155 /* The table does not exist in engine */ #define HA_ERR_TABLE_EXIST 156 /* The table existed in storage engine */ #define HA_ERR_NO_CONNECTION 157 /* Could not connect to storage engine */ #define HA_ERR_NULL_IN_SPATIAL 158 /* NULLs are not supported in spatial index */ /* Other constants */ Loading
innobase/dict/dict0dict.c +26 −2 Original line number Diff line number Diff line Loading @@ -2364,6 +2364,8 @@ dict_scan_id( ulint len = 0; const char* s; char* d; ulint id_len; byte* b; *id = NULL; Loading Loading @@ -2425,6 +2427,28 @@ dict_scan_id( *id = s; } if (heap) { /* EMS MySQL Manager sometimes adds characters 0xA0 (in latin1, a 'non-breakable space') to the end of a table name. But isspace(0xA0) is not true, which confuses our foreign key parser. After the UTF-8 conversion in ha_innodb.cc, bytes 0xC2 and 0xA0 are at the end of the string. TODO: we should lex the string using thd->charset_info, and my_isspace(). Only after that, convert id names to UTF-8. */ b = (byte*)(*id); id_len = strlen(b); if (id_len >= 3 && b[id_len - 1] == 0xA0 && b[id_len - 2] == 0xC2) { /* Strip the 2 last bytes */ b[id_len - 2] = '\0'; } } return(ptr); } Loading Loading @@ -2479,7 +2503,7 @@ dict_scan_col( } /************************************************************************* Scans the referenced table name from an SQL string. */ Scans a table name from an SQL string. */ static const char* dict_scan_table_name( Loading @@ -2490,7 +2514,7 @@ dict_scan_table_name( const char* name, /* in: foreign key table name */ ibool* success,/* out: TRUE if ok name found */ mem_heap_t* heap, /* in: heap where to allocate the id */ const char** ref_name)/* out,own: the referenced table name; const char** ref_name)/* out,own: the table name; NULL if no name was scannable */ { const char* database_name = NULL; Loading
myisam/mi_write.c +4 −3 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ int mi_write(MI_INFO *info, byte *record) err: save_errno=my_errno; if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL) if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL || my_errno == HA_ERR_NULL_IN_SPATIAL) { if (info->bulk_insert) { Loading