~drizzle-trunk/drizzle/development

2194.4.2 by Brian Aker
Bit functions/fix for <<
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
2234 by Brian Aker
Mass removal of ifdef/endif in favor of pragma once.
21
#pragma once
2194.4.2 by Brian Aker
Bit functions/fix for <<
22
23
#include <drizzled/function/func.h>
24
#include <drizzled/function/math/int.h>
25
26
namespace drizzled
27
{
28
29
namespace function
30
{
31
32
namespace bit
33
{
34
35
36
/* Base class for all bit functions: '~', '|', '^', '&', '>>', '<<' */
37
38
class Bit: public Item_int_func
39
{
40
public:
41
  Bit(Item *a, Item *b) :
42
    Item_int_func(a, b)
43
  {}
44
45
  Bit(Item *a) :
46
    Item_int_func(a)
47
  {}
48
49
  void fix_length_and_dec() { unsigned_flag= 1; }
50
2215.2.1 by Stewart Smith
remove enum_query_type which was effectively unused. It was set to one value once, compared to it once (i.e. always true) and passed around everywhere doing nothing.
51
  virtual void print(String *str)
2194.4.2 by Brian Aker
Bit functions/fix for <<
52
  {
2215.2.1 by Stewart Smith
remove enum_query_type which was effectively unused. It was set to one value once, compared to it once (i.e. always true) and passed around everywhere doing nothing.
53
    print_op(str);
2194.4.2 by Brian Aker
Bit functions/fix for <<
54
  }
55
};
56
57
58
} /* namespace bit */
59
} /* namespace function */
60
} /* namespace drizzled */
61
62