Commit 3a13408f authored by unknown's avatar unknown

Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt

into  mysql.com:/misc/mysql/31990/51-31990


mysql-test/r/type_date.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
parents 82e026c1 473d4247
...@@ -260,6 +260,11 @@ INSERT INTO t1 VALUES ('1000-00-00'); ...@@ -260,6 +260,11 @@ INSERT INTO t1 VALUES ('1000-00-00');
ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1 ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1
SET SQL_MODE=DEFAULT; SET SQL_MODE=DEFAULT;
DROP TABLE t1,t2; DROP TABLE t1,t2;
CREATE TABLE t1 SELECT curdate() AS f1;
SELECT hour(f1), minute(f1), second(f1) FROM t1;
hour(f1) minute(f1) second(f1)
0 0 0
DROP TABLE t1;
End of 5.0 tests End of 5.0 tests
create table t1 (a date, primary key (a))engine=memory; create table t1 (a date, primary key (a))engine=memory;
insert into t1 values ('0000-01-01'), ('0000-00-01'), ('0001-01-01'); insert into t1 values ('0000-01-01'), ('0000-00-01'), ('0001-01-01');
......
...@@ -213,6 +213,14 @@ INSERT INTO t1 VALUES ('1000-00-00'); ...@@ -213,6 +213,14 @@ INSERT INTO t1 VALUES ('1000-00-00');
SET SQL_MODE=DEFAULT; SET SQL_MODE=DEFAULT;
DROP TABLE t1,t2; DROP TABLE t1,t2;
#
# Bug #31990: MINUTE() and SECOND() return bogus results when used on a DATE
#
CREATE TABLE t1 SELECT curdate() AS f1;
SELECT hour(f1), minute(f1), second(f1) FROM t1;
DROP TABLE t1;
--echo End of 5.0 tests --echo End of 5.0 tests
# #
......
...@@ -5636,6 +5636,13 @@ String *Field_date::val_str(String *val_buffer, ...@@ -5636,6 +5636,13 @@ String *Field_date::val_str(String *val_buffer,
} }
bool Field_date::get_time(MYSQL_TIME *ltime)
{
bzero((char *)ltime, sizeof(MYSQL_TIME));
return 0;
}
int Field_date::cmp(const uchar *a_ptr, const uchar *b_ptr) int Field_date::cmp(const uchar *a_ptr, const uchar *b_ptr)
{ {
int32 a,b; int32 a,b;
......
...@@ -1240,6 +1240,7 @@ class Field_date :public Field_str { ...@@ -1240,6 +1240,7 @@ class Field_date :public Field_str {
double val_real(void); double val_real(void);
longlong val_int(void); longlong val_int(void);
String *val_str(String*,String *); String *val_str(String*,String *);
bool get_time(MYSQL_TIME *ltime);
bool send_binary(Protocol *protocol); bool send_binary(Protocol *protocol);
int cmp(const uchar *,const uchar *); int cmp(const uchar *,const uchar *);
void sort_string(uchar *buff,uint length); void sort_string(uchar *buff,uint length);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment