Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
cb55497b
Commit
cb55497b
authored
Sep 13, 2005
by
jani@a193-229-222-105.elisa-laajakaista.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
parents
9f573f0a
01ce8a8a
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
99 additions
and
28 deletions
+99
-28
client/mysqltest.c
client/mysqltest.c
+2
-1
mysql-test/r/create.result
mysql-test/r/create.result
+25
-0
mysql-test/r/innodb.result
mysql-test/r/innodb.result
+11
-0
mysql-test/r/temp_table.result
mysql-test/r/temp_table.result
+2
-0
mysql-test/r/warnings.result
mysql-test/r/warnings.result
+3
-1
mysql-test/t/create.test
mysql-test/t/create.test
+12
-0
mysql-test/t/innodb.test
mysql-test/t/innodb.test
+10
-0
sql/filesort.cc
sql/filesort.cc
+1
-1
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+7
-6
sql/sql_db.cc
sql/sql_db.cc
+5
-1
sql/sql_select.cc
sql/sql_select.cc
+6
-6
sql/sql_table.cc
sql/sql_table.cc
+15
-12
No files found.
client/mysqltest.c
View file @
cb55497b
...
@@ -2382,7 +2382,8 @@ int read_line(char *buf, int size)
...
@@ -2382,7 +2382,8 @@ int read_line(char *buf, int size)
if
(
feof
(
cur_file
->
file
))
if
(
feof
(
cur_file
->
file
))
{
{
found_eof:
found_eof:
if
(
cur_file
->
file
!=
stdin
){
if
(
cur_file
->
file
!=
stdin
)
{
my_fclose
(
cur_file
->
file
,
MYF
(
0
));
my_fclose
(
cur_file
->
file
,
MYF
(
0
));
cur_file
->
file
=
0
;
cur_file
->
file
=
0
;
}
}
...
...
mysql-test/r/create.result
View file @
cb55497b
...
@@ -9,6 +9,8 @@ NULL
...
@@ -9,6 +9,8 @@ NULL
drop table if exists t1;
drop table if exists t1;
create table t1 (b char(0) not null);
create table t1 (b char(0) not null);
create table if not exists t1 (b char(0) not null);
create table if not exists t1 (b char(0) not null);
Warnings:
Note 1050 Table 't1' already exists
insert into t1 values (""),(null);
insert into t1 values (""),(null);
Warnings:
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
...
@@ -244,9 +246,13 @@ create table t1 select x'4132';
...
@@ -244,9 +246,13 @@ create table t1 select x'4132';
drop table t1;
drop table t1;
create table t1 select 1,2,3;
create table t1 select 1,2,3;
create table if not exists t1 select 1,2;
create table if not exists t1 select 1,2;
Warnings:
Note 1050 Table 't1' already exists
create table if not exists t1 select 1,2,3,4;
create table if not exists t1 select 1,2,3,4;
ERROR 21S01: Column count doesn't match value count at row 1
ERROR 21S01: Column count doesn't match value count at row 1
create table if not exists t1 select 1;
create table if not exists t1 select 1;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
select * from t1;
1 2 3
1 2 3
1 2 3
1 2 3
...
@@ -255,9 +261,13 @@ select * from t1;
...
@@ -255,9 +261,13 @@ select * from t1;
drop table t1;
drop table t1;
create table t1 select 1,2,3;
create table t1 select 1,2,3;
create table if not exists t1 select 1,2;
create table if not exists t1 select 1,2;
Warnings:
Note 1050 Table 't1' already exists
create table if not exists t1 select 1,2,3,4;
create table if not exists t1 select 1,2,3,4;
ERROR 21S01: Column count doesn't match value count at row 1
ERROR 21S01: Column count doesn't match value count at row 1
create table if not exists t1 select 1;
create table if not exists t1 select 1;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
select * from t1;
1 2 3
1 2 3
1 2 3
1 2 3
...
@@ -269,6 +279,7 @@ insert into t1 values (1,1);
...
@@ -269,6 +279,7 @@ insert into t1 values (1,1);
create table if not exists t1 select 2;
create table if not exists t1 select 2;
Warnings:
Warnings:
Warning 1364 Field 'a' doesn't have a default value
Warning 1364 Field 'a' doesn't have a default value
Note 1050 Table 't1' already exists
select * from t1;
select * from t1;
a b
a b
1 1
1 1
...
@@ -276,6 +287,7 @@ a b
...
@@ -276,6 +287,7 @@ a b
create table if not exists t1 select 3 as 'a',4 as 'b';
create table if not exists t1 select 3 as 'a',4 as 'b';
Warnings:
Warnings:
Warning 1364 Field 'a' doesn't have a default value
Warning 1364 Field 'a' doesn't have a default value
Note 1050 Table 't1' already exists
create table if not exists t1 select 3 as 'a',3 as 'b';
create table if not exists t1 select 3 as 'a',3 as 'b';
ERROR 23000: Duplicate entry '3' for key 1
ERROR 23000: Duplicate entry '3' for key 1
select * from t1;
select * from t1;
...
@@ -609,6 +621,19 @@ create table test.t1 like x;
...
@@ -609,6 +621,19 @@ create table test.t1 like x;
ERROR 42000: Incorrect database name 'NULL'
ERROR 42000: Incorrect database name 'NULL'
drop table if exists test.t1;
drop table if exists test.t1;
create database mysqltest;
create database mysqltest;
create database if not exists mysqltest character set latin2;
Warnings:
Note 1007 Can't create database 'mysqltest'; database exists
show create database mysqltest;
Database Create Database
mysqltest CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
drop database mysqltest;
use test;
create table t1 (a int);
create table if not exists t1 (a int);
Warnings:
Note 1050 Table 't1' already exists
drop table t1;
use mysqltest;
use mysqltest;
create view v1 as select 'foo' from dual;
create view v1 as select 'foo' from dual;
create table t1 like v1;
create table t1 like v1;
...
...
mysql-test/r/innodb.result
View file @
cb55497b
...
@@ -1719,6 +1719,17 @@ select * from t1;
...
@@ -1719,6 +1719,17 @@ select * from t1;
a
a
42
42
drop table t1;
drop table t1;
create table t1 (a int not null, b int not null, c blob not null, d int not null, e int, primary key (a,b,c(255),d)) engine=innodb;
insert into t1 values (2,2,"b",2,2),(1,1,"a",1,1),(3,3,"ab",3,3);
select * from t1 order by a,b,c,d;
a b c d e
1 1 a 1 1
2 2 b 2 2
3 3 ab 3 3
explain select * from t1 order by a,b,c,d;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
drop table t1;
create table t1 (x bigint unsigned not null primary key) engine=innodb;
create table t1 (x bigint unsigned not null primary key) engine=innodb;
insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);
insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);
select * from t1;
select * from t1;
...
...
mysql-test/r/temp_table.result
View file @
cb55497b
...
@@ -23,6 +23,8 @@ a b
...
@@ -23,6 +23,8 @@ a b
6 g
6 g
create TEMPORARY TABLE t2 engine=heap select * from t1;
create TEMPORARY TABLE t2 engine=heap select * from t1;
create TEMPORARY TABLE IF NOT EXISTS t2 (a int) engine=heap;
create TEMPORARY TABLE IF NOT EXISTS t2 (a int) engine=heap;
Warnings:
Note 1050 Table 't2' already exists
CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null);
CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null);
ERROR 42S01: Table 't1' already exists
ERROR 42S01: Table 't1' already exists
ALTER TABLE t1 RENAME t2;
ALTER TABLE t1 RENAME t2;
...
...
mysql-test/r/warnings.result
View file @
cb55497b
...
@@ -63,9 +63,11 @@ show count(*) warnings;
...
@@ -63,9 +63,11 @@ show count(*) warnings;
1
1
create table t1(id int);
create table t1(id int);
create table if not exists t1(id int);
create table if not exists t1(id int);
Warnings:
Note 1050 Table 't1' already exists
select @@warning_count;
select @@warning_count;
@@warning_count
@@warning_count
0
1
drop table t1;
drop table t1;
create table t1(a tinyint, b int not null, c date, d char(5));
create table t1(a tinyint, b int not null, c date, d char(5));
load data infile '../../std_data/warnings_loaddata.dat' into table t1 fields terminated by ',';
load data infile '../../std_data/warnings_loaddata.dat' into table t1 fields terminated by ',';
...
...
mysql-test/t/create.test
View file @
cb55497b
...
@@ -533,4 +533,16 @@ create view v1 as select 'foo' from dual;
...
@@ -533,4 +533,16 @@ create view v1 as select 'foo' from dual;
create
table
t1
like
v1
;
create
table
t1
like
v1
;
drop
view
v1
;
drop
view
v1
;
drop
database
mysqltest
;
drop
database
mysqltest
;
# Bug #6008 MySQL does not create warnings when
# creating database and using IF NOT EXISTS
#
create
database
mysqltest
;
create
database
if
not
exists
mysqltest
character
set
latin2
;
show
create
database
mysqltest
;
drop
database
mysqltest
;
use
test
;
create
table
t1
(
a
int
);
create
table
if
not
exists
t1
(
a
int
);
drop
table
t1
;
# End of 4.1 tests
# End of 4.1 tests
mysql-test/t/innodb.test
View file @
cb55497b
...
@@ -1249,6 +1249,16 @@ insert into t1 values (42);
...
@@ -1249,6 +1249,16 @@ insert into t1 values (42);
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# Bug #13025 Server crash during filesort
#
create
table
t1
(
a
int
not
null
,
b
int
not
null
,
c
blob
not
null
,
d
int
not
null
,
e
int
,
primary
key
(
a
,
b
,
c
(
255
),
d
))
engine
=
innodb
;
insert
into
t1
values
(
2
,
2
,
"b"
,
2
,
2
),(
1
,
1
,
"a"
,
1
,
1
),(
3
,
3
,
"ab"
,
3
,
3
);
select
*
from
t1
order
by
a
,
b
,
c
,
d
;
explain
select
*
from
t1
order
by
a
,
b
,
c
,
d
;
drop
table
t1
;
# End of 4.1 tests
# End of 4.1 tests
#
#
...
...
sql/filesort.cc
View file @
cb55497b
...
@@ -466,7 +466,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select,
...
@@ -466,7 +466,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select,
my_store_ptr
(
ref_pos
,
ref_length
,
record
);
// Position to row
my_store_ptr
(
ref_pos
,
ref_length
,
record
);
// Position to row
record
+=
sort_form
->
s
->
db_record_offset
;
record
+=
sort_form
->
s
->
db_record_offset
;
}
}
else
else
if
(
!
error
)
file
->
position
(
sort_form
->
record
[
0
]);
file
->
position
(
sort_form
->
record
[
0
]);
}
}
if
(
error
&&
error
!=
HA_ERR_RECORD_DELETED
)
if
(
error
&&
error
!=
HA_ERR_RECORD_DELETED
)
...
...
sql/item_cmpfunc.cc
View file @
cb55497b
...
@@ -1017,8 +1017,8 @@ longlong Item_func_interval::val_int()
...
@@ -1017,8 +1017,8 @@ longlong Item_func_interval::val_int()
1 got error
1 got error
*/
*/
bool
bool
Item_func_between
::
fix_fields
(
THD
*
thd
,
struct
st_table_list
*
tables
,
Item_func_between
::
fix_fields
(
THD
*
thd
,
Item
**
ref
)
Item
**
ref
)
{
{
if
(
Item_func_opt_neg
::
fix_fields
(
thd
,
ref
))
if
(
Item_func_opt_neg
::
fix_fields
(
thd
,
ref
))
return
1
;
return
1
;
...
@@ -1028,8 +1028,9 @@ Item_func_between::fix_fields(THD *thd, Item **ref)
...
@@ -1028,8 +1028,9 @@ Item_func_between::fix_fields(THD *thd, Item **ref)
return
0
;
return
0
;
/* not_null_tables_cache == union(T1(e), intersection(T1(e1),T1(e2))) */
/* not_null_tables_cache == union(T1(e), intersection(T1(e1),T1(e2))) */
not_null_tables_cache
=
args
[
0
]
->
not_null_tables
()
|
not_null_tables_cache
=
(
args
[
0
]
->
not_null_tables
()
|
(
args
[
1
]
->
not_null_tables
()
&
args
[
2
]
->
not_null_tables
());
(
args
[
1
]
->
not_null_tables
()
&
args
[
2
]
->
not_null_tables
()));
return
0
;
return
0
;
}
}
...
@@ -1330,8 +1331,8 @@ Item_func_if::fix_fields(THD *thd, Item **ref)
...
@@ -1330,8 +1331,8 @@ Item_func_if::fix_fields(THD *thd, Item **ref)
if
(
Item_func
::
fix_fields
(
thd
,
ref
))
if
(
Item_func
::
fix_fields
(
thd
,
ref
))
return
1
;
return
1
;
not_null_tables_cache
=
(
args
[
1
]
->
not_null_tables
()
not_null_tables_cache
=
(
args
[
1
]
->
not_null_tables
()
&
&
args
[
2
]
->
not_null_tables
());
args
[
2
]
->
not_null_tables
());
return
0
;
return
0
;
}
}
...
...
sql/sql_db.cc
View file @
cb55497b
...
@@ -437,7 +437,11 @@ bool mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
...
@@ -437,7 +437,11 @@ bool mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
error
=
-
1
;
error
=
-
1
;
goto
exit
;
goto
exit
;
}
}
result
=
0
;
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_NOTE
,
ER_DB_CREATE_EXISTS
,
ER
(
ER_DB_CREATE_EXISTS
),
db
);
error
=
0
;
send_ok
(
thd
);
goto
exit
;
}
}
else
else
{
{
...
...
sql/sql_select.cc
View file @
cb55497b
...
@@ -13073,12 +13073,12 @@ static bool change_group_ref(THD *thd, Item_func *expr, ORDER *group_list,
...
@@ -13073,12 +13073,12 @@ static bool change_group_ref(THD *thd, Item_func *expr, ORDER *group_list,
{
{
Name_resolution_context
*
context
=
&
thd
->
lex
->
current_select
->
context
;
Name_resolution_context
*
context
=
&
thd
->
lex
->
current_select
->
context
;
Item
**
arg
,
**
arg_end
;
Item
**
arg
,
**
arg_end
;
bool
arg_changed
=
FALSE
;
for
(
arg
=
expr
->
arguments
(),
for
(
arg
=
expr
->
arguments
(),
arg_end
=
expr
->
arguments
()
+
expr
->
arg_count
;
arg_end
=
expr
->
arguments
()
+
expr
->
arg_count
;
arg
!=
arg_end
;
arg
++
)
arg
!=
arg_end
;
arg
++
)
{
{
Item
*
item
=
*
arg
;
Item
*
item
=
*
arg
;
bool
arg_changed
=
FALSE
;
if
(
item
->
type
()
==
Item
::
FIELD_ITEM
||
item
->
type
()
==
Item
::
REF_ITEM
)
if
(
item
->
type
()
==
Item
::
FIELD_ITEM
||
item
->
type
()
==
Item
::
REF_ITEM
)
{
{
ORDER
*
group_tmp
;
ORDER
*
group_tmp
;
...
@@ -13100,13 +13100,13 @@ static bool change_group_ref(THD *thd, Item_func *expr, ORDER *group_list,
...
@@ -13100,13 +13100,13 @@ static bool change_group_ref(THD *thd, Item_func *expr, ORDER *group_list,
if
(
change_group_ref
(
thd
,
(
Item_func
*
)
item
,
group_list
,
&
arg_changed
))
if
(
change_group_ref
(
thd
,
(
Item_func
*
)
item
,
group_list
,
&
arg_changed
))
return
1
;
return
1
;
}
}
}
if
(
arg_changed
)
if
(
arg_changed
)
{
{
expr
->
maybe_null
=
1
;
expr
->
maybe_null
=
1
;
*
changed
=
TRUE
;
*
changed
=
TRUE
;
}
}
}
}
}
return
0
;
return
0
;
}
}
...
...
sql/sql_table.cc
View file @
cb55497b
...
@@ -1562,6 +1562,9 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
...
@@ -1562,6 +1562,9 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
if
(
create_info
->
options
&
HA_LEX_CREATE_IF_NOT_EXISTS
)
if
(
create_info
->
options
&
HA_LEX_CREATE_IF_NOT_EXISTS
)
{
{
create_info
->
table_existed
=
1
;
// Mark that table existed
create_info
->
table_existed
=
1
;
// Mark that table existed
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_NOTE
,
ER_TABLE_EXISTS_ERROR
,
ER
(
ER_TABLE_EXISTS_ERROR
),
alias
);
DBUG_RETURN
(
FALSE
);
DBUG_RETURN
(
FALSE
);
}
}
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
alias
);
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
alias
);
...
@@ -1575,12 +1578,8 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
...
@@ -1575,12 +1578,8 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
if
(
!
access
(
path
,
F_OK
))
if
(
!
access
(
path
,
F_OK
))
{
{
if
(
create_info
->
options
&
HA_LEX_CREATE_IF_NOT_EXISTS
)
if
(
create_info
->
options
&
HA_LEX_CREATE_IF_NOT_EXISTS
)
{
goto
warn
;
create_info
->
table_existed
=
1
;
// Mark that table existed
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
table_name
);
error
=
FALSE
;
}
else
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
table_name
);
goto
end
;
goto
end
;
}
}
}
}
...
@@ -1603,12 +1602,8 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
...
@@ -1603,12 +1602,8 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
DBUG_PRINT
(
"info"
,
(
"Table with same name already existed in handler"
));
DBUG_PRINT
(
"info"
,
(
"Table with same name already existed in handler"
));
if
(
create_if_not_exists
)
if
(
create_if_not_exists
)
{
goto
warn
;
create_info
->
table_existed
=
1
;
// Mark that table existed
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
table_name
);
error
=
FALSE
;
}
else
my_error
(
ER_TABLE_EXISTS_ERROR
,
MYF
(
0
),
table_name
);
goto
end
;
goto
end
;
}
}
}
}
...
@@ -1641,6 +1636,14 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
...
@@ -1641,6 +1636,14 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
mysql_bin_log
.
write
(
&
qinfo
);
mysql_bin_log
.
write
(
&
qinfo
);
}
}
error
=
FALSE
;
error
=
FALSE
;
goto
end
;
warn:
error
=
0
;
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_NOTE
,
ER_TABLE_EXISTS_ERROR
,
ER
(
ER_TABLE_EXISTS_ERROR
),
alias
);
create_info
->
table_existed
=
1
;
// Mark that table existed
end:
end:
VOID
(
pthread_mutex_unlock
(
&
LOCK_open
));
VOID
(
pthread_mutex_unlock
(
&
LOCK_open
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment