17#ifndef KUDU_CLIENT_WRITE_OP_H 
   18#define KUDU_CLIENT_WRITE_OP_H 
   28#include "kudu/common/partial_row.h" 
   29#include "kudu/util/kudu_export.h" 
   31#ifdef KUDU_HEADERS_NO_STUBS 
   32#include "kudu/gutil/macros.h" 
   33#include "kudu/gutil/port.h" 
   35#include "kudu/client/stubs.h" 
  112  virtual Type type() 
const = 0;
 
  117  sp::shared_ptr<KuduTable> 
const table_;
 
  125  friend class internal::Batcher;
 
  126  friend class internal::WriteRpc;
 
  127  friend class internal::ErrorCollector;
 
  133  int64_t SizeInBuffer() 
const;
 
  135  mutable int64_t size_in_buffer_;
 
 
  147  virtual ~KuduInsert();
 
  150  std::string 
ToString() const OVERRIDE { 
return "INSERT " + row_.ToString(); }
 
  156  Type type() const OVERRIDE {
 
  164  explicit KuduInsert(
const sp::shared_ptr<KuduTable>& table);
 
 
  174  virtual ~KuduInsertIgnore();
 
  177  std::string 
ToString() const OVERRIDE { 
return "INSERT IGNORE " + row_.ToString(); }
 
  183  Type type() const OVERRIDE {
 
  184    return INSERT_IGNORE;
 
  191  explicit KuduInsertIgnore(
const sp::shared_ptr<KuduTable>& table);
 
 
  200  virtual ~KuduUpsert();
 
  203  std::string 
ToString() const OVERRIDE { 
return "UPSERT " + row_.ToString(); }
 
  209  Type type() const OVERRIDE {
 
  217  explicit KuduUpsert(
const sp::shared_ptr<KuduTable>& table);
 
 
  227  ~KuduUpsertIgnore() OVERRIDE;
 
  230  std::string 
ToString() const OVERRIDE { 
return "UPSERT IGNORE " + row_.ToString(); }
 
  236  Type type() const OVERRIDE {
 
  237    return UPSERT_IGNORE;
 
  244  explicit KuduUpsertIgnore(
const sp::shared_ptr<KuduTable>& table);
 
 
  254  virtual ~KuduUpdate();
 
  257  std::string 
ToString() const OVERRIDE { 
return "UPDATE " + row_.ToString(); }
 
  263  Type type() const OVERRIDE {
 
  271  explicit KuduUpdate(
const sp::shared_ptr<KuduTable>& table);
 
 
  281  virtual ~KuduUpdateIgnore();
 
  284  std::string 
ToString() const OVERRIDE { 
return "UPDATE IGNORE " + row_.ToString(); }
 
  290  Type type() const OVERRIDE {
 
  291    return UPDATE_IGNORE;
 
  298  explicit KuduUpdateIgnore(
const sp::shared_ptr<KuduTable>& table);
 
 
  307  virtual ~KuduDelete();
 
  310  std::string 
ToString() const OVERRIDE { 
return "DELETE " + row_.ToString(); }
 
  316  Type type() const OVERRIDE {
 
  324  explicit KuduDelete(
const sp::shared_ptr<KuduTable>& table);
 
 
  333  virtual ~KuduDeleteIgnore();
 
  336  std::string 
ToString() const OVERRIDE { 
return "DELETE IGNORE " + row_.ToString(); }
 
  342  Type type() const OVERRIDE {
 
  343    return DELETE_IGNORE;
 
  350  explicit KuduDeleteIgnore(
const sp::shared_ptr<KuduTable>& table);
 
 
A single row delete to be sent to the cluster.
Definition write_op.h:305
A single row insert to be sent to the cluster.
Definition write_op.h:145
A row which may only contain values for a subset of the columns.
Definition partial_row.h:72
A representation of a table on a particular cluster.
Definition client.h:1638
A single row update to be sent to the cluster.
Definition write_op.h:252
std::string ToString() const OVERRIDE
Definition write_op.h:336
std::string ToString() const OVERRIDE
Definition write_op.h:310
std::string ToString() const OVERRIDE
Definition write_op.h:177
std::string ToString() const OVERRIDE
Definition write_op.h:150
Representation of a Kudu client session.
Definition client.h:2317
A representation of a table on a particular cluster.
Definition client.h:1638
std::string ToString() const OVERRIDE
Definition write_op.h:284
std::string ToString() const OVERRIDE
Definition write_op.h:257
std::string ToString() const OVERRIDE
Definition write_op.h:230
std::string ToString() const OVERRIDE
Definition write_op.h:203
A single-row write operation to be sent to a Kudu table.
Definition write_op.h:66
virtual std::string ToString() const =0
Type
Write operation types.
Definition write_op.h:69
const KuduPartialRow & row() const
Definition write_op.h:84
const KuduTable * table() const
Definition write_op.h:100
KuduPartialRow * mutable_row()
Definition write_op.h:89
Smart pointer typedefs for externally-faced code.