47
47
* plugins can understand.
51
#include <drizzled/current_session.h>
52
#include <drizzled/my_hash.h>
53
#include <drizzled/error.h>
54
#include <drizzled/gettext.h>
55
#include <drizzled/probes.h>
56
#include <drizzled/sql_parse.h>
57
#include <drizzled/session.h>
58
#include <drizzled/sql_base.h>
59
#include <drizzled/replication_services.h>
60
#include <drizzled/transaction_services.h>
61
#include <drizzled/transaction_context.h>
62
#include <drizzled/message/transaction.pb.h>
63
#include <drizzled/message/statement_transform.h>
64
#include <drizzled/resource_context.h>
65
#include <drizzled/lock.h>
66
#include <drizzled/item/int.h>
67
#include <drizzled/item/empty_string.h>
68
#include <drizzled/field/epoch.h>
69
#include <drizzled/plugin/client.h>
70
#include <drizzled/plugin/monitored_in_transaction.h>
71
#include <drizzled/plugin/transactional_storage_engine.h>
72
#include <drizzled/plugin/xa_resource_manager.h>
73
#include <drizzled/plugin/xa_storage_engine.h>
74
#include <drizzled/internal/my_sys.h>
51
#include "drizzled/my_hash.h"
52
#include "drizzled/error.h"
53
#include "drizzled/gettext.h"
54
#include "drizzled/probes.h"
55
#include "drizzled/sql_parse.h"
56
#include "drizzled/session.h"
57
#include "drizzled/sql_base.h"
58
#include "drizzled/replication_services.h"
59
#include "drizzled/transaction_services.h"
60
#include "drizzled/transaction_context.h"
61
#include "drizzled/message/transaction.pb.h"
62
#include "drizzled/message/statement_transform.h"
63
#include "drizzled/resource_context.h"
64
#include "drizzled/lock.h"
65
#include "drizzled/item/int.h"
66
#include "drizzled/item/empty_string.h"
67
#include "drizzled/field/epoch.h"
68
#include "drizzled/plugin/client.h"
69
#include "drizzled/plugin/monitored_in_transaction.h"
70
#include "drizzled/plugin/transactional_storage_engine.h"
71
#include "drizzled/plugin/xa_resource_manager.h"
72
#include "drizzled/plugin/xa_storage_engine.h"
73
#include "drizzled/internal/my_sys.h"
77
76
#include <algorithm>
1976
1959
void TransactionServices::dropSchema(Session::reference session,
1977
identifier::Schema::const_reference identifier,
1978
message::schema::const_reference schema)
1960
identifier::Schema::const_reference identifier)
1980
1962
ReplicationServices &replication_services= ReplicationServices::singleton();
1981
1963
if (! replication_services.isActive())
1984
if (schema.has_replication_options() and schema.replication_options().has_dont_replicate() and schema.replication_options().dont_replicate())
1987
1966
message::Transaction *transaction= getActiveTransactionMessage(session);
1988
1967
message::Statement *statement= transaction->add_statement();
2009
1988
void TransactionServices::alterSchema(Session::reference session,
2010
const message::Schema &old_schema,
1989
const message::schema::shared_ptr &old_schema,
2011
1990
const message::Schema &new_schema)
2013
1992
ReplicationServices &replication_services= ReplicationServices::singleton();
2014
1993
if (! replication_services.isActive())
2017
if (old_schema.has_replication_options() and old_schema.replication_options().has_dont_replicate() and old_schema.replication_options().dont_replicate())
2020
1996
message::Transaction *transaction= getActiveTransactionMessage(session);
2021
1997
message::Statement *statement= transaction->add_statement();
2046
2022
void TransactionServices::dropTable(Session::reference session,
2047
identifier::Table::const_reference identifier,
2048
message::table::const_reference table,
2023
const identifier::Table &table,
2049
2024
bool if_exists)
2051
2026
ReplicationServices &replication_services= ReplicationServices::singleton();
2052
2027
if (! replication_services.isActive())
2055
if (table.has_options() and table.options().has_dont_replicate() and table.options().dont_replicate())
2058
2030
message::Transaction *transaction= getActiveTransactionMessage(session);
2059
2031
message::Statement *statement= transaction->add_statement();
2071
2043
message::TableMetadata *table_metadata= drop_table_statement->mutable_table_metadata();
2073
table_metadata->set_schema_name(identifier.getSchemaName());
2074
table_metadata->set_table_name(identifier.getTableName());
2045
table_metadata->set_schema_name(table.getSchemaName());
2046
table_metadata->set_table_name(table.getTableName());
2076
2048
finalizeStatementMessage(*statement, session);