Ejemplo n.º 1
0
/*********************************************************************
 *
 *  scan_index_i::scan_index_i(stid, c1, bound1, c2, bound2, cc, prefetch)
 *
 *  Create a scan on index "stid" between "bound1" and "bound2".
 *  c1 could be >, >= or ==. c2 could be <, <= or ==.
 *  cc is the concurrency control method to use on the index.
 *
 *********************************************************************/
scan_index_i::scan_index_i(
    const stid_t&         stid_, 
    cmp_t                 c1, 
    const cvec_t&         bound1_, 
    cmp_t                 c2, 
    const cvec_t&         bound2_, 
    bool                  include_nulls,
    concurrency_t         cc,
    lock_mode_t           mode,
    const bool            bIgnoreLatches
    ) 
: xct_dependent_t(xct()),
  _stid(stid_),
  ntype(ss_m::t_bad_ndx_t),
  _eof(false),
  _error_occurred(),
  _btcursor(0),
  _skip_nulls( ! include_nulls ),
  _cc(cc),
  _bIgnoreLatches(bIgnoreLatches)
{
    INIT_SCAN_PROLOGUE_RC(scan_index_i::scan_index_i, prologue_rc_t::read_only, 1);

    _init(c1, bound1_, c2, bound2_, mode, bIgnoreLatches);
    register_me();
}
Ejemplo n.º 2
0
 dependent(xct_t* xd, old_xct_tracker* owner)
     : xct_dependent_t(xd), _owner(owner)
 {
     register_me();
 }