1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems, Inc.
4
* Copyright (C) 2008 Sun Microsystems
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
20
20
#ifndef DRIZZLED_ITEM_COPY_STRING_H
21
21
#define DRIZZLED_ITEM_COPY_STRING_H
23
#include <drizzled/charset_info.h>
23
#include <drizzled/item/ident.h>
24
24
#include <drizzled/item/field.h>
25
#include <drizzled/item/ident.h>
30
26
class Item_copy_string :public Item
61
57
String *val_str(String*);
62
type::Decimal *val_decimal(type::Decimal *);
63
void make_field(SendField *field) { item->make_field(field); }
58
my_decimal *val_decimal(my_decimal *);
59
void make_field(Send_field *field) { item->make_field(field); }
65
61
int save_in_field(Field *field, bool)
71
67
bool is_null() { return null_value; }
74
} /* namespace drizzled */
71
class Item_default_value : public Item_field
75
Item_default_value(Name_resolution_context *context_arg)
76
:Item_field(context_arg, (const char *)NULL, (const char *)NULL,
79
Item_default_value(Name_resolution_context *context_arg, Item *a)
80
:Item_field(context_arg, (const char *)NULL, (const char *)NULL,
83
enum Type type() const { return DEFAULT_VALUE_ITEM; }
84
bool eq(const Item *item, bool binary_cmp) const;
85
bool fix_fields(Session *, Item **);
86
virtual void print(String *str, enum_query_type query_type);
87
int save_in_field(Field *field_arg, bool no_conversions);
88
table_map used_tables() const { return (table_map)0L; }
90
bool walk(Item_processor processor, bool walk_subquery, unsigned char *args)
92
return arg->walk(processor, walk_subquery, args) ||
93
(this->*processor)(args);
96
Item *transform(Item_transformer transformer, unsigned char *args);
76
99
#endif /* DRIZZLED_ITEM_COPY_STRING_H */