26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_QUERY_REST_TABLE_UPDATER_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_QUERY_REST_TABLE_UPDATER_H_
29#ifdef RAPIDJSON_NO_SIZETYPEDEFINE
33#include <rapidjson/document.h>
59 std::shared_ptr<Object> view,
62 void check(
const rapidjson::Document &doc,
bool for_update =
false)
const;
65 const rapidjson::Document &doc);
69 const rapidjson::Document &doc,
95 void check_etag(
const std::string &original_doc,
96 const rapidjson::Document &new_doc)
const;
Definition: filter_object_generator.h:44
Definition: object_row_ownership.h:45
Definition: query_rest_table_updater.h:54
const ObjectRowOwnership & row_ownership_info() const
Definition: query_rest_table_updater.h:77
uint64_t delete_(MySQLSession *session, const PrimaryKeyColumnValues &pk_values)
Definition: query_rest_table_updater.cc:237
size_t affected() const
Definition: query_rest_table_updater.h:81
ObjectRowOwnership m_row_ownership_info
Definition: query_rest_table_updater.h:87
size_t m_affected
Definition: query_rest_table_updater.h:88
PrimaryKeyColumnValues insert(MySQLSession *session, const rapidjson::Document &doc)
Definition: query_rest_table_updater.cc:150
JsonMappingUpdater(std::shared_ptr< Object > view, const ObjectRowOwnership &row_ownership_info={})
Definition: query_rest_table_updater.cc:79
std::shared_ptr< Object > view_
Definition: query_rest_table_updater.h:83
std::string select_one(MySQLSession *session, const PrimaryKeyColumnValues &pk_values, bool &is_owned, RowLockType lock_rows) const
Definition: query_rest_table_updater.cc:315
void check_etag(const std::string &original_doc, const rapidjson::Document &new_doc) const
Definition: query_rest_table_updater.cc:295
PrimaryKeyColumnValues update(MySQLSession *session, const PrimaryKeyColumnValues &pk_values, const rapidjson::Document &doc, bool upsert=false)
Definition: query_rest_table_updater.cc:169
entry::Object Object
Definition: query_rest_table_updater.h:56
void check(const rapidjson::Document &doc, bool for_update=false) const
Definition: query_rest_table_updater.cc:286
Definition: mysql_session.h:157
Define rapidjson::SizeType to be std::uint64_t.
constexpr value_type for_update
Definition: classic_protocol_constants.h:214
MysqlCacheManager::Object Object
Definition: mysql_cache_manager.cc:101
RowLockType
Definition: select.h:47
std::map< std::string, mysqlrouter::sqlstring > PrimaryKeyColumnValues
Definition: select.h:43
Definition: authorize_manager.h:48
Definition: set_operation.h:33