~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/cast/time.cc

  • Committer: Brian Aker
  • Date: 2011-01-25 07:22:15 UTC
  • mfrom: (2109.1.7 drizzle-build)
  • Revision ID: brian@tangent.org-20110125072215-567z6uzy5vdvn4va
Merge in build/timestamp patches/fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
namespace function {
28
28
namespace cast {
29
29
 
30
 
bool Time::get_time(type::Time *ltime)
 
30
bool Time::get_time(type::Time &ltime)
31
31
{
32
32
  bool res= get_arg0_time(ltime);
33
33
 
34
 
  if (ltime->time_type == type::DRIZZLE_TIMESTAMP_DATETIME)
35
 
    ltime->year= ltime->month= ltime->day= 0;
36
 
 
37
 
  ltime->time_type= type::DRIZZLE_TIMESTAMP_TIME;
 
34
  ltime.truncate(type::DRIZZLE_TIMESTAMP_TIME);
38
35
 
39
36
  return res;
40
37
}
44
41
  assert(fixed == 1);
45
42
  type::Time ltime;
46
43
 
47
 
  if (not get_arg0_time(&ltime))
 
44
  if (not get_arg0_time(ltime))
48
45
  {
49
46
    null_value= 0;
50
47
    ltime.convert(*str, type::DRIZZLE_TIMESTAMP_TIME);
61
58
  assert(fixed == 1);
62
59
  type::Time ltime;
63
60
 
64
 
  if (get_time(&ltime))
 
61
  if (get_time(ltime))
65
62
    return 0;
66
63
 
67
64
  return (ltime.neg ? -1 : 1) * (int64_t)((ltime.hour)*10000 + ltime.minute*100 + ltime.second);