26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_MRS_DATABASE_JSON_MAPPER_VIEW_DELETE_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_MRS_DATABASE_JSON_MAPPER_VIEW_DELETE_H_
29#ifdef RAPIDJSON_NO_SIZETYPEDEFINE
33#include <rapidjson/document.h>
85 void process(JSONInputObject input)
override;
97 void process(JSONInputObject input)
override;
110 std::shared_ptr<Table> owning_table,
115 std::shared_ptr<Table> owning_table,
120 void delete_rows(std::vector<PrimaryKeyColumnValues> rows);
Definition: object_row_ownership.h:45
std::shared_ptr< Operation > parent() const
Definition: change.h:82
const std::shared_ptr< Table > & table() const
Definition: change.h:80
void run(MySQLSession *session) override
Definition: delete.cc:93
RowDeleteBase(std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership)
Definition: delete.cc:55
void process_to_one(const ForeignKeyReference &, JSONInputObject) override
Definition: delete.cc:88
virtual void do_delete(MySQLSession *session)
Definition: delete.cc:105
virtual mysqlrouter::sqlstring delete_sql() const =0
bool has_undeletable_fks_
Definition: delete.h:75
void process_to_many(const ForeignKeyReference &ref, JSONInputArray input) override
Definition: delete.cc:66
void append_match_condition(mysqlrouter::sqlstring &sql) const override
Definition: delete.cc:152
mysqlrouter::sqlstring delete_sql() const override
Definition: delete.cc:143
RowDeleteMany(std::shared_ptr< Table > table, mysqlrouter::sqlstring filter, const ObjectRowOwnership &row_ownership)
Definition: delete.h:93
mysqlrouter::sqlstring filter_
Definition: delete.h:104
void process(JSONInputObject input) override
Definition: delete.cc:137
void delete_rows(std::vector< PrimaryKeyColumnValues > rows)
Definition: delete.cc:159
mysqlrouter::sqlstring delete_sql() const override
Definition: delete.cc:164
std::vector< PrimaryKeyColumnValues > rows_to_delete_
Definition: delete.h:126
RowDeleteReferencing(std::shared_ptr< Operation > parent, std::shared_ptr< Table > owning_table, const PrimaryKeyColumnValues &pk_values, const ObjectRowOwnership &row_ownership)
Definition: delete.h:114
RowDeleteReferencing(std::shared_ptr< Operation > parent, std::shared_ptr< Table > owning_table, const ObjectRowOwnership &row_ownership)
Definition: delete.h:109
RowDelete(std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk_values, const ObjectRowOwnership &row_ownership)
Definition: delete.h:80
void process(JSONInputObject input) override
Definition: delete.cc:122
mysqlrouter::sqlstring delete_sql() const override
Definition: delete.cc:128
Definition: mysql_session.h:157
Definition: utils_sqlstring.h:67
Define rapidjson::SizeType to be std::uint64_t.
PT & ref(PT *tp)
Definition: tablespace_impl.cc:359
entry::ForeignKeyReference ForeignKeyReference
Definition: select.h:54
std::map< std::string, mysqlrouter::sqlstring > PrimaryKeyColumnValues
Definition: select.h:43
Definition: authorize_manager.h:48