Commit 499ebf4d authored by unknown's avatar unknown
Browse files

NdbIndexScanOperation::reset_bounds()

- Send BOUNDS as KEYINFO
- At restart, only reset KEYINFO

--
Fix resource shortage at KEYINFO in Dbtc and Dblqh w.r.t scan
--


ndb/include/kernel/signaldata/AttrInfo.hpp:
  Let NdbScanOperation access AttrInfo
ndb/include/kernel/signaldata/KeyInfo.hpp:
  Let NdbScanOperation access AttrInfo
ndb/include/kernel/signaldata/ScanFrag.hpp:
  Send KeyLen in ScanFragReq (for range scans)
ndb/include/kernel/signaldata/ScanTab.hpp:
  Send KeyLen in ScanTabReq (for range scans)
ndb/include/ndbapi/NdbConnection.hpp:
  Function for adding op to list
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  new method for saving BOUNDS
ndb/include/ndbapi/NdbOperation.hpp:
  Remove bounds stuff from NdbOperation and put it into NdbScanOperation
ndb/include/ndbapi/NdbScanOperation.hpp:
  reset bounds
ndb/src/common/debugger/signaldata/Makefile.am:
  New signal data printer for ScanFrag
ndb/src/common/debugger/signaldata/ScanTab.cpp:
  Fix printout
ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
  New signal data printer for ScanFrag
ndb/src/kernel/blocks/backup/Backup.cpp:
  Updated ScanFragReq
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Use same sendKeyInfo for both acckeyreq and tux_bounds
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Let range scan use KEYinfo for bounds instead of attrinfo
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Let range scan use KEYinfo for bounds instead of attrinfo
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Handle keyinfo in range scan
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Skip useless 5 words in beginning of TuxBounds
ndb/src/kernel/blocks/suma/Suma.cpp:
  Fix SCAN_FRAGREQ
ndb/src/ndbapi/NdbConnection.cpp:
  reset bounds
ndb/src/ndbapi/NdbOperation.cpp:
  Remove bounds
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Remove bounds stuff
ndb/src/ndbapi/NdbOperationInt.cpp:
  Remove bounds stuff
ndb/src/ndbapi/NdbScanOperation.cpp:
  Send BOUNDS in KEYINFO instead of ATTRINFO
parent a64953ed
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ class AttrInfo {
   */
  friend class Dbtc;
  friend class Dblqh;
  friend class NdbScanOperation;

  friend bool printATTRINFO(FILE *, const Uint32 *, Uint32, Uint16);
  
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ class KeyInfo {
  friend class DbUtil;
  friend class NdbOperation;
  friend class NdbScanOperation;
  friend class NdbIndexScanOperation;

  /**
   * Reciver(s)
+4 −2
Original line number Diff line number Diff line
@@ -35,13 +35,15 @@ class ScanFragReq {
public:
  STATIC_CONST( SignalLength = 12 );
  
  friend bool printSCAN_FRAGREQ(FILE *, const Uint32*, Uint32, Uint16);
  
public:
  Uint32 senderData;
  Uint32 resultRef;       // Where to send the result
  Uint32 savePointId;
  Uint32 requestInfo;
  Uint32 tableId;
  Uint32 fragmentNo;
  Uint32 fragmentNoKeyLen;
  Uint32 schemaVersion;
  Uint32 transId1;
  Uint32 transId2;
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ private:
   * DATA VARIABLES
   */
  UintR apiConnectPtr;        // DATA 0
  UintR attrLen;              // DATA 1
  UintR attrLenKeyLen;        // DATA 1
  UintR requestInfo;          // DATA 2
  UintR tableId;              // DATA 3
  UintR tableSchemaVersion;   // DATA 4
+1 −0
Original line number Diff line number Diff line
@@ -673,6 +673,7 @@ private:
  void printState();
#endif
  bool checkState_TransId(const Uint32 * transId) const;
  void define_scan_op(NdbIndexScanOperation*);
};

inline
Loading