~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field/uuid.cc

  • Committer: Lee Bieber
  • Date: 2011-01-12 02:31:03 UTC
  • mfrom: (2068.7.5 session-fix)
  • mto: This revision was merged to the branch mainline in revision 2076.
  • Revision ID: kalebral@gmail.com-20110112023103-nmz26cv1j32jc6n3
Merge Brian - fix bug 527084 - DROP TABLE: getTableDefiniton returns EEXIST but doDropTable returns ENOENT leads to SIGSEGV

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include "drizzled/internal/my_sys.h"
32
32
#include "drizzled/session.h"
33
33
#include "drizzled/table.h"
 
34
#include "drizzled/temporal.h"
34
35
 
35
36
namespace drizzled
36
37
{
158
159
  memcpy(to, ptr, length_arg);
159
160
}
160
161
 
161
 
bool Uuid::get_date(type::Time &ltime, uint32_t )
 
162
bool Uuid::get_date(type::Time *ltime, uint32_t )
162
163
{
163
164
  type::Uuid uu;
164
165
 
166
167
 
167
168
  if (uu.isTimeType())
168
169
  {
 
170
    Timestamp temporal;
169
171
    struct timeval ret_tv;
170
172
 
171
 
    memset(&ret_tv, 0, sizeof(struct timeval));
 
173
    ret_tv.tv_sec= ret_tv.tv_usec= 0;
172
174
 
173
175
    uu.time(ret_tv);
174
176
 
175
 
    ltime.store(ret_tv);
 
177
    temporal.from_time_t(ret_tv.tv_sec);
 
178
 
 
179
    ltime->time_type= DRIZZLE_TIMESTAMP_DATETIME;
 
180
    ltime->year= temporal.years();
 
181
    ltime->month= temporal.months();
 
182
    ltime->day= temporal.days();
 
183
    ltime->hour= temporal.hours();
 
184
    ltime->minute= temporal.minutes();
 
185
    ltime->second= temporal.seconds();
 
186
    ltime->second_part= temporal.nseconds();
176
187
 
177
188
    return false;
178
189
  }
179
 
  ltime.reset();
 
190
  memset(ltime, 0, sizeof(type::Time));
180
191
 
181
192
  return true;
182
193
}
183
194
 
184
 
bool Uuid::get_time(type::Time &ltime)
 
195
bool Uuid::get_time(type::Time *ltime)
185
196
{
186
197
  return get_date(ltime, 0);
187
198
}