mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
Handle drop ordered index with table id > pool size
This commit is contained in:
parent
23159226a4
commit
dacddf51ce
1 changed files with 16 additions and 0 deletions
|
@ -287,6 +287,22 @@ Dbtux::execDROP_TAB_REQ(Signal* signal)
|
||||||
const DropTabReq reqCopy = *(const DropTabReq*)signal->getDataPtr();
|
const DropTabReq reqCopy = *(const DropTabReq*)signal->getDataPtr();
|
||||||
const DropTabReq* const req = &reqCopy;
|
const DropTabReq* const req = &reqCopy;
|
||||||
IndexPtr indexPtr;
|
IndexPtr indexPtr;
|
||||||
|
|
||||||
|
Uint32 tableId = req->tableId;
|
||||||
|
Uint32 senderRef = req->senderRef;
|
||||||
|
Uint32 senderData = req->senderData;
|
||||||
|
if (tableId >= c_indexPool.getSize()) {
|
||||||
|
jam();
|
||||||
|
// reply to sender
|
||||||
|
DropTabConf* const conf = (DropTabConf*)signal->getDataPtrSend();
|
||||||
|
conf->senderRef = reference();
|
||||||
|
conf->senderData = senderData;
|
||||||
|
conf->tableId = tableId;
|
||||||
|
sendSignal(senderRef, GSN_DROP_TAB_CONF,
|
||||||
|
signal, DropTabConf::SignalLength, JBB);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
c_indexPool.getPtr(indexPtr, req->tableId);
|
c_indexPool.getPtr(indexPtr, req->tableId);
|
||||||
// drop works regardless of index state
|
// drop works regardless of index state
|
||||||
#ifdef VM_TRACE
|
#ifdef VM_TRACE
|
||||||
|
|
Loading…
Add table
Reference in a new issue