Commit a1765168 authored by unknown's avatar unknown
Browse files

Merge perch.ndb.mysql.com:/home/jonas/src/51-new

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new

parents e2d42957 3e217c81
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -5984,6 +5984,17 @@ void Dbdict::handleTabInfoInit(SimpleProperties::Reader & it,
     * Release table
     */
    releaseTableObject(tablePtr.i, checkExist);
    return;
  }

  if (checkExist && tablePtr.p->m_tablespace_id != RNIL)
  {
    /**
     * Increase ref count
     */
    FilegroupPtr ptr;
    ndbrequire(c_filegroup_hash.find(ptr, tablePtr.p->m_tablespace_id));
    increase_ref_count(ptr.p->m_obj_ptr_i);
  }
}//handleTabInfoInit()

@@ -6238,15 +6249,6 @@ void Dbdict::handleTabInfo(SimpleProperties::Reader & it,
    {
      tabRequire(false, CreateTableRef::InvalidTablespaceVersion);
    }

    {
      /**
       * Increase ref count
       */
      FilegroupPtr ptr;
      ndbrequire(c_filegroup_hash.find(ptr, tablePtr.p->m_tablespace_id));
      increase_ref_count(ptr.p->m_obj_ptr_i);
    }
  }
}//handleTabInfo()

+12 −7
Original line number Diff line number Diff line
@@ -352,16 +352,21 @@ Dbtup::disk_page_prealloc(Signal* signal,
      while((pageBits= tsman.alloc_page_from_extent(&ext.p->m_key, bits)) < 0)
	if(!list.next(ext) || ++cnt == 10)
	  break;
      ndbout_c("cnt: %d", cnt);

      if (cnt == 10 || ext.isNull())
	goto alloc;
      {
	pos = RNIL;
      }
      else
      {
	list.remove(ext);
	alloc.m_curr_extent_info_ptr_i= ext.i;
	ext.p->m_free_matrix_pos= RNIL;
      }
    else
    }

    if (pos == RNIL)
    {
  alloc:
      jam();
      /**
       * We need to alloc an extent