0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Hypertable::ScanContext Class Reference

Scan context information. More...

#include <ScanContext.h>

Collaboration diagram for Hypertable::ScanContext:
Collaboration graph
[legend]

Public Types

typedef std::set< const char
*, LtCstr, CstrAlloc
CstrRowSet
 

Public Member Functions

 ScanContext (int64_t rev, const ScanSpec *ss, const RangeSpec *range, SchemaPtr &schema, std::set< uint8_t > *columns=0)
 Constructor. More...
 
 ScanContext (int64_t rev, SchemaPtr &schema)
 Constructor. More...
 
 ScanContext (int64_t rev=TIMESTAMP_MAX)
 Constructor. More...
 
 ScanContext (SchemaPtr &schema)
 Constructor. More...
 
 ~ScanContext ()
 
void deep_copy_specs ()
 

Public Attributes

SchemaPtr schema
 
const ScanSpecspec
 
ScanSpecBuilder scan_spec_builder
 
const RangeSpecrange
 
RangeSpecManaged range_managed
 
DynamicBuffer dbuf
 
SerializedKey start_serkey
 
SerializedKey end_serkey
 
Key start_key
 
Key end_key
 
String start_row
 
String end_row
 
String start_qualifier
 
String end_qualifier
 
bool start_inclusive
 
bool end_inclusive
 
bool single_row
 
bool has_cell_interval
 
bool has_start_cf_qualifier
 
bool restricted_range
 
int64_t revision
 
pair< int64_t, int64_t > time_interval
 
bool family_mask [256]
 
vector< CellPredicatecell_predicates
 
RE2 * row_regexp
 
RE2 * value_regexp
 
CstrRowSet rowset
 
uint32_t timeout_ms
 

Private Member Functions

void initialize (int64_t rev, const ScanSpec *ss, const RangeSpec *range, SchemaPtr &sp, std::set< uint8_t > *columns=0)
 Initializes the scan context. More...
 
 ScanContext (const ScanContext &)
 Disable copy ctor and assignment op. More...
 
ScanContextoperator= (const ScanContext &)
 

Private Attributes

CharArena arena
 

Detailed Description

Scan context information.

Definition at line 52 of file ScanContext.h.

Member Typedef Documentation

typedef std::set<const char *, LtCstr, CstrAlloc> Hypertable::ScanContext::CstrRowSet

Definition at line 75 of file ScanContext.h.

Constructor & Destructor Documentation

Hypertable::ScanContext::ScanContext ( int64_t  rev,
const ScanSpec ss,
const RangeSpec range,
SchemaPtr schema,
std::set< uint8_t > *  columns = 0 
)
inline

Constructor.

Parameters
revscan revision
ssscan specification
rangerange specification
schemasmart pointer to schema object
columnsVector of column identifiers

Definition at line 88 of file ScanContext.h.

Hypertable::ScanContext::ScanContext ( int64_t  rev,
SchemaPtr schema 
)
inline

Constructor.

Parameters
revscan revision
schemasmart pointer to schema object

Definition at line 100 of file ScanContext.h.

Hypertable::ScanContext::ScanContext ( int64_t  rev = TIMESTAMP_MAX)
inline

Constructor.

Calls initialize() with an empty schema pointer.

Parameters
revscan revision

Definition at line 110 of file ScanContext.h.

Hypertable::ScanContext::ScanContext ( SchemaPtr schema)
inline

Constructor.

Parameters
schemasmart pointer to schema object

Definition at line 121 of file ScanContext.h.

Hypertable::ScanContext::~ScanContext ( )
inline

Definition at line 126 of file ScanContext.h.

Hypertable::ScanContext::ScanContext ( const ScanContext )
private

Disable copy ctor and assignment op.

Member Function Documentation

void Hypertable::ScanContext::deep_copy_specs ( )
inline

Definition at line 135 of file ScanContext.h.

