~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/key_part_spec.h

  • Committer: Padraig O'Sullivan
  • Date: 2009-08-07 14:14:58 UTC
  • mfrom: (1112 staging)
  • mto: (1115.3.4 captain)
  • mto: This revision was merged to the branch mainline in revision 1117.
  • Revision ID: osullivan.padraig@gmail.com-20090807141458-qrc3don58s304ore
Merge from trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
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
21
21
#ifndef DRIZZLED_KEY_PART_SPEC_H
22
22
#define DRIZZLED_KEY_PART_SPEC_H
23
23
 
24
 
#include "drizzled/memory/sql_alloc.h"
25
 
#include "drizzled/lex_string.h"
26
 
 
27
 
namespace drizzled
28
 
{
29
 
 
30
 
namespace memory { class Root; }
 
24
#include <drizzled/sql_alloc.h>
31
25
 
32
26
class Item;
 
27
typedef struct st_mem_root MEM_ROOT;
33
28
 
34
 
class Key_part_spec :public memory::SqlAlloc {
 
29
class Key_part_spec :public Sql_alloc {
35
30
public:
36
31
  LEX_STRING field_name;
37
32
  uint32_t length;
40
35
  {}
41
36
  Key_part_spec(const char *name, const size_t name_len, uint32_t len)
42
37
    : length(len)
43
 
  { field_name.str= const_cast<char *>(name); field_name.length= name_len; }
 
38
  { field_name.str= (char *)name; field_name.length= name_len; }
44
39
  bool operator==(const Key_part_spec& other) const;
45
40
  /**
46
41
    Construct a copy of this Key_part_spec. field_name is copied
51
46
    @return If out of memory, 0 is returned and an error is set in
52
47
    Session.
53
48
  */
54
 
  Key_part_spec *clone(memory::Root *mem_root) const
55
 
  {
56
 
    return new (mem_root) Key_part_spec(*this);
57
 
  }
 
49
  Key_part_spec *clone(MEM_ROOT *mem_root) const
 
50
  { return new (mem_root) Key_part_spec(*this); }
58
51
};
59
52
 
60
 
} /* namespace drizzled */
61
 
 
62
53
#endif /* DRIZZLED_KEY_PART_SPEC_H */