|
| RowDeleteMany (std::shared_ptr< Table > table, mysqlrouter::sqlstring filter, const ObjectRowOwnership &row_ownership) |
|
void | process (JSONInputObject input) override |
|
void | append_match_condition (mysqlrouter::sqlstring &sql) const override |
|
void | run (MySQLSession *session) override |
|
void | process_to_many (const ForeignKeyReference &ref, JSONInputArray input) override |
|
void | process_to_one (const ForeignKeyReference &, JSONInputObject) override |
|
bool | empty () const |
|
void | process_to_one (const ForeignKeyReference &ref, JSONInputObject input) override |
|
std::shared_ptr< RowChangeOperation > | add_update_referenced_from_this (const ForeignKeyReference &fk, const PrimaryKeyColumnValues &pk) |
|
virtual std::shared_ptr< RowChangeOperation > | add_dummy_update_referenced_from_this (const ForeignKeyReference &fk, const PrimaryKeyColumnValues &pk) |
|
std::shared_ptr< RowChangeOperation > | add_update_referencing_this (const ForeignKeyReference &fk, const PrimaryKeyColumnValues &pk, bool error_if_not_found=true) |
|
std::shared_ptr< RowChangeOperation > | add_clear_all_referencing_this (const ForeignKeyReference &fk) |
|
std::shared_ptr< RowChangeOperation > | add_insert_referenced_from_this (const ForeignKeyReference &fk) |
|
std::shared_ptr< RowChangeOperation > | add_insert_referencing_this (const ForeignKeyReference &fk) |
|
std::shared_ptr< RowChangeOperation > | add_upsert_referencing_this (const ForeignKeyReference &fk) |
|
std::shared_ptr< RowDeleteReferencing > | add_delete_referencing_this (const ForeignKeyReference &fk, const PrimaryKeyColumnValues &pk) |
|
std::shared_ptr< RowDeleteReferencing > | add_delete_all_referencing_this (const ForeignKeyReference &fk) |
|
void | on_value (const Column &column, const JSONInputObject::MemberReference &value) override |
|
virtual void | on_value (const Column &column, const mysqlrouter::sqlstring &value) |
|
void | on_no_value (const Column &column, const JSONInputObject::MemberReference &) override |
|
virtual void | on_referenced_row (const ForeignKeyReference &fk, const JSONInputObject &input, std::optional< PrimaryKeyColumnValues > child_pk) |
|
void | on_referencing_row (const ForeignKeyReference &fk, std::shared_ptr< RowChangeOperation > ref_op) |
|
virtual void | set_column_sql_value (const Column &column, const mysqlrouter::sqlstring &value) |
|
void | set_column_value (const Column &column, const mysqlrouter::sqlstring &value) |
|
void | on_parent_pk_resolved (const PrimaryKeyColumnValues &parent_pk) override |
|
void | resolve_fk_to_parent (const ForeignKeyReference &fk, const PrimaryKeyColumnValues &parent_pk) |
|
| Operation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership) |
|
| Operation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership) |
|
virtual const PrimaryKeyColumnValues & | primary_key () const |
|
const std::shared_ptr< Table > & | table () const |
|
std::shared_ptr< Operation > | parent () const |
|
bool | is_root () const |
|
size_t | affected () const |
|
virtual | ~QueryRaw ()=default |
|
virtual void | query (MySQLSession *session, const std::string &q) |
|
virtual void | prepare_and_execute (MySQLSession *session, const std::string &q, std::vector< MYSQL_BIND > pt, const OnResultSetEnd &on_resultset_end) |
|
std::unique_ptr< MySQLSession::ResultRow > | query_one (MySQLSession *session) |
|
std::unique_ptr< MySQLSession::ResultRow > | query_one (MySQLSession *session, const std::string &q) |
|
virtual void | on_row (const ResultRow &r) |
|
virtual void | on_metadata (unsigned number, MYSQL_FIELD *fields) |
|
|
using | MySQLSession = mysqlrouter::MySQLSession |
|
using | Row = MySQLSession::Row |
|
using | ResultRow = MySQLSession::ResultRow |
|
using | OnResultSetEnd = MySQLSession::OnResultSetEnd |
|
std::weak_ptr< Operation > | parent_ |
|
std::shared_ptr< Table > | table_ |
|
const ObjectRowOwnership & | row_ownership_ |
|
mysqlrouter::sqlstring | query_ |
|
std::optional< std::string > | sqlstate_ |
|
MYSQL_FIELD * | metadata_ {nullptr} |
|
unsigned | num_of_metadata_ {0} |
|
| RowDeleteBase (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership) |
|
| RowDeleteBase (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk_values, const ObjectRowOwnership &row_ownership) |
|
virtual void | do_delete (MySQLSession *session) |
|
| RowChangeOperation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const ObjectRowOwnership &row_ownership) |
|
| RowChangeOperation (std::shared_ptr< Operation > parent, std::shared_ptr< Table > table, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership) |
|
virtual void | run_before (std::shared_ptr< Operation > op) |
|
void | cancel_before (std::shared_ptr< Operation > op) |
|
virtual void | run_after (std::shared_ptr< Operation > op) |
|
bool | add_row_owner_check (mysqlrouter::sqlstring *sql, bool qualify_table) const |
|
mysqlrouter::sqlstring | join_to_parent (std::vector< std::shared_ptr< JsonMappingUpdater::Operation > > *parents) const |
|
void | execute (MySQLSession *session) override |
|
bool | has_undeletable_fks_ = false |
|
std::vector< mysqlrouter::sqlstring > | columns_ |
|
std::vector< mysqlrouter::sqlstring > | values_ |
|
std::vector< bool > | not_updatable_ |
|
std::optional< ForeignKeyReference > | pending_fk_to_parent_ |
|
std::list< std::shared_ptr< Operation > > | before_ |
|
std::list< std::shared_ptr< Operation > > | after_ |
|
size_t | affected_ = 0 |
|
PrimaryKeyColumnValues | pk_ |
|