~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to drizzled/display.cc

  • Committer: Bazaar Package Importer
  • Author(s): Monty Taylor
  • Date: 2010-12-21 16:39:40 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20101221163940-c1pfo1jjvx7909xq
Tags: 2010.12.06-0ubuntu1
* New upstream release.
* Added libaio-dev build depend for InnoDB.
* Removed libpcre patch - applied upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#include "config.h"
22
22
 
23
23
#include "drizzled/display.h"
 
24
#include "drizzled/item.h"
24
25
 
25
26
#include <assert.h>
26
27
 
49
50
static const std::string DRIZZLE_TYPE_DECIMAL("DRIZZLE_TYPE_DECIMAL"); 
50
51
static const std::string DRIZZLE_TYPE_ENUM("DRIZZLE_TYPE_ENUM"); 
51
52
static const std::string DRIZZLE_TYPE_BLOB("DRIZZLE_TYPE_BLOB"); 
52
 
static const std::string DRIZZLE_TYPE_MAX("DRIZZLE_TYPE_MAX"); 
 
53
static const std::string DRIZZLE_TYPE_UUID("DRIZZLE_TYPE_UUID"); 
 
54
 
 
55
static const std::string FIELD_ITEM("FIELD_ITEM");
 
56
static const std::string FUNC_ITEM("FUNC_ITEM");
 
57
static const std::string SUM_FUNC_ITEM("SUM_FUNC_ITEM");
 
58
static const std::string STRING_ITEM("STRING_ITEM");
 
59
static const std::string INT_ITEM("INT_ITEM");
 
60
static const std::string REAL_ITEM("REAL_ITEM");
 
61
static const std::string NULL_ITEM("NULL_ITEM");
 
62
static const std::string VARBIN_ITEM("VARBIN_ITEM");
 
63
static const std::string COPY_STR_ITEM("COPY_STR_ITEM");
 
64
static const std::string FIELD_AVG_ITEM("FIELD_AVG_ITEM");
 
65
static const std::string DEFAULT_VALUE_ITEM("DEFAULT_VALUE_ITEM");
 
66
static const std::string PROC_ITEM("PROC_ITEM");
 
67
static const std::string COND_ITEM("COND_ITEM");
 
68
static const std::string REF_ITEM("REF_ITEM");
 
69
static const std::string FIELD_STD_ITEM("FIELD_STD_ITEM");
 
70
static const std::string FIELD_VARIANCE_ITEM("FIELD_VARIANCE_ITEM");
 
71
static const std::string INSERT_VALUE_ITEM("INSERT_VALUE_ITEM");
 
72
static const std::string SUBSELECT_ITEM("SUBSELECT_ITEM");
 
73
static const std::string ROW_ITEM("ROW_ITEM");
 
74
static const std::string CACHE_ITEM("CACHE_ITEM");
 
75
static const std::string TYPE_HOLDER("TYPE_HOLDER");
 
76
static const std::string PARAM_ITEM("PARAM_ITEM");
 
77
static const std::string DECIMAL_ITEM("DECIMAL_ITEM");
53
78
 
54
79
static const std::string YES("YES");
55
80
static const std::string NO("NO");
56
81
 
57
 
 
58
82
const std::string &type(drizzled::enum_server_command type)
59
83
{
60
84
  switch (type)
81
105
  return PROGRAM_ERROR;
82
106
}
83
107
 
 
108
const std::string &type(drizzled::Item::Type type)
 
109
{
 
110
  switch (type)
 
111
  {
 
112
  case drizzled::Item::FIELD_ITEM :
 
113
    return FIELD_ITEM;
 
114
  case drizzled::Item::FUNC_ITEM :
 
115
    return FUNC_ITEM;
 
116
  case drizzled::Item::SUM_FUNC_ITEM :
 
117
    return SUM_FUNC_ITEM;
 
118
  case drizzled::Item::STRING_ITEM :
 
119
    return STRING_ITEM;
 
120
  case drizzled::Item::INT_ITEM :
 
121
    return INT_ITEM;
 
122
  case drizzled::Item::REAL_ITEM :
 
123
    return REAL_ITEM;
 
124
  case drizzled::Item::NULL_ITEM :
 
125
    return NULL_ITEM;
 
126
  case drizzled::Item::VARBIN_ITEM :
 
127
    return VARBIN_ITEM;
 
128
  case drizzled::Item::COPY_STR_ITEM :
 
129
    return COPY_STR_ITEM;
 
130
  case drizzled::Item::FIELD_AVG_ITEM :
 
131
    return FIELD_AVG_ITEM;
 
132
  case drizzled::Item::DEFAULT_VALUE_ITEM :
 
133
    return DEFAULT_VALUE_ITEM;
 
134
  case drizzled::Item::PROC_ITEM :
 
135
    return PROC_ITEM;
 
136
  case drizzled::Item::COND_ITEM :
 
137
    return COND_ITEM;
 
138
  case drizzled::Item::REF_ITEM :
 
139
    return REF_ITEM;
 
140
  case drizzled::Item::FIELD_STD_ITEM :
 
141
    return FIELD_STD_ITEM;
 
142
  case drizzled::Item::FIELD_VARIANCE_ITEM :
 
143
    return FIELD_VARIANCE_ITEM;
 
144
  case drizzled::Item::INSERT_VALUE_ITEM :
 
145
    return INSERT_VALUE_ITEM;
 
146
  case drizzled::Item::SUBSELECT_ITEM :
 
147
    return SUBSELECT_ITEM;
 
148
  case drizzled::Item::ROW_ITEM:
 
149
    return ROW_ITEM;
 
150
  case drizzled::Item::CACHE_ITEM :
 
151
    return CACHE_ITEM;
 
152
  case drizzled::Item::TYPE_HOLDER :
 
153
    return TYPE_HOLDER;
 
154
  case drizzled::Item::PARAM_ITEM :
 
155
    return PARAM_ITEM;
 
156
  case drizzled::Item::DECIMAL_ITEM :
 
157
    return DECIMAL_ITEM;
 
158
  }
 
159
 
 
160
  assert(0);
 
161
  return PROGRAM_ERROR;
 
162
}
 
163
 
84
164
 
85
165
const std::string &type(drizzled::enum_field_types type)
86
166
{
108
188
    return DRIZZLE_TYPE_ENUM;
109
189
  case drizzled::DRIZZLE_TYPE_BLOB : 
110
190
    return DRIZZLE_TYPE_BLOB;
 
191
  case drizzled::DRIZZLE_TYPE_UUID : 
 
192
    return DRIZZLE_TYPE_UUID;
111
193
  }
112
194
 
113
195
  assert(0);
114
196
  return PROGRAM_ERROR;
115
197
}
116
198
 
 
199
std::string hexdump(const unsigned char *str, size_t length)
 
200
{
 
201
  static const char hexval[16] = { '0', '1', '2', '3', 
 
202
    '4', '5', '6', '7', 
 
203
    '8', '9', 'a', 'b', 
 
204
    'c', 'd', 'e', 'f' };
 
205
  unsigned max_cols = 16; 
 
206
  std::ostringstream buf;
 
207
  std::ostringstream raw_buf;
 
208
 
 
209
  const unsigned char *e= str + length;
 
210
  for (const unsigned char *i= str; i != e;)
 
211
  {
 
212
    raw_buf.str("");
 
213
    for (unsigned col = 0; col < max_cols; ++col)
 
214
    {
 
215
      if (i != e)
 
216
      {
 
217
        buf << hexval[ ( (*i >> 4) & 0xF ) ]
 
218
          << hexval[ ( *i & 0x0F ) ]
 
219
          << ' ';
 
220
        raw_buf << (isprint(*i) ? *i : '.');
 
221
        ++i;
 
222
      }
 
223
      else
 
224
      {
 
225
        buf << "   ";
 
226
      }
 
227
    }
 
228
  }
 
229
 
 
230
  return buf.str();
 
231
}
 
232
 
117
233
} /* namespace display */
118
234
} /* namespace drizzled */