~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/display.cc

  • Committer: Brian Aker
  • Date: 2011-02-22 06:12:02 UTC
  • mfrom: (2190.1.6 drizzle-build)
  • Revision ID: brian@tangent.org-20110222061202-k03czxykqy4x9hjs
List update, header fixes, multiple symbols, and David deletes some code.

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"); 
48
51
static const std::string DRIZZLE_TYPE_TIME("DRIZZLE_TYPE_TIME"); 
52
55
static const std::string DRIZZLE_TYPE_ENUM("DRIZZLE_TYPE_ENUM"); 
53
56
static const std::string DRIZZLE_TYPE_BLOB("DRIZZLE_TYPE_BLOB"); 
54
57
static const std::string DRIZZLE_TYPE_UUID("DRIZZLE_TYPE_UUID"); 
 
58
static const std::string DRIZZLE_TYPE_BOOLEAN("DRIZZLE_TYPE_BOOLEAN"); 
55
59
 
56
60
static const std::string FIELD_ITEM("FIELD_ITEM");
57
61
static const std::string FUNC_ITEM("FUNC_ITEM");
75
79
static const std::string CACHE_ITEM("CACHE_ITEM");
76
80
static const std::string TYPE_HOLDER("TYPE_HOLDER");
77
81
static const std::string PARAM_ITEM("PARAM_ITEM");
 
82
static const std::string BOOLEAN_ITEM("BOOLEAN_ITEM");
78
83
static const std::string DECIMAL_ITEM("DECIMAL_ITEM");
79
84
 
80
85
static const std::string ITEM_CAST_SIGNED("ITEM_CAST_SIGNED");
81
86
static const std::string ITEM_CAST_UNSIGNED("ITEM_CAST_UNSIGNED");
82
87
static const std::string ITEM_CAST_BINARY("ITEM_CAST_BINARY");
 
88
static const std::string ITEM_CAST_BOOLEAN("ITEM_CAST_BOOLEAN");
83
89
static const std::string ITEM_CAST_DATE("ITEM_CAST_DATE");
84
90
static const std::string ITEM_CAST_TIME("ITEM_CAST_TIME");
85
91
static const std::string ITEM_CAST_DATETIME("ITEM_CAST_DATETIME");
86
92
static const std::string ITEM_CAST_CHAR("ITEM_CAST_CHAR");
87
93
static const std::string ITEM_CAST_DECIMAL("ITEM_CAST_DECIMAL");
88
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
 
89
101
static const std::string YES("YES");
90
102
static const std::string NO("NO");
91
103
 
99
111
    return ITEM_CAST_UNSIGNED;
100
112
  case drizzled::ITEM_CAST_BINARY:
101
113
    return ITEM_CAST_BINARY;
 
114
  case drizzled::ITEM_CAST_BOOLEAN:
 
115
    return ITEM_CAST_BOOLEAN;
102
116
  case drizzled::ITEM_CAST_DATE:
103
117
    return ITEM_CAST_DATE;
104
118
  case drizzled::ITEM_CAST_TIME:
188
202
    return TYPE_HOLDER;
189
203
  case drizzled::Item::PARAM_ITEM :
190
204
    return PARAM_ITEM;
 
205
  case drizzled::Item::BOOLEAN_ITEM :
 
206
    return BOOLEAN_ITEM;
191
207
  case drizzled::Item::DECIMAL_ITEM :
192
208
    return DECIMAL_ITEM;
193
209
  }
196
212
  return PROGRAM_ERROR;
197
213
}
198
214
 
 
215
const std::string &type(Item_result type)
 
216
{
 
217
  switch (type)
 
218
  {
 
219
  case STRING_RESULT:
 
220
    return STRING_RESULT_STRING;
 
221
  case REAL_RESULT:
 
222
    return REAL_RESULT_STRING;
 
223
  case INT_RESULT:
 
224
    return INT_RESULT_STRING;
 
225
  case ROW_RESULT:
 
226
    return ROW_RESULT_STRING;
 
227
  case DECIMAL_RESULT:
 
228
    return DECIMAL_RESULT_STRING;
 
229
  }
 
230
 
 
231
  assert(0);
 
232
  return PROGRAM_ERROR;
 
233
}
199
234
 
200
235
const std::string &type(drizzled::enum_field_types type)
201
236
{
207
242
    return DRIZZLE_TYPE_DOUBLE;
208
243
  case drizzled::DRIZZLE_TYPE_NULL : 
209
244
    return DRIZZLE_TYPE_NULL;
 
245
  case drizzled::DRIZZLE_TYPE_MICROTIME : 
 
246
    return DRIZZLE_TYPE_MICROTIME;
210
247
  case drizzled::DRIZZLE_TYPE_TIMESTAMP : 
211
248
    return DRIZZLE_TYPE_TIMESTAMP;
212
249
  case drizzled::DRIZZLE_TYPE_LONGLONG : 
227
264
    return DRIZZLE_TYPE_BLOB;
228
265
  case drizzled::DRIZZLE_TYPE_UUID : 
229
266
    return DRIZZLE_TYPE_UUID;
 
267
  case drizzled::DRIZZLE_TYPE_BOOLEAN : 
 
268
    return DRIZZLE_TYPE_BOOLEAN;
230
269
  }
231
270
 
232
271
  assert(0);