~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/default_value.cc

  • Committer: Brian Aker
  • Date: 2009-10-07 16:55:53 UTC
  • mfrom: (1161.2.1 bug444827)
  • Revision ID: brian@gaz-20091007165553-9tnp7liw1k9g6gvc
Merge Padraig

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
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>
22
21
#include <drizzled/error.h>
23
22
#include <drizzled/name_resolution_context.h>
24
23
#include <drizzled/table.h>
25
24
#include <drizzled/session.h>
 
25
#include <drizzled/current_session.h>
26
26
#include <drizzled/item/default_value.h>
27
27
 
28
 
namespace drizzled
29
 
{
30
 
 
31
28
bool Item_default_value::eq(const Item *item, bool binary_cmp) const
32
29
{
33
30
  return item->type() == DEFAULT_VALUE_ITEM &&
64
61
    my_error(ER_NO_DEFAULT_FOR_FIELD, MYF(0), field_arg->field->field_name);
65
62
    goto error;
66
63
  }
67
 
  if (!(def_field= (Field*) memory::sql_alloc(field_arg->field->size_of())))
 
64
  if (!(def_field= (Field*) sql_alloc(field_arg->field->size_of())))
68
65
    goto error;
69
66
  memcpy(def_field, field_arg->field, field_arg->field->size_of());
70
 
  def_field->move_field_offset((ptrdiff_t)
71
 
                               (def_field->getTable()->getDefaultValues() - def_field->getTable()->record[0]));
 
67
  def_field->move_field_offset((my_ptrdiff_t)
 
68
                               (def_field->table->s->default_values -
 
69
                                def_field->table->record[0]));
72
70
  set_field(def_field);
73
71
  return false;
74
72
 
105
103
      }
106
104
 
107
105
      {
108
 
        push_warning_printf(field_arg->getTable()->in_use,
 
106
        push_warning_printf(field_arg->table->in_use,
109
107
                            DRIZZLE_ERROR::WARN_LEVEL_WARN,
110
108
                            ER_NO_DEFAULT_FOR_FIELD,
111
109
                            ER(ER_NO_DEFAULT_FOR_FIELD),
138
136
    change records at each execution.
139
137
  */
140
138
  if (arg != new_item)
141
 
    getSession().change_item_tree(&arg, new_item);
142
 
 
 
139
    current_session->change_item_tree(&arg, new_item);
143
140
  return (this->*transformer)(args);
144
141
}
145
 
 
146
 
 
147
 
} /* namespace drizzled */