56
40
virtual bool flush(void) { return false; }
57
41
virtual void close(void) {}
58
42
virtual bool authenticate(void) { return true; }
60
43
virtual bool readCommand(char **packet, uint32_t *packet_length)
62
while(not to_execute.empty())
64
Queue::value_type next= to_execute.front();
65
packet_buffer.resize(next.size());
66
memcpy(&packet_buffer[0], &next[0], next.size());
68
*packet= &packet_buffer[0];
70
*packet_length= next.size();
79
packet_buffer.resize(1);
81
*packet= &packet_buffer[0];
91
49
virtual void sendOK(void) {}
92
50
virtual void sendEOF(void) {}
93
virtual void sendError(uint32_t, const char*) {}
94
virtual bool sendFields(List<Item>*) { return false; }
95
virtual bool store(Field *) { return false; }
51
virtual void sendError(uint32_t sql_errno, const char *err)
56
virtual bool sendFields(List<Item> *list)
62
virtual bool store(Field *from)
96
67
virtual bool store(void) { return false; }
97
virtual bool store(int32_t) { return false; }
98
virtual bool store(uint32_t) { return false; }
99
virtual bool store(int64_t) { return false; }
100
virtual bool store(uint64_t) { return false; }
101
virtual bool store(double, uint32_t, String*) { return false; }
102
virtual bool store(const DRIZZLE_TIME*) { return false; }
103
virtual bool store(const char*) { return false; }
104
virtual bool store(const char*, size_t) { return false; }
105
virtual bool store(const std::string &) { return false; }
106
virtual bool haveMoreData(void) { return false;}
68
virtual bool store(int32_t from)
73
virtual bool store(uint32_t from)
78
virtual bool store(int64_t from)
83
virtual bool store(uint64_t from)
88
virtual bool store(double from, uint32_t decimals, String *buffer)
95
virtual bool store(const DRIZZLE_TIME *from)
100
virtual bool store(const char *from, size_t length)
106
virtual bool haveMoreData(void) { return false; }
107
107
virtual bool haveError(void) { return false; }
108
108
virtual bool wasAborted(void) { return false; }
110
void pushSQL(const std::string &arg)
113
typedef boost::tokenizer<boost::escaped_list_separator<char> > Tokenizer;
114
Tokenizer tok(arg, boost::escaped_list_separator<char>("\\", ";", "\""));
116
for (Tokenizer::iterator iter= tok.begin(); iter != tok.end(); ++iter)
118
byte.resize((*iter).size() +1); // +1 for the COM_QUERY
120
memcpy(&byte[1], (*iter).c_str(), (*iter).size());
121
to_execute.push(byte);
126
} /* namespace plugin */
127
} /* namespace drizzled */
111
} /* end namespace drizzled::plugin */
112
} /* end namespace drizzled */
129
114
#endif /* DRIZZLED_PLUGIN_NULL_CLIENT_H */