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
a920df9c
Commit
a920df9c
authored
Jul 26, 2006
by
pekka@orca.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb - bug#14935 - post-review
parent
15783e44
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
10 deletions
+18
-10
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
+2
-2
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp
+3
-3
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp
+13
-5
No files found.
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
View file @
a920df9c
...
...
@@ -254,6 +254,8 @@ inline const Uint32* ALIGN_WORD(const void* ptr)
#define ZSTORED_PROCEDURE_FREE 0xffff
#define ZMIN_PAGE_LIMIT_TUP_COMMITREQ 2
#define ZSKIP_TUX_TRIGGERS 0x1 // flag for TUP_ABORTREQ
#endif
class
Dbtup
:
public
SimulatedBlock
{
...
...
@@ -2155,8 +2157,6 @@ private:
//------------------------------------------------------------------
//------------------------------------------------------------------
void
tupkeyErrorLab
(
Signal
*
signal
);
// need flag to skip TUX indexes
void
do_tup_abortreq
(
Signal
*
,
Uint32
flags
);
//------------------------------------------------------------------
...
...
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp
View file @
a920df9c
...
...
@@ -63,6 +63,7 @@ void Dbtup::freeAttrinbufrec(Uint32 anAttrBuf)
*/
void
Dbtup
::
execTUP_ABORTREQ
(
Signal
*
signal
)
{
ljamEntry
();
do_tup_abortreq
(
signal
,
0
);
}
...
...
@@ -72,7 +73,6 @@ void Dbtup::do_tup_abortreq(Signal* signal, Uint32 flags)
FragrecordPtr
regFragPtr
;
TablerecPtr
regTabPtr
;
ljamEntry
();
regOperPtr
.
i
=
signal
->
theData
[
0
];
c_operation_pool
.
getPtr
(
regOperPtr
);
TransState
trans_state
=
get_trans_state
(
regOperPtr
.
p
);
...
...
@@ -97,7 +97,7 @@ void Dbtup::do_tup_abortreq(Signal* signal, Uint32 flags)
{
ljam
();
if
(
!
regTabPtr
.
p
->
tuxCustomTriggers
.
isEmpty
()
&&
(
flags
&
0x1
)
==
0
)
(
flags
&
ZSKIP_TUX_TRIGGERS
)
==
0
)
executeTuxAbortTriggers
(
signal
,
regOperPtr
.
p
,
regFragPtr
.
p
,
...
...
@@ -110,7 +110,7 @@ void Dbtup::do_tup_abortreq(Signal* signal, Uint32 flags)
c_operation_pool
.
getPtr
(
loopOpPtr
);
if
(
get_tuple_state
(
loopOpPtr
.
p
)
!=
TUPLE_ALREADY_ABORTED
&&
!
regTabPtr
.
p
->
tuxCustomTriggers
.
isEmpty
()
&&
(
flags
&
0x1
)
==
0
)
{
(
flags
&
ZSKIP_TUX_TRIGGERS
)
==
0
)
{
ljam
();
executeTuxAbortTriggers
(
signal
,
loopOpPtr
.
p
,
...
...
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp
View file @
a920df9c
...
...
@@ -748,11 +748,19 @@ void Dbtup::execTUPKEYREQ(Signal* signal)
regTabPtr
)
!=
0
)
{
jam
();
/*
* undo the change before tupkeyErrorLab resets the op
* assume no timeslicing can occur even with diskdata
* TUP insert succeeded but add of TUX entries failed. All
* TUX changes have been rolled back at this point.
*
* We will abort via tupkeyErrorLab() as usual. This routine
* however resets the operation to ZREAD. The TUP_ABORTREQ
* arriving later cannot then undo the insert.
*
* Therefore we call TUP_ABORTREQ already now. Diskdata etc
* should be in memory and timeslicing cannot occur. We must
* skip TUX abort triggers since TUX is already aborted.
*/
signal
->
theData
[
0
]
=
operPtr
.
i
;
do_tup_abortreq
(
signal
,
0x1
);
do_tup_abortreq
(
signal
,
ZSKIP_TUX_TRIGGERS
);
tupkeyErrorLab
(
signal
);
return
;
}
...
...
@@ -782,10 +790,10 @@ void Dbtup::execTUPKEYREQ(Signal* signal)
regTabPtr
)
!=
0
)
{
jam
();
/*
*
see insert case
*
See insert case.
*/
signal
->
theData
[
0
]
=
operPtr
.
i
;
do_tup_abortreq
(
signal
,
0x1
);
do_tup_abortreq
(
signal
,
ZSKIP_TUX_TRIGGERS
);
tupkeyErrorLab
(
signal
);
return
;
}
...
...
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