Commit 3884629d authored by unknown's avatar unknown
Browse files

Bug#12845 - Stress test: Server crashes on CREATE .. SELECT statement

Solution for 4.0 and 4.1.
If the caller cannot re-open table(s), it gives a NULL
'refresh' argument to open_table(). We used to ignore
flushes then. Now we ignore drops too.

parent 12ac3ab0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -871,6 +871,13 @@ TABLE *open_table(THD *thd,const char *db,const char *table_name,
  {
    if (table->version != refresh_version)
    {
      if (! refresh)
      {
        /* Ignore flush for now, but force close after usage. */
        thd->version= table->version;
        continue;
      }

      /*
      ** There is a refresh in progress for this table
      ** Wait until the table is freed or the thread is killed.