My Project
sql_tmp_table.h
Go to the documentation of this file.
00001 #ifndef SQL_TMP_TABLE_INCLUDED
00002 #define SQL_TMP_TABLE_INCLUDED
00003 
00004 /* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
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 
00027 #include "sql_list.h"
00028 #include "sql_class.h"
00029 #include "my_base.h"
00030 #include "field.h"
00031 #include "item.h"
00032 
00033 class SJ_TMP_TABLE;
00034 struct TABLE;
00035 class THD;
00036 class TMP_TABLE_PARAM;
00037 typedef struct st_order ORDER;
00038 typedef struct st_columndef MI_COLUMNDEF;
00039 
00040 TABLE *
00041 create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
00042                  ORDER *group, bool distinct, bool save_sum_fields,
00043                  ulonglong select_options, ha_rows rows_limit,
00044                  const char *table_alias);
00053 TABLE *create_virtual_tmp_table(THD *thd, List<Create_field> &field_list);
00054 bool create_myisam_from_heap(THD *thd, TABLE *table,
00055                              MI_COLUMNDEF *start_recinfo,
00056                              MI_COLUMNDEF **recinfo, 
00057                              int error, bool ignore_last_dup,
00058                              bool *is_duplicate);
00059 void free_tmp_table(THD *thd, TABLE *entry);
00060 TABLE *create_duplicate_weedout_tmp_table(THD *thd, 
00061                                           uint uniq_tuple_length_arg,
00062                                           SJ_TMP_TABLE *sjtbl);
00063 bool instantiate_tmp_table(TABLE *table, KEY *keyinfo,
00064                            MI_COLUMNDEF *start_recinfo,
00065                            MI_COLUMNDEF **recinfo,
00066                            ulonglong options, my_bool big_tables,
00067                            Opt_trace_context *trace);
00068 Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type,
00069                         Item ***copy_func, Field **from_field,
00070                         Field **default_field,
00071                         bool group, bool modify_item,
00072                         bool table_cant_handle_bit_fields,
00073                         bool make_copy_field);
00074 Field* create_tmp_field_from_field(THD *thd, Field* org_field,
00075                                    const char *name, TABLE *table,
00076                                    Item_field *item);
00077 
00078 
00079 #endif /* SQL_TMP_TABLE_INCLUDED */
00080 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines