~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/time/unix_timestamp.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:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#include "config.h"
 
20
#include <config.h>
21
21
 
22
22
#include <drizzled/function/time/unix_timestamp.h>
23
23
#include <drizzled/field/epoch.h>
24
24
#include <drizzled/session.h>
25
25
 
26
 
#include "drizzled/temporal.h"
 
26
#include <drizzled/temporal.h>
27
27
 
28
28
namespace drizzled
29
29
{
30
30
 
31
31
int64_t Item_func_unix_timestamp::val_int()
32
32
{
33
 
  DRIZZLE_TIME ltime;
 
33
  type::Time ltime;
34
34
 
35
35
  assert(fixed == 1);
36
36
  if (arg_count == 0)
37
 
    return (int64_t) current_session->query_start();
 
37
    return (int64_t) getSession().getCurrentTimestampEpoch();
38
38
 
39
39
  if (args[0]->type() == FIELD_ITEM)
40
40
  {                                             // Optimize timestamp field
41
41
    Field *field=((Item_field*) args[0])->field;
42
 
    if (field->type() == DRIZZLE_TYPE_TIMESTAMP)
 
42
    if (field->is_timestamp())
43
43
      return ((field::Epoch::pointer) field)->get_timestamp(&null_value);
44
44
  }
45
45
 
46
 
  if (get_arg0_date(&ltime, 0))
 
46
  if (get_arg0_date(ltime, 0))
47
47
  {
48
48
    /*
49
49
      We have to set null_value again because get_arg0_date will also set it