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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
ad65c192
Commit
ad65c192
authored
Apr 25, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into perch.ndb.mysql.com:/home/jonas/src/50-jonas
parents
5d526272
27ace481
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
20 deletions
+36
-20
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
+3
-2
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+25
-12
ndb/src/ndbapi/Ndbif.cpp
ndb/src/ndbapi/Ndbif.cpp
+2
-2
ndb/src/ndbapi/TransporterFacade.cpp
ndb/src/ndbapi/TransporterFacade.cpp
+4
-3
ndb/src/ndbapi/TransporterFacade.hpp
ndb/src/ndbapi/TransporterFacade.hpp
+2
-1
No files found.
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
View file @
ad65c192
...
...
@@ -1407,7 +1407,7 @@ private:
const
UintR
scanParallel
,
const
UintR
noOprecPerFrag
);
void
initScanfragrec
(
Signal
*
signal
);
void
releaseScanResources
(
ScanRecordPtr
);
void
releaseScanResources
(
ScanRecordPtr
,
bool
not_started
=
false
);
ScanRecordPtr
seizeScanrec
(
Signal
*
signal
);
void
sendScanFragReq
(
Signal
*
,
ScanRecord
*
,
ScanFragRec
*
);
void
sendScanTabConf
(
Signal
*
signal
,
ScanRecordPtr
);
...
...
@@ -1554,7 +1554,8 @@ private:
void
signalErrorRefuseLab
(
Signal
*
signal
);
void
abort080Lab
(
Signal
*
signal
);
void
packKeyData000Lab
(
Signal
*
signal
,
BlockReference
TBRef
,
Uint32
len
);
void
abortScanLab
(
Signal
*
signal
,
ScanRecordPtr
,
Uint32
errCode
);
void
abortScanLab
(
Signal
*
signal
,
ScanRecordPtr
,
Uint32
errCode
,
bool
not_started
=
false
);
void
sendAbortedAfterTimeout
(
Signal
*
signal
,
int
Tcheck
);
void
abort010Lab
(
Signal
*
signal
);
void
abort015Lab
(
Signal
*
signal
);
...
...
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
View file @
ad65c192
...
...
@@ -8839,17 +8839,17 @@ void Dbtc::scanAttrinfoLab(Signal* signal, UintR Tlen)
scanAttrinfo_attrbuf_error:
jam
();
abortScanLab
(
signal
,
scanptr
,
ZGET_ATTRBUF_ERROR
);
abortScanLab
(
signal
,
scanptr
,
ZGET_ATTRBUF_ERROR
,
true
);
return
;
scanAttrinfo_attrbuf2_error:
jam
();
abortScanLab
(
signal
,
scanptr
,
ZGET_ATTRBUF_ERROR
);
abortScanLab
(
signal
,
scanptr
,
ZGET_ATTRBUF_ERROR
,
true
);
return
;
scanAttrinfo_len_error:
jam
();
abortScanLab
(
signal
,
scanptr
,
ZLENGTH_ERROR
);
abortScanLab
(
signal
,
scanptr
,
ZLENGTH_ERROR
,
true
);
return
;
}
//Dbtc::scanAttrinfoLab()
...
...
@@ -8865,7 +8865,8 @@ void Dbtc::diFcountReqLab(Signal* signal, ScanRecordPtr scanptr)
;
}
else
{
abortScanLab
(
signal
,
scanptr
,
tabPtr
.
p
->
getErrorCode
(
scanptr
.
p
->
scanSchemaVersion
));
tabPtr
.
p
->
getErrorCode
(
scanptr
.
p
->
scanSchemaVersion
),
true
);
return
;
}
...
...
@@ -8932,13 +8933,13 @@ void Dbtc::execDI_FCOUNTCONF(Signal* signal)
ndbrequire
(
scanptr
.
p
->
scanState
==
ScanRecord
::
WAIT_FRAGMENT_COUNT
);
if
(
apiConnectptr
.
p
->
apiFailState
==
ZTRUE
)
{
jam
();
releaseScanResources
(
scanptr
);
releaseScanResources
(
scanptr
,
true
);
handleApiFailState
(
signal
,
apiConnectptr
.
i
);
return
;
}
//if
if
(
tfragCount
==
0
)
{
jam
();
abortScanLab
(
signal
,
scanptr
,
ZNO_FRAGMENT_ERROR
);
abortScanLab
(
signal
,
scanptr
,
ZNO_FRAGMENT_ERROR
,
true
);
return
;
}
//if
...
...
@@ -8952,7 +8953,8 @@ void Dbtc::execDI_FCOUNTCONF(Signal* signal)
;
}
else
{
abortScanLab
(
signal
,
scanptr
,
tabPtr
.
p
->
getErrorCode
(
scanptr
.
p
->
scanSchemaVersion
));
tabPtr
.
p
->
getErrorCode
(
scanptr
.
p
->
scanSchemaVersion
),
true
);
return
;
}
...
...
@@ -9016,20 +9018,22 @@ void Dbtc::execDI_FCOUNTREF(Signal* signal)
ndbrequire
(
scanptr
.
p
->
scanState
==
ScanRecord
::
WAIT_FRAGMENT_COUNT
);
if
(
apiConnectptr
.
p
->
apiFailState
==
ZTRUE
)
{
jam
();
releaseScanResources
(
scanptr
);
releaseScanResources
(
scanptr
,
true
);
handleApiFailState
(
signal
,
apiConnectptr
.
i
);
return
;
}
//if
abortScanLab
(
signal
,
scanptr
,
errCode
);
abortScanLab
(
signal
,
scanptr
,
errCode
,
true
);
}
//Dbtc::execDI_FCOUNTREF()
void
Dbtc
::
abortScanLab
(
Signal
*
signal
,
ScanRecordPtr
scanptr
,
Uint32
errCode
)
void
Dbtc
::
abortScanLab
(
Signal
*
signal
,
ScanRecordPtr
scanptr
,
Uint32
errCode
,
bool
not_started
)
{
scanTabRefLab
(
signal
,
errCode
);
releaseScanResources
(
scanptr
);
releaseScanResources
(
scanptr
,
not_started
);
}
//Dbtc::abortScanLab()
void
Dbtc
::
releaseScanResources
(
ScanRecordPtr
scanPtr
)
void
Dbtc
::
releaseScanResources
(
ScanRecordPtr
scanPtr
,
bool
not_started
)
{
if
(
apiConnectptr
.
p
->
cachePtr
!=
RNIL
)
{
cachePtr
.
i
=
apiConnectptr
.
p
->
cachePtr
;
...
...
@@ -9041,6 +9045,15 @@ void Dbtc::releaseScanResources(ScanRecordPtr scanPtr)
ptrCheckGuard
(
tcConnectptr
,
ctcConnectFilesize
,
tcConnectRecord
);
releaseTcCon
();
if
(
not_started
)
{
jam
();
ScanFragList
run
(
c_scan_frag_pool
,
scanPtr
.
p
->
m_running_scan_frags
);
ScanFragList
queue
(
c_scan_frag_pool
,
scanPtr
.
p
->
m_queued_scan_frags
);
run
.
release
();
queue
.
release
();
}
ndbrequire
(
scanPtr
.
p
->
m_running_scan_frags
.
isEmpty
());
ndbrequire
(
scanPtr
.
p
->
m_queued_scan_frags
.
isEmpty
());
ndbrequire
(
scanPtr
.
p
->
m_delivered_scan_frags
.
isEmpty
());
...
...
ndb/src/ndbapi/Ndbif.cpp
View file @
ad65c192
...
...
@@ -1354,6 +1354,6 @@ NdbTransaction::sendTC_COMMIT_ACK(NdbApiSignal * aSignal,
Uint32
*
dataPtr
=
aSignal
->
getDataPtrSend
();
dataPtr
[
0
]
=
transId1
;
dataPtr
[
1
]
=
transId2
;
tp
->
sendSignal
(
aSignal
,
refToNode
(
aTCRef
));
tp
->
sendSignal
UnCond
(
aSignal
,
refToNode
(
aTCRef
));
}
ndb/src/ndbapi/TransporterFacade.cpp
View file @
ad65c192
...
...
@@ -813,7 +813,7 @@ TransporterFacade::sendSignal(NdbApiSignal * aSignal, NodeId aNode){
LinearSectionPtr
ptr
[
3
];
signalLogger
.
sendSignal
(
*
aSignal
,
1
,
aSignal
->
getDataPtr
()
,
tDataPtr
,
aNode
,
ptr
,
0
);
signalLogger
.
flushSignalLog
();
aSignal
->
theSendersBlockRef
=
tmp
;
...
...
@@ -840,6 +840,7 @@ TransporterFacade::sendSignal(NdbApiSignal * aSignal, NodeId aNode){
int
TransporterFacade
::
sendSignalUnCond
(
NdbApiSignal
*
aSignal
,
NodeId
aNode
){
Uint32
*
tDataPtr
=
aSignal
->
getDataPtrSend
();
#ifdef API_TRACE
if
(
setSignalLog
()
&&
TRACE_GSN
(
aSignal
->
theVerId_signalNumber
)){
Uint32
tmp
=
aSignal
->
theSendersBlockRef
;
...
...
@@ -847,7 +848,7 @@ TransporterFacade::sendSignalUnCond(NdbApiSignal * aSignal, NodeId aNode){
LinearSectionPtr
ptr
[
3
];
signalLogger
.
sendSignal
(
*
aSignal
,
0
,
aSignal
->
getDataPtr
()
,
tDataPtr
,
aNode
,
ptr
,
0
);
signalLogger
.
flushSignalLog
();
aSignal
->
theSendersBlockRef
=
tmp
;
...
...
@@ -858,7 +859,7 @@ TransporterFacade::sendSignalUnCond(NdbApiSignal * aSignal, NodeId aNode){
(
aSignal
->
theReceiversBlockNumber
!=
0
));
SendStatus
ss
=
theTransporterRegistry
->
prepareSend
(
aSignal
,
0
,
aSignal
->
getDataPtr
(),
tDataPtr
,
aNode
,
0
);
...
...
ndb/src/ndbapi/TransporterFacade.hpp
View file @
ad65c192
...
...
@@ -130,7 +130,8 @@ private:
friend
class
GrepSS
;
friend
class
Ndb
;
friend
class
Ndb_cluster_connection_impl
;
friend
class
NdbTransaction
;
int
sendSignalUnCond
(
NdbApiSignal
*
,
NodeId
nodeId
);
bool
isConnected
(
NodeId
aNodeId
);
...
...
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