Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
now.h
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
*
4
* Copyright (C) 2008 Sun Microsystems, Inc.
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#pragma once
21
22
#include <drizzled/function/time/date.h>
23
24
#include <
drizzled/temporal.h
>
25
26
namespace
drizzled
27
{
28
29
/* Abstract CURRENT_TIMESTAMP function. See also Item_func_curtime */
30
31
class
Item_func_now
:
public
Item_date_func
32
{
33
protected
:
34
int64_t value;
35
char
buff[type::Time::MAX_STRING_LENGTH];
36
uint32_t buff_length;
37
type::Time
ltime;
38
DateTime
cached_temporal;
39
40
public
:
41
Item_func_now
() :
Item_date_func
() {}
42
Item_func_now
(
Item
*a) :
Item_date_func
(a) {}
43
enum
Item_result result_type ()
const
{
return
STRING_RESULT; }
44
int64_t
val_int
() { assert(
fixed
== 1);
return
value; }
45
int
save_in_field(
Field
*to,
bool
no_conversions);
46
String
*
val_str
(
String
*str);
47
void
fix_length_and_dec();
57
bool
get_temporal
(
DateTime
&temporal);
58
bool
get_date
(
type::Time
&res, uint32_t fuzzy_date);
59
virtual
void
store_now_in_TIME(
type::Time
&now_time)=0;
60
};
61
62
class
Item_func_now_local
:
public
Item_func_now
63
{
64
public
:
65
Item_func_now_local
() :
Item_func_now
() {}
66
Item_func_now_local
(
Item
*a) :
Item_func_now
(a) {}
67
const
char
*func_name()
const
{
return
"now"
; }
68
virtual
void
store_now_in_TIME
(
type::Time
&now_time);
69
virtual
enum
Functype functype()
const
{
return
NOW_FUNC; }
70
};
71
72
73
class
Item_func_now_utc
:
public
Item_func_now
74
{
75
public
:
76
Item_func_now_utc
() :
Item_func_now
() {}
77
Item_func_now_utc
(
Item
*a) :
Item_func_now
(a) {}
78
const
char
*func_name()
const
{
return
"utc_timestamp"
; }
79
virtual
void
store_now_in_TIME
(
type::Time
&now_time);
80
};
81
82
}
/* namespace drizzled */
83
drizzled
function
time
now.h
Generated on Fri Mar 28 2014 08:14:22 for drizzle by
1.8.1.2