summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorserg@serg.mylan <>2004-06-26 14:21:32 +0200
committerserg@serg.mylan <>2004-06-26 14:21:32 +0200
commit450e5b0119871375b1d1c258bef61735edb8f822 (patch)
treeb347e9d8239a7545f7e1124189aa2de1238fbcb0 /sql
parentd2adc38cb627825baa29052d5cf231bdaa182877 (diff)
downloadmariadb-git-450e5b0119871375b1d1c258bef61735edb8f822.tar.gz
after merge fixed
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_berkeley.cc6
-rw-r--r--sql/sql_select.cc7
-rw-r--r--sql/sql_yacc.yy9
3 files changed, 8 insertions, 14 deletions
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index ecdf4c60d3e..4bed33af15b 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -1583,18 +1583,12 @@ int ha_berkeley::index_last(byte * buf)
int ha_berkeley::rnd_init(bool scan)
{
DBUG_ENTER("rnd_init");
-#ifdef NOT_YET
- DBUG_ASSERT(active_index == MAX_KEY);
-#endif
current_row.flags=DB_DBT_REALLOC;
DBUG_RETURN(index_init(primary_key));
}
int ha_berkeley::rnd_end()
{
-#ifdef NOT_YET
- DBUG_ASSERT(active_index == MAX_KEY);
-#endif
return index_end();
}
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 26ee225262b..2f8ede4b4cb 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2278,12 +2278,13 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
case Item_func::OPTIMIZE_NONE:
break;
case Item_func::OPTIMIZE_KEY:
- // BETWEEN or IN
+ // BETWEEN, IN, NOT
if (cond_func->key_item()->real_item()->type() == Item::FIELD_ITEM &&
!(cond_func->used_tables() & OUTER_REF_TABLE_BIT))
add_key_field(key_fields,*and_level,cond_func,
- ((Item_field*) (cond_func->key_item()->real_item()))->
- field, cond_func->argument_count() == 2,
+ ((Item_field*)(cond_func->key_item()->real_item()))->field,
+ cond_func->argument_count() == 2 &&
+ cond_func->functype() == Item_func::IN_FUNC,
cond_func->arguments()+1, cond_func->argument_count()-1,
usable_tables);
break;
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 6e88247bf32..c971abedfca 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -602,7 +602,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
opt_table_alias
%type <table>
- table_ident table_ident_ref references
+ table_ident table_ident_nodb references
%type <simple_string>
remember_name remember_end opt_ident opt_db text_or_password
@@ -4874,9 +4874,8 @@ table_ident:
| '.' ident { $$=new Table_ident($2);} /* For Delphi */
;
-table_ident_ref:
+table_ident_nodb:
ident { LEX_STRING db={(char*) any_db,3}; $$=new Table_ident(YYTHD, db,$1,0); }
- | ident '.' ident { $$=new Table_ident(YYTHD, $1,$3,0);}
;
IDENT_sys:
@@ -5410,14 +5409,14 @@ handler:
if (!lex->current_select->add_table_to_list(lex->thd, $2, $4, 0))
YYABORT;
}
- | HANDLER_SYM table_ident_ref CLOSE_SYM
+ | HANDLER_SYM table_ident_nodb CLOSE_SYM
{
LEX *lex= Lex;
lex->sql_command = SQLCOM_HA_CLOSE;
if (!lex->current_select->add_table_to_list(lex->thd, $2, 0, 0))
YYABORT;
}
- | HANDLER_SYM table_ident_ref READ_SYM
+ | HANDLER_SYM table_ident_nodb READ_SYM
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_HA_READ;