Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
create.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
/* Functions to create an item. Used by sql/sql_yacc.yy */
21
22
#pragma once
23
24
#include <drizzled/item/func.h>
25
#include <drizzled/plugin/function.h>
26
27
namespace
drizzled {
28
40
class
Create_func
41
{
42
public
:
61
virtual
Item
*
create
(
Session
*,
str_ref
name,
List<Item>
*item_list) = 0;
62
63
protected
:
64
virtual
~
Create_func
() {}
65
};
66
73
class
Create_qfunc
:
public
Create_func
74
{
75
public
:
84
virtual
Item
*
create
(
Session
*,
str_ref
name,
List<Item>
*item_list);
85
95
virtual
Item
*
create
(
Session
*,
str_ref
db,
str_ref
name,
bool
use_explicit_name,
List<Item>
*) = 0;
96
};
97
98
104
extern
Create_func
*
find_native_function_builder
(
str_ref
name);
105
106
112
extern
Create_qfunc
*
find_qualified_function_builder
(
Session
*);
113
114
119
class
Create_udf_func
:
public
Create_func
120
{
121
public
:
122
virtual
Item
*
create
(
Session
*,
str_ref
name,
List<Item>
*item_list);
123
131
Item
*
create
(
Session
*,
const
plugin::Function
*fct,
List<Item>
*item_list);
132
134
static
Create_udf_func
s_singleton
;
135
136
protected
:
138
Create_udf_func
() {}
139
};
140
141
Item*
142
create_func_char_cast(Session*, Item *a,
int
len,
const
charset_info_st *
const
cs);
143
153
Item *
154
create_func_cast
(Session*, Item *a, Cast_target cast_type,
const
char
*len,
const
char
*dec,
const
charset_info_st*);
155
156
void
item_create_init();
157
void
item_create_cleanup();
158
159
}
/* namespace drizzled */
160
drizzled
item
create.h
Generated on Tue Jun 19 2012 18:56:44 for drizzle by
1.8.1