Commit af1ddc20 authored by pekka@mysql.com's avatar pekka@mysql.com

ndb - bug#9994 backpatch fixes from 5.0

      IGNORE on merge 4.1->5.0
parent 410043a8
...@@ -6,7 +6,7 @@ Next DBTUP 4013 ...@@ -6,7 +6,7 @@ Next DBTUP 4013
Next DBLQH 5042 Next DBLQH 5042
Next DBDICT 6006 Next DBDICT 6006
Next DBDIH 7174 Next DBDIH 7174
Next DBTC 8035 Next DBTC 8037
Next CMVMI 9000 Next CMVMI 9000
Next BACKUP 10022 Next BACKUP 10022
Next DBUTIL 11002 Next DBUTIL 11002
...@@ -406,8 +406,11 @@ Drop Table/Index: ...@@ -406,8 +406,11 @@ Drop Table/Index:
4001: Crash on REL_TABMEMREQ in TUP 4001: Crash on REL_TABMEMREQ in TUP
4002: Crash on DROP_TABFILEREQ in TUP 4002: Crash on DROP_TABFILEREQ in TUP
4003: Fail next trigger create in TUP 4003: Fail next trigger create in TUP
4004: Fail next trigger drop in TUP
8033: Fail next trigger create in TC 8033: Fail next trigger create in TC
8034: Fail next index create in TC 8034: Fail next index create in TC
8035: Fail next trigger drop in TC
8036: Fail next index drop in TC
System Restart: System Restart:
--------------- ---------------
......
This diff is collapsed.
This diff is collapsed.
...@@ -10833,6 +10833,7 @@ void Dbtc::execCREATE_TRIG_REQ(Signal* signal) ...@@ -10833,6 +10833,7 @@ void Dbtc::execCREATE_TRIG_REQ(Signal* signal)
if (ERROR_INSERTED(8033) || if (ERROR_INSERTED(8033) ||
!c_theDefinedTriggers.seizeId(triggerPtr, !c_theDefinedTriggers.seizeId(triggerPtr,
createTrigReq->getTriggerId())) { createTrigReq->getTriggerId())) {
jam();
CLEAR_ERROR_INSERT_VALUE; CLEAR_ERROR_INSERT_VALUE;
// Failed to allocate trigger record // Failed to allocate trigger record
CreateTrigRef * const createTrigRef = CreateTrigRef * const createTrigRef =
...@@ -10867,8 +10868,10 @@ void Dbtc::execDROP_TRIG_REQ(Signal* signal) ...@@ -10867,8 +10868,10 @@ void Dbtc::execDROP_TRIG_REQ(Signal* signal)
DropTrigReq * const dropTrigReq = (DropTrigReq *)&signal->theData[0]; DropTrigReq * const dropTrigReq = (DropTrigReq *)&signal->theData[0];
BlockReference sender = signal->senderBlockRef(); BlockReference sender = signal->senderBlockRef();
if ((c_theDefinedTriggers.getPtr(dropTrigReq->getTriggerId())) == NULL) { if (ERROR_INSERTED(8035) ||
(c_theDefinedTriggers.getPtr(dropTrigReq->getTriggerId())) == NULL) {
jam(); jam();
CLEAR_ERROR_INSERT_VALUE;
// Failed to find find trigger record // Failed to find find trigger record
DropTrigRef * const dropTrigRef = (DropTrigRef *)&signal->theData[0]; DropTrigRef * const dropTrigRef = (DropTrigRef *)&signal->theData[0];
...@@ -10900,6 +10903,7 @@ void Dbtc::execCREATE_INDX_REQ(Signal* signal) ...@@ -10900,6 +10903,7 @@ void Dbtc::execCREATE_INDX_REQ(Signal* signal)
if (ERROR_INSERTED(8034) || if (ERROR_INSERTED(8034) ||
!c_theIndexes.seizeId(indexPtr, createIndxReq->getIndexId())) { !c_theIndexes.seizeId(indexPtr, createIndxReq->getIndexId())) {
jam();
CLEAR_ERROR_INSERT_VALUE; CLEAR_ERROR_INSERT_VALUE;
// Failed to allocate index record // Failed to allocate index record
CreateIndxRef * const createIndxRef = CreateIndxRef * const createIndxRef =
...@@ -11111,8 +11115,10 @@ void Dbtc::execDROP_INDX_REQ(Signal* signal) ...@@ -11111,8 +11115,10 @@ void Dbtc::execDROP_INDX_REQ(Signal* signal)
TcIndexData* indexData; TcIndexData* indexData;
BlockReference sender = signal->senderBlockRef(); BlockReference sender = signal->senderBlockRef();
if ((indexData = c_theIndexes.getPtr(dropIndxReq->getIndexId())) == NULL) { if (ERROR_INSERTED(8036) ||
(indexData = c_theIndexes.getPtr(dropIndxReq->getIndexId())) == NULL) {
jam(); jam();
CLEAR_ERROR_INSERT_VALUE;
// Failed to find index record // Failed to find index record
DropIndxRef * const dropIndxRef = DropIndxRef * const dropIndxRef =
(DropIndxRef *)signal->getDataPtrSend(); (DropIndxRef *)signal->getDataPtrSend();
......
...@@ -305,6 +305,10 @@ Dbtup::primaryKey(Tablerec* const regTabPtr, Uint32 attrId) ...@@ -305,6 +305,10 @@ Dbtup::primaryKey(Tablerec* const regTabPtr, Uint32 attrId)
Uint32 Uint32
Dbtup::dropTrigger(Tablerec* table, const DropTrigReq* req) Dbtup::dropTrigger(Tablerec* table, const DropTrigReq* req)
{ {
if (ERROR_INSERTED(4004)) {
CLEAR_ERROR_INSERT_VALUE;
return 9999;
}
Uint32 triggerId = req->getTriggerId(); Uint32 triggerId = req->getTriggerId();
TriggerType::Value ttype = req->getTriggerType(); TriggerType::Value ttype = req->getTriggerType();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment