~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/cache.cc

  • Committer: Monty Taylor
  • Date: 2009-03-06 03:33:24 UTC
  • mfrom: (916.1.2 merge)
  • Revision ID: mordred@inaugust.com-20090306033324-dcedf80g9qzywbvu
Merged Brian's merge... re-rotate the tree.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#include "config.h"
21
 
 
 
20
#include <drizzled/server_includes.h>
 
21
#include CSTDINT_H
22
22
#include <drizzled/item/cache.h>
23
23
#include <drizzled/item/cache_row.h>
24
24
#include <drizzled/item/cache_int.h>
26
26
#include <drizzled/item/cache_decimal.h>
27
27
#include <drizzled/item/cache_str.h>
28
28
 
29
 
namespace drizzled
30
 
{
31
 
 
32
29
Item_cache* Item_cache::get_cache(const Item *item)
33
30
{
34
31
  switch (item->result_type()) {
35
32
  case INT_RESULT:
36
33
    return new Item_cache_int();
37
 
 
38
34
  case REAL_RESULT:
39
35
    return new Item_cache_real();
40
 
 
41
36
  case DECIMAL_RESULT:
42
37
    return new Item_cache_decimal();
43
 
 
44
38
  case STRING_RESULT:
45
39
    return new Item_cache_str(item);
46
 
 
47
40
  case ROW_RESULT:
48
41
    return new Item_cache_row();
 
42
  default:
 
43
    // should never be in real life
 
44
    assert(0);
 
45
    return 0;
49
46
  }
50
 
 
51
 
  assert(0);
52
 
  abort();
53
47
}
54
48
 
55
49
 
68
62
  return cached_field ? cached_field->eq_def (field) : false;
69
63
}
70
64
 
71
 
} /* namespace drizzled */