~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

merge lp:~linuxjedi/drizzle/trunk-remove-drizzleadmin

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
 
 
26
 
#include "drizzled/temporal.h"
27
 
 
28
 
namespace drizzled
29
 
{
 
25
#include <drizzled/session/times.h>
 
26
#include <drizzled/temporal.h>
 
27
#include <drizzled/item/field.h>
 
28
 
 
29
namespace drizzled {
30
30
 
31
31
int64_t Item_func_unix_timestamp::val_int()
32
32
{
34
34
 
35
35
  assert(fixed == 1);
36
36
  if (arg_count == 0)
37
 
    return (int64_t) current_session->getCurrentTimestampEpoch();
 
37
    return (int64_t) getSession().times.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