summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-10-29 22:56:30 +0200
committerunknown <monty@mashka.mysql.fi>2002-10-29 22:56:30 +0200
commit31ba88c0c17e7a3eca365f104e2f129af7f07ee5 (patch)
treeb93d36288a2bf44b78ebae18e00a9062e08a24bd /sql/sql_select.cc
parent3f86502e34fe6bb962e1de7795948c8cb7de4fcc (diff)
downloadmariadb-git-31ba88c0c17e7a3eca365f104e2f129af7f07ee5.tar.gz
Added --skip-safemalloc to mysqltest
Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x Small change in EXCHANGE output Propagate open-files-limit from mysqld_safe -> mysqld Fixed speed bug in GROUP BY Added quotes around database name in CREATE DATABASE db_name (for binary log) BitKeeper/etc/ignore: added stamp-h1 Docs/manual.texi: Added 4.1 manual section Updated changelog client/mysqltest.c: Added --skip-safemalloc include/my_global.h: Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x mysql-test/mysql-test-run.sh: Start mysqltest with --skip-safemalloc (To get it faster) mysql-test/r/bdb.result: Update for new EXPLAIN output mysql-test/r/compare.result: Update for new EXPLAIN output mysql-test/r/create.result: Update for new EXPLAIN output mysql-test/r/distinct.result: Update for new EXPLAIN output mysql-test/r/explain.result: Update for new EXPLAIN output mysql-test/r/group_by.result: Update for new EXPLAIN output mysql-test/r/heap.result: Update for new EXPLAIN output mysql-test/r/innodb.result: Update for new EXPLAIN output mysql-test/r/join_outer.result: Update for new EXPLAIN output mysql-test/r/key_diff.result: Update for new EXPLAIN output mysql-test/r/merge.result: Update for new EXPLAIN output mysql-test/r/null_key.result: Update for new EXPLAIN output mysql-test/r/order_by.result: Update for new EXPLAIN output mysql-test/r/select.result: Update for new EXPLAIN output mysql-test/r/temp_table.result: Fixed speed bug in GROUP BY mysql-test/r/type_datetime.result: Update for new EXPLAIN output mysql-test/r/user_var.result: Update for new EXPLAIN output mysql-test/r/variables.result: Removed variable safe_show_database mysql-test/t/temp_table.test: Fixed speed bug in GROUP BY mysql-test/t/variables.test: Removed not used variable safe_show_databases scripts/mysqld_safe.sh: Propagate open-files-limit from mysqld_safe -> mysqld sql/mysqld.cc: Removed variable safe_show_database sql/set_var.cc: Removed variable safe_show_database sql/slave.cc: Updated error message sql/sql_db.cc: Added quotes around database name in CREATE DATABASE db_name sql/sql_select.cc: Fixed speed bug in GROUP BY
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc48
1 files changed, 12 insertions, 36 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index fc5fe33288f..e9569fb8ec4 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -3708,7 +3708,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
*blob_field= 0; // End marker
/* If result table is small; use a heap */
- if (blob_count || using_unique_constraint || group_null_items ||
+ if (blob_count || using_unique_constraint ||
(select_options & (OPTION_BIG_TABLES | SELECT_SMALL_RESULT)) ==
OPTION_BIG_TABLES)
{
@@ -7193,56 +7193,32 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
{
if (tab->use_quick == 2)
{
- sprintf(buff_ptr,"range checked for each record (index map: %u)",
+ sprintf(buff_ptr,"; Range checked for each record (index map: %u)",
tab->keys);
buff_ptr=strend(buff_ptr);
}
else
- buff_ptr=strmov(buff_ptr,"where used");
+ buff_ptr=strmov(buff_ptr,"; Using where");
}
if (key_read)
- {
- if (buff != buff_ptr)
- {
- buff_ptr[0]=';' ; buff_ptr[1]=' '; buff_ptr+=2;
- }
- buff_ptr=strmov(buff_ptr,"Using index");
- }
+ buff_ptr= strmov(buff_ptr,"; Using index");
if (table->reginfo.not_exists_optimize)
- {
- if (buff != buff_ptr)
- {
- buff_ptr[0]=';' ; buff_ptr[1]=' '; buff_ptr+=2;
- }
- buff_ptr=strmov(buff_ptr,"Not exists");
- }
+ buff_ptr= strmov(buff_ptr,"; Not exists");
if (need_tmp_table)
{
need_tmp_table=0;
- if (buff != buff_ptr)
- {
- buff_ptr[0]=';' ; buff_ptr[1]=' '; buff_ptr+=2;
- }
- buff_ptr=strmov(buff_ptr,"Using temporary");
+ buff_ptr= strmov(buff_ptr,"; Using temporary");
}
if (need_order)
{
need_order=0;
- if (buff != buff_ptr)
- {
- buff_ptr[0]=';' ; buff_ptr[1]=' '; buff_ptr+=2;
- }
- buff_ptr=strmov(buff_ptr,"Using filesort");
- }
- if (distinct & test_all_bits(used_tables,thd->used_tables))
- {
- if (buff != buff_ptr)
- {
- buff_ptr[0]=';' ; buff_ptr[1]=' '; buff_ptr+=2;
- }
- buff_ptr=strmov(buff_ptr,"Distinct");
+ buff_ptr= strmov(buff_ptr,"; Using filesort");
}
- item_list.push_back(new Item_string(buff,(uint) (buff_ptr - buff)));
+ if (distinct && test_all_bits(used_tables,thd->used_tables))
+ buff_ptr= strmov(buff_ptr,"; Distinct");
+ if (buff_ptr == buff)
+ buff_ptr+= 2;
+ item_list.push_back(new Item_string(buff+2,(uint) (buff_ptr - buff)-2));
// For next iteration
used_tables|=table->map;
if (result->send_data(item_list))