~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/function.h

Blackhole, CSV, Pool of Threads,Single Thread, Multi Thread.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#define DRIZZLED_PLUGIN_FUNCTION_H
22
22
 
23
23
 
 
24
#include <drizzled/item.h>
 
25
#include <drizzled/sql_list.h>
 
26
#include <drizzled/item/bin_string.h>
24
27
#include "drizzled/plugin/plugin.h"
25
 
#include "drizzled/item/func.h"
 
28
#include "drizzled/function/func.h"
26
29
 
27
30
#include <string>
28
31
#include <vector>
29
32
#include <functional>
30
33
 
 
34
 
31
35
namespace drizzled
32
36
{
33
 
 
34
 
class Item_func;
35
 
 
36
 
namespace memory
37
 
{
38
 
  class Root;
39
 
}
40
 
 
41
37
namespace plugin
42
38
{
43
39
 
46
42
 */
47
43
class Function
48
44
  : public Plugin,
49
 
    public std::unary_function<memory::Root*, Item_func *>
 
45
    public std::unary_function<MEM_ROOT*, Item_func *>
50
46
{
51
47
  Function();
52
48
  Function(const Function &);
54
50
public:
55
51
  Function(std::string in_name)
56
52
   : Plugin(in_name, "Function"),
57
 
     std::unary_function<memory::Root*, Item_func *>()
 
53
     std::unary_function<MEM_ROOT*, Item_func *>()
58
54
  { }
59
55
  virtual result_type operator()(argument_type root) const= 0;
60
56
  virtual ~Function() {}
75
71
   */
76
72
  static const plugin::Function *get(const char *name, size_t len=0);
77
73
 
78
 
  typedef boost::unordered_map<std::string, const plugin::Function *, util::insensitive_hash, util::insensitive_equal_to> UdfMap;
79
 
 
80
 
  static const UdfMap &getMap();
81
74
};
82
75
 
83
76
template<class T>