Kudu C++ client API
Todo List
Module Getters to expose column schema information.
Expose default column value and attributes?
Class kudu::client::KuduClient
Cluster administration functions are likely to be in this class as well.
Member kudu::client::KuduClient::OpenTable (const std::string &table_name, sp::shared_ptr< KuduTable > *table)

Should we offer an async version of this as well?

Probably should have a configurable timeout in KuduClientBuilder?

Member kudu::client::KuduColumnSchema::KuduColumnSchema (const std::string &name, DataType type, bool is_nullable=false, const void *default_value=NULL, KuduColumnStorageAttributes attributes=KuduColumnStorageAttributes())
KUDU-809: make this hard-to-use constructor private. Clients should use the Builder API. Currently only the Python API uses this old API.
Class kudu::client::KuduColumnSpec
KUDU-861: this API will also be used for an improved AlterTable API.
Member kudu::client::KuduColumnSpec::BlockSize (int32_t block_size)
KUDU-1107: move above info to docs
Member kudu::client::KuduColumnStorageAttributes::KuduColumnStorageAttributes (EncodingType encoding=AUTO_ENCODING, CompressionType compression=DEFAULT_COMPRESSION, int32_t block_size=0)
Make this constructor private.
Member kudu::client::KuduScanner::SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
Kill this method in favor of a consistency-level-based API.
Member kudu::client::KuduScanTokenBuilder::SetSelection (KuduClient::ReplicaSelection selection) WARN_UNUSED_RESULT
Kill this in favor of a consistency-level-based API.
Member kudu::client::KuduSchema::Reset (const std::vector< KuduColumnSchema > &columns, int key_columns) WARN_UNUSED_RESULT
Remove KuduSchema::Reset().
Member kudu::client::KuduSession::Apply (KuduWriteOperation *write_op) WARN_UNUSED_RESULT
Add "doAs" ability here for proxy servers to be able to act on behalf of other users, assuming access rights.
Member kudu::client::KuduSession::AUTO_FLUSH_BACKGROUND

Provide an API for the user to specify a callback to do their own error reporting.

Specify which threads the background activity runs on (probably the messenger IO threads?).

Specify which threads the background activity runs on (probably the messenger IO threads?).

Member kudu::client::KuduSession::HasPendingOperations () const
Maybe "incomplete" or "undelivered" is clearer?
Member kudu::client::KuduTableCreator::table_name (const std::string &name)
Should name of the table be a constructor's parameter instead?