diff options
author | unknown <monty@mysql.com> | 2003-11-28 12:18:13 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2003-11-28 12:18:13 +0200 |
commit | 76bf7d2224287b40ecfd2bac62b2dd45561affb1 (patch) | |
tree | e5a58d3f07e9cca109d78031822106ff2be7f6f8 /sql/sql_derived.cc | |
parent | 292cb97e964f95498396555d27bee1ef707b8797 (diff) | |
download | mariadb-git-76bf7d2224287b40ecfd2bac62b2dd45561affb1.tar.gz |
Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
Docs/mysqld_error.txt:
Updated error messages
Makefile.am:
Added missing SSL library (Should be in source distribution)
configure.in:
Added missing SSL library
include/sql_common.h:
Move duplicated prototypes
innobase/os/os0file.c:
Added comment for line that could be removed
innobase/srv/srv0srv.c:
Added comment for line that could be removed
innobase/srv/srv0start.c:
Added comment for line that could be removed
innobase/trx/trx0sys.c:
Added cast to remove compiler warning
isam/isamchk.c:
Fixed compiler warning
libmysql/conf_to_src.c:
Include files in proper order
myisam/mi_check.c:
Removed else part that caused compiler warning
myisam/mi_delete.c:
Added cast
myisam/mi_page.c:
Added cast
myisam/mi_preload.c:
Added cast
myisam/mi_write.c:
Added cast
myisam/myisampack.c:
changed 'byte' to 'current_byte' to avoid compiler warnings
mysql-test/mysql-test-run.sh:
Removed start-from as test '<' is not portable and this can easily be done from command line
mysys/hash.c:
Added cast
mysys/mf_wcomp.c:
Removed not reached line
mysys/my_append.c:
Fixed include file order to get this more portable
mysys/my_copy.c:
Fixed include file order to get this more portable
mysys/my_redel.c:
Fixed include file order to get this more portable
sql-common/client.c:
More DBUG_PRINT
sql-common/pack.c:
Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed
sql/ha_heap.cc:
Changed variable names to not cause hidden variables
sql/ha_innodb.cc:
Changed variable names to not cause hidden variables
sql/item.cc:
Changed variable names to not cause hidden variables
sql/item.h:
Changed variable names to not cause hidden variables
sql/item_cmpfunc.h:
Changed variable names to not cause hidden variables
sql/item_func.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.h:
Changed variable names to not cause hidden variables
sql/item_sum.cc:
Changed variable names to not cause hidden variables
sql/item_timefunc.cc:
Changed variable names to not cause hidden variables
sql/log.cc:
Changed variable names to not cause hidden variables
sql/protocol.cc:
Changed variable names to not cause hidden variables
sql/protocol.h:
Changed variable names to not cause hidden variables
Remove function not declared in protocol.cc
sql/protocol_cursor.cc:
Changed variable names to not cause hidden variables
sql/set_var.cc:
Added a lot of 'version_xxx' strings
Changed 'bdb_version' to 'version_bdb'
sql/sql_class.cc:
Changed variable names to not cause hidden variables
Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times
sql/sql_class.h:
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
sql/sql_derived.cc:
Avoid copying TMP_TABLE_PARAM (Use class version instead)
sql/sql_error.cc:
More DBUG
sql/sql_help.cc:
Fixed compiler warning
sql/sql_lex.cc:
Changed variable names to not cause hidden variables
sql/sql_list.h:
Changed variable names to not cause hidden variables
sql/sql_parse.cc:
Changed variable names to not cause hidden variables
sql/sql_select.cc:
Changed variable names to not cause hidden variables
Ensure that you don't send NULL to printf() for %s
Fixed problem with printing sub selects to debug log
sql/sql_select.h:
Changed variable names to not cause hidden variables
sql/sql_union.cc:
Changed variable names to not cause hidden variables
Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris)
sql/sql_update.cc:
Indentation cleanup
sql/sql_yacc.yy:
Remove warning
strings/conf_to_src.c:
Fixed include file order
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r-- | sql/sql_derived.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index 20a1f7f0124..8e6f5b27ab0 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -67,7 +67,6 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, int res; select_union *derived_result; TABLE_LIST *tables= (TABLE_LIST *)first_select->table_list.first; - TMP_TABLE_PARAM tmp_table_param; bool is_union= first_select->next_select() && first_select->next_select()->linkage == UNION_TYPE; bool is_subsel= first_select->first_inner_unit() ? 1: 0; @@ -111,7 +110,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, fix_tables_pointers(unit); } - if(!(derived_result= new select_union(0))) + if (!(derived_result= new select_union(0))) DBUG_RETURN(1); // out of memory // st_select_lex_unit::prepare correctly work for single select @@ -128,13 +127,14 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, cursor->table->clear_query_id= 1; } - bzero((char*) &tmp_table_param,sizeof(tmp_table_param)); - tmp_table_param.field_count= unit->types.elements; + derived_result->tmp_table_param.init(); + derived_result->tmp_table_param.field_count= unit->types.elements; /* Temp table is created so that it hounours if UNION without ALL is to be processed */ - if (!(table= create_tmp_table(thd, &tmp_table_param, unit->types, + if (!(table= create_tmp_table(thd, &derived_result->tmp_table_param, + unit->types, (ORDER*) 0, is_union && !unit->union_option, 1, (first_select->options | thd->options | @@ -146,7 +146,6 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, goto exit; } derived_result->set_table(table); - derived_result->tmp_table_param=tmp_table_param; unit->offset_limit_cnt= first_select->offset_limit; unit->select_limit_cnt= first_select->select_limit+ @@ -206,7 +205,6 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, table->file->info(HA_STATUS_VARIABLE); } } - delete derived_result; if (res) free_tmp_table(thd, table); @@ -218,6 +216,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, } exit: + delete derived_result; lex->current_select= save_current_select; close_thread_tables(thd, 0, 1); } |