1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems
4
* Copyright (C) 2008 Sun Microsystems, Inc.
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_PLUGIN_NULL_CLIENT_H
21
#define DRIZZLED_PLUGIN_NULL_CLIENT_H
23
22
#include <drizzled/plugin/client.h>
24
#include<boost/tokenizer.hpp>
23
#include <boost/tokenizer.hpp>
35
32
* This class is an empty client implementation for internal used.
57
54
virtual void close(void) {}
58
55
virtual bool authenticate(void) { return true; }
60
virtual bool readCommand(char **packet, uint32_t *packet_length)
57
virtual bool readCommand(char **packet, uint32_t& packet_length)
62
59
while(not to_execute.empty())
79
76
packet_buffer.resize(1);
81
78
*packet= &packet_buffer[0];
91
88
virtual void sendOK(void) {}
92
89
virtual void sendEOF(void) {}
93
virtual void sendError(uint32_t, const char*) {}
90
virtual void sendError(const drizzled::error_t, const char*) {}
94
91
virtual bool sendFields(List<Item>*) { return false; }
95
virtual bool store(Field *) { return false; }
96
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; }
92
virtual void store(Field *) {}
93
virtual void store(void) {}
94
virtual void store(int32_t) {}
95
virtual void store(uint32_t) {}
96
virtual void store(int64_t) {}
97
virtual void store(uint64_t) {}
98
virtual void store(double, uint32_t, String*) {}
99
virtual void store(const type::Time*) {}
100
virtual void store(const char*) {}
101
virtual void store(const char*, size_t) {}
102
virtual void store(const std::string &) {}
106
103
virtual bool haveMoreData(void) { return false;}
107
104
virtual bool haveError(void) { return false; }
108
105
virtual bool wasAborted(void) { return false; }
116
113
for (Tokenizer::iterator iter= tok.begin(); iter != tok.end(); ++iter)
118
byte.resize((*iter).size() +1); // +1 for the COM_QUERY
115
byte.resize(iter->size() +1); // +1 for the COM_QUERY
119
116
byte[0]= COM_QUERY;
120
memcpy(&byte[1], (*iter).c_str(), (*iter).size());
117
memcpy(&byte[1], iter->c_str(), iter->size());
121
118
to_execute.push(byte);