~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/display.cc

  • Committer: Olaf van der Spek
  • Date: 2011-04-20 09:27:49 UTC
  • mto: This revision was merged to the branch mainline in revision 2285.
  • Revision ID: olafvdspek@gmail.com-20110420092749-hw1q9rfj1pumc2no
Session Cache

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
19
 */
20
20
 
21
 
#include "config.h"
22
 
 
23
 
#include "drizzled/display.h"
24
 
#include "drizzled/item.h"
25
 
 
26
 
#include <assert.h>
 
21
#include <config.h>
 
22
 
 
23
#include <drizzled/display.h>
 
24
#include <drizzled/item.h>
 
25
 
 
26
#include <cassert>
 
27
#include <iostream>
 
28
#include <sstream>
27
29
 
28
30
namespace drizzled {
29
31
namespace display {
43
45
static const std::string DRIZZLE_TYPE_DOUBLE("DRIZZLE_TYPE_DOUBLE"); 
44
46
static const std::string DRIZZLE_TYPE_NULL("DRIZZLE_TYPE_NULL"); 
45
47
static const std::string DRIZZLE_TYPE_TIMESTAMP("DRIZZLE_TYPE_TIMESTAMP"); 
 
48
static const std::string DRIZZLE_TYPE_MICROTIME("DRIZZLE_TYPE_MICROTIME"); 
46
49
static const std::string DRIZZLE_TYPE_LONGLONG("DRIZZLE_TYPE_LONGLONG"); 
47
50
static const std::string DRIZZLE_TYPE_DATETIME("DRIZZLE_TYPE_DATETIME"); 
 
51
static const std::string DRIZZLE_TYPE_TIME("DRIZZLE_TYPE_TIME"); 
48
52
static const std::string DRIZZLE_TYPE_DATE("DRIZZLE_TYPE_DATE"); 
49
53
static const std::string DRIZZLE_TYPE_VARCHAR("DRIZZLE_TYPE_VARCHAR"); 
50
54
static const std::string DRIZZLE_TYPE_DECIMAL("DRIZZLE_TYPE_DECIMAL"); 
51
55
static const std::string DRIZZLE_TYPE_ENUM("DRIZZLE_TYPE_ENUM"); 
52
56
static const std::string DRIZZLE_TYPE_BLOB("DRIZZLE_TYPE_BLOB"); 
53
57
static const std::string DRIZZLE_TYPE_UUID("DRIZZLE_TYPE_UUID"); 
 
58
static const std::string DRIZZLE_TYPE_BOOLEAN("DRIZZLE_TYPE_BOOLEAN"); 
54
59
 
55
60
static const std::string FIELD_ITEM("FIELD_ITEM");
56
61
static const std::string FUNC_ITEM("FUNC_ITEM");
74
79
static const std::string CACHE_ITEM("CACHE_ITEM");
75
80
static const std::string TYPE_HOLDER("TYPE_HOLDER");
76
81
static const std::string PARAM_ITEM("PARAM_ITEM");
 
82
static const std::string BOOLEAN_ITEM("BOOLEAN_ITEM");
77
83
static const std::string DECIMAL_ITEM("DECIMAL_ITEM");
78
84
 
 
85
static const std::string ITEM_CAST_SIGNED("ITEM_CAST_SIGNED");
 
86
static const std::string ITEM_CAST_UNSIGNED("ITEM_CAST_UNSIGNED");
 
87
static const std::string ITEM_CAST_BINARY("ITEM_CAST_BINARY");
 
88
static const std::string ITEM_CAST_BOOLEAN("ITEM_CAST_BOOLEAN");
 
89
static const std::string ITEM_CAST_DATE("ITEM_CAST_DATE");
 
90
static const std::string ITEM_CAST_TIME("ITEM_CAST_TIME");
 
91
static const std::string ITEM_CAST_DATETIME("ITEM_CAST_DATETIME");
 
92
static const std::string ITEM_CAST_CHAR("ITEM_CAST_CHAR");
 
93
static const std::string ITEM_CAST_DECIMAL("ITEM_CAST_DECIMAL");
 
94
 
 
95
static const std::string STRING_RESULT_STRING("STRING");
 
96
static const std::string REAL_RESULT_STRING("REAL");
 
97
static const std::string INT_RESULT_STRING("INTEGER");
 
98
static const std::string ROW_RESULT_STRING("ROW");
 
99
static const std::string DECIMAL_RESULT_STRING("DECIMAL");
 
100
 
79
101
static const std::string YES("YES");
80
102
static const std::string NO("NO");
81
103
 
 
104
const std::string &type(drizzled::Cast_target type)
 
105
{
 
106
  switch (type)
 
107
  {
 
108
  case drizzled::ITEM_CAST_SIGNED:
 
109
    return ITEM_CAST_SIGNED;
 
110
  case drizzled::ITEM_CAST_UNSIGNED:
 
111
    return ITEM_CAST_UNSIGNED;
 
112
  case drizzled::ITEM_CAST_BINARY:
 
113
    return ITEM_CAST_BINARY;
 
114
  case drizzled::ITEM_CAST_BOOLEAN:
 
115
    return ITEM_CAST_BOOLEAN;
 
116
  case drizzled::ITEM_CAST_DATE:
 
117
    return ITEM_CAST_DATE;
 
118
  case drizzled::ITEM_CAST_TIME:
 
119
    return ITEM_CAST_TIME;
 
120
  case drizzled::ITEM_CAST_DATETIME:
 
121
    return ITEM_CAST_DATETIME;
 
122
  case drizzled::ITEM_CAST_CHAR:
 
123
    return ITEM_CAST_CHAR;
 
124
  case drizzled::ITEM_CAST_DECIMAL:
 
125
    return ITEM_CAST_DECIMAL;
 
126
  }
 
127
 
 
128
  abort();
 
129
}
 
130
 
82
131
const std::string &type(drizzled::enum_server_command type)
83
132
{
84
133
  switch (type)
85
134
  {
86
135
  case drizzled::COM_SLEEP : 
87
136
    return COM_SLEEP;
 
137
  case drizzled::COM_KILL : 
 
138
    {
 
139
      static std::string COM_KILL("COM_KILL");
 
140
      return COM_KILL;
 
141
    }
88
142
  case drizzled::COM_QUIT : 
89
143
    return COM_QUIT;
90
144
  case drizzled::COM_INIT_DB : 
153
207
    return TYPE_HOLDER;
154
208
  case drizzled::Item::PARAM_ITEM :
155
209
    return PARAM_ITEM;
 
210
  case drizzled::Item::BOOLEAN_ITEM :
 
211
    return BOOLEAN_ITEM;
156
212
  case drizzled::Item::DECIMAL_ITEM :
157
213
    return DECIMAL_ITEM;
158
214
  }
161
217
  return PROGRAM_ERROR;
162
218
}
163
219
 
 
220
const std::string &type(Item_result type)
 
221
{
 
222
  switch (type)
 
223
  {
 
224
  case STRING_RESULT:
 
225
    return STRING_RESULT_STRING;
 
226
  case REAL_RESULT:
 
227
    return REAL_RESULT_STRING;
 
228
  case INT_RESULT:
 
229
    return INT_RESULT_STRING;
 
230
  case ROW_RESULT:
 
231
    return ROW_RESULT_STRING;
 
232
  case DECIMAL_RESULT:
 
233
    return DECIMAL_RESULT_STRING;
 
234
  }
 
235
 
 
236
  assert(0);
 
237
  return PROGRAM_ERROR;
 
238
}
164
239
 
165
240
const std::string &type(drizzled::enum_field_types type)
166
241
{
172
247
    return DRIZZLE_TYPE_DOUBLE;
173
248
  case drizzled::DRIZZLE_TYPE_NULL : 
174
249
    return DRIZZLE_TYPE_NULL;
 
250
  case drizzled::DRIZZLE_TYPE_MICROTIME : 
 
251
    return DRIZZLE_TYPE_MICROTIME;
175
252
  case drizzled::DRIZZLE_TYPE_TIMESTAMP : 
176
253
    return DRIZZLE_TYPE_TIMESTAMP;
177
254
  case drizzled::DRIZZLE_TYPE_LONGLONG : 
178
255
    return DRIZZLE_TYPE_LONGLONG;
179
256
  case drizzled::DRIZZLE_TYPE_DATETIME : 
180
257
    return DRIZZLE_TYPE_DATETIME;
 
258
  case drizzled::DRIZZLE_TYPE_TIME : 
 
259
    return DRIZZLE_TYPE_TIME;
181
260
  case drizzled::DRIZZLE_TYPE_DATE : 
182
261
    return DRIZZLE_TYPE_DATE;
183
262
  case drizzled::DRIZZLE_TYPE_VARCHAR : 
190
269
    return DRIZZLE_TYPE_BLOB;
191
270
  case drizzled::DRIZZLE_TYPE_UUID : 
192
271
    return DRIZZLE_TYPE_UUID;
 
272
  case drizzled::DRIZZLE_TYPE_BOOLEAN : 
 
273
    return DRIZZLE_TYPE_BOOLEAN;
193
274
  }
194
275
 
195
276
  assert(0);