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.