~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/natural_join_column.cc

  • Committer: Brian Aker
  • Date: 2008-10-06 06:47:29 UTC
  • Revision ID: brian@tangent.org-20081006064729-2i9mhjkzyvow9xsm
RemoveĀ uint.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems
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
 
#include "config.h"
 
1
#include <drizzled/server_includes.h>
21
2
#include <drizzled/natural_join_column.h>
22
 
#include <drizzled/table_list.h>
23
 
#include <drizzled/session.h>
24
3
 
25
 
namespace drizzled
 
4
Natural_join_column::Natural_join_column(Field_translator *field_param __attribute__((unused)), TableList *tab)
26
5
{
 
6
  assert(tab->field_translation);
 
7
  table_field= NULL;
 
8
  table_ref= tab;
 
9
  is_common= false;
 
10
}
 
11
 
27
12
 
28
13
Natural_join_column::Natural_join_column(Field *field_param,
29
14
                                         TableList *tab)
41
26
}
42
27
 
43
28
 
44
 
Item *Natural_join_column::create_item(Session *session)
 
29
Item *Natural_join_column::create_item(THD *thd)
45
30
{
46
 
  return new Item_field(session, &session->lex->current_select->context, table_field);
 
31
  return new Item_field(thd, &thd->lex->current_select->context, table_field);
47
32
}
48
33
 
49
34
 
63
48
const char *Natural_join_column::db_name()
64
49
{
65
50
  /*
66
 
    Test that TableList::db is the same as TableShare::db to
67
 
    ensure consistency. 
 
51
    Test that TableList::db is the same as st_table_share::db to
 
52
    ensure consistency. An exception are I_S schema tables, which
 
53
    are inconsistent in this respect.
68
54
  */
69
55
  assert(!strcmp(table_ref->db,
70
 
                 table_ref->table->s->getSchemaName()));
 
56
                      table_ref->table->s->db.str) ||
 
57
              (table_ref->schema_table &&
 
58
               table_ref->table->s->db.str[0] == 0));
71
59
  return table_ref->db;
72
60
}
73
 
 
74
 
} /* namespace drizzled */