00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef KUDU_CLIENT_SCAN_PREDICATE_H
00018 #define KUDU_CLIENT_SCAN_PREDICATE_H
00019
00020 #ifdef KUDU_HEADERS_NO_STUBS
00021 #include "kudu/gutil/macros.h"
00022 #include "kudu/gutil/port.h"
00023 #else
00024 #include "kudu/client/stubs.h"
00025 #endif
00026
00027 #include "kudu/client/schema.h"
00028 #include "kudu/util/kudu_export.h"
00029
00030 namespace kudu {
00031 namespace client {
00032
00036 class KUDU_EXPORT KuduPredicate {
00037 public:
00039 enum ComparisonOp {
00040 LESS_EQUAL,
00041 GREATER_EQUAL,
00042 EQUAL,
00043 LESS,
00044 GREATER,
00045 };
00046
00047 ~KuduPredicate();
00048
00050 KuduPredicate* Clone() const;
00051
00056 class KUDU_NO_EXPORT Data;
00057 private:
00058 friend class ComparisonPredicateData;
00059 friend class ErrorPredicateData;
00060 friend class KuduTable;
00061 friend class ScanConfiguration;
00062
00063 explicit KuduPredicate(Data* d);
00064
00065 Data* data_;
00066 DISALLOW_COPY_AND_ASSIGN(KuduPredicate);
00067 };
00068
00069 }
00070 }
00071 #endif // KUDU_CLIENT_SCAN_PREDICATE_H