00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/message/table.h>
00024 #include <drizzled/message/schema.h>
00025 #if 0
00026 #include <drizzled/message/transaction.pb.h>
00027 #include <google/protobuf/text_format.h>
00028 #endif
00029 #include <drizzled/identifier.h>
00030
00031 #include <boost/shared_ptr.hpp>
00032
00033 namespace drizzled {
00034 namespace message {
00035
00036 void update(drizzled::message::Schema &arg);
00037 void update(drizzled::message::Table &arg);
00038
00039 bool is_numeric(const drizzled::message::Table::Field &type);
00040
00041 const std::string &type(const drizzled::message::Table::Field &type);
00042 const std::string &type(drizzled::message::Table::Field::FieldType type);
00043 const std::string &type(drizzled::message::Table::ForeignKeyConstraint::ForeignKeyOption type);
00044 const std::string &type(bool type);
00045 const std::string &type(drizzled::message::Table::Index::IndexType type);
00046 const std::string &type(drizzled::message::Table::ForeignKeyConstraint::ForeignKeyMatchOption type);
00047 const std::string &type(drizzled::message::Table::TableType type);
00048
00049 template<class T> bool is_replicated(const T& reference)
00050 {
00051 if (reference.has_replication_options() and
00052 reference.replication_options().has_is_replicated())
00053 {
00054 return reference.replication_options().is_replicated();
00055 }
00056
00057 return true;
00058 }
00059
00060 template<class T> void set_is_replicated(T& reference, bool arg)
00061 {
00062 message::ReplicationOptions *options= reference.mutable_replication_options();
00063 options->set_is_replicated(arg);
00064 }
00065
00066 #if 0
00067 std::ostream& operator<<(std::ostream& output, const message::Transaction &message);
00068 std::ostream& operator<<(std::ostream& output, const message::Table &message);
00069 #endif
00070
00071
00072 }
00073 }
00074