Commit d1637b2e authored by tnurnberg@white.intern.koehntopp.de's avatar tnurnberg@white.intern.koehntopp.de
Browse files

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

into  mysql.com:/misc/mysql/31990/50-31990
parents 0004b99b 3f0f2750
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -251,4 +251,9 @@ INSERT INTO t1 VALUES ('1000-00-00');
ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1
SET SQL_MODE=DEFAULT;
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
+8 −0
Original line number Diff line number Diff line
@@ -210,4 +210,12 @@ INSERT INTO t1 VALUES ('1000-00-00');
SET SQL_MODE=DEFAULT;
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
+7 −0
Original line number Diff line number Diff line
@@ -5195,6 +5195,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 char *a_ptr, const char *b_ptr)
{
  int32 a,b;
+1 −0
Original line number Diff line number Diff line
@@ -944,6 +944,7 @@ class Field_date :public Field_str {
  double val_real(void);
  longlong val_int(void);
  String *val_str(String*,String *);
  bool get_time(MYSQL_TIME *ltime);
  bool send_binary(Protocol *protocol);
  int cmp(const char *,const char*);
  void sort_string(char *buff,uint length);