mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql.com:/home/pem/work/mysql-4.1
into mysql.com:/home/pem/work/mysql-5.0 mysql-test/r/join_outer.result: Auto merged mysql-test/r/null.result: Auto merged mysql-test/t/null.test: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
This commit is contained in:
@ -14,3 +14,16 @@ drop table t1;
|
||||
create table t1 (a int null);
|
||||
insert into t1 values (1),(NULL);
|
||||
drop table t1;
|
||||
create table t1 (a int null);
|
||||
alter table t1 add constraint constraint_1 unique (a);
|
||||
alter table t1 add constraint unique key_1(a);
|
||||
alter table t1 add constraint constraint_2 unique key_2(a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) default NULL,
|
||||
UNIQUE KEY `constraint_1` (`a`),
|
||||
UNIQUE KEY `key_1` (`a`),
|
||||
UNIQUE KEY `key_2` (`a`)
|
||||
) TYPE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
@ -21,3 +21,9 @@ drop table t1;
|
||||
create table t1 (a int null);
|
||||
insert into t1 values (1),(NULL);
|
||||
drop table t1;
|
||||
create table t1 (a int null);
|
||||
alter table t1 add constraint constraint_1 unique (a);
|
||||
alter table t1 add constraint unique key_1(a);
|
||||
alter table t1 add constraint constraint_2 unique key_2(a);
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
1
mysql-test/t/rpl000001-slave.opt
Normal file
1
mysql-test/t/rpl000001-slave.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb
|
@ -599,8 +599,7 @@ int Item_param::save_in_field(Field *field, bool no_conversions)
|
||||
{
|
||||
THD *thd= current_thd;
|
||||
|
||||
if (thd->command == COM_PREPARE)
|
||||
return -1;
|
||||
DBUG_ASSERT(thd->command == COM_EXECUTE);
|
||||
|
||||
if (null_value)
|
||||
return (int) set_field_to_null(field);
|
||||
|
@ -672,8 +672,6 @@ static bool mysql_test_select_fields(PREP_STMT *stmt, TABLE_LIST *tables,
|
||||
fix_tables_pointers(thd->lex->all_selects_list);
|
||||
if (!result && !(result= new select_send()))
|
||||
{
|
||||
delete select_lex->having;
|
||||
delete select_lex->where;
|
||||
send_error(thd, ER_OUT_OF_RESOURCES);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
@ -1611,10 +1611,6 @@ mysql_select(THD *thd, Item ***rref_pointer_array,
|
||||
err:
|
||||
if (free_join)
|
||||
{
|
||||
JOIN *curr_join= (join->need_tmp&&join->tmp_join?
|
||||
(join->tmp_join->error=join->error,join->tmp_join):
|
||||
join);
|
||||
|
||||
thd->proc_info="end";
|
||||
err= join->cleanup();
|
||||
if (thd->net.report_error)
|
||||
|
@ -636,7 +636,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
||||
|
||||
%type <simple_string>
|
||||
remember_name remember_end opt_ident opt_db text_or_password
|
||||
opt_escape
|
||||
opt_escape opt_constraint
|
||||
|
||||
%type <string>
|
||||
text_string opt_gconcat_separator
|
||||
@ -670,7 +670,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
||||
ident_list ident_list_arg
|
||||
|
||||
%type <key_type>
|
||||
key_type opt_unique_or_fulltext
|
||||
key_type opt_unique_or_fulltext constraint_key_type
|
||||
|
||||
%type <key_alg>
|
||||
key_alg opt_btree_or_rtree
|
||||
@ -2144,6 +2144,13 @@ key_def:
|
||||
lex->key_list.push_back(new Key($1,$2, $3, lex->col_list));
|
||||
lex->col_list.empty(); /* Alloced by sql_alloc */
|
||||
}
|
||||
| opt_constraint constraint_key_type opt_ident key_alg '(' key_list ')'
|
||||
{
|
||||
LEX *lex=Lex;
|
||||
const char *key_name= $3 ? $3:$1;
|
||||
lex->key_list.push_back(new Key($2, key_name, $4, lex->col_list));
|
||||
lex->col_list.empty(); /* Alloced by sql_alloc */
|
||||
}
|
||||
| opt_constraint FOREIGN KEY_SYM opt_ident '(' key_list ')' references
|
||||
{
|
||||
LEX *lex=Lex;
|
||||
@ -2167,8 +2174,8 @@ check_constraint:
|
||||
;
|
||||
|
||||
opt_constraint:
|
||||
/* empty */
|
||||
| CONSTRAINT opt_ident;
|
||||
/* empty */ { $$=(char*) 0; }
|
||||
| CONSTRAINT opt_ident { $$=$2; };
|
||||
|
||||
field_spec:
|
||||
field_ident
|
||||
@ -2530,14 +2537,16 @@ delete_option:
|
||||
| SET DEFAULT { $$= (int) foreign_key::FK_OPTION_DEFAULT; };
|
||||
|
||||
key_type:
|
||||
opt_constraint PRIMARY_SYM KEY_SYM { $$= Key::PRIMARY; }
|
||||
| key_or_index { $$= Key::MULTIPLE; }
|
||||
key_or_index { $$= Key::MULTIPLE; }
|
||||
| FULLTEXT_SYM { $$= Key::FULLTEXT; }
|
||||
| FULLTEXT_SYM key_or_index { $$= Key::FULLTEXT; }
|
||||
| SPATIAL_SYM { $$= Key::SPATIAL; }
|
||||
| SPATIAL_SYM key_or_index { $$= Key::SPATIAL; }
|
||||
| opt_constraint UNIQUE_SYM { $$= Key::UNIQUE; }
|
||||
| opt_constraint UNIQUE_SYM key_or_index { $$= Key::UNIQUE; };
|
||||
| SPATIAL_SYM key_or_index { $$= Key::SPATIAL; };
|
||||
|
||||
constraint_key_type:
|
||||
PRIMARY_SYM KEY_SYM { $$= Key::PRIMARY; }
|
||||
| UNIQUE_SYM { $$= Key::UNIQUE; }
|
||||
| UNIQUE_SYM key_or_index { $$= Key::UNIQUE; };
|
||||
|
||||
key_or_index:
|
||||
KEY_SYM {}
|
||||
|
Reference in New Issue
Block a user