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
c6e1a482
Commit
c6e1a482
authored
Apr 11, 2005
by
bar@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/bar/mysql-5.0
parents
71f530c4
fd5b9f7e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
13 deletions
+38
-13
ndb/include/ndbapi/NdbScanOperation.hpp
ndb/include/ndbapi/NdbScanOperation.hpp
+1
-1
ndb/src/ndbapi/NdbScanOperation.cpp
ndb/src/ndbapi/NdbScanOperation.cpp
+21
-7
ndb/src/ndbapi/NdbTransaction.cpp
ndb/src/ndbapi/NdbTransaction.cpp
+3
-3
ndb/src/ndbapi/Ndblist.cpp
ndb/src/ndbapi/Ndblist.cpp
+11
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+2
-2
No files found.
ndb/include/ndbapi/NdbScanOperation.hpp
View file @
c6e1a482
...
...
@@ -115,7 +115,7 @@ public:
/**
* Close scan
*/
void
close
(
bool
forceSend
=
false
);
void
close
(
bool
forceSend
=
false
,
bool
releaseOp
=
false
);
/**
* Update current tuple
...
...
ndb/src/ndbapi/NdbScanOperation.cpp
View file @
c6e1a482
...
...
@@ -633,8 +633,14 @@ NdbScanOperation::doSend(int ProcessorId)
return
0
;
}
void
NdbScanOperation
::
close
(
bool
forceSend
)
void
NdbScanOperation
::
close
(
bool
forceSend
,
bool
releaseOp
)
{
DBUG_ENTER
(
"NdbScanOperation::close"
);
DBUG_PRINT
(
"enter"
,
(
"this=%x tcon=%x con=%x force=%d release=%d"
,
(
UintPtr
)
this
,
(
UintPtr
)
m_transConnection
,
(
UintPtr
)
theNdbCon
,
forceSend
,
releaseOp
));
if
(
m_transConnection
){
if
(
DEBUG_NEXT_RESULT
)
ndbout_c
(
"close() theError.code = %d "
...
...
@@ -650,13 +656,21 @@ void NdbScanOperation::close(bool forceSend)
Guard
guard
(
tp
->
theMutexPtr
);
close_impl
(
tp
,
forceSend
);
}
while
(
0
);
theNdbCon
->
theScanningOp
=
0
;
theNdb
->
closeTransaction
(
theNdbCon
);
theNdbCon
=
0
;
}
NdbConnection
*
tCon
=
theNdbCon
;
NdbConnection
*
tTransCon
=
m_transConnection
;
theNdbCon
=
NULL
;
m_transConnection
=
NULL
;
if
(
releaseOp
&&
tTransCon
)
{
NdbIndexScanOperation
*
tOp
=
(
NdbIndexScanOperation
*
)
this
;
tTransCon
->
releaseExecutedScanOperation
(
tOp
);
}
tCon
->
theScanningOp
=
0
;
theNdb
->
closeTransaction
(
tCon
);
DBUG_VOID_RETURN
;
}
void
...
...
ndb/src/ndbapi/NdbTransaction.cpp
View file @
c6e1a482
...
...
@@ -954,9 +954,9 @@ void releaseExecutedScanOperation();
Remark: Release scan op when hupp'ed trans closed (save memory)
******************************************************************************/
void
Ndb
Conne
ction
::
releaseExecutedScanOperation
(
NdbIndexScanOperation
*
cursorOp
)
Ndb
Transa
ction
::
releaseExecutedScanOperation
(
NdbIndexScanOperation
*
cursorOp
)
{
DBUG_ENTER
(
"Ndb
Conne
ction::releaseExecutedScanOperation"
);
DBUG_ENTER
(
"Ndb
Transa
ction::releaseExecutedScanOperation"
);
DBUG_PRINT
(
"enter"
,
(
"this=0x%x op=0x%x"
,
(
UintPtr
)
this
,
(
UintPtr
)
cursorOp
))
// here is one reason to make op lists doubly linked
...
...
@@ -977,7 +977,7 @@ NdbConnection::releaseExecutedScanOperation(NdbIndexScanOperation* cursorOp)
}
}
DBUG_VOID_RETURN
;
}
//Ndb
Conne
ction::releaseExecutedScanOperation()
}
//Ndb
Transa
ction::releaseExecutedScanOperation()
/*****************************************************************************
NdbOperation* getNdbOperation(const char* aTableName);
...
...
ndb/src/ndbapi/Ndblist.cpp
View file @
c6e1a482
...
...
@@ -550,10 +550,21 @@ Remark: Add a NdbScanOperation object into the signal idlelist.
void
Ndb
::
releaseScanOperation
(
NdbIndexScanOperation
*
aScanOperation
)
{
DBUG_ENTER
(
"Ndb::releaseScanOperation"
);
DBUG_PRINT
(
"enter"
,
(
"op=%x"
,
(
UintPtr
)
aScanOperation
));
#ifdef ndb_release_check_dup
{
NdbIndexScanOperation
*
tOp
=
theScanOpIdleList
;
while
(
tOp
!=
NULL
)
{
assert
(
tOp
!=
aScanOperation
);
tOp
=
(
NdbIndexScanOperation
*
)
tOp
->
theNext
;
}
}
#endif
aScanOperation
->
next
(
theScanOpIdleList
);
aScanOperation
->
theNdbCon
=
NULL
;
aScanOperation
->
theMagicNumber
=
0xFE11D2
;
theScanOpIdleList
=
aScanOperation
;
DBUG_VOID_RETURN
;
}
/***************************************************************************
...
...
sql/ha_ndbcluster.cc
View file @
c6e1a482
...
...
@@ -2685,7 +2685,7 @@ int ha_ndbcluster::close_scan()
m_ops_pending
=
0
;
}
cursor
->
close
(
m_force_send
);
cursor
->
close
(
m_force_send
,
true
);
m_active_cursor
=
m_multi_cursor
=
NULL
;
DBUG_RETURN
(
0
);
}
...
...
@@ -5694,7 +5694,7 @@ ha_ndbcluster::read_multi_range_next(KEY_MULTI_RANGE ** multi_range_found_p)
close_scan:
if
(
res
==
1
)
{
m_multi_cursor
->
close
();
m_multi_cursor
->
close
(
false
,
true
);
m_active_cursor
=
m_multi_cursor
=
0
;
DBUG_MULTI_RANGE
(
8
);
continue
;
...
...
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