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
4d43c10f
Commit
4d43c10f
authored
Nov 21, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl2077 - ndb close scan - fix introduced bugs wrt premature close of scan
parent
56a59cf3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
19 additions
and
13 deletions
+19
-13
ndb/src/common/debugger/signaldata/ScanTab.cpp
ndb/src/common/debugger/signaldata/ScanTab.cpp
+3
-2
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+1
-2
ndb/src/ndbapi/NdbConnectionScan.cpp
ndb/src/ndbapi/NdbConnectionScan.cpp
+8
-2
ndb/src/ndbapi/NdbScanOperation.cpp
ndb/src/ndbapi/NdbScanOperation.cpp
+5
-3
ndb/test/src/NDBT_Test.cpp
ndb/test/src/NDBT_Test.cpp
+1
-3
ndb/tools/select_all.cpp
ndb/tools/select_all.cpp
+1
-1
No files found.
ndb/src/common/debugger/signaldata/ScanTab.cpp
View file @
4d43c10f
...
...
@@ -30,13 +30,14 @@ printSCANTABREQ(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiv
fprintf
(
output
,
" apiConnectPtr: H
\'
%.8x"
,
sig
->
apiConnectPtr
);
fprintf
(
output
,
" requestInfo: H
\'
%.8x:
\n
"
,
requestInfo
);
fprintf
(
output
,
" Parallellism: %u, Batch: %u LockMode: %u, Keyinfo: %u Holdlock: %u, RangeScan: %u
\n
"
,
fprintf
(
output
,
" Parallellism: %u, Batch: %u LockMode: %u, Keyinfo: %u Holdlock: %u, RangeScan: %u
ReadCommitted: %u
\n
"
,
sig
->
getParallelism
(
requestInfo
),
sig
->
getScanBatch
(
requestInfo
),
sig
->
getLockMode
(
requestInfo
),
sig
->
getKeyinfoFlag
(
requestInfo
),
sig
->
getHoldLockFlag
(
requestInfo
),
sig
->
getRangeScanFlag
(
requestInfo
),
sig
->
get
Keyinfo
Flag
(
requestInfo
));
sig
->
get
ReadCommitted
Flag
(
requestInfo
));
Uint32
keyLen
=
(
sig
->
attrLenKeyLen
>>
16
);
Uint32
attrLen
=
(
sig
->
attrLenKeyLen
&
0xFFFF
);
...
...
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
View file @
4d43c10f
...
...
@@ -9329,7 +9329,6 @@ void Dbtc::execSCAN_NEXTREQ(Signal* signal)
/*********************************************************************
* APPLICATION IS CLOSING THE SCAN.
**********************************************************************/
ndbrequire
(
len
==
0
);
close_scan_req
(
signal
,
scanptr
,
true
);
return
;
}
//if
...
...
@@ -9457,7 +9456,7 @@ Dbtc::close_scan_req(Signal* signal, ScanRecordPtr scanPtr, bool req_received){
ndbrequire
(
curr
.
p
->
scanFragState
==
ScanFragRec
::
DELIVERED
);
delivered
.
remove
(
curr
);
if
(
curr
.
p
->
m_ops
>
0
){
if
(
curr
.
p
->
m_ops
>
0
&&
curr
.
p
->
m_scan_frag_conf_status
==
0
){
jam
();
running
.
add
(
curr
);
curr
.
p
->
scanFragState
=
ScanFragRec
::
LQH_ACTIVE
;
...
...
ndb/src/ndbapi/NdbConnectionScan.cpp
View file @
4d43c10f
...
...
@@ -57,12 +57,18 @@ NdbConnection::receiveSCAN_TABREF(NdbApiSignal* aSignal){
if
(
checkState_TransId
(
&
ref
->
transId1
)){
theScanningOp
->
theError
.
code
=
ref
->
errorCode
;
theScanningOp
->
execCLOSE_SCAN_REP
();
if
(
!
ref
->
closeNeeded
){
theScanningOp
->
execCLOSE_SCAN_REP
();
return
0
;
}
assert
(
theScanningOp
->
m_sent_receivers_count
);
/**
* Setup so that close_impl will actually perform a close
* and not "close scan"-optimze it away
*/
theScanningOp
->
m_conf_receivers_count
++
;
theScanningOp
->
m_conf_receivers
[
0
]
=
theScanningOp
->
m_receivers
[
0
];
theScanningOp
->
m_conf_receivers
[
0
]
->
m_tcPtrI
=
~
0
;
return
0
;
}
else
{
#ifdef NDB_NO_DROPPED_SIGNAL
...
...
ndb/src/ndbapi/NdbScanOperation.cpp
View file @
4d43c10f
...
...
@@ -613,21 +613,22 @@ NdbScanOperation::send_next_scan(Uint32 cnt, bool stopScanFlag){
sent
++
;
}
}
memcpy
(
&
m_api_receivers
[
0
],
&
m_api_receivers
[
cnt
],
cnt
*
sizeof
(
char
*
));
memmove
(
m_api_receivers
,
m_api_receivers
+
cnt
,
(
theParallelism
-
cnt
)
*
sizeof
(
char
*
));
int
ret
=
0
;
if
(
sent
)
{
Uint32
nodeId
=
theNdbCon
->
theDBnode
;
TransporterFacade
*
tp
=
TransporterFacade
::
instance
();
if
(
cnt
>
21
&&
!
stopScanFlag
){
if
(
cnt
>
21
){
tSignal
.
setLength
(
4
);
LinearSectionPtr
ptr
[
3
];
ptr
[
0
].
p
=
prep_array
;
ptr
[
0
].
sz
=
sent
;
ret
=
tp
->
sendSignal
(
&
tSignal
,
nodeId
,
ptr
,
1
);
}
else
{
tSignal
.
setLength
(
4
+
(
stopScanFlag
?
0
:
sent
)
);
tSignal
.
setLength
(
4
+
sent
);
ret
=
tp
->
sendSignal
(
&
tSignal
,
nodeId
);
}
}
...
...
@@ -687,6 +688,7 @@ NdbScanOperation::execCLOSE_SCAN_REP(){
m_api_receivers_count
=
0
;
m_conf_receivers_count
=
0
;
m_sent_receivers_count
=
0
;
m_current_api_receiver
=
theParallelism
;
}
void
NdbScanOperation
::
release
()
...
...
ndb/test/src/NDBT_Test.cpp
View file @
4d43c10f
...
...
@@ -839,9 +839,7 @@ void NDBT_TestSuite::execute(Ndb* ndb, const NdbDictionary::Table* pTab,
continue
;
}
pTab2
=
pDict
->
getTable
(
pTab
->
getName
());
}
else
{
pTab2
=
pTab
;
}
}
ctx
=
new
NDBT_Context
();
ctx
->
setTab
(
pTab2
);
...
...
ndb/tools/select_all.cpp
View file @
4d43c10f
...
...
@@ -50,7 +50,7 @@ static struct my_option my_long_options[] =
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"parallelism"
,
'p'
,
"parallelism"
,
(
gptr
*
)
&
_parallelism
,
(
gptr
*
)
&
_parallelism
,
0
,
GET_INT
,
REQUIRED_ARG
,
24
0
,
0
,
0
,
0
,
0
,
0
},
GET_INT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"lock"
,
'l'
,
"Read(0), Read-hold(1), Exclusive(2)"
,
(
gptr
*
)
&
_lock
,
(
gptr
*
)
&
_lock
,
0
,
GET_INT
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
...
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