23 #include <drizzled/plugin/client.h>
24 #include <drizzled/execute/context.h>
25 #include <drizzled/execute/parser.h>
26 #include <drizzled/util/string.h>
43 typedef std::queue < drizzled::util::String > Queue;
57 virtual bool flush(
void) {
return false; }
61 virtual bool readCommand(
char **packet, uint32_t& packet_length)
63 while(not to_execute.empty())
65 Queue::value_type next= to_execute.front();
68 *packet= packet_buffer.data();
69 packet_length= next.size();
78 packet_buffer.clear();
80 *packet= packet_buffer.data();
90 virtual void sendOK(
void) {}
91 virtual void sendEOF(
void) {}
92 virtual void sendError(
const drizzled::error_t,
const char*) {}
94 virtual void store(
Field*) {}
95 virtual void store() {}
96 virtual void store(int32_t) {}
97 virtual void store(uint32_t) {}
98 virtual void store(int64_t) {}
99 virtual void store(uint64_t) {}
100 virtual void store(
double, uint32_t, String*) {}
101 virtual void store(
const type::Time*) {}
102 virtual void store(
const char*) {}
103 virtual void store(
const char*,
size_t) {}
105 virtual bool haveError(
void) {
return false; }
106 virtual bool wasAborted(
void) {
return false; }
110 ::drizzled::error_t err_msg;
112 std::vector<std::string> parsed_tokens= context.start();
116 byte.assign(1, COM_QUERY);
117 byte.append(drizzle_literal_parameter(
"START TRANSACTION"));
118 to_execute.push(byte);
121 BOOST_FOREACH(
const string& iter, parsed_tokens)
124 byte.assign(1, COM_QUERY);
125 byte.append(iter.data(), iter.size());
126 to_execute.push(byte);
131 byte.assign(1, COM_QUERY);
132 byte.append(drizzle_literal_parameter(
"COMMIT"));
133 to_execute.push(byte);
virtual bool isConnected(void)
virtual bool authenticate(void)
virtual int getFileDescriptor(void)
virtual void sendFields(List< Item > &)
virtual bool readCommand(char **packet, uint32_t &packet_length)