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
e84cf2c7
Commit
e84cf2c7
authored
Feb 01, 2006
by
konstantin@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/kostja/mysql/mysql-5.1-merge
parents
781cc33d
8d699b1f
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
8 deletions
+54
-8
storage/ndb/src/ndbapi/NdbBlob.cpp
storage/ndb/src/ndbapi/NdbBlob.cpp
+1
-0
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
+10
-1
storage/ndb/test/ndbapi/test_event_merge.cpp
storage/ndb/test/ndbapi/test_event_merge.cpp
+43
-7
No files found.
storage/ndb/src/ndbapi/NdbBlob.cpp
View file @
e84cf2c7
...
@@ -158,6 +158,7 @@ NdbBlob::getBlobEventName(char* bename, Ndb* anNdb, const char* eventName, const
...
@@ -158,6 +158,7 @@ NdbBlob::getBlobEventName(char* bename, Ndb* anNdb, const char* eventName, const
if
(
c
==
NULL
)
if
(
c
==
NULL
)
return
-
1
;
return
-
1
;
getBlobEventName
(
bename
,
e
,
c
);
getBlobEventName
(
bename
,
e
,
c
);
delete
e
;
// it is from new NdbEventImpl
return
0
;
return
0
;
}
}
...
...
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
View file @
e84cf2c7
...
@@ -159,7 +159,8 @@ NdbEventOperationImpl::~NdbEventOperationImpl()
...
@@ -159,7 +159,8 @@ NdbEventOperationImpl::~NdbEventOperationImpl()
;
// ToDo? We should send stop signal here
;
// ToDo? We should send stop signal here
m_ndb
->
theImpl
->
theNdbObjectIdMap
.
unmap
(
m_oid
,
this
);
m_ndb
->
theImpl
->
theNdbObjectIdMap
.
unmap
(
m_oid
,
this
);
DBUG_PRINT
(
"exit"
,(
"this: 0x%x/0x%x oid: %u"
,
this
,
m_facade
,
m_oid
));
DBUG_PRINT
(
"exit"
,(
"this: %p/%p oid: %u main: %p"
,
this
,
m_facade
,
m_oid
,
theMainOp
));
if
(
m_eventImpl
)
if
(
m_eventImpl
)
{
{
...
@@ -2028,6 +2029,14 @@ NdbEventBuffer::dropEventOperation(NdbEventOperation* tOp)
...
@@ -2028,6 +2029,14 @@ NdbEventBuffer::dropEventOperation(NdbEventOperation* tOp)
tBlobOp
->
stop
();
tBlobOp
->
stop
();
tBlobOp
=
tBlobOp
->
m_next
;
tBlobOp
=
tBlobOp
->
m_next
;
}
}
// release blob handles now, further access is user error
while
(
op
->
theBlobList
!=
NULL
)
{
NdbBlob
*
tBlob
=
op
->
theBlobList
;
op
->
theBlobList
=
tBlob
->
theNext
;
m_ndb
->
releaseNdbBlob
(
tBlob
);
}
}
}
// ToDo, take care of these to be deleted at the
// ToDo, take care of these to be deleted at the
...
...
storage/ndb/test/ndbapi/test_event_merge.cpp
View file @
e84cf2c7
...
@@ -366,11 +366,12 @@ struct Data {
...
@@ -366,11 +366,12 @@ struct Data {
noop
=
0
;
noop
=
0
;
ppeq
=
0
;
ppeq
=
0
;
}
}
void
free
()
{
void
free
mem
()
{
delete
[]
tx1
.
val
;
delete
[]
tx1
.
val
;
delete
[]
tx2
.
val
;
delete
[]
tx2
.
val
;
delete
[]
bl1
.
val
;
delete
[]
bl1
.
val
;
init
();
tx1
.
val
=
tx2
.
val
=
bl1
.
val
=
0
;
tx1
.
len
=
tx2
.
len
=
bl1
.
len
=
0
;
}
}
};
};
...
@@ -469,6 +470,12 @@ operator<<(NdbOut& out, const Data& d)
...
@@ -469,6 +470,12 @@ operator<<(NdbOut& out, const Data& d)
return
out
;
return
out
;
}
}
// some random os may define these
#undef NUL
#undef INS
#undef DEL
#undef UPD
static
const
uint
g_optypes
=
3
;
// real ops 0-2
static
const
uint
g_optypes
=
3
;
// real ops 0-2
/*
/*
...
@@ -504,6 +511,10 @@ struct Op { // single or composite
...
@@ -504,6 +511,10 @@ struct Op { // single or composite
match
=
false
;
match
=
false
;
gci
=
0
;
gci
=
0
;
}
}
void
freemem
()
{
data
[
0
].
freemem
();
data
[
1
].
freemem
();
}
};
};
static
NdbOut
&
static
NdbOut
&
...
@@ -583,7 +594,7 @@ getop(Op::Kind a_kind)
...
@@ -583,7 +594,7 @@ getop(Op::Kind a_kind)
assert
(
g_freeops
==
0
);
assert
(
g_freeops
==
0
);
Op
*
op
=
new
Op
;
Op
*
op
=
new
Op
;
assert
(
op
!=
0
);
assert
(
op
!=
0
);
op
->
next_free
=
g_opfree
;
op
->
next_free
=
g_opfree
;
// 0
g_opfree
=
op
;
g_opfree
=
op
;
op
->
free
=
true
;
op
->
free
=
true
;
g_freeops
++
;
g_freeops
++
;
...
@@ -594,6 +605,7 @@ getop(Op::Kind a_kind)
...
@@ -594,6 +605,7 @@ getop(Op::Kind a_kind)
g_freeops
--
;
g_freeops
--
;
g_usedops
++
;
g_usedops
++
;
op
->
init
(
a_kind
);
op
->
init
(
a_kind
);
op
->
free
=
false
;
return
op
;
return
op
;
}
}
...
@@ -601,8 +613,7 @@ static void
...
@@ -601,8 +613,7 @@ static void
freeop
(
Op
*
op
)
freeop
(
Op
*
op
)
{
{
assert
(
!
op
->
free
);
assert
(
!
op
->
free
);
op
->
data
[
0
].
free
();
op
->
freemem
();
op
->
data
[
1
].
free
();
op
->
free
=
true
;
op
->
free
=
true
;
op
->
next_free
=
g_opfree
;
op
->
next_free
=
g_opfree
;
g_opfree
=
op
;
g_opfree
=
op
;
...
@@ -665,6 +676,18 @@ resetmem()
...
@@ -665,6 +676,18 @@ resetmem()
g_num_gci
=
g_num_ev
=
0
;
g_num_gci
=
g_num_ev
=
0
;
}
}
static
void
deleteops
()
// for memleak checks
{
while
(
g_opfree
!=
0
)
{
Op
*
tmp_op
=
g_opfree
;
g_opfree
=
g_opfree
->
next_free
;
delete
tmp_op
;
g_freeops
--
;
}
assert
(
g_freeops
==
0
);
}
struct
Comp
{
struct
Comp
{
Op
::
Type
t1
,
t2
,
t3
;
Op
::
Type
t1
,
t2
,
t3
;
};
};
...
@@ -1312,6 +1335,10 @@ runops()
...
@@ -1312,6 +1335,10 @@ runops()
Op
*
tot_op
=
g_pk_op
[
pk1
];
Op
*
tot_op
=
g_pk_op
[
pk1
];
if
(
tot_op
==
0
)
if
(
tot_op
==
0
)
continue
;
continue
;
if
(
tot_op
->
next_gci
==
0
)
{
assert
(
g_loop
!=
0
&&
tot_op
->
type
==
Op
::
INS
);
continue
;
}
// first commit chain
// first commit chain
assert
(
tot_op
->
next_gci
!=
0
);
assert
(
tot_op
->
next_gci
!=
0
);
gci_op
[
pk1
]
=
tot_op
->
next_gci
;
gci_op
[
pk1
]
=
tot_op
->
next_gci
;
...
@@ -1361,7 +1388,10 @@ mergeops()
...
@@ -1361,7 +1388,10 @@ mergeops()
if
(
tot_op
==
0
)
if
(
tot_op
==
0
)
continue
;
continue
;
Op
*
gci_op
=
tot_op
->
next_gci
;
Op
*
gci_op
=
tot_op
->
next_gci
;
assert
(
gci_op
!=
0
);
if
(
gci_op
==
0
)
{
assert
(
g_loop
!=
0
&&
tot_op
->
type
==
Op
::
INS
);
continue
;
}
while
(
gci_op
!=
0
)
{
while
(
gci_op
!=
0
)
{
Op
*
com_op
=
gci_op
->
next_com
;
Op
*
com_op
=
gci_op
->
next_com
;
assert
(
com_op
!=
0
&&
com_op
->
next_com
==
0
);
assert
(
com_op
!=
0
&&
com_op
->
next_com
==
0
);
...
@@ -1648,6 +1678,7 @@ runevents()
...
@@ -1648,6 +1678,7 @@ runevents()
// copy and add
// copy and add
Op
*
ev
=
getop
(
Op
::
EV
);
Op
*
ev
=
getop
(
Op
::
EV
);
copyop
(
g_rec_ev
,
ev
);
copyop
(
g_rec_ev
,
ev
);
g_rec_ev
->
freemem
();
last_ev
->
next_ev
=
ev
;
last_ev
->
next_ev
=
ev
;
g_num_ev
++
;
g_num_ev
++
;
}
}
...
@@ -1706,6 +1737,8 @@ runtest()
...
@@ -1706,6 +1737,8 @@ runtest()
}
}
chkrc
(
dropevent
()
==
0
);
chkrc
(
dropevent
()
==
0
);
chkrc
(
droptable
()
==
0
);
chkrc
(
droptable
()
==
0
);
resetmem
();
deleteops
();
return
0
;
return
0
;
}
}
...
@@ -1836,10 +1869,13 @@ main(int argc, char** argv)
...
@@ -1836,10 +1869,13 @@ main(int argc, char** argv)
if
(
g_ncc
->
connect
(
30
)
==
0
)
{
if
(
g_ncc
->
connect
(
30
)
==
0
)
{
g_ndb
=
new
Ndb
(
g_ncc
,
"TEST_DB"
);
g_ndb
=
new
Ndb
(
g_ncc
,
"TEST_DB"
);
if
(
g_ndb
->
init
()
==
0
&&
g_ndb
->
waitUntilReady
(
30
)
==
0
)
{
if
(
g_ndb
->
init
()
==
0
&&
g_ndb
->
waitUntilReady
(
30
)
==
0
)
{
if
(
runtest
()
==
0
)
if
(
runtest
()
==
0
)
{
delete
g_ndb
;
delete
g_ncc
;
return
NDBT_ProgramExit
(
NDBT_OK
);
return
NDBT_ProgramExit
(
NDBT_OK
);
}
}
}
}
}
if
(
g_evt_op
!=
0
)
{
if
(
g_evt_op
!=
0
)
{
(
void
)
dropeventop
();
(
void
)
dropeventop
();
g_evt_op
=
0
;
g_evt_op
=
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