Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
4b2aa105
Commit
4b2aa105
authored
Sep 23, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug#5702
Check index version already in master to prevent "non-atmoic" failing drop index
parent
cb235151
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
1 deletion
+18
-1
ndb/src/kernel/blocks/dbdict/Dbdict.cpp
ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+18
-1
No files found.
ndb/src/kernel/blocks/dbdict/Dbdict.cpp
View file @
4b2aa105
...
@@ -6545,6 +6545,8 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
...
@@ -6545,6 +6545,8 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
jamEntry
();
jamEntry
();
DropIndxReq
*
const
req
=
(
DropIndxReq
*
)
signal
->
getDataPtrSend
();
DropIndxReq
*
const
req
=
(
DropIndxReq
*
)
signal
->
getDataPtrSend
();
OpDropIndexPtr
opPtr
;
OpDropIndexPtr
opPtr
;
int
err
=
DropIndxRef
::
BadRequestType
;
const
Uint32
senderRef
=
signal
->
senderBlockRef
();
const
Uint32
senderRef
=
signal
->
senderBlockRef
();
const
DropIndxReq
::
RequestType
requestType
=
req
->
getRequestType
();
const
DropIndxReq
::
RequestType
requestType
=
req
->
getRequestType
();
if
(
requestType
==
DropIndxReq
::
RT_USER
)
{
if
(
requestType
==
DropIndxReq
::
RT_USER
)
{
...
@@ -6559,6 +6561,20 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
...
@@ -6559,6 +6561,20 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
return
;
return
;
}
}
// forward initial request plus operation key to all
// forward initial request plus operation key to all
Uint32
indexId
=
req
->
getIndexId
();
Uint32
indexVersion
=
req
->
getIndexVersion
();
TableRecordPtr
tmp
;
int
res
=
getMetaTablePtr
(
tmp
,
indexId
,
indexVersion
);
switch
(
res
){
case
MetaData
:
:
InvalidArgument
:
case
MetaData
:
:
TableNotFound
:
err
=
DropTableRef
::
NoSuchTable
;
goto
error
;
case
MetaData
:
:
InvalidTableVersion
:
err
=
DropIndxRef
::
InvalidIndexVersion
;
goto
error
;
}
req
->
setOpKey
(
++
c_opRecordSequence
);
req
->
setOpKey
(
++
c_opRecordSequence
);
NodeReceiverGroup
rg
(
DBDICT
,
c_aliveNodes
);
NodeReceiverGroup
rg
(
DBDICT
,
c_aliveNodes
);
sendSignal
(
rg
,
GSN_DROP_INDX_REQ
,
sendSignal
(
rg
,
GSN_DROP_INDX_REQ
,
...
@@ -6608,12 +6624,13 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
...
@@ -6608,12 +6624,13 @@ Dbdict::execDROP_INDX_REQ(Signal* signal)
return
;
return
;
}
}
}
}
error:
jam
();
jam
();
// return to sender
// return to sender
OpDropIndex
opBad
;
OpDropIndex
opBad
;
opPtr
.
p
=
&
opBad
;
opPtr
.
p
=
&
opBad
;
opPtr
.
p
->
save
(
req
);
opPtr
.
p
->
save
(
req
);
opPtr
.
p
->
m_errorCode
=
DropIndxRef
::
BadRequestType
;
opPtr
.
p
->
m_errorCode
=
(
DropIndxRef
::
ErrorCode
)
err
;
opPtr
.
p
->
m_errorLine
=
__LINE__
;
opPtr
.
p
->
m_errorLine
=
__LINE__
;
dropIndex_sendReply
(
signal
,
opPtr
,
true
);
dropIndex_sendReply
(
signal
,
opPtr
,
true
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment