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
9ca04234
Commit
9ca04234
authored
May 04, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
c78b2d25
86c7c4d1
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
61 additions
and
78 deletions
+61
-78
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+2
-0
mysql-test/r/ndb_restore.result
mysql-test/r/ndb_restore.result
+1
-0
mysql-test/t/ndb_restore.test
mysql-test/t/ndb_restore.test
+6
-0
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
+2
-28
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp
+1
-3
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+39
-42
ndb/src/kernel/error/ErrorReporter.cpp
ndb/src/kernel/error/ErrorReporter.cpp
+3
-2
ndb/src/ndbapi/ndberror.c
ndb/src/ndbapi/ndberror.c
+1
-1
ndb/test/src/NDBT_ResultRow.cpp
ndb/test/src/NDBT_ResultRow.cpp
+6
-2
No files found.
BitKeeper/etc/logging_ok
View file @
9ca04234
...
...
@@ -186,6 +186,7 @@ mysqldev@build.mysql2.com
mysqldev@melody.local
mysqldev@mysql.com
mysqldev@o2k.irixworld.net
ndbdev@dl145b.mysql.com
ndbdev@eel.hemma.oreland.se
ndbdev@ndbmaster.mysql.com
ndbdev@shark.
...
...
@@ -268,6 +269,7 @@ tonu@x153.internalnet
tonu@x3.internalnet
tsmith@build.mysql.com
tulin@build.mysql.com
tulin@dl145b.mysql.com
tulin@mysql.com
ulli@morbus.(none)
venu@hundin.mysql.fi
...
...
mysql-test/r/ndb_restore.result
View file @
9ca04234
...
...
@@ -247,3 +247,4 @@ count(*)
3
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
520093696,1
mysql-test/t/ndb_restore.test
View file @
9ca04234
...
...
@@ -209,3 +209,9 @@ select count(*)
drop
table
if
exists
t1
,
t2
,
t3
,
t4
,
t5
,
t6
,
t7
,
t8
,
t9
;
drop
table
if
exists
t1_c
,
t2_c
,
t3_c
,
t4_c
,
t5_c
,
t6_c
,
t7_c
,
t8_c
,
t9_c
;
--
enable_warnings
#
# Test BUG#10287
#
--
exec
$NDB_TOOLS_DIR
/
ndb_select_all
-
d
sys
-
D
,
SYSTAB_0
|
grep
520093696
ndb/src/kernel/blocks/dbtc/Dbtc.hpp
View file @
9ca04234
...
...
@@ -585,34 +585,8 @@ public:
*/
ArrayPool
<
TcIndexOperation
>
c_theIndexOperationPool
;
/**
* The list of index operations
*/
ArrayList
<
TcIndexOperation
>
c_theIndexOperations
;
UintR
c_maxNumberOfIndexOperations
;
struct
TcSeizedIndexOperation
{
/**
* Next ptr (used in pool/list)
*/
union
{
Uint32
nextPool
;
Uint32
nextList
;
};
/**
* Prev pointer (used in list)
*/
Uint32
prevList
;
};
/**
* Pool of seized index operations
*/
ArrayPool
<
TcSeizedIndexOperation
>
c_theSeizedIndexOperationPool
;
typedef
Ptr
<
TcSeizedIndexOperation
>
TcSeizedIndexOperationPtr
;
/************************** API CONNECT RECORD ***********************
* The API connect record contains the connection record to which the
* application connects.
...
...
@@ -650,7 +624,7 @@ public:
struct
ApiConnectRecord
{
ApiConnectRecord
(
ArrayPool
<
TcFiredTriggerData
>
&
firedTriggerPool
,
ArrayPool
<
Tc
Seized
IndexOperation
>
&
seizedIndexOpPool
)
:
ArrayPool
<
TcIndexOperation
>
&
seizedIndexOpPool
)
:
theFiredTriggers
(
firedTriggerPool
),
isIndexOp
(
false
),
theSeizedIndexOperations
(
seizedIndexOpPool
)
...
...
@@ -763,7 +737,7 @@ public:
UintR
accumulatingIndexOp
;
UintR
executingIndexOp
;
UintR
tcIndxSendArray
[
6
];
ArrayList
<
Tc
Seized
IndexOperation
>
theSeizedIndexOperations
;
ArrayList
<
TcIndexOperation
>
theSeizedIndexOperations
;
};
typedef
Ptr
<
ApiConnectRecord
>
ApiConnectRecordPtr
;
...
...
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp
View file @
9ca04234
...
...
@@ -65,7 +65,6 @@ void Dbtc::initData()
c_theFiredTriggerPool
.
setSize
(
c_maxNumberOfFiredTriggers
);
c_theIndexPool
.
setSize
(
c_maxNumberOfIndexes
);
c_theIndexOperationPool
.
setSize
(
c_maxNumberOfIndexOperations
);
c_theSeizedIndexOperationPool
.
setSize
(
c_maxNumberOfIndexOperations
);
c_theAttributeBufferPool
.
setSize
(
c_transactionBufferSpace
);
c_firedTriggerHash
.
setSize
((
c_maxNumberOfFiredTriggers
+
10
)
/
10
);
}
//Dbtc::initData()
...
...
@@ -85,7 +84,7 @@ void Dbtc::initRecords()
for
(
unsigned
i
=
0
;
i
<
capiConnectFilesize
;
i
++
)
{
p
=
&
apiConnectRecord
[
i
];
new
(
p
)
ApiConnectRecord
(
c_theFiredTriggerPool
,
c_the
Seized
IndexOperationPool
);
c_theIndexOperationPool
);
}
// Init all fired triggers
DLFifoList
<
TcFiredTriggerData
>
triggers
(
c_theFiredTriggerPool
);
...
...
@@ -177,7 +176,6 @@ Dbtc::Dbtc(const class Configuration & conf):
c_maxNumberOfFiredTriggers
(
0
),
c_theIndexes
(
c_theIndexPool
),
c_maxNumberOfIndexes
(
0
),
c_theIndexOperations
(
c_theIndexOperationPool
),
c_maxNumberOfIndexOperations
(
0
),
m_commitAckMarkerHash
(
m_commitAckMarkerPool
)
{
...
...
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
View file @
9ca04234
...
...
@@ -11368,16 +11368,21 @@ void Dbtc::execTCINDXREQ(Signal* signal)
jam
();
// This is a newly started transaction, clean-up
releaseAllSeizedIndexOperations
(
regApiPtr
);
regApiPtr
->
transid
[
0
]
=
tcIndxReq
->
transId1
;
regApiPtr
->
transid
[
1
]
=
tcIndxReq
->
transId2
;
}
//if
if
(
!
seizeIndexOperation
(
regApiPtr
,
indexOpPtr
))
{
ndbout_c
(
"here"
);
if
(
ERROR_INSERTED
(
8036
)
||
!
seizeIndexOperation
(
regApiPtr
,
indexOpPtr
))
{
jam
();
// Failed to allocate index operation
TcKeyRef
*
const
tcIndxRef
=
(
TcKeyRef
*
)
signal
->
getDataPtrSend
();
tcIndxRef
->
connectPtr
=
tcIndxReq
->
senderData
;
tcIndxRef
->
transId
[
0
]
=
regApiPtr
->
transid
[
0
];
tcIndxRef
->
transId
[
1
]
=
regApiPtr
->
transid
[
1
];
tcIndxRef
->
errorCode
=
4000
;
tcIndxRef
->
errorCode
=
288
;
sendSignal
(
regApiPtr
->
ndbapiBlockref
,
GSN_TCINDXREF
,
signal
,
TcKeyRef
::
SignalLength
,
JBB
);
return
;
...
...
@@ -11514,15 +11519,17 @@ void Dbtc::execINDXKEYINFO(Signal* signal)
TcIndexOperationPtr
indexOpPtr
;
TcIndexOperation
*
indexOp
;
indexOpPtr
.
i
=
regApiPtr
->
accumulatingIndexOp
;
indexOp
=
c_theIndexOperations
.
getPtr
(
indexOpPtr
.
i
);
if
(
saveINDXKEYINFO
(
signal
,
indexOp
,
src
,
keyInfoLength
))
{
jam
();
// We have received all we need
readIndexTable
(
signal
,
regApiPtr
,
indexOp
);
if
((
indexOpPtr
.
i
=
regApiPtr
->
accumulatingIndexOp
)
!=
RNIL
)
{
indexOp
=
c_theIndexOperationPool
.
getPtr
(
indexOpPtr
.
i
);
if
(
saveINDXKEYINFO
(
signal
,
indexOp
,
src
,
keyInfoLength
))
{
jam
();
// We have received all we need
readIndexTable
(
signal
,
regApiPtr
,
indexOp
);
}
}
}
...
...
@@ -11545,15 +11552,17 @@ void Dbtc::execINDXATTRINFO(Signal* signal)
TcIndexOperationPtr
indexOpPtr
;
TcIndexOperation
*
indexOp
;
indexOpPtr
.
i
=
regApiPtr
->
accumulatingIndexOp
;
indexOp
=
c_theIndexOperations
.
getPtr
(
indexOpPtr
.
i
);
if
(
saveINDXATTRINFO
(
signal
,
indexOp
,
src
,
attrInfoLength
))
{
jam
();
// We have received all we need
readIndexTable
(
signal
,
regApiPtr
,
indexOp
);
if
((
indexOpPtr
.
i
=
regApiPtr
->
accumulatingIndexOp
)
!=
RNIL
)
{
indexOp
=
c_theIndexOperationPool
.
getPtr
(
indexOpPtr
.
i
);
if
(
saveINDXATTRINFO
(
signal
,
indexOp
,
src
,
attrInfoLength
))
{
jam
();
// We have received all we need
readIndexTable
(
signal
,
regApiPtr
,
indexOp
);
}
}
}
...
...
@@ -11578,7 +11587,7 @@ bool Dbtc::saveINDXKEYINFO(Signal* signal,
releaseIndexOperation
(
apiConnectptr
.
p
,
indexOp
);
terrorCode
=
4000
;
abortErrorLab
(
signal
);
return
tru
e
;
return
fals
e
;
}
if
(
receivedAllINDXKEYINFO
(
indexOp
)
&&
receivedAllINDXATTRINFO
(
indexOp
))
{
jam
();
...
...
@@ -11611,7 +11620,7 @@ bool Dbtc::saveINDXATTRINFO(Signal* signal,
releaseIndexOperation
(
apiConnectptr
.
p
,
indexOp
);
terrorCode
=
4000
;
abortErrorLab
(
signal
);
return
tru
e
;
return
fals
e
;
}
if
(
receivedAllINDXKEYINFO
(
indexOp
)
&&
receivedAllINDXATTRINFO
(
indexOp
))
{
jam
();
...
...
@@ -11671,7 +11680,7 @@ void Dbtc::execTCKEYCONF(Signal* signal)
jamEntry
();
indexOpPtr
.
i
=
tcKeyConf
->
apiConnectPtr
;
TcIndexOperation
*
indexOp
=
c_theIndexOperation
s
.
getPtr
(
indexOpPtr
.
i
);
TcIndexOperation
*
indexOp
=
c_theIndexOperation
Pool
.
getPtr
(
indexOpPtr
.
i
);
Uint32
confInfo
=
tcKeyConf
->
confInfo
;
/**
...
...
@@ -11760,7 +11769,7 @@ void Dbtc::execTCKEYREF(Signal* signal)
jamEntry
();
indexOpPtr
.
i
=
tcKeyRef
->
connectPtr
;
TcIndexOperation
*
indexOp
=
c_theIndexOperation
s
.
getPtr
(
indexOpPtr
.
i
);
TcIndexOperation
*
indexOp
=
c_theIndexOperation
Pool
.
getPtr
(
indexOpPtr
.
i
);
indexOpPtr
.
p
=
indexOp
;
if
(
!
indexOp
)
{
jam
();
...
...
@@ -11861,7 +11870,7 @@ void Dbtc::execTRANSID_AI(Signal* signal)
jamEntry
();
TcIndexOperationPtr
indexOpPtr
;
indexOpPtr
.
i
=
transIdAI
->
connectPtr
;
TcIndexOperation
*
indexOp
=
c_theIndexOperation
s
.
getPtr
(
indexOpPtr
.
i
);
TcIndexOperation
*
indexOp
=
c_theIndexOperation
Pool
.
getPtr
(
indexOpPtr
.
i
);
indexOpPtr
.
p
=
indexOp
;
if
(
!
indexOp
)
{
jam
();
...
...
@@ -11969,7 +11978,7 @@ void Dbtc::execTCROLLBACKREP(Signal* signal)
jamEntry
();
TcIndexOperationPtr
indexOpPtr
;
indexOpPtr
.
i
=
tcRollbackRep
->
connectPtr
;
TcIndexOperation
*
indexOp
=
c_theIndexOperation
s
.
getPtr
(
indexOpPtr
.
i
);
TcIndexOperation
*
indexOp
=
c_theIndexOperation
Pool
.
getPtr
(
indexOpPtr
.
i
);
indexOpPtr
.
p
=
indexOp
;
tcRollbackRep
=
(
TcRollbackRep
*
)
signal
->
getDataPtrSend
();
tcRollbackRep
->
connectPtr
=
indexOp
->
tcIndxReq
.
senderData
;
...
...
@@ -12297,16 +12306,7 @@ void Dbtc::executeIndexOperation(Signal* signal,
bool
Dbtc
::
seizeIndexOperation
(
ApiConnectRecord
*
regApiPtr
,
TcIndexOperationPtr
&
indexOpPtr
)
{
bool
seizeOk
;
seizeOk
=
c_theIndexOperations
.
seize
(
indexOpPtr
);
if
(
seizeOk
)
{
jam
();
TcSeizedIndexOperationPtr
seizedIndexOpPtr
;
seizeOk
&=
regApiPtr
->
theSeizedIndexOperations
.
seizeId
(
seizedIndexOpPtr
,
indexOpPtr
.
i
);
}
return
seizeOk
;
return
regApiPtr
->
theSeizedIndexOperations
.
seize
(
indexOpPtr
);
}
void
Dbtc
::
releaseIndexOperation
(
ApiConnectRecord
*
regApiPtr
,
...
...
@@ -12320,18 +12320,16 @@ void Dbtc::releaseIndexOperation(ApiConnectRecord* regApiPtr,
indexOp
->
expectedTransIdAI
=
0
;
indexOp
->
transIdAI
.
release
();
regApiPtr
->
theSeizedIndexOperations
.
release
(
indexOp
->
indexOpId
);
c_theIndexOperations
.
release
(
indexOp
->
indexOpId
);
}
void
Dbtc
::
releaseAllSeizedIndexOperations
(
ApiConnectRecord
*
regApiPtr
)
{
Tc
Seized
IndexOperationPtr
seizedIndexOpPtr
;
TcIndexOperationPtr
seizedIndexOpPtr
;
regApiPtr
->
theSeizedIndexOperations
.
first
(
seizedIndexOpPtr
);
while
(
seizedIndexOpPtr
.
i
!=
RNIL
)
{
jam
();
TcIndexOperation
*
indexOp
=
c_theIndexOperations
.
getPtr
(
seizedIndexOpPtr
.
i
);
TcIndexOperation
*
indexOp
=
seizedIndexOpPtr
.
p
;
indexOp
->
indexOpState
=
IOS_NOOP
;
indexOp
->
expectedKeyInfo
=
0
;
...
...
@@ -12340,7 +12338,6 @@ void Dbtc::releaseAllSeizedIndexOperations(ApiConnectRecord* regApiPtr)
indexOp
->
attrInfo
.
release
();
indexOp
->
expectedTransIdAI
=
0
;
indexOp
->
transIdAI
.
release
();
c_theIndexOperations
.
release
(
seizedIndexOpPtr
.
i
);
regApiPtr
->
theSeizedIndexOperations
.
next
(
seizedIndexOpPtr
);
}
regApiPtr
->
theSeizedIndexOperations
.
release
();
...
...
ndb/src/kernel/error/ErrorReporter.cpp
View file @
9ca04234
...
...
@@ -130,7 +130,7 @@ ErrorReporter::formatMessage(ErrorCategory type,
"Date/Time: %s
\n
Type of error: %s
\n
"
"Message: %s
\n
Fault ID: %d
\n
Problem data: %s"
"
\n
Object of reference: %s
\n
ProgramName: %s
\n
"
"ProcessID: %d
\n
TraceFile: %s
\n
***EOM***
\n
"
,
"ProcessID: %d
\n
TraceFile: %s
\n
%s
\n
***EOM***
\n
"
,
formatTimeStampString
()
,
errorType
[
type
],
lookupErrorMessage
(
faultID
),
...
...
@@ -139,7 +139,8 @@ ErrorReporter::formatMessage(ErrorCategory type,
objRef
,
my_progname
,
processId
,
theNameOfTheTraceFile
?
theNameOfTheTraceFile
:
"<no tracefile>"
);
theNameOfTheTraceFile
?
theNameOfTheTraceFile
:
"<no tracefile>"
,
NDB_VERSION_STRING
);
// Add trailing blanks to get a fixed lenght of the message
while
(
strlen
(
messptr
)
<=
MESSAGE_LENGTH
-
3
){
...
...
ndb/src/ndbapi/ndberror.c
View file @
9ca04234
...
...
@@ -173,7 +173,7 @@ ErrorBundle ErrorCodes[] = {
{
4021
,
TR
,
"Out of Send Buffer space in NDB API"
},
{
4022
,
TR
,
"Out of Send Buffer space in NDB API"
},
{
4032
,
TR
,
"Out of Send Buffer space in NDB API"
},
{
288
,
TR
,
"Out of index operations in transaction coordinator (increase MaxNoOfConcurrentIndexOperations)"
},
/**
* InsufficientSpace
*/
...
...
ndb/test/src/NDBT_ResultRow.cpp
View file @
9ca04234
...
...
@@ -116,8 +116,12 @@ BaseString NDBT_ResultRow::c_str() const {
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
NDBT_ResultRow
&
res
)
{
for
(
int
i
=
0
;
i
<
res
.
cols
;
i
++
)
ndbout
<<
*
(
res
.
data
[
i
])
<<
"
\t
"
;
if
(
res
.
cols
!=
0
)
{
ndbout
<<
*
(
res
.
data
[
0
]);
for
(
int
i
=
1
;
i
<
res
.
cols
;
i
++
)
ndbout
<<
res
.
ad
<<
*
(
res
.
data
[
i
]);
}
return
ndbout
;
}
...
...
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