Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
null.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/charset.h>
23
#include <drizzled/item/basic_constant.h>
24
25
namespace
drizzled {
26
27
class
Item_null
:
public
Item_basic_constant
28
{
29
public
:
30
31
Item_null
(
const
char
*name_par=0)
32
{
33
maybe_null
=
null_value
=
true
;
34
max_length= 0;
35
name
= name_par ? name_par :
"NULL"
;
36
fixed
= 1;
37
collation.set(&my_charset_bin, DERIVATION_IGNORABLE);
38
}
39
Type type()
const
{
return
NULL_ITEM; }
40
bool
eq
(
const
Item
*item,
bool
binary_cmp)
const
;
41
double
val_real
();
42
int64_t
val_int
();
43
String
*
val_str
(
String
*str);
44
type::Decimal
*
val_decimal
(
type::Decimal
*);
45
int
save_in_field
(
Field
*field,
bool
no_conversions);
46
int
save_safe_in_field
(
Field
*field);
47
void
send
(
plugin::Client
*client,
String
*str);
48
enum
Item_result result_type ()
const
{
return
STRING_RESULT; }
49
enum_field_types field_type()
const
{
return
DRIZZLE_TYPE_NULL; }
50
bool
basic_const_item
()
const
{
return
1; }
51
Item
*clone_item() {
return
new
Item_null
(
name
); }
52
bool
is_null
() {
return
true
; }
53
54
virtual
void
print
(
String
*str);
55
56
Item
*safe_charset_converter(
const
charset_info_st
*
const
tocs);
57
};
58
59
class
Item_null_result
:
public
Item_null
60
{
61
public
:
62
Field
*result_field;
63
Item_null_result
() :
Item_null
(), result_field(0) {}
64
bool
is_result_field() {
return
result_field != 0; }
65
void
save_in_result_field(
bool
no_conversions)
66
{
67
save_in_field
(result_field, no_conversions);
68
}
69
};
70
71
}
/* namespace drizzled */
72
drizzled
item
null.h
Generated on Mon Jun 10 2013 09:48:05 for drizzle by
1.8.1.2