| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # distutils: language = c++ |
| |
| from libc.stdint cimport * |
| from libcpp cimport bool as c_bool |
| from libcpp.string cimport string |
| from libcpp.vector cimport vector |
| from libcpp.map cimport map |
| |
| # This must be included for cerr and other things to work |
| cdef extern from "<iostream>": |
| pass |
| |
| #---------------------------------------------------------------------- |
| # Smart pointers and such |
| |
| cdef extern from "kudu/client/shared_ptr.h" namespace "kudu::client::sp" nogil: |
| |
| cdef cppclass shared_ptr[T]: |
| T* get() |
| void reset() |
| void reset(T* p) |
| |
| cdef extern from "kudu/util/status.h" namespace "kudu" nogil: |
| |
| # We can later add more of the common status factory methods as needed |
| cdef Status Status_OK "Status::OK"() |
| |
| cdef cppclass Status: |
| Status() |
| |
| string ToString() |
| |
| Slice message() |
| |
| c_bool ok() |
| c_bool IsNotFound() |
| c_bool IsCorruption() |
| c_bool IsNotSupported() |
| c_bool IsIOError() |
| c_bool IsInvalidArgument() |
| c_bool IsAlreadyPresent() |
| c_bool IsRuntimeError() |
| c_bool IsNetworkError() |
| c_bool IsIllegalState() |
| c_bool IsNotAuthorized() |
| c_bool IsAborted() |
| |
| cdef extern from "kudu/util/int128.h" namespace "kudu": |
| # see https://gist.github.com/ricrogz/7f9c405450689866139c49476b959044 |
| # This can be defined on the Python side even if it's not defined on the |
| # C++ side. |
| ctypedef int int128_t |
| |
| cdef extern from "kudu/util/monotime.h" namespace "kudu" nogil: |
| |
| # These classes are not yet needed directly but will need to be completed |
| # from the C++ API |
| cdef cppclass MonoDelta: |
| MonoDelta() |
| |
| @staticmethod |
| MonoDelta FromSeconds(double seconds) |
| |
| @staticmethod |
| MonoDelta FromMilliseconds(int64_t ms) |
| |
| @staticmethod |
| MonoDelta FromMicroseconds(int64_t us) |
| |
| @staticmethod |
| MonoDelta FromNanoseconds(int64_t ns) |
| |
| c_bool Initialized() |
| c_bool LessThan(const MonoDelta& other) |
| c_bool MoreThan(const MonoDelta& other) |
| c_bool Equals(const MonoDelta& other) |
| |
| string ToString() |
| |
| double ToSeconds() |
| int64_t ToMilliseconds() |
| int64_t ToMicroseconds() |
| int64_t ToNanoseconds() |
| |
| # TODO, when needed |
| # void ToTimeVal(struct timeval *tv) |
| # void ToTimeSpec(struct timespec *ts) |
| |
| # @staticmethod |
| # void NanosToTimeSpec(int64_t nanos, struct timespec* ts); |
| |
| |
| cdef cppclass MonoTime: |
| pass |
| |
| |
| cdef extern from "kudu/client/schema.h" namespace "kudu::client" nogil: |
| |
| enum DataType" kudu::client::KuduColumnSchema::DataType": |
| KUDU_INT8 " kudu::client::KuduColumnSchema::INT8" |
| KUDU_INT16 " kudu::client::KuduColumnSchema::INT16" |
| KUDU_INT32 " kudu::client::KuduColumnSchema::INT32" |
| KUDU_INT64 " kudu::client::KuduColumnSchema::INT64" |
| KUDU_STRING " kudu::client::KuduColumnSchema::STRING" |
| KUDU_BOOL " kudu::client::KuduColumnSchema::BOOL" |
| KUDU_FLOAT " kudu::client::KuduColumnSchema::FLOAT" |
| KUDU_DOUBLE " kudu::client::KuduColumnSchema::DOUBLE" |
| KUDU_BINARY " kudu::client::KuduColumnSchema::BINARY" |
| KUDU_UNIXTIME_MICROS " kudu::client::KuduColumnSchema::UNIXTIME_MICROS" |
| KUDU_DECIMAL " kudu::client::KuduColumnSchema::DECIMAL" |
| KUDU_VARCHAR " kudu::client::KuduColumnSchema::VARCHAR" |
| KUDU_DATE " kudu::client::KuduColumnSchema::DATE" |
| |
| enum EncodingType" kudu::client::KuduColumnStorageAttributes::EncodingType": |
| EncodingType_AUTO " kudu::client::KuduColumnStorageAttributes::AUTO_ENCODING" |
| EncodingType_PLAIN " kudu::client::KuduColumnStorageAttributes::PLAIN_ENCODING" |
| EncodingType_PREFIX " kudu::client::KuduColumnStorageAttributes::PREFIX_ENCODING" |
| EncodingType_BIT_SHUFFLE " kudu::client::KuduColumnStorageAttributes::BIT_SHUFFLE" |
| EncodingType_RLE " kudu::client::KuduColumnStorageAttributes::RLE" |
| EncodingType_DICT " kudu::client::KuduColumnStorageAttributes::DICT_ENCODING" |
| |
| enum CompressionType" kudu::client::KuduColumnStorageAttributes::CompressionType": |
| CompressionType_DEFAULT " kudu::client::KuduColumnStorageAttributes::DEFAULT_COMPRESSION" |
| CompressionType_NONE " kudu::client::KuduColumnStorageAttributes::NO_COMPRESSION" |
| CompressionType_SNAPPY " kudu::client::KuduColumnStorageAttributes::SNAPPY" |
| CompressionType_LZ4 " kudu::client::KuduColumnStorageAttributes::LZ4" |
| CompressionType_ZLIB " kudu::client::KuduColumnStorageAttributes::ZLIB" |
| |
| cdef struct KuduColumnStorageAttributes: |
| KuduColumnStorageAttributes() |
| |
| EncodingType encoding |
| CompressionType compression |
| string ToString() |
| |
| cdef cppclass KuduColumnTypeAttributes: |
| KuduColumnTypeAttributes() |
| KuduColumnTypeAttributes(const KuduColumnTypeAttributes& other) |
| KuduColumnTypeAttributes(int8_t precision, int8_t scale) |
| KuduColumnTypeAttributes(uint16_t length) |
| |
| int8_t precision() |
| int8_t scale() |
| uint16_t length() |
| |
| c_bool Equals(KuduColumnTypeAttributes& other) |
| void CopyFrom(KuduColumnTypeAttributes& other) |
| |
| cdef cppclass KuduColumnSchema: |
| KuduColumnSchema(const KuduColumnSchema& other) |
| KuduColumnSchema(const string& name, DataType type) |
| KuduColumnSchema(const string& name, DataType type, c_bool is_nullable) |
| KuduColumnSchema(const string& name, DataType type, c_bool is_nullable, |
| const void* default_value) |
| |
| string& name() |
| c_bool is_nullable() |
| DataType type() |
| c_bool is_immutable() |
| KuduColumnTypeAttributes type_attributes() |
| string& comment() |
| |
| c_bool Equals(KuduColumnSchema& other) |
| void CopyFrom(KuduColumnSchema& other) |
| |
| cdef cppclass KuduSchema: |
| KuduSchema() |
| KuduSchema(const KuduSchema& schema) |
| KuduSchema(vector[KuduColumnSchema]& columns, int key_columns) |
| |
| @staticmethod |
| string GetAutoIncrementingColumnName() |
| |
| c_bool Equals(const KuduSchema& other) |
| KuduColumnSchema Column(size_t idx) |
| size_t num_columns() |
| |
| void GetPrimaryKeyColumnIndexes(vector[int]* indexes) |
| |
| KuduPartialRow* NewRow() |
| |
| cdef cppclass KuduColumnSpec: |
| |
| KuduColumnSpec* Default(C_KuduValue* value) |
| KuduColumnSpec* RemoveDefault() |
| |
| KuduColumnSpec* Compression(CompressionType compression) |
| KuduColumnSpec* Encoding(EncodingType encoding) |
| KuduColumnSpec* BlockSize(int32_t block_size) |
| |
| KuduColumnSpec* PrimaryKey() |
| KuduColumnSpec* NonUniquePrimaryKey() |
| KuduColumnSpec* NotNull() |
| KuduColumnSpec* Nullable() |
| KuduColumnSpec* Immutable() |
| KuduColumnSpec* Mutable() |
| KuduColumnSpec* Type(DataType type_) |
| |
| KuduColumnSpec* Precision(int8_t precision); |
| KuduColumnSpec* Scale(int8_t scale); |
| KuduColumnSpec* Length(uint16_t length); |
| |
| KuduColumnSpec* RenameTo(const string& new_name) |
| KuduColumnSpec* Comment(const string& comment) |
| |
| |
| cdef cppclass KuduSchemaBuilder: |
| |
| KuduColumnSpec* AddColumn(string& name) |
| KuduSchemaBuilder* SetPrimaryKey(vector[string]& key_col_names); |
| KuduSchemaBuilder* SetNonUniquePrimaryKey(vector[string]& key_col_names); |
| |
| Status Build(KuduSchema* schema) |
| |
| cdef extern from "kudu/client/scan_batch.h" namespace "kudu::client" nogil: |
| |
| cdef cppclass KuduScanBatch: |
| int NumRows() const; |
| KuduRowPtr Row(int idx) const; |
| const KuduSchema* projection_schema() const; |
| |
| cdef cppclass KuduRowPtr " kudu::client::KuduScanBatch::RowPtr": |
| c_bool IsNull(Slice& col_name) |
| c_bool IsNull(int col_idx) |
| |
| # These getters return a bad Status if the type does not match, |
| # the value is unset, or the value is NULL. Otherwise they return |
| # the current set value in *val. |
| Status GetBool(Slice& col_name, c_bool* val) |
| Status GetBool(int col_idx, c_bool* val) |
| |
| Status GetInt8(Slice& col_name, int8_t* val) |
| Status GetInt8(int col_idx, int8_t* val) |
| |
| Status GetInt16(Slice& col_name, int16_t* val) |
| Status GetInt16(int col_idx, int16_t* val) |
| |
| Status GetInt32(Slice& col_name, int32_t* val) |
| Status GetInt32(int col_idx, int32_t* val) |
| |
| Status GetInt64(Slice& col_name, int64_t* val) |
| Status GetInt64(int col_idx, int64_t* val) |
| |
| Status GetUnixTimeMicros(const Slice& col_name, |
| int64_t* micros_since_utc_epoch) |
| Status GetUnixTimeMicros(int col_idx, |
| int64_t* micros_since_utc_epoch) |
| |
| |
| Status GetFloat(Slice& col_name, float* val) |
| Status GetFloat(int col_idx, float* val) |
| |
| Status GetDouble(Slice& col_name, double* val) |
| Status GetDouble(int col_idx, double* val) |
| |
| Status GetUnscaledDecimal(Slice& col_name, int128_t* val) |
| Status GetUnscaledDecimal(int col_idx, int128_t* val) |
| |
| Status GetString(Slice& col_name, Slice* val) |
| Status GetString(int col_idx, Slice* val) |
| |
| Status GetBinary(const Slice& col_name, Slice* val) |
| Status GetBinary(int col_idx, Slice* val) |
| |
| Status GetVarchar(const Slice& col_name, Slice* val) |
| Status GetVarchar(int col_idx, Slice* val) |
| |
| Status GetDate(Slice& col_name, int32_t* val) |
| Status GetDate(int col_idx, int32_t* val) |
| |
| const void* cell(int col_idx) |
| string ToString() |
| |
| cdef extern from "kudu/util/slice.h" namespace "kudu" nogil: |
| |
| cdef cppclass Slice: |
| Slice() |
| Slice(const uint8_t* data, size_t n) |
| Slice(const char* data, size_t n) |
| |
| Slice(string& s) |
| Slice(const char* s) |
| |
| # Many other constructors have been omitted; we can return and add them |
| # as needed for the code generation. |
| |
| const uint8_t* data() |
| uint8_t* mutable_data() |
| size_t size() |
| c_bool empty() |
| |
| uint8_t operator[](size_t n) |
| |
| void clear() |
| void remove_prefix(size_t n) |
| void truncate(size_t n) |
| |
| Status check_size(size_t expected_size) |
| |
| string ToString() |
| |
| string ToDebugString() |
| string ToDebugString(size_t max_len) |
| |
| int compare(Slice& b) |
| |
| c_bool starts_with(Slice& x) |
| |
| void relocate(uint8_t* d) |
| |
| # Many other API methods omitted |
| |
| |
| cdef extern from "kudu/common/partial_row.h" namespace "kudu" nogil: |
| |
| cdef cppclass KuduPartialRow: |
| # Schema must not be garbage-collected |
| # KuduPartialRow(const Schema* schema) |
| |
| #---------------------------------------------------------------------- |
| # Setters |
| |
| # Slice setters |
| Status SetBool(Slice& col_name, c_bool val) |
| |
| Status SetInt8(Slice& col_name, int8_t val) |
| Status SetInt16(Slice& col_name, int16_t val) |
| Status SetInt32(Slice& col_name, int32_t val) |
| Status SetInt64(Slice& col_name, int64_t val) |
| |
| Status SetUnixTimeMicros(const Slice& col_name, |
| int64_t micros_since_utc_epoch) |
| Status SetUnixTimeMicros(int col_idx, int64_t micros_since_utc_epoch) |
| |
| Status SetDouble(Slice& col_name, double val) |
| Status SetFloat(Slice& col_name, float val) |
| |
| Status SetUnscaledDecimal(const Slice& col_name, int128_t val) |
| |
| # Integer setters |
| Status SetBool(int col_idx, c_bool val) |
| |
| Status SetInt8(int col_idx, int8_t val) |
| Status SetInt16(int col_idx, int16_t val) |
| Status SetInt32(int col_idx, int32_t val) |
| Status SetInt64(int col_idx, int64_t val) |
| |
| Status SetDouble(int col_idx, double val) |
| Status SetFloat(int col_idx, float val) |
| |
| Status SetUnscaledDecimal(int col_idx, int128_t val) |
| |
| # Set, but does not copy string |
| Status SetString(Slice& col_name, Slice& val) |
| Status SetString(int col_idx, Slice& val) |
| |
| Status SetStringCopy(Slice& col_name, Slice& val) |
| Status SetStringCopy(int col_idx, Slice& val) |
| |
| Status SetBinary(Slice& col_name, Slice& val) |
| Status SetBinary(int col_idx, Slice&val) |
| |
| Status SetBinaryCopy(const Slice& col_name, const Slice& val) |
| Status SetBinaryCopy(int col_idx, const Slice& val) |
| |
| Status SetVarchar(Slice& col_name, Slice& val) |
| Status SetVarchar(int col_idx, Slice& val) |
| |
| Status SetDate(Slice& col_name, int32_t val) |
| Status SetDate(int col_idx, int32_t val) |
| |
| Status SetNull(Slice& col_name) |
| Status SetNull(int col_idx) |
| |
| Status Unset(Slice& col_name) |
| Status Unset(int col_idx) |
| |
| #---------------------------------------------------------------------- |
| # Getters |
| |
| c_bool IsColumnSet(Slice& col_name) |
| c_bool IsColumnSet(int col_idx) |
| |
| c_bool IsNull(Slice& col_name) |
| c_bool IsNull(int col_idx) |
| |
| Status GetBool(Slice& col_name, c_bool* val) |
| Status GetBool(int col_idx, c_bool* val) |
| |
| Status GetInt8(Slice& col_name, int8_t* val) |
| Status GetInt8(int col_idx, int8_t* val) |
| |
| Status GetInt16(Slice& col_name, int16_t* val) |
| Status GetInt16(int col_idx, int16_t* val) |
| |
| Status GetInt32(Slice& col_name, int32_t* val) |
| Status GetInt32(int col_idx, int32_t* val) |
| |
| Status GetInt64(Slice& col_name, int64_t* val) |
| Status GetInt64(int col_idx, int64_t* val) |
| |
| Status GetUnixTimeMicros(const Slice& col_name, |
| int64_t* micros_since_utc_epoch) |
| Status GetUnixTimeMicros(int col_idx, int64_t* micros_since_utc_epoch) |
| |
| Status GetDouble(Slice& col_name, double* val) |
| Status GetDouble(int col_idx, double* val) |
| |
| Status GetFloat(Slice& col_name, float* val) |
| Status GetFloat(int col_idx, float* val) |
| |
| Status GetUnscaledDecimal(Slice& col_name, int128_t* val) |
| Status GetUnscaledDecimal(int col_idx, int128_t* val) |
| |
| # Gets the string but does not copy the value. Callers should |
| # copy the resulting Slice if necessary. |
| Status GetString(Slice& col_name, Slice* val) |
| Status GetString(int col_idx, Slice* val) |
| |
| Status GetBinary(const Slice& col_name, Slice* val) |
| Status GetBinary(int col_idx, Slice* val) |
| |
| Status GetVarchar(Slice& col_name, Slice* val) |
| Status GetVarchar(int col_idx, Slice* val) |
| |
| Status EncodeRowKey(string* encoded_key) |
| string ToEncodedRowKeyOrDie() |
| |
| # Return true if all of the key columns have been specified |
| # for this mutation. |
| c_bool IsKeySet() |
| |
| # Return true if all columns have been specified. |
| c_bool AllColumnsSet() |
| string ToString() |
| |
| # const Schema* schema() |
| |
| |
| cdef extern from "kudu/client/write_op.h" namespace "kudu::client" nogil: |
| |
| enum WriteType" kudu::client::KuduWriteOperation::Type": |
| INSERT " kudu::client::KuduWriteOperation::INSERT" |
| UPDATE " kudu::client::KuduWriteOperation::UPDATE" |
| DELETE " kudu::client::KuduWriteOperation::DELETE" |
| UPSERT " kudu::client::KuduWriteOperation::UPSERT" |
| INSERT_IGNORE " kudu::client::KuduWriteOperation::INSERT_IGNORE" |
| UPDATE_IGNORE " kudu::client::KuduWriteOperation::UPDATE_IGNORE" |
| DELETE_IGNORE " kudu::client::KuduWriteOperation::DELETE_IGNORE" |
| |
| cdef cppclass KuduWriteOperation: |
| KuduPartialRow& row() |
| KuduPartialRow* mutable_row() |
| |
| # This is a pure virtual function implemented on each of the cppclass |
| # subclasses |
| string ToString() |
| |
| # Also a pure virtual |
| WriteType type() |
| |
| cdef cppclass KuduInsert(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduInsertIgnore(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduUpsert(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduDelete(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduDeleteIgnore(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduUpdate(KuduWriteOperation): |
| pass |
| |
| cdef cppclass KuduUpdateIgnore(KuduWriteOperation): |
| pass |
| |
| |
| cdef extern from "kudu/client/scan_predicate.h" namespace "kudu::client" nogil: |
| enum ComparisonOp" kudu::client::KuduPredicate::ComparisonOp": |
| KUDU_LESS_EQUAL " kudu::client::KuduPredicate::LESS_EQUAL" |
| KUDU_GREATER_EQUAL " kudu::client::KuduPredicate::GREATER_EQUAL" |
| KUDU_EQUAL " kudu::client::KuduPredicate::EQUAL" |
| KUDU_LESS " kudu::client::KuduPredicate::LESS" |
| KUDU_GREATER " kudu::client::KuduPredicate::GREATER" |
| |
| cdef cppclass KuduPredicate: |
| KuduPredicate* Clone() |
| |
| |
| cdef extern from "kudu/client/value.h" namespace "kudu::client" nogil: |
| |
| cdef cppclass C_KuduValue "kudu::client::KuduValue": |
| @staticmethod |
| C_KuduValue* FromInt(int64_t val); |
| |
| @staticmethod |
| C_KuduValue* FromFloat(float val); |
| |
| @staticmethod |
| C_KuduValue* FromDouble(double val); |
| |
| @staticmethod |
| C_KuduValue* FromBool(c_bool val); |
| |
| @staticmethod |
| C_KuduValue* FromDecimal(int128_t val, int8_t scale); |
| |
| @staticmethod |
| C_KuduValue* CopyString(const Slice& s); |
| |
| |
| cdef extern from "kudu/client/client.h" namespace "kudu::client" nogil: |
| |
| enum ReplicaSelection" kudu::client::KuduClient::ReplicaSelection": |
| ReplicaSelection_Leader " kudu::client::KuduClient::LEADER_ONLY" |
| ReplicaSelection_Closest " kudu::client::KuduClient::CLOSEST_REPLICA" |
| ReplicaSelection_First " kudu::client::KuduClient::FIRST_REPLICA" |
| |
| enum ReadMode" kudu::client::KuduScanner::ReadMode": |
| ReadMode_Latest " kudu::client::KuduScanner::READ_LATEST" |
| ReadMode_Snapshot " kudu::client::KuduScanner::READ_AT_SNAPSHOT" |
| ReadMode_ReadYourWrites " kudu::client::KuduScanner::READ_YOUR_WRITES" |
| |
| enum RangePartitionBound" kudu::client::KuduTableCreator::RangePartitionBound": |
| PartitionType_Exclusive " kudu::client::KuduTableCreator::EXCLUSIVE_BOUND" |
| PartitionType_Inclusive " kudu::client::KuduTableCreator::INCLUSIVE_BOUND" |
| |
| enum EncryptionPolicy" kudu::client::KuduClientBuilder::EncryptionPolicy": |
| EncryptionPolicy_Optional " kudu::client::KuduClientBuilder::EncryptionPolicy::OPTIONAL" |
| EncryptionPolicy_RequiredRemote " kudu::client::KuduClientBuilder::EncryptionPolicy::REQUIRED_REMOTE" |
| EncryptionPolicy_Required " kudu::client::KuduClientBuilder::EncryptionPolicy::REQUIRED" |
| |
| Status DisableOpenSSLInitialization() |
| |
| cdef cppclass KuduClient: |
| |
| Status DeleteTable(const string& table_name) |
| Status OpenTable(const string& table_name, |
| shared_ptr[KuduTable]* table) |
| Status GetTableSchema(const string& table_name, KuduSchema* schema) |
| |
| KuduTableCreator* NewTableCreator() |
| Status IsCreateTableInProgress(const string& table_name, |
| c_bool* create_in_progress) |
| |
| c_bool IsMultiMaster() |
| |
| Status ListTables(vector[string]* tables) |
| Status ListTables(vector[string]* tables, const string& filter) |
| |
| Status ListTabletServers(vector[KuduTabletServer*]* tablet_servers) |
| |
| Status TableExists(const string& table_name, c_bool* exists) |
| |
| KuduTableAlterer* NewTableAlterer(const string& table_name) |
| Status IsAlterTableInProgress(const string& table_name, |
| c_bool* alter_in_progress) |
| uint64_t GetLatestObservedTimestamp() |
| |
| shared_ptr[KuduSession] NewSession() |
| |
| cdef cppclass KuduClientBuilder: |
| KuduClientBuilder() |
| KuduClientBuilder& master_server_addrs(const vector[string]& addrs) |
| KuduClientBuilder& add_master_server_addr(const string& addr) |
| |
| KuduClientBuilder& default_admin_operation_timeout( |
| const MonoDelta& timeout) |
| |
| KuduClientBuilder& default_rpc_timeout(const MonoDelta& timeout) |
| |
| KuduClientBuilder& sasl_protocol_name(const string& sasl_protocol_name) |
| |
| KuduClientBuilder& require_authentication(c_bool require_authentication) |
| |
| KuduClientBuilder& encryption_policy(EncryptionPolicy encryption_policy) |
| |
| KuduClientBuilder& jwt(const string& jwt) |
| |
| Status Build(shared_ptr[KuduClient]* client) |
| |
| cdef cppclass KuduTabletServer: |
| KuduTabletServer() |
| string& uuid() |
| string& hostname() |
| uint16_t port() |
| |
| cdef cppclass KuduRangePartition: |
| KuduRangePartition(KuduPartialRow* lower_bound, |
| KuduPartialRow* upper_bound, |
| RangePartitionBound lower_bound_type, |
| RangePartitionBound upper_bound_type) |
| Status add_hash_partitions(vector[string]& columns, |
| int num_buckets, |
| int seed) |
| |
| cdef cppclass KuduTableCreator: |
| |
| KuduTableCreator& table_name(string& name) |
| KuduTableCreator& schema(KuduSchema* schema) |
| KuduTableCreator& add_hash_partitions(vector[string]& columns, |
| int num_buckets) |
| KuduTableCreator& add_hash_partitions(vector[string]& columns, |
| int num_buckets, |
| int seed) |
| KuduTableCreator& set_range_partition_columns(vector[string]& columns) |
| KuduTableCreator& add_range_partition(KuduPartialRow* lower_bound, |
| KuduPartialRow* upper_bound, |
| RangePartitionBound lower_bound_type, |
| RangePartitionBound upper_bound_type) |
| KuduTableCreator& add_custom_range_partition(KuduRangePartition* p) |
| KuduTableCreator& add_range_partition_split(KuduPartialRow* split_row) |
| KuduTableCreator& split_rows(vector[const KuduPartialRow*]& split_rows) |
| KuduTableCreator& num_replicas(int n_replicas) |
| KuduTableCreator& wait(c_bool wait) |
| KuduTableCreator& set_owner(const string& owner) |
| KuduTableCreator& set_comment(const string& comment) |
| |
| Status Create() |
| |
| cdef cppclass KuduTableAlterer: |
| KuduTableAlterer& RenameTo(const string& new_name) |
| KuduColumnSpec* AddColumn(const string& name) |
| KuduColumnSpec* AlterColumn(const string& name) |
| KuduTableAlterer& DropColumn(const string& name) |
| KuduTableAlterer& AddRangePartition(KuduPartialRow* lower_bound, |
| KuduPartialRow* upper_bound, |
| RangePartitionBound lower_bound_type, |
| RangePartitionBound upper_bound_type) |
| KuduTableAlterer& AddRangePartition(KuduRangePartition* p) |
| KuduTableAlterer& DropRangePartition(KuduPartialRow* lower_bound, |
| KuduPartialRow* upper_bound, |
| RangePartitionBound lower_bound_type, |
| RangePartitionBound upper_bound_type) |
| KuduTableAlterer& SetOwner(const string& new_owner) |
| KuduTableAlterer& SetComment(const string& new_comment) |
| |
| KuduTableAlterer& wait(c_bool wait) |
| |
| Status Alter() |
| |
| # Instances of KuduTable are not directly instantiated by users of the |
| # client. |
| cdef cppclass KuduTable: |
| |
| string& name() |
| string& id() |
| string& owner() |
| string& comment() |
| KuduSchema& schema() |
| int num_replicas() |
| |
| KuduInsert* NewInsert() |
| KuduInsertIgnore* NewInsertIgnore() |
| KuduUpsert* NewUpsert() |
| KuduUpdate* NewUpdate() |
| KuduUpdateIgnore* NewUpdateIgnore() |
| KuduDelete* NewDelete() |
| KuduDeleteIgnore* NewDeleteIgnore() |
| |
| KuduPredicate* NewComparisonPredicate(const Slice& col_name, |
| ComparisonOp op, |
| C_KuduValue* value); |
| KuduPredicate* NewInListPredicate(const Slice& col_name, |
| vector[C_KuduValue*]* values) |
| KuduPredicate* NewIsNotNullPredicate(const Slice& col_name) |
| KuduPredicate* NewIsNullPredicate(const Slice& col_name) |
| |
| KuduClient* client() |
| # const PartitionSchema& partition_schema() |
| |
| enum FlushMode" kudu::client::KuduSession::FlushMode": |
| FlushMode_AutoSync " kudu::client::KuduSession::AUTO_FLUSH_SYNC" |
| FlushMode_AutoBackground " kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND" |
| FlushMode_Manual " kudu::client::KuduSession::MANUAL_FLUSH" |
| |
| cdef cppclass KuduSession: |
| |
| Status SetFlushMode(FlushMode m) |
| |
| Status SetMutationBufferSpace(size_t size) |
| Status SetMutationBufferFlushWatermark(double watermark_pct) |
| Status SetMutationBufferFlushInterval(unsigned int millis) |
| Status SetMutationBufferMaxNum(unsigned int max_num) |
| |
| void SetTimeoutMillis(int millis) |
| |
| void SetPriority(int priority) |
| |
| Status Apply(KuduWriteOperation* write_op) |
| Status Apply(KuduInsert* write_op) |
| Status Apply(KuduInsertIgnore* write_op) |
| Status Apply(KuduUpsert* write_op) |
| Status Apply(KuduUpdate* write_op) |
| Status Apply(KuduUpdateIgnore* write_op) |
| Status Apply(KuduDelete* write_op) |
| Status Apply(KuduDeleteIgnore* write_op) |
| |
| # This is thread-safe |
| Status Flush() |
| |
| # TODO: Will need to decide on a strategy for exposing the session's |
| # async API to Python |
| |
| # Status ApplyAsync(KuduWriteOperation* write_op, |
| # KuduStatusCallback cb) |
| # Status ApplyAsync(KuduInsert* write_op, |
| # KuduStatusCallback cb) |
| # Status ApplyAsync(KuduUpdate* write_op, |
| # KuduStatusCallback cb) |
| # Status ApplyAsync(KuduDelete* write_op, |
| # KuduStatusCallback cb) |
| # void FlushAsync(KuduStatusCallback& cb) |
| |
| |
| Status Close() |
| c_bool HasPendingOperations() |
| int CountBufferedOperations() |
| |
| int CountPendingErrors() |
| void GetPendingErrors(vector[C_KuduError*]* errors, c_bool* overflowed) |
| |
| KuduClient* client() |
| |
| |
| cdef cppclass KuduScanner: |
| KuduScanner(KuduTable* table) |
| |
| Status AddConjunctPredicate(KuduPredicate* pred) |
| |
| Status Open() |
| void Close() |
| |
| c_bool HasMoreRows() |
| Status NextBatch(KuduScanBatch* batch) |
| Status SetBatchSizeBytes(uint32_t batch_size) |
| Status SetSelection(ReplicaSelection selection) |
| Status SetCacheBlocks(c_bool cache_blocks) |
| Status SetReadMode(ReadMode read_mode) |
| Status SetSnapshotMicros(uint64_t snapshot_timestamp_micros) |
| Status SetTimeoutMillis(int millis) |
| Status SetProjectedColumnNames(const vector[string]& col_names) |
| Status SetProjectedColumnIndexes(const vector[int]& col_indexes) |
| Status SetFaultTolerant() |
| Status AddLowerBound(const KuduPartialRow& key) |
| Status AddExclusiveUpperBound(const KuduPartialRow& key) |
| Status SetLimit(int64_t limit) |
| Status KeepAlive() |
| Status GetCurrentServer(KuduTabletServer** server) |
| |
| KuduSchema GetProjectionSchema() |
| const ResourceMetrics& GetResourceMetrics() |
| string ToString() |
| |
| cdef cppclass KuduScanToken: |
| KuduScanToken() |
| |
| const KuduTablet& tablet() |
| |
| Status IntoKuduScanner(KuduScanner** scanner) |
| Status Serialize(string* buf) |
| Status DeserializeIntoScanner(KuduClient* client, |
| const string& serialized_token, |
| KuduScanner** scanner) |
| |
| cdef cppclass KuduScanTokenBuilder: |
| KuduScanTokenBuilder(KuduTable* table) |
| |
| Status SetProjectedColumnNames(const vector[string]& col_names) |
| Status SetProjectedColumnIndexes(const vector[int]& col_indexes) |
| Status SetBatchSizeBytes(uint32_t batch_size) |
| Status SetReadMode(ReadMode read_mode) |
| Status SetFaultTolerant() |
| Status SetSnapshotMicros(uint64_t snapshot_timestamp_micros) |
| Status SetSelection(ReplicaSelection selection) |
| Status SetTimeoutMillis(int millis) |
| Status AddConjunctPredicate(KuduPredicate* pred) |
| Status AddLowerBound(const KuduPartialRow& key) |
| Status AddUpperBound(const KuduPartialRow& key) |
| Status SetCacheBlocks(c_bool cache_blocks) |
| Status Build(vector[KuduScanToken*]* tokens) |
| |
| cdef cppclass KuduTablet: |
| KuduTablet() |
| |
| const string& id() |
| const vector[const KuduReplica*]& replicas() |
| |
| cdef cppclass KuduReplica: |
| KuduReplica() |
| |
| c_bool is_leader() |
| const KuduTabletServer& ts() |
| |
| cdef cppclass C_KuduError " kudu::client::KuduError": |
| |
| Status& status() |
| |
| KuduWriteOperation& failed_op() |
| KuduWriteOperation* release_failed_op() |
| |
| c_bool was_possibly_successful() |
| |
| cdef extern from "kudu/client/resource_metrics.h" namespace "kudu::client" nogil: |
| |
| cdef cppclass ResourceMetrics: |
| ResourceMetrics() |
| |
| map[string, int64_t] Get() |
| int64_t GetMetric(const string& name) |