diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2003-07-02 00:10:47 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2003-07-02 00:10:47 +0300 |
commit | 12d879c912543fffa77cecfda799bc20ddd35df5 (patch) | |
tree | 351c9ea12859860f3bf1ad0503470728a4a3de54 /sql | |
parent | 0a23db44911e9e13a3b36bec11b68cfa7a922505 (diff) | |
download | mariadb-git-12d879c912543fffa77cecfda799bc20ddd35df5.tar.gz |
Lot's of clean-ups and fixes for 4.0.14.
include/my_global.h:
CONFIG_SMP
mysql-test/r/grant.result:
Test cases for bug fixes
mysql-test/r/insert_select.result:
Test cases for bug fixes
mysql-test/r/union.result:
Test cases for bug fixes
mysql-test/t/grant.test:
Test cases for bug fixes
mysql-test/t/insert_select.test:
Test cases for bug fixes
mysql-test/t/union.test:
Test cases for bug fixes
sql/sql_acl.cc:
Fix for granting global privileges on db level
sql/sql_parse.cc:
Fix for INSERT... SELECT
sql/sql_select.cc:
removing a fix
sql/sql_union.cc:
P
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_acl.cc | 2 | ||||
-rw-r--r-- | sql/sql_parse.cc | 10 | ||||
-rw-r--r-- | sql/sql_select.cc | 6 | ||||
-rw-r--r-- | sql/sql_union.cc | 3 |
4 files changed, 10 insertions, 11 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 3e9abc0410d..90497cc8b43 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -2325,7 +2325,7 @@ int mysql_grant (THD *thd, const char *db, List <LEX_USER> &list, } else { - net_printf(&thd->net,ER_WRONG_USAGE,"DB GRANT","GLOBAL PRIVILEGEY"); + net_printf(&thd->net,ER_WRONG_USAGE,"DB GRANT","GLOBAL PRIVILEGES"); result= -1; } } diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 4570576afef..1ac4120187b 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3386,14 +3386,18 @@ TABLE_LIST *add_table_to_list(Table_ident *table, LEX_STRING *alias, tables ; tables=tables->next) { - if (!strcmp(alias_str,tables->alias) && !strcmp(ptr->db, tables->db)) + if (ptr->db_length == tables->db_length && !memcmp(ptr->db, tables->db, ptr->db_length)) { if ((thd->lex.sql_command & (SQLCOM_INSERT_SELECT | SQLCOM_REPLACE_SELECT)) && (tables->lock_type & (TL_WRITE_CONCURRENT_INSERT | TL_WRITE_LOW_PRIORITY | TL_WRITE_DELAYED | TL_WRITE))) - thd->lex.select->options |= OPTION_BUFFER_RESULT; - else + { + if (ptr->real_name_length == tables->real_name_length && + !memcmp(ptr->real_name, tables->real_name,ptr->real_name_length)) + thd->lex.select->options |= OPTION_BUFFER_RESULT; + } + else if (!strcmp(alias_str,tables->alias)) { net_printf(&thd->net,ER_NONUNIQ_TABLE,alias_str); /* purecov: tested */ DBUG_RETURN(0); /* purecov: tested */ diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 6c2d06051d4..eb29946a3d7 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -974,11 +974,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds, thd->select_limit)) { if (!join.join_tab[join.const_tables].select->quick) - error= return_zero_rows(&join, result, tables, fields, - 0, select_options, - "Impossible WHERE noticed after reading const tables", - having,procedure); - goto err; + goto err; } } join.having=having; // Actually a parameter diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 407bf64d628..bd7bc7027d3 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -33,7 +33,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) TABLE *table; int describe=(lex->select_lex.options & SELECT_DESCRIBE) ? 1 : 0; int res; - bool found_rows_for_union= 0; + bool found_rows_for_union= lex->select_lex.options & OPTION_FOUND_ROWS; TABLE_LIST result_table_list; TABLE_LIST *first_table=(TABLE_LIST *)lex->select_lex.table_list.first; TMP_TABLE_PARAM tmp_table_param; @@ -63,7 +63,6 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) */ lex_sl= sl; order= (ORDER *) lex_sl->order_list.first; - found_rows_for_union = lex->select_lex.options & OPTION_FOUND_ROWS && sl->select_limit; // This is done to eliminate unnecessary slowing down of the first query if (!order || !describe) last_sl->next=0; // Remove this extra element |