|
int | NumRows () const |
|
KuduScanBatch::RowPtr | Row (int idx) const |
|
const_iterator | begin () const |
|
const_iterator | end () const |
|
const KuduSchema * | projection_schema () const |
|
| RowPtr () |
|
bool | IsNull (const Slice &col_name) const |
|
bool | IsNull (int col_idx) const |
|
const void * | cell (int col_idx) const |
|
std::string | ToString () const |
|
KuduScanBatch::RowPtr | operator* () const |
|
const_iterator & | operator++ () |
|
const_iterator | operator++ (int) |
|
bool | operator== (const const_iterator &other) const |
|
bool | operator!= (const const_iterator &other) const |
|
|
There are no guarantees on the stability of the format returned by these methods, which might change at any given time.
- Note
- The Slices returned by both direct_data() and indirect_data() are only valid for the lifetime of the KuduScanBatch.
|
Slice | direct_data () const |
|
Slice | indirect_data () const |
|
|
- Parameters
-
[in] | col_name | The name of the target column. |
[out] | val | Placeholder for the result value. |
- Returns
- Operation result status. Return a bad Status if at least one of the following is
true:
- The type does not match.
- The value is unset.
- The value is
NULL .
|
Status | GetBool (const Slice &col_name, bool *val) const WARN_UNUSED_RESULT |
|
Status | GetInt8 (const Slice &col_name, int8_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt16 (const Slice &col_name, int16_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt32 (const Slice &col_name, int32_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt64 (const Slice &col_name, int64_t *val) const WARN_UNUSED_RESULT |
|
Status | GetUnixTimeMicros (const Slice &col_name, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT |
|
Status | GetFloat (const Slice &col_name, float *val) const WARN_UNUSED_RESULT |
|
Status | GetDouble (const Slice &col_name, double *val) const WARN_UNUSED_RESULT |
|
|
These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.
- Parameters
-
[in] | col_index | The index of the column. |
[out] | val | Pointer to the placeholder to put the resulting value. |
- Returns
- Operation result status. Return a bad Status if at least one of the following is
true:
- The type does not match.
- The value is unset.
- The value is
NULL .
|
Status | GetBool (int col_idx, bool *val) const WARN_UNUSED_RESULT |
|
Status | GetInt8 (int col_idx, int8_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt16 (int col_idx, int16_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt32 (int col_idx, int32_t *val) const WARN_UNUSED_RESULT |
|
Status | GetInt64 (int col_idx, int64_t *val) const WARN_UNUSED_RESULT |
|
Status | GetUnixTimeMicros (int col_idx, int64_t *micros_since_utc_epoch) const WARN_UNUSED_RESULT |
|
Status | GetFloat (int col_idx, float *val) const WARN_UNUSED_RESULT |
|
Status | GetDouble (int col_idx, double *val) const WARN_UNUSED_RESULT |
|
|
Get the string/binary value for a column by its name.
- Parameters
-
[in] | col_name | Name of the column. |
[out] | val | Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. |
- Returns
- Operation result status. Return a bad Status if at least one of the following is
true:
- The type does not match.
- The value is unset.
- The value is
NULL .
|
Status | GetString (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT |
|
Status | GetBinary (const Slice &col_name, Slice *val) const WARN_UNUSED_RESULT |
|
|
Get the string/binary value for a column by its index.
These methods are faster than their name-based counterparts since using indices avoids a hashmap lookup, so index-based getters should be preferred in performance-sensitive code.
- Parameters
-
[in] | col_index | The index of the column. |
[out] | val | Pointer to the placeholder to put the resulting value. Note that the method does not copy the value. Callers should copy the resulting Slice if necessary. |
- Returns
- Operation result status. Return a bad Status if at least one of the following is
true:
- The type does not match.
- The value is unset.
- The value is
NULL .
|
Status | GetString (int col_idx, Slice *val) const WARN_UNUSED_RESULT |
|
Status | GetBinary (int col_idx, Slice *val) const WARN_UNUSED_RESULT |
|
A batch of zero or more rows returned by a scan operation.
Every call to KuduScanner::NextBatch() returns a batch of zero or more rows. You can iterate over the rows in the batch using:
range-foreach loop (C++11):
... row.GetInt(1, ...)
...
}
regular for loop (C++03):
for (KuduScanBatch::const_iterator it = batch.begin(), it != batch.end();
++it) {
...
}
or
for (int i = 0, num_rows = batch.NumRows();
i < num_rows;
i++) {
...
}
- Note
- In the above example, NumRows() is only called once at the beginning of the loop to avoid extra calls to the non-inlined method.