mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
Merge mysql.com:/home/jimw/my/mysql-4.1-6067
into mysql.com:/home/jimw/my/mysql-4.1-clean
This commit is contained in:
@@ -96,3 +96,11 @@ f2
|
|||||||
19781126
|
19781126
|
||||||
19781126
|
19781126
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
CREATE TABLE t1 (y YEAR);
|
||||||
|
INSERT INTO t1 VALUES ('abc');
|
||||||
|
Warnings:
|
||||||
|
Warning 1265 Data truncated for column 'y' at row 1
|
||||||
|
SELECT * FROM t1;
|
||||||
|
y
|
||||||
|
0000
|
||||||
|
DROP TABLE t1;
|
||||||
|
@@ -107,3 +107,10 @@ SELECT * FROM t2;
|
|||||||
SELECT * FROM t3;
|
SELECT * FROM t3;
|
||||||
|
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
|
||||||
|
# Test that setting YEAR to invalid string results in default value, not
|
||||||
|
# 2000. (Bug #6067)
|
||||||
|
CREATE TABLE t1 (y YEAR);
|
||||||
|
INSERT INTO t1 VALUES ('abc');
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
12
sql/field.cc
12
sql/field.cc
@@ -3512,9 +3512,17 @@ void Field_time::sql_type(String &res) const
|
|||||||
|
|
||||||
int Field_year::store(const char *from, uint len,CHARSET_INFO *cs)
|
int Field_year::store(const char *from, uint len,CHARSET_INFO *cs)
|
||||||
{
|
{
|
||||||
int not_used; // We can ignore result from str2int
|
int err;
|
||||||
char *end;
|
char *end;
|
||||||
long nr= my_strntol(cs, from, len, 10, &end, ¬_used);
|
long nr= my_strntol(cs, from, len, 10, &end, &err);
|
||||||
|
|
||||||
|
if (err)
|
||||||
|
{
|
||||||
|
if (table->in_use->count_cuted_fields)
|
||||||
|
set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_TRUNCATED, 1);
|
||||||
|
*ptr= 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (nr < 0 || nr >= 100 && nr <= 1900 || nr > 2155)
|
if (nr < 0 || nr >= 100 && nr <= 1900 || nr > 2155)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user