00001 /* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*- 00002 * vim:expandtab:shiftwidth=2:tabstop=2:smarttab: 00003 * 00004 * Copyright (C) 2008 Sun Microsystems, Inc. 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; version 2 of the License. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00018 */ 00019 00020 #pragma once 00021 00022 #include <drizzled/item.h> 00023 00024 namespace drizzled 00025 { 00026 00027 class Item_basic_constant :public Item 00028 { 00029 public: 00030 Item_basic_constant() : 00031 Item() 00032 { 00033 } 00034 00035 /* to prevent drop fixed flag (no need parent cleanup call) */ 00036 void cleanup() 00037 { 00038 /* 00039 Restore the original field name as it might not have been allocated 00040 in the statement memory. If the name is auto generated, it must be 00041 done again between subsequent executions of a prepared statement. 00042 */ 00043 if (orig_name) 00044 name= orig_name; 00045 } 00046 }; 00047 00048 } /* namespace drizzled */ 00049