Commit 8dfbc1b6 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/kent/bk/mysql-5.1.16-release

into  mysql.com:/home/kent/bk/mysql-5.1.16-build


client/sql_string.h:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
parents 81dfa8a9 ca0cb9e6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -506,6 +506,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
      share->data_file_type = DYNAMIC_RECORD;
    my_afree((gptr) disk_cache);
    mi_setup_functions(share);
#ifdef HAVE_MMAP
    if (open_flags & HA_OPEN_MMAP)
    {
      info.s= share;
@@ -522,6 +523,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)
        share->file_write= mi_mmap_pwrite;
      }
    }
#endif /* HAVE_MMAP */
    share->is_log_table= FALSE;
#ifdef THREAD
    thr_lock_init(&share->lock);
+1 −1
Original line number Diff line number Diff line
@@ -963,7 +963,7 @@ const EventLoggerBase::EventRepLogLevelMatrix EventLoggerBase::matrix[] = {
  ROW(NDBStopCompleted,        LogLevel::llStartUp,     1, Logger::LL_INFO ),
  ROW(NDBStopForced,           LogLevel::llStartUp,     1, Logger::LL_ALERT ),
  ROW(NDBStopAborted,          LogLevel::llStartUp,     1, Logger::LL_INFO ),
  ROW(StartREDOLog,            LogLevel::llStartUp,    10, Logger::LL_INFO ),
  ROW(StartREDOLog,            LogLevel::llStartUp,     4, Logger::LL_INFO ),
  ROW(StartLog,                LogLevel::llStartUp,    10, Logger::LL_INFO ),
  ROW(UNDORecordsExecuted,     LogLevel::llStartUp,    15, Logger::LL_INFO ),
  ROW(StartReport,             LogLevel::llStartUp,     4, Logger::LL_INFO ),
+11 −4
Original line number Diff line number Diff line
@@ -441,6 +441,7 @@ void Dblqh::execCONTINUEB(Signal* signal)
    else
    {
      jam();
      cstartRecReq = 2;
      ndbrequire(c_redo_complete_fragments.isEmpty());
      StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
      conf->startingNodeId = getOwnNodeId();
@@ -11936,7 +11937,7 @@ void Dblqh::execGCP_SAVEREQ(Signal* signal)
    return;
  }
  if (getNodeState().getNodeRestartInProgress() && cstartRecReq == ZFALSE)
  if (getNodeState().getNodeRestartInProgress() && cstartRecReq < 2)
  {
    GCPSaveRef * const saveRef = (GCPSaveRef*)&signal->theData[0];
    saveRef->dihPtr = dihPtr;
@@ -12248,6 +12249,10 @@ void Dblqh::execFSCLOSECONF(Signal* signal)
    // Set the prev file to check if we shall close it.
    logFilePtr.i = logFilePtr.p->prevLogFile;
    ptrCheckGuard(logFilePtr, clogFileFileSize, logFileRecord);
    logPartPtr.i = logFilePtr.p->logPartRec;
    ptrCheckGuard(logPartPtr, clogPartFileSize, logPartRecord);
    exitFromInvalidate(signal);
    return;
  case LogFileRecord::CLOSING_INIT:
@@ -14017,7 +14022,7 @@ void Dblqh::execRESTORE_LCP_CONF(Signal* signal)
    return;
  }
  if (c_lcp_restoring_fragments.isEmpty() && cstartRecReq == ZTRUE)
  if (c_lcp_restoring_fragments.isEmpty() && cstartRecReq == 1)
  {
    jam();
    /* ----------------------------------------------------------------
@@ -14058,7 +14063,7 @@ void Dblqh::execSTART_RECREQ(Signal* signal)
  ndbrequire(req->receivingNodeId == cownNodeid);
  cnewestCompletedGci = cnewestGci;
  cstartRecReq = ZTRUE;
  cstartRecReq = 1;
  for (logPartPtr.i = 0; logPartPtr.i < 4; logPartPtr.i++) {
    ptrAss(logPartPtr, logPartRecord);
    logPartPtr.p->logPartNewestCompletedGCI = cnewestCompletedGci;
@@ -14072,6 +14077,7 @@ void Dblqh::execSTART_RECREQ(Signal* signal)
   *------------------------------------------------------------------------ */
  if(cstartType == NodeState::ST_INITIAL_NODE_RESTART){
    jam();
    cstartRecReq = 2;
    StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
    conf->startingNodeId = getOwnNodeId();
    sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, 
@@ -15893,6 +15899,7 @@ void Dblqh::srFourthComp(Signal* signal)
	return;
      }
    }
    cstartRecReq = 2;
    StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
    conf->startingNodeId = getOwnNodeId();
    sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, 
@@ -16761,7 +16768,7 @@ void Dblqh::initialiseRecordsLab(Signal* signal, Uint32 data,
    cnoActiveCopy = 0;
    ccurrentGcprec = RNIL;
    caddNodeState = ZFALSE;
    cstartRecReq = ZFALSE;
    cstartRecReq = 0;
    cnewestGci = 0;
    cnewestCompletedGci = 0;
    crestartOldestGci = 0;
+2 −3
Original line number Diff line number Diff line
@@ -1840,6 +1840,7 @@ Tsman::execALLOC_PAGE_REQ(Signal* signal)
  ndbrequire(m_file_hash.find(file_ptr, file_key));

  struct req val = lookup_extent(req.key.m_page_no, file_ptr.p);
  Uint32 page_no_in_extent = calc_page_no_in_extent(req.key.m_page_no, &val);
  
  Page_cache_client::Request preq;
  preq.m_page.m_page_no = val.m_extent_page_no;
@@ -1865,7 +1866,6 @@ Tsman::execALLOC_PAGE_REQ(Signal* signal)
    
    ndbrequire(header->m_table == req.request.table_id);
    
    Uint32 page_no_in_extent = calc_page_no_in_extent(req.key.m_page_no, &val);
    Uint32 word = header->get_free_word_offset(page_no_in_extent);
    Uint32 shift = SZ * (page_no_in_extent & 7);
    
@@ -1925,8 +1925,7 @@ Tsman::execALLOC_PAGE_REQ(Signal* signal)
found:
  header->update_free_bits(page_no, src_bits | UNCOMMITTED_MASK);
  rep->bits= (src_bits & UNCOMMITTED_MASK) >> UNCOMMITTED_SHIFT;
  rep->key.m_page_no= 
    val.m_extent_pages + val.m_extent_no * val.m_extent_size + page_no;
  rep->key.m_page_no = req.key.m_page_no + page_no - page_no_in_extent;
  rep->reply.errorCode= 0;
  return;
}
+9 −5
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
RWPool::RWPool() 
{
  bzero(this, sizeof(* this));
  m_current_pos = GLOBAL_PAGE_SIZE_WORDS;
  m_current_pos = RWPage::RWPAGE_WORDS;
  m_current_first_free = REC_NIL;
  m_first_free_page = RNIL;
}
@@ -57,7 +57,7 @@ RWPool::seize(Ptr<void>& ptr)
    m_current_first_free = pageP->m_data[pos+m_record_info.m_offset_next_pool];
    return true;
  }
  else if (pos + size < GLOBAL_PAGE_SIZE_WORDS)
  else if (pos + size < RWPage::RWPAGE_WORDS)
  {
seize_first:
    ptr.i = (m_current_page_no << POOL_RECORD_BITS) + pos;
@@ -81,11 +81,14 @@ RWPool::seize(Ptr<void>& ptr)
  {
    pageP = m_current_page = m_memroot + m_first_free_page;
    m_current_page_no = m_first_free_page;
    m_current_pos = GLOBAL_PAGE_SIZE_WORDS;
    m_current_pos = RWPage::RWPAGE_WORDS;
    m_current_first_free = m_current_page->m_first_free;
    m_first_free_page = m_current_page->m_next_page;
    m_current_ref_count = m_current_page->m_ref_count;
    if (m_first_free_page != RNIL)
    {
      (m_memroot + m_first_free_page)->m_prev_page = RNIL;
    }
    goto seize_free;
  }

@@ -105,7 +108,7 @@ RWPool::seize(Ptr<void>& ptr)

  m_current_page = 0;
  m_current_page_no = RNIL;
  m_current_pos = GLOBAL_PAGE_SIZE_WORDS;
  m_current_pos = RWPage::RWPAGE_WORDS;
  m_current_first_free = REC_NIL;
  
  return false;
@@ -154,6 +157,7 @@ RWPool::release(Ptr<void> ptr)
      }
      page->m_next_page = ffp;
      page->m_prev_page = RNIL;
      m_first_free_page = ptr_page;
      return;
    }
    else if(ref_cnt == 1)
Loading