mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1 mysql-test/r/ndb_read_multi_range.result: Auto merged mysql-test/t/ndb_read_multi_range.test: Auto merged sql/ha_ndbcluster.cc: Auto merged storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp: Auto merged storage/ndb/src/ndbapi/NdbScanOperation.cpp: Auto merged storage/ndb/include/ndbapi/NdbScanOperation.hpp: SCCS merged
This commit is contained in:
@ -64,12 +64,14 @@ public:
|
||||
bool order_by,
|
||||
bool order_desc = false,
|
||||
bool read_range_no = false,
|
||||
bool keyinfo = false) {
|
||||
bool keyinfo = false,
|
||||
bool multi_range = false) {
|
||||
Uint32 scan_flags =
|
||||
(SF_OrderBy & -(Int32)order_by) |
|
||||
(SF_Descending & -(Int32)order_desc) |
|
||||
(SF_ReadRangeNo & -(Int32)read_range_no) |
|
||||
(SF_KeyInfo & -(Int32)keyinfo);
|
||||
(SF_KeyInfo & -(Int32)keyinfo) |
|
||||
(SF_MultiRange & -(Int32)multi_range);
|
||||
|
||||
return readTuples(lock_mode, scan_flags, parallel, batch);
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ public:
|
||||
SF_OrderBy = (1 << 24), // index scan in order
|
||||
SF_Descending = (2 << 24), // index scan in descending order
|
||||
SF_ReadRangeNo = (4 << 24), // enable @ref get_range_no
|
||||
SF_MultiRange = (8 << 24), // scan is part of multi-range scan
|
||||
SF_KeyInfo = 1 // request KeyInfo to be sent back
|
||||
};
|
||||
|
||||
@ -72,7 +73,8 @@ public:
|
||||
*/
|
||||
#ifdef ndb_readtuples_impossible_overload
|
||||
int readTuples(LockMode lock_mode = LM_Read,
|
||||
Uint32 batch = 0, Uint32 parallel = 0, bool keyinfo = false);
|
||||
Uint32 batch = 0, Uint32 parallel = 0,
|
||||
bool keyinfo = false, bool multi_range);
|
||||
#endif
|
||||
|
||||
inline int readTuples(int parallell){
|
||||
@ -264,6 +266,7 @@ protected:
|
||||
bool m_descending;
|
||||
Uint32 m_read_range_no;
|
||||
NdbRecAttr *m_curr_row; // Pointer to last returned row
|
||||
bool m_multi_range; // Mark if operation is part of multi-range scan
|
||||
bool m_executed; // Marker if operation should be released at close
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user