|
MySQL 5.6.14 Source Code Document
|
A simple way to specify filters for scan operations. More...
#include <NdbScanFilter.hpp>
Public Types | |
| enum | Group { AND = 1, OR = 2, NAND = 3, NOR = 4 } |
| enum | BinaryCondition { COND_LE = 0, COND_LT = 1, COND_GE = 2, COND_GT = 3, COND_EQ = 4, COND_NE = 5, COND_LIKE = 6, COND_NOT_LIKE = 7, COND_AND_EQ_MASK = 8, COND_AND_NE_MASK = 9, COND_AND_EQ_ZERO = 10, COND_AND_NE_ZERO = 11 } |
| enum | Error { FilterTooLarge = 4294 } |
Public Member Functions | |
| NdbScanFilter (NdbInterpretedCode *code) | |
| NdbScanFilter (class NdbOperation *op) | |
| int | istrue () |
| int | isfalse () |
| int | cmp (BinaryCondition cond, int ColId, const void *val, Uint32 len=0) |
| int | isnull (int ColId) |
| int | isnotnull (int ColId) |
| struct NdbError & | getNdbError () const |
| const NdbInterpretedCode * | getInterpretedCode () const |
| NdbOperation * | getNdbOperation () const |
Grouping | |
| int | begin (Group group=AND) |
| int | end () |
Integer Comparators | |
| int | eq (int ColId, Uint32 value) |
| int | ne (int ColId, Uint32 value) |
| int | lt (int ColId, Uint32 value) |
| int | le (int ColId, Uint32 value) |
| int | gt (int ColId, Uint32 value) |
| int | ge (int ColId, Uint32 value) |
| int | eq (int ColId, Uint64 value) |
| int | ne (int ColId, Uint64 value) |
| int | lt (int ColId, Uint64 value) |
| int | le (int ColId, Uint64 value) |
| int | gt (int ColId, Uint64 value) |
| int | ge (int ColId, Uint64 value) |
Friends | |
| class | NdbScanFilterImpl |
A simple way to specify filters for scan operations.
Definition at line 35 of file NdbScanFilter.hpp.
Definition at line 84 of file NdbScanFilter.hpp.
| enum NdbScanFilter::Group |
Group operators
| AND |
(x1 AND x2 AND x3) |
| OR |
(x1 OR x2 OR X3) |
| NAND |
NOT (x1 AND x2 AND x3) |
| NOR |
NOT (x1 OR x2 OR x3) |
Definition at line 77 of file NdbScanFilter.hpp.
| NdbScanFilter::NdbScanFilter | ( | NdbInterpretedCode * | code | ) |
Constructor Using this constructor, a ScanFilter is created which will build and finalise a scan filter program using the NdbInterpretedCode object passed. Once defined, the generated NdbInterpretedCode object can be used to specify a scan filter for one or more NdbRecord defined ScanOperations on the supplied table. The NdbInterpretedCode object is passed to the ScanTable() or ScanIndex() call via the ScanOptions structure.
| code | Pointer to the NdbInterpretedCode object to build the ScanFilter in. |
Definition at line 126 of file NdbScanFilter.cpp.
| NdbScanFilter::NdbScanFilter | ( | class NdbOperation * | op | ) |
Constructor This constructor is used to create an ScanFilter object for use with a non-NdbRecord defined ScanOperation.
As part of the filter definition, it is automatically added to the supplied operation. ScanFilters defined this way can only be used with the passed Scan operation.
| op | The NdbOperation that the filter is applied to. Note that this MUST be an NdbScanOperation or NdbIndexScanOperation object created using the NdbTransaction->getNdbScanOperation() or NdbTransaciton->getNdbIndexScanOperation() methods |
Definition at line 134 of file NdbScanFilter.cpp.

Begin of compound. If no group type is passed, defaults to AND. ®return 0 if successful, -1 otherwise
Definition at line 169 of file NdbScanFilter.cpp.
| int NdbScanFilter::cmp | ( | BinaryCondition | cond, |
| int | ColId, | ||
| const void * | val, | ||
| Uint32 | len = 0 |
||
| ) |
Compare column ColId with val
For all BinaryConditions except LIKE and NOT_LIKE, the value pointed to by val should be in normal column format as described in the documentation for NdbOperation::equal(). For BinaryConditions LIKE and NOT_LIKE, the value pointed to by val should NOT include initial length bytes. For LIKE and NOT_LIKE, the % and ? wildcards are supported. For bitmask operations, see the bitmask format information against the branch_col_and_mask_eq_mask instruction in NdbInterpretedCode.hpp
®return 0 if successful, -1 otherwise
Definition at line 690 of file NdbScanFilter.cpp.


| int NdbScanFilter::end | ( | ) |
End of compound. ®return 0 if successful, -1 otherwise
Definition at line 257 of file NdbScanFilter.cpp.
|
inline |
Compare column value with integer for equal ®return 0 if successful, -1 otherwise
Definition at line 155 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for equal. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 181 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for greater than or equal. ®return 0 if successful, -1 otherwise
Definition at line 176 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for greater than or equal. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 201 of file NdbScanFilter.hpp.

| const NdbInterpretedCode * NdbScanFilter::getInterpretedCode | ( | ) | const |
Get filter's associated InterpretedCode object. For ScanFilters associated with a non-NdbRecord scan operation, this method always returns NULL.
Definition at line 738 of file NdbScanFilter.cpp.
|
read |
Get filter level error.
Errors encountered when building a ScanFilter do not propagate to any involved NdbOperation object. This method gives access to error information.
Definition at line 731 of file NdbScanFilter.cpp.
| NdbOperation * NdbScanFilter::getNdbOperation | ( | ) | const |
Get NdbScanFilter's associated NdbScanOperation
Where the NdbScanFilter was constructed with an NdbOperation this method can be used to obtain a pointer to the NdbOperation object. For other NdbScanFilter objects it will return NULL
Definition at line 751 of file NdbScanFilter.cpp.
|
inline |
Compare column value with integer for greater than. ®return 0 if successful, -1 otherwise
Definition at line 172 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for greater than. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 197 of file NdbScanFilter.hpp.

| int NdbScanFilter::isfalse | ( | ) |
Define one term of the current group as FALSE ®return 0 if successful, -1 otherwise
Definition at line 390 of file NdbScanFilter.cpp.
| int NdbScanFilter::isnotnull | ( | int | ColId | ) |
Check if column value is non-NULL ®return 0 if successful, -1 otherwise
Definition at line 488 of file NdbScanFilter.cpp.
| int NdbScanFilter::isnull | ( | int | ColId | ) |
Check if column value is NULL ®return 0 if successful, -1 otherwise
Definition at line 478 of file NdbScanFilter.cpp.
| int NdbScanFilter::istrue | ( | ) |
Define one term of the current group as TRUE ®return 0 if successful, -1 otherwise
Definition at line 368 of file NdbScanFilter.cpp.
|
inline |
Compare column value with integer for less than or equal. ®return 0 if successful, -1 otherwise
Definition at line 168 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for less than or equal. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 193 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for less than. ®return 0 if successful, -1 otherwise
Definition at line 164 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for less than. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 189 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for not equal. ®return 0 if successful, -1 otherwise
Definition at line 160 of file NdbScanFilter.hpp.

|
inline |
Compare column value with integer for not equal. 64-bit. ®return 0 if successful, -1 otherwise
Definition at line 185 of file NdbScanFilter.hpp.
