Commit 537f21ff authored by Sinisa@sinisa.nasamreza.org's avatar Sinisa@sinisa.nasamreza.org
Browse files

Merge sinisa@work.mysql.com:/home/bk/mysql-4.0

into sinisa.nasamreza.org:/mnt/hdc/Sinisa/mysql-4.0
parents 0c7ea54c 329bd4fa
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -469,3 +469,5 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
mysys/getopt.c
mysys/getopt1.c
+2 −1
Original line number Diff line number Diff line
@@ -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;


@@ -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();
+1 −0
Original line number Diff line number Diff line
@@ -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;
}
+7 −2
Original line number Diff line number Diff line
@@ -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;
@@ -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()