mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
Fix that mysql.proc works with new VARCHAR fields Give warnings for wrong zero dates configure.in: Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly mysql-test/r/func_time.result: New warnings mysql-test/r/row.result: Moved code around to get things to work with --ps-protocol Note that one on warning disappered, but it should appear again when bug #9600 is fixed mysql-test/r/strict.result: enabled more tests Added more tests mysql-test/r/union.result: Test that UNION generates correct row format mysql-test/t/row.test: Moved test to get things to work with --ps-protocol mysql-test/t/strict.test: enabled more tests Added more tests mysql-test/t/union.test: Test that UNION generates correct row format sql/item.cc: Removed compiler warning Simple cleanup sql/sp.cc: Fix that mysql.proc works with new VARCHAR fields sql/time.cc: Give warnings for wrong zero dates tests/mysql_client_test.c: More startup information
This commit is contained in:
@ -304,6 +304,8 @@ NULL
|
||||
select date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND);
|
||||
date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00 00:00:00'
|
||||
select date_add('1998-01-30',Interval 1 month);
|
||||
date_add('1998-01-30',Interval 1 month)
|
||||
1998-02-28
|
||||
@ -424,6 +426,9 @@ insert into t1 values ("0000-00-00", "0000-00-00", "0000-00-00", "0000-00-00");
|
||||
select dayofyear("0000-00-00"),dayofyear(d),dayofyear(dt),dayofyear(t),dayofyear(c) from t1;
|
||||
dayofyear("0000-00-00") dayofyear(d) dayofyear(dt) dayofyear(t) dayofyear(c)
|
||||
NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
select dayofmonth("0000-00-00"),dayofmonth(d),dayofmonth(dt),dayofmonth(t),dayofmonth(c) from t1;
|
||||
dayofmonth("0000-00-00") dayofmonth(d) dayofmonth(dt) dayofmonth(t) dayofmonth(c)
|
||||
0 0 0 0 0
|
||||
@ -436,15 +441,24 @@ quarter("0000-00-00") quarter(d) quarter(dt) quarter(t) quarter(c)
|
||||
select week("0000-00-00"),week(d),week(dt),week(t),week(c) from t1;
|
||||
week("0000-00-00") week(d) week(dt) week(t) week(c)
|
||||
NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
select year("0000-00-00"),year(d),year(dt),year(t),year(c) from t1;
|
||||
year("0000-00-00") year(d) year(dt) year(t) year(c)
|
||||
0 0 0 0 0
|
||||
select yearweek("0000-00-00"),yearweek(d),yearweek(dt),yearweek(t),yearweek(c) from t1;
|
||||
yearweek("0000-00-00") yearweek(d) yearweek(dt) yearweek(t) yearweek(c)
|
||||
NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
select to_days("0000-00-00"),to_days(d),to_days(dt),to_days(t),to_days(c) from t1;
|
||||
to_days("0000-00-00") to_days(d) to_days(dt) to_days(t) to_days(c)
|
||||
NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
select extract(MONTH FROM "0000-00-00"),extract(MONTH FROM d),extract(MONTH FROM dt),extract(MONTH FROM t),extract(MONTH FROM c) from t1;
|
||||
extract(MONTH FROM "0000-00-00") extract(MONTH FROM d) extract(MONTH FROM dt) extract(MONTH FROM t) extract(MONTH FROM c)
|
||||
0 0 0 0 0
|
||||
|
@ -17,16 +17,14 @@ row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'))
|
||||
Warnings:
|
||||
Error 1366 Incorrect decimal value: '' for column '' at row -1
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'a'
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
|
||||
row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3))
|
||||
1
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'a'
|
||||
row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3))
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'a'
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
|
||||
row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3))
|
||||
1
|
||||
select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
||||
row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3))
|
||||
1
|
||||
|
@ -259,17 +259,23 @@ INSERT INTO t1 (col1) VALUES(CAST('2004-10-0' AS DATE));
|
||||
ERROR 22007: Incorrect date value: '2004-10-00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(CAST('2004-0-10' AS DATE));
|
||||
ERROR 22007: Incorrect date value: '2004-00-10' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(CAST('0000-00-00' AS DATE));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
INSERT INTO t1 (col2) VALUES(CAST('0000-10-31 15:30' AS DATETIME));
|
||||
INSERT INTO t1 (col2) VALUES(CAST('2004-10-0 15:30' AS DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
INSERT INTO t1 (col3) VALUES(CAST('0000-10-31 15:30' AS DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '0000-10-31 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CAST('2004-10-0 15:30' AS DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (col1 date, col2 datetime, col3 timestamp);
|
||||
INSERT INTO t1 (col1) VALUES (CONVERT('2004-10-15',DATE));
|
||||
@ -280,17 +286,23 @@ INSERT INTO t1 (col1) VALUES(CONVERT('2004-10-0' , DATE));
|
||||
ERROR 22007: Incorrect date value: '2004-10-00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(CONVERT('2004-0-10' , DATE));
|
||||
ERROR 22007: Incorrect date value: '2004-00-10' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(CONVERT('0000-00-00',DATE));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
INSERT INTO t1 (col2) VALUES(CONVERT('0000-10-31 15:30',DATETIME));
|
||||
INSERT INTO t1 (col2) VALUES(CONVERT('2004-10-0 15:30',DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
INSERT INTO t1 (col3) VALUES(CONVERT('0000-10-31 15:30',DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '0000-10-31 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CONVERT('2004-10-0 15:30',DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
|
||||
ERROR 22007: Incorrect datetime value: '2004-00-10 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
drop table t1;
|
||||
CREATE TABLE t1(col1 TINYINT, col2 TINYINT UNSIGNED);
|
||||
INSERT INTO t1 VALUES(-128,0),(0,0),(127,255),('-128','0'),('0','0'),('127','255'),(-128.0,0.0),(0.0,0.0),(127.0,255.0);
|
||||
@ -1116,6 +1128,10 @@ insert into t1 values (0,0,0);
|
||||
ERROR 22007: Incorrect date value: '0' for column 'col1' at row 1
|
||||
insert into t1 values (0.0,0.0,0.0);
|
||||
ERROR 22007: Incorrect date value: '0' for column 'col1' at row 1
|
||||
insert into t1 (col1) values (convert('0000-00-00',date));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
insert into t1 (col1) values (cast('0000-00-00' as date));
|
||||
ERROR 22007: Truncated incorrect datetime value: '0000-00-00'
|
||||
set sql_mode='no_zero_date';
|
||||
insert into t1 values (0,0,0);
|
||||
Warnings:
|
||||
@ -1138,6 +1154,9 @@ ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
|
||||
insert ignore into t1 values ('0000-00-00');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'col1' at row 1
|
||||
insert ignore into t1 (col1) values (cast('0000-00-00' as date));
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '0000-00-00'
|
||||
insert into t1 select * from t1;
|
||||
ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
|
||||
alter table t1 modify col1 datetime;
|
||||
@ -1152,5 +1171,6 @@ select * from t1;
|
||||
col1
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
NULL
|
||||
drop table t1;
|
||||
set sql_mode=@org_mode;
|
||||
|
@ -1235,3 +1235,20 @@ show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
a varchar(3) YES NULL
|
||||
drop table t2, t1;
|
||||
create table t1 (a varchar(5));
|
||||
create table t2 select * from t1 union select 'abcdefghijkl';
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` varchar(12) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select row_format from information_schema.TABLES where table_schema="test" and table_name="t2";
|
||||
row_format
|
||||
Dynamic
|
||||
alter table t2 ROW_FORMAT=fixed;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` varchar(12) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
|
||||
drop table t1,t2;
|
||||
|
@ -9,9 +9,9 @@ select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
||||
select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
||||
--disable_ps_warnings
|
||||
select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
|
||||
--enable_ps_warnings
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
|
||||
select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
|
||||
select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
||||
select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
||||
select row('b',1.5,3) IN (row('b',NULL,3), row('a',1.5,3), row(1,3,3));
|
||||
|
@ -284,8 +284,8 @@ INSERT INTO t1 (col1) VALUES(CAST('2004-0-10' AS DATE));
|
||||
|
||||
# deactivated because of Bug#6145
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col1) VALUES(CAST('0000-00-00' AS DATE));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col1) VALUES(CAST('0000-00-00' AS DATE));
|
||||
|
||||
## Test INSERT with CAST AS DATETIME into DATETIME
|
||||
# All test cases expected to fail should return
|
||||
@ -308,10 +308,9 @@ INSERT INTO t1 (col2) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col2) VALUES(CAST('2004-13-15 15:30' AS DATETIME));
|
||||
|
||||
# deactivated because of Bug#6145
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col2) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col2) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
|
||||
## Test INSERT with CAST AS DATETIME into TIMESTAMP
|
||||
# All test cases expected to fail should return
|
||||
@ -338,10 +337,9 @@ INSERT INTO t1 (col3) VALUES(CAST('2004-0-10 15:30' AS DATETIME));
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col3) VALUES(CAST('2004-13-15 15:30' AS DATETIME));
|
||||
|
||||
# deactivated because of Bug#6145
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col3) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col3) VALUES(CAST('0000-00-00' AS DATETIME));
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -376,10 +374,9 @@ INSERT INTO t1 (col1) VALUES(CONVERT('2004-0-10' , DATE));
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col1) VALUES(CONVERT('2004-13-15',DATE));
|
||||
|
||||
# deactivated because of Bug#6145
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col1) VALUES(CONVERT('0000-00-00',DATE));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col1) VALUES(CONVERT('0000-00-00',DATE));
|
||||
|
||||
## Test INSERT with CONVERT to DATETIME into DATETIME
|
||||
# All test cases expected to fail should return
|
||||
@ -403,8 +400,8 @@ INSERT INTO t1 (col2) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
|
||||
#INSERT INTO t1 (col2) VALUES(CONVERT('2004-13-15 15:30',DATETIME));
|
||||
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col2) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col2) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
|
||||
## Test INSERT with CONVERT to DATETIME into DATETIME
|
||||
# All test cases expected to fail should return
|
||||
@ -430,10 +427,9 @@ INSERT INTO t1 (col3) VALUES(CONVERT('2004-0-10 15:30',DATETIME));
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col3) VALUES(CONVERT('2004-13-15 15:30',DATETIME));
|
||||
|
||||
# deactivated because of Bug#6145
|
||||
# Bug#6145: Traditional: CONVERT and CAST should reject zero DATE values
|
||||
#--error 1292
|
||||
#INSERT INTO t1 (col3) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
--error 1292
|
||||
INSERT INTO t1 (col3) VALUES(CONVERT('0000-00-00',DATETIME));
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -1001,7 +997,7 @@ select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Zero dates using numbers was not checked properly (Bug #5933)
|
||||
# Zero dates using numbers was not checked properly (Bug #5933 & #6145)
|
||||
#
|
||||
|
||||
create table t1 (col1 date, col2 datetime, col3 timestamp);
|
||||
@ -1009,6 +1005,11 @@ create table t1 (col1 date, col2 datetime, col3 timestamp);
|
||||
insert into t1 values (0,0,0);
|
||||
--error 1292
|
||||
insert into t1 values (0.0,0.0,0.0);
|
||||
--error 1292
|
||||
insert into t1 (col1) values (convert('0000-00-00',date));
|
||||
--error 1292
|
||||
insert into t1 (col1) values (cast('0000-00-00' as date));
|
||||
|
||||
set sql_mode='no_zero_date';
|
||||
insert into t1 values (0,0,0);
|
||||
insert into t1 values (0.0,0.0,0.0);
|
||||
@ -1019,6 +1020,7 @@ insert ignore into t1 values ('0000-00-00');
|
||||
--error 1292
|
||||
insert into t1 select * from t1;
|
||||
insert ignore into t1 values ('0000-00-00');
|
||||
insert ignore into t1 (col1) values (cast('0000-00-00' as date));
|
||||
--error 1292
|
||||
insert into t1 select * from t1;
|
||||
--error 1292
|
||||
|
@ -760,3 +760,15 @@ create table t2 select a from t1 union select c from t1;
|
||||
create table t2 select a from t1 union select b from t1;
|
||||
show columns from t2;
|
||||
drop table t2, t1;
|
||||
|
||||
#
|
||||
# Test that union with VARCHAR produces dynamic row tables
|
||||
#
|
||||
|
||||
create table t1 (a varchar(5));
|
||||
create table t2 select * from t1 union select 'abcdefghijkl';
|
||||
show create table t2;
|
||||
select row_format from information_schema.TABLES where table_schema="test" and table_name="t2";
|
||||
alter table t2 ROW_FORMAT=fixed;
|
||||
show create table t2;
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user