mariadb/ndb/include/kernel/signaldata/TuxBound.hpp
unknown 4607570413 wl2126 - ndb - add support for batching range scans
1) removed acc keyinfo
2) introduce handling of multiple bounds


ndb/include/kernel/signaldata/AccScan.hpp:
  Removed keyinfo from AccScan
ndb/include/kernel/signaldata/TuxBound.hpp:
  Add data word
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Added new_bound call, which is used when batching range scans
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  removed keyinfo from acc scan
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  removed scan keyinfo
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  removed scan keyinfo
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  1) removed add scan,
     let LQH read keyinfo from tup instead
  2) introduce copy_bounds which handles multiple bounds
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  removed scan keyinfo
ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp:
  removed scan keyinfo
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  removed scan keyinfo
ndb/src/ndbapi/NdbScanOperation.cpp:
  handle multiple bounds
2004-11-23 22:08:47 +01:00

57 lines
1.5 KiB
C++

/* Copyright (C) 2003 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef TUX_BOUND_HPP
#define TUX_BOUND_HPP
#include "SignalData.hpp"
class TuxBoundInfo {
friend class Dblqh;
friend class Dbtux;
public:
// must match API (0-4 and no changes expected)
enum BoundType {
BoundLE = 0, // bit 1 for less/greater
BoundLT = 1, // bit 0 for strict
BoundGE = 2,
BoundGT = 3,
BoundEQ = 4
};
enum ErrorCode {
InvalidAttrInfo = 4110,
InvalidBounds = 4259,
OutOfBuffers = 873
};
STATIC_CONST( SignalLength = 3 );
private:
/*
* Error code set by TUX. Zero means no error.
*/
Uint32 errorCode;
/*
* Pointer (i-value) to scan operation in TUX.
*/
Uint32 tuxScanPtrI;
/*
* Number of words of bound info included after fixed signal data.
*/
Uint32 boundAiLength;
Uint32 data[1];
};
#endif