void ScanContext::initialize ( int64_t  rev,
const ScanSpec ss,
const RangeSpec range,
SchemaPtr sp,
std::set< uint8_t > *  columns = 0 
)
private

Initializes the scan context.

Sets up the family_mask filter that allows for quick lookups to see if a family is included in the scan. Also sets up cell_predicates entries for the column families that are included in the scan which contains cell garbage collection info for each family (e.g. cutoff timestamp and number of copies to keep). Also sets up end_row to be the last possible key in spec->end_row.

Parameters
revscan revision
ssscan specification
rangerange specifier
spshared pointer to schema object
columnsPointer to column family ID set to be populated

Create Start Key and End Key

Get row, value regexps and row set

Definition at line 47 of file ScanContext.cc.

ScanContext& Hypertable::ScanContext::operator= ( const ScanContext )
private

Member Data Documentation

CharArena Hypertable::ScanContext::arena
private

Definition at line 166 of file ScanContext.h.

vector<CellPredicate> Hypertable::ScanContext::cell_predicates

Definition at line 72 of file ScanContext.h.

DynamicBuffer Hypertable::ScanContext::dbuf

Definition at line 59 of file ScanContext.h.

bool Hypertable::ScanContext::end_inclusive

Definition at line 64 of file ScanContext.h.

Key Hypertable::ScanContext::end_key

Definition at line 61 of file ScanContext.h.

String Hypertable::ScanContext::end_qualifier

Definition at line 63 of file ScanContext.h.

String Hypertable::ScanContext::end_row

Definition at line 62 of file ScanContext.h.

SerializedKey Hypertable::ScanContext::end_serkey

Definition at line 60 of file ScanContext.h.

bool Hypertable::ScanContext::family_mask[256]

Definition at line 71 of file ScanContext.h.

bool Hypertable::ScanContext::has_cell_interval

Definition at line 66 of file ScanContext.h.

bool Hypertable::ScanContext::has_start_cf_qualifier

Definition at line 67 of file ScanContext.h.

const RangeSpec* Hypertable::ScanContext::range

Definition at line 57 of file ScanContext.h.

RangeSpecManaged Hypertable::ScanContext::range_managed

Definition at line 58 of file ScanContext.h.

bool Hypertable::ScanContext::restricted_range

Definition at line 68 of file ScanContext.h.

int64_t Hypertable::ScanContext::revision

Definition at line 69 of file ScanContext.h.

RE2* Hypertable::ScanContext::row_regexp

Definition at line 73 of file ScanContext.h.

CstrRowSet Hypertable::ScanContext::rowset

Definition at line 76 of file ScanContext.h.

ScanSpecBuilder Hypertable::ScanContext::scan_spec_builder

Definition at line 56 of file ScanContext.h.

SchemaPtr Hypertable::ScanContext::schema

Definition at line 54 of file ScanContext.h.

bool Hypertable::ScanContext::single_row

Definition at line 65 of file ScanContext.h.

const ScanSpec* Hypertable::ScanContext::spec

Definition at line 55 of file ScanContext.h.

bool Hypertable::ScanContext::start_inclusive

Definition at line 64 of file ScanContext.h.

Key Hypertable::ScanContext::start_key

Definition at line 61 of file ScanContext.h.

String Hypertable::ScanContext::start_qualifier

Definition at line 63 of file ScanContext.h.

String Hypertable::ScanContext::start_row

Definition at line 62 of file ScanContext.h.

SerializedKey Hypertable::ScanContext::start_serkey

Definition at line 60 of file ScanContext.h.

pair<int64_t, int64_t> Hypertable::ScanContext::time_interval

Definition at line 70 of file ScanContext.h.

uint32_t Hypertable::ScanContext::timeout_ms

Definition at line 77 of file ScanContext.h.

RE2* Hypertable::ScanContext::value_regexp

Definition at line 74 of file ScanContext.h.


The documentation for this class was generated from the following files: