~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item.cc

Merge with trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
#include "drizzled/field/int32.h"
45
45
#include "drizzled/field/int64.h"
46
46
#include "drizzled/field/num.h"
47
 
#include "drizzled/field/timestamp.h"
 
47
#include "drizzled/field/time.h"
 
48
#include "drizzled/field/epoch.h"
48
49
#include "drizzled/field/datetime.h"
49
50
#include "drizzled/field/varstring.h"
50
51
#include "drizzled/internal/m_string.h"
1059
1060
{
1060
1061
  switch (field_type())
1061
1062
  {
 
1063
    case DRIZZLE_TYPE_TIME:
1062
1064
    case DRIZZLE_TYPE_DATE:
1063
1065
    case DRIZZLE_TYPE_DATETIME:
1064
1066
    case DRIZZLE_TYPE_TIMESTAMP:
1192
1194
    field= new Field_date(maybe_null, name, &my_charset_bin);
1193
1195
    break;
1194
1196
  case DRIZZLE_TYPE_TIMESTAMP:
1195
 
    field= new Field_timestamp(maybe_null, name, &my_charset_bin);
 
1197
    field= new field::Epoch(maybe_null, name, &my_charset_bin);
1196
1198
    break;
1197
1199
  case DRIZZLE_TYPE_DATETIME:
1198
1200
    field= new Field_datetime(maybe_null, name, &my_charset_bin);
1199
1201
    break;
 
1202
  case DRIZZLE_TYPE_TIME:
 
1203
    field= new field::Time(maybe_null, name, &my_charset_bin);
 
1204
    break;
1200
1205
  case DRIZZLE_TYPE_UUID:
1201
1206
  case DRIZZLE_TYPE_ENUM:
1202
1207
  case DRIZZLE_TYPE_VARCHAR:
1382
1387
        result= client->store(nr, decimals, buffer);
1383
1388
      break;
1384
1389
    }
 
1390
  case DRIZZLE_TYPE_TIME:
 
1391
    {
 
1392
      DRIZZLE_TIME tm;
 
1393
      get_time(&tm);
 
1394
      if (not null_value)
 
1395
        result= client->store(&tm);
 
1396
      break;
 
1397
    }
1385
1398
  case DRIZZLE_TYPE_DATETIME:
1386
1399
  case DRIZZLE_TYPE_TIMESTAMP:
1387
1400
    {
1609
1622
      To preserve type they needed to be handled separately.
1610
1623
    */
1611
1624
    if ((type= item->field_type()) == DRIZZLE_TYPE_DATETIME ||
 
1625
        type == DRIZZLE_TYPE_TIME ||
1612
1626
        type == DRIZZLE_TYPE_DATE ||
1613
1627
        type == DRIZZLE_TYPE_TIMESTAMP)
1614
1628
    {