730
void ReplicationServices::createTable(Session *in_session,
731
const message::Table &table)
736
message::Transaction *transaction= getActiveTransaction(in_session);
737
message::Statement *statement= transaction->add_statement();
739
initStatement(*statement, message::Statement::CREATE_TABLE, in_session);
742
* Construct the specialized CreateTableStatement message and attach
743
* it to the generic Statement message
745
message::CreateTableStatement *create_table_statement= statement->mutable_create_table_statement();
746
message::Table *new_table_message= create_table_statement->mutable_table();
747
*new_table_message= table;
749
finalizeStatement(*statement, in_session);
751
finalizeTransaction(*transaction, in_session);
755
cleanupTransaction(transaction, in_session);
759
void ReplicationServices::createSchema(Session *in_session,
760
const message::Schema &schema)
765
message::Transaction *transaction= getActiveTransaction(in_session);
766
message::Statement *statement= transaction->add_statement();
768
initStatement(*statement, message::Statement::CREATE_SCHEMA, in_session);
771
* Construct the specialized CreateSchemaStatement message and attach
772
* it to the generic Statement message
774
message::CreateSchemaStatement *create_schema_statement= statement->mutable_create_schema_statement();
775
message::Schema *new_schema_message= create_schema_statement->mutable_schema();
776
*new_schema_message= schema;
778
finalizeStatement(*statement, in_session);
780
finalizeTransaction(*transaction, in_session);
784
cleanupTransaction(transaction, in_session);
788
void ReplicationServices::dropSchema(Session *in_session, const string &schema_name)
793
message::Transaction *transaction= getActiveTransaction(in_session);
794
message::Statement *statement= transaction->add_statement();
796
initStatement(*statement, message::Statement::DROP_SCHEMA, in_session);
799
* Construct the specialized DropSchemaStatement message and attach
800
* it to the generic Statement message
802
message::DropSchemaStatement *drop_schema_statement= statement->mutable_drop_schema_statement();
804
drop_schema_statement->set_schema_name(schema_name);
806
finalizeStatement(*statement, in_session);
808
finalizeTransaction(*transaction, in_session);
812
cleanupTransaction(transaction, in_session);
815
void ReplicationServices::dropTable(Session *in_session,
816
const string &schema_name,
817
const string &table_name,
823
message::Transaction *transaction= getActiveTransaction(in_session);
824
message::Statement *statement= transaction->add_statement();
826
initStatement(*statement, message::Statement::DROP_TABLE, in_session);
829
* Construct the specialized DropTableStatement message and attach
830
* it to the generic Statement message
832
message::DropTableStatement *drop_table_statement= statement->mutable_drop_table_statement();
834
drop_table_statement->set_if_exists_clause(if_exists);
836
message::TableMetadata *table_metadata= drop_table_statement->mutable_table_metadata();
838
table_metadata->set_schema_name(schema_name);
839
table_metadata->set_table_name(table_name);
841
finalizeStatement(*statement, in_session);
843
finalizeTransaction(*transaction, in_session);
847
cleanupTransaction(transaction, in_session);
730
850
void ReplicationServices::truncateTable(Session *in_session, Table *in_table)