Loading .bzrignore +2 −0 Original line number Diff line number Diff line Loading @@ -469,3 +469,5 @@ vio/test-ssl vio/test-sslclient vio/test-sslserver vio/viotest-ssl mysys/getopt.c mysys/getopt1.c sql/sql_class.h +2 −1 Original line number Diff line number Diff line Loading @@ -182,7 +182,7 @@ typedef struct st_copy_info { ha_rows copied; ha_rows error; enum enum_duplicates handle_duplicates; int escape_char; int escape_char, errorno; } COPY_INFO; Loading Loading @@ -666,6 +666,7 @@ class select_union :public select_result { TABLE *table; COPY_INFO info; uint save_time_stamp; TMP_TABLE_PARAM *tmp_table_param; select_union(TABLE *table_par); ~select_union(); Loading sql/sql_insert.cc +1 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,7 @@ int write_record(TABLE *table,COPY_INFO *info) err: if (key) my_afree(key); info->errorno= error; table->file->print_error(error,MYF(0)); return 1; } Loading sql/sql_union.cc +7 −2 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) goto exit; } union_result->save_time_stamp=!describe; union_result->tmp_table_param=&tmp_table_param; for (sl= &lex->select_lex; sl; sl=sl->next) { lex->select=sl; Loading Loading @@ -253,7 +253,12 @@ bool select_union::send_data(List<Item> &values) return 0; } fill_record(table->field,values); return write_record(table,&info) ? 1 : 0; if ((write_record(table,&info))) { if (create_myisam_from_heap(table, tmp_table_param, info.errorno, 0)) return 1; } return 0; } bool select_union::send_eof() Loading Loading
.bzrignore +2 −0 Original line number Diff line number Diff line Loading @@ -469,3 +469,5 @@ vio/test-ssl vio/test-sslclient vio/test-sslserver vio/viotest-ssl mysys/getopt.c mysys/getopt1.c
sql/sql_class.h +2 −1 Original line number Diff line number Diff line Loading @@ -182,7 +182,7 @@ typedef struct st_copy_info { ha_rows copied; ha_rows error; enum enum_duplicates handle_duplicates; int escape_char; int escape_char, errorno; } COPY_INFO; Loading Loading @@ -666,6 +666,7 @@ class select_union :public select_result { TABLE *table; COPY_INFO info; uint save_time_stamp; TMP_TABLE_PARAM *tmp_table_param; select_union(TABLE *table_par); ~select_union(); Loading
sql/sql_insert.cc +1 −0 Original line number Diff line number Diff line Loading @@ -447,6 +447,7 @@ int write_record(TABLE *table,COPY_INFO *info) err: if (key) my_afree(key); info->errorno= error; table->file->print_error(error,MYF(0)); return 1; } Loading
sql/sql_union.cc +7 −2 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) goto exit; } union_result->save_time_stamp=!describe; union_result->tmp_table_param=&tmp_table_param; for (sl= &lex->select_lex; sl; sl=sl->next) { lex->select=sl; Loading Loading @@ -253,7 +253,12 @@ bool select_union::send_data(List<Item> &values) return 0; } fill_record(table->field,values); return write_record(table,&info) ? 1 : 0; if ((write_record(table,&info))) { if (create_myisam_from_heap(table, tmp_table_param, info.errorno, 0)) return 1; } return 0; } bool select_union::send_eof() Loading