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
a9e5e7de
Commit
a9e5e7de
authored
Nov 25, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug#6775 - ndb - fix bug introduced by bug fix
parent
dfe4e29a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
16 deletions
+17
-16
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
+17
-16
No files found.
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
View file @
a9e5e7de
...
@@ -8573,13 +8573,11 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
...
@@ -8573,13 +8573,11 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
/**
/**
* Used for scan take over
* Used for scan take over
*/
*/
{
FragrecordPtr
tFragPtr
;
FragrecordPtr
tFragPtr
;
tFragPtr
.
i
=
fragptr
.
p
->
tableFragptr
;
tFragPtr
.
i
=
fragptr
.
p
->
tableFragptr
;
ptrCheckGuard
(
tFragPtr
,
cfragrecFileSize
,
fragrecord
);
ptrCheckGuard
(
tFragPtr
,
cfragrecFileSize
,
fragrecord
);
scanptr
.
p
->
fragPtrI
=
fragptr
.
p
->
tableFragptr
;
scanptr
.
p
->
fragPtrI
=
fragptr
.
p
->
tableFragptr
;
}
/**
/**
* !idx uses 1 - (MAX_PARALLEL_SCANS_PER_FRAG - 1) = 1-11
* !idx uses 1 - (MAX_PARALLEL_SCANS_PER_FRAG - 1) = 1-11
* idx uses from MAX_PARALLEL_SCANS_PER_FRAG - MAX = 12-42)
* idx uses from MAX_PARALLEL_SCANS_PER_FRAG - MAX = 12-42)
...
@@ -8587,11 +8585,11 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
...
@@ -8587,11 +8585,11 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
Uint32
start
=
(
idx
?
MAX_PARALLEL_SCANS_PER_FRAG
:
1
);
Uint32
start
=
(
idx
?
MAX_PARALLEL_SCANS_PER_FRAG
:
1
);
Uint32
stop
=
(
idx
?
MAX_PARALLEL_INDEX_SCANS_PER_FRAG
:
MAX_PARALLEL_SCANS_PER_FRAG
-
1
);
Uint32
stop
=
(
idx
?
MAX_PARALLEL_INDEX_SCANS_PER_FRAG
:
MAX_PARALLEL_SCANS_PER_FRAG
-
1
);
stop
+=
start
;
stop
+=
start
;
Uint32
free
=
fragp
tr
.
p
->
m_scanNumberMask
.
find
(
start
);
Uint32
free
=
tFragP
tr
.
p
->
m_scanNumberMask
.
find
(
start
);
if
(
free
==
Fragrecord
::
ScanNumberMask
::
NotFound
||
free
>=
stop
){
if
(
free
==
Fragrecord
::
ScanNumberMask
::
NotFound
||
free
>=
stop
){
jam
();
jam
();
if
(
scanPrio
==
0
){
if
(
scanPrio
==
0
){
jam
();
jam
();
return
ScanFragRef
::
ZTOO_MANY_ACTIVE_SCAN_ERROR
;
return
ScanFragRef
::
ZTOO_MANY_ACTIVE_SCAN_ERROR
;
...
@@ -8607,10 +8605,9 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
...
@@ -8607,10 +8605,9 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq)
return
ZOK
;
return
ZOK
;
}
}
scanptr
.
p
->
scanNumber
=
free
;
scanptr
.
p
->
scanNumber
=
free
;
fragp
tr
.
p
->
m_scanNumberMask
.
clear
(
free
);
// Update mask
tFragP
tr
.
p
->
m_scanNumberMask
.
clear
(
free
);
// Update mask
LocalDLList
<
ScanRecord
>
active
(
c_scanRecordPool
,
fragptr
.
p
->
m_activeScans
);
LocalDLList
<
ScanRecord
>
active
(
c_scanRecordPool
,
fragptr
.
p
->
m_activeScans
);
active
.
add
(
scanptr
);
active
.
add
(
scanptr
);
if
(
scanptr
.
p
->
scanKeyinfoFlag
){
if
(
scanptr
.
p
->
scanKeyinfoFlag
){
...
@@ -8693,8 +8690,12 @@ void Dblqh::finishScanrec(Signal* signal)
...
@@ -8693,8 +8690,12 @@ void Dblqh::finishScanrec(Signal* signal)
LocalDLList
<
ScanRecord
>
scans
(
c_scanRecordPool
,
fragptr
.
p
->
m_activeScans
);
LocalDLList
<
ScanRecord
>
scans
(
c_scanRecordPool
,
fragptr
.
p
->
m_activeScans
);
scans
.
release
(
scanptr
);
scans
.
release
(
scanptr
);
FragrecordPtr
tFragPtr
;
tFragPtr
.
i
=
scanptr
.
p
->
fragPtrI
;
ptrCheckGuard
(
tFragPtr
,
cfragrecFileSize
,
fragrecord
);
const
Uint32
scanNumber
=
scanptr
.
p
->
scanNumber
;
const
Uint32
scanNumber
=
scanptr
.
p
->
scanNumber
;
ndbrequire
(
!
fragp
tr
.
p
->
m_scanNumberMask
.
get
(
scanNumber
));
ndbrequire
(
!
tFragP
tr
.
p
->
m_scanNumberMask
.
get
(
scanNumber
));
ScanRecordPtr
restart
;
ScanRecordPtr
restart
;
/**
/**
...
@@ -8702,13 +8703,13 @@ void Dblqh::finishScanrec(Signal* signal)
...
@@ -8702,13 +8703,13 @@ void Dblqh::finishScanrec(Signal* signal)
*/
*/
if
(
scanNumber
==
NR_ScanNo
||
!
queue
.
first
(
restart
)){
if
(
scanNumber
==
NR_ScanNo
||
!
queue
.
first
(
restart
)){
jam
();
jam
();
fragp
tr
.
p
->
m_scanNumberMask
.
set
(
scanNumber
);
tFragP
tr
.
p
->
m_scanNumberMask
.
set
(
scanNumber
);
return
;
return
;
}
}
if
(
ERROR_INSERTED
(
5034
)){
if
(
ERROR_INSERTED
(
5034
)){
jam
();
jam
();
fragp
tr
.
p
->
m_scanNumberMask
.
set
(
scanNumber
);
tFragP
tr
.
p
->
m_scanNumberMask
.
set
(
scanNumber
);
return
;
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