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
72d89cc2
Commit
72d89cc2
authored
Apr 08, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug#9749 - ndb
test case for case 9749, ndb lock upgrade via NDBAPI
parent
f83a426c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
93 additions
and
0 deletions
+93
-0
ndb/test/ndbapi/testOperations.cpp
ndb/test/ndbapi/testOperations.cpp
+93
-0
No files found.
ndb/test/ndbapi/testOperations.cpp
View file @
72d89cc2
...
...
@@ -530,6 +530,74 @@ runOperations(NDBT_Context* ctx, NDBT_Step* step)
return
NDBT_OK
;
}
int
runLockUpgrade1
(
NDBT_Context
*
ctx
,
NDBT_Step
*
step
){
// Verify that data in index match
// table data
Ndb
*
pNdb
=
GETNDB
(
step
);
HugoOperations
hugoOps
(
*
ctx
->
getTab
());
HugoTransactions
hugoTrans
(
*
ctx
->
getTab
());
if
(
hugoTrans
.
loadTable
(
pNdb
,
1
)
!=
0
){
g_err
<<
"Load table failed"
<<
endl
;
return
NDBT_FAILED
;
}
int
result
=
NDBT_OK
;
do
{
CHECK
(
hugoOps
.
startTransaction
(
pNdb
)
==
0
);
CHECK
(
hugoOps
.
pkReadRecord
(
pNdb
,
0
,
1
,
NdbOperation
::
LM_Read
)
==
0
);
CHECK
(
hugoOps
.
execute_NoCommit
(
pNdb
)
==
0
);
ctx
->
setProperty
(
"READ_DONE"
,
1
);
ctx
->
broadcast
();
ndbout_c
(
"wait 2"
);
ctx
->
getPropertyWait
(
"READ_DONE"
,
2
);
ndbout_c
(
"wait 2 - done"
);
ctx
->
setProperty
(
"READ_DONE"
,
3
);
ctx
->
broadcast
();
ndbout_c
(
"before update"
);
CHECK
(
hugoOps
.
pkUpdateRecord
(
pNdb
,
0
,
1
,
2
)
==
0
);
ndbout_c
(
"wait update"
);
CHECK
(
hugoOps
.
execute_NoCommit
(
pNdb
)
==
0
);
CHECK
(
hugoOps
.
closeTransaction
(
pNdb
));
}
while
(
0
);
return
result
;
}
int
runLockUpgrade2
(
NDBT_Context
*
ctx
,
NDBT_Step
*
step
){
// Verify that data in index match
// table data
Ndb
*
pNdb
=
GETNDB
(
step
);
HugoOperations
hugoOps
(
*
ctx
->
getTab
());
HugoTransactions
hugoTrans
(
*
ctx
->
getTab
());
int
result
=
NDBT_OK
;
do
{
CHECK
(
hugoOps
.
startTransaction
(
pNdb
)
==
0
);
ndbout_c
(
"wait 1"
);
ctx
->
getPropertyWait
(
"READ_DONE"
,
1
);
ndbout_c
(
"wait 1 - done"
);
CHECK
(
hugoOps
.
pkReadRecord
(
pNdb
,
0
,
1
,
NdbOperation
::
LM_Read
)
==
0
);
CHECK
(
hugoOps
.
execute_NoCommit
(
pNdb
)
==
0
);
ctx
->
setProperty
(
"READ_DONE"
,
2
);
ctx
->
broadcast
();
ndbout_c
(
"wait 3"
);
ctx
->
getPropertyWait
(
"READ_DONE"
,
3
);
ndbout_c
(
"wait 3 - done"
);
NdbSleep_MilliSleep
(
200
);
CHECK
(
hugoOps
.
execute_Commit
(
pNdb
)
==
0
);
}
while
(
0
);
return
NDBT_FAILED
;
}
int
main
(
int
argc
,
const
char
**
argv
){
ndb_init
();
...
...
@@ -538,6 +606,31 @@ main(int argc, const char** argv){
generate
(
tmp
,
5
);
NDBT_TestSuite
ts
(
"testOperations"
);
{
BaseString
name
(
"bug_9749"
);
NDBT_TestCaseImpl1
*
pt
=
new
NDBT_TestCaseImpl1
(
&
ts
,
name
.
c_str
(),
""
);
pt
->
addInitializer
(
new
NDBT_Initializer
(
pt
,
"runClearTable"
,
runClearTable
));
pt
->
addStep
(
new
NDBT_ParallelStep
(
pt
,
"thread1"
,
runLockUpgrade1
));
pt
->
addStep
(
new
NDBT_ParallelStep
(
pt
,
"thread2"
,
runLockUpgrade2
));
pt
->
addFinalizer
(
new
NDBT_Finalizer
(
pt
,
"runClearTable"
,
runClearTable
));
ts
.
addTest
(
pt
);
}
for
(
size_t
i
=
0
;
i
<
tmp
.
size
();
i
++
)
{
BaseString
name
;
...
...
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