summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2006-06-14 20:00:36 -0700
committerunknown <igor@rurik.mysql.com>2006-06-14 20:00:36 -0700
commite8288ff926cfa2e4c635c88e706c921a6f7b9235 (patch)
tree7a6447d7f6b379ba8e955cb4521598b60bf22c5e
parent1b3ffa03f223ec12dba9db63c73be29c1d2b2765 (diff)
parenta74154f4de0b4f3765eb06932fb9ec3e79f764e0 (diff)
downloadmariadb-git-e8288ff926cfa2e4c635c88e706c921a6f7b9235.tar.gz
Merge rurik.mysql.com:/home/igor/tmp_merge
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0 client/mysqldump.c: Auto merged mysql-test/mysql-test-run.pl: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Auto merged storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp: Auto merged tests/mysql_client_test.c: Auto merged configure.in: Manual merge mysql-test/r/func_time.result: Manual merge mysql-test/t/func_time.test: Manual merge
-rw-r--r--VC++Files/client/mysql.dsp4
-rw-r--r--VC++Files/client/mysql_ia64.dsp4
-rw-r--r--configure.in2
-rw-r--r--mysql-test/r/func_time.result12
-rw-r--r--mysql-test/r/sysdate_is_now.result2
-rw-r--r--mysql-test/t/func_time.test7
-rw-r--r--sql/item_timefunc.cc6
-rw-r--r--sql/item_timefunc.h1
8 files changed, 29 insertions, 9 deletions
diff --git a/VC++Files/client/mysql.dsp b/VC++Files/client/mysql.dsp
index ac74515b588..510107c8308 100644
--- a/VC++Files/client/mysql.dsp
+++ b/VC++Files/client/mysql.dsp
@@ -144,6 +144,10 @@ SOURCE=.\readline.cpp
# End Source File
# Begin Source File
+SOURCE=..\mysys\my_conio.c
+# End Source File
+# Begin Source File
+
SOURCE=.\sql_string.cpp
# End Source File
# End Target
diff --git a/VC++Files/client/mysql_ia64.dsp b/VC++Files/client/mysql_ia64.dsp
index 3fe2e2a2328..8de283d1e0b 100644
--- a/VC++Files/client/mysql_ia64.dsp
+++ b/VC++Files/client/mysql_ia64.dsp
@@ -130,6 +130,10 @@ SOURCE=.\readline.cpp
# End Source File
# Begin Source File
+SOURCE=..\mysys\my_conio.c
+# End Source File
+# Begin Source File
+
SOURCE=.\sql_string.cpp
# End Source File
# End Target
diff --git a/configure.in b/configure.in
index be6f3c8eaec..026a6013180 100644
--- a/configure.in
+++ b/configure.in
@@ -15,7 +15,7 @@ DOT_FRM_VERSION=6
# See the libtool docs for information on how to do shared lib versions.
SHARED_LIB_MAJOR_VERSION=15
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
-
+}
# Set all version vars based on $VERSION. How do we do this more elegant ?
# Remember that regexps needs to quote [ and ] since this is run through m4
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`
diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result
index 283dd11ca1e..d54989e27bc 100644
--- a/mysql-test/r/func_time.result
+++ b/mysql-test/r/func_time.result
@@ -7,20 +7,20 @@ period_add("9602",-12) period_diff(199505,"9404")
199502 13
select now()-now(),weekday(curdate())-weekday(now()),unix_timestamp()-unix_timestamp(now());
now()-now() weekday(curdate())-weekday(now()) unix_timestamp()-unix_timestamp(now())
-0 0 0
+0.000000 0 0
select from_unixtime(unix_timestamp("1994-03-02 10:11:12")),from_unixtime(unix_timestamp("1994-03-02 10:11:12"),"%Y-%m-%d %h:%i:%s"),from_unixtime(unix_timestamp("1994-03-02 10:11:12"))+0;
from_unixtime(unix_timestamp("1994-03-02 10:11:12")) from_unixtime(unix_timestamp("1994-03-02 10:11:12"),"%Y-%m-%d %h:%i:%s") from_unixtime(unix_timestamp("1994-03-02 10:11:12"))+0
-1994-03-02 10:11:12 1994-03-02 10:11:12 19940302101112
+1994-03-02 10:11:12 1994-03-02 10:11:12 19940302101112.000000
select sec_to_time(9001),sec_to_time(9001)+0,time_to_sec("15:12:22"),
sec_to_time(time_to_sec("0:30:47")/6.21);
sec_to_time(9001) sec_to_time(9001)+0 time_to_sec("15:12:22") sec_to_time(time_to_sec("0:30:47")/6.21)
-02:30:01 23001 54742 00:04:57
+02:30:01 23001.000000 54742 00:04:57
select sec_to_time(time_to_sec('-838:59:59'));
sec_to_time(time_to_sec('-838:59:59'))
-838:59:59
select now()-curdate()*1000000-curtime();
now()-curdate()*1000000-curtime()
-0
+0.000000
select strcmp(current_timestamp(),concat(current_date()," ",current_time()));
strcmp(current_timestamp(),concat(current_date()," ",current_time()))
0
@@ -751,6 +751,10 @@ select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')),
monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m'));
monthname(str_to_date(null, '%m')) monthname(str_to_date(null, '%m')) monthname(str_to_date(1, '%m')) monthname(str_to_date(0, '%m'))
NULL NULL January NULL
+select now() - now() + 0, curtime() - curtime() + 0,
+sec_to_time(1) + 0, from_unixtime(1) + 0;
+now() - now() + 0 curtime() - curtime() + 0 sec_to_time(1) + 0 from_unixtime(1) + 0
+0.000000 0.000000 1.000000 19700101030001.000000
End of 4.1 tests
explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;
diff --git a/mysql-test/r/sysdate_is_now.result b/mysql-test/r/sysdate_is_now.result
index 82861436ff6..1ebbb8c1588 100644
--- a/mysql-test/r/sysdate_is_now.result
+++ b/mysql-test/r/sysdate_is_now.result
@@ -1,4 +1,4 @@
set timestamp=1;
SELECT sleep(1),NOW()-SYSDATE() as zero;
sleep(1) zero
-0 0
+0 0.000000
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index e6c1ddfcf1f..6366d100bbc 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -367,6 +367,13 @@ select last_day('2005-01-00');
select monthname(str_to_date(null, '%m')), monthname(str_to_date(null, '%m')),
monthname(str_to_date(1, '%m')), monthname(str_to_date(0, '%m'));
+#
+# Bug #16546
+#
+
+select now() - now() + 0, curtime() - curtime() + 0,
+ sec_to_time(1) + 0, from_unixtime(1) + 0;
+
--echo End of 4.1 tests
explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index a2c7af79ef3..06abbe60121 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -1367,7 +1367,7 @@ void Item_func_curtime::fix_length_and_dec()
{
TIME ltime;
- decimals=0;
+ decimals= DATETIME_DEC;
collation.set(&my_charset_bin);
store_now_in_TIME(&ltime);
value= TIME_to_ulonglong_time(&ltime);
@@ -1414,7 +1414,7 @@ String *Item_func_now::val_str(String *str)
void Item_func_now::fix_length_and_dec()
{
- decimals=0;
+ decimals= DATETIME_DEC;
collation.set(&my_charset_bin);
store_now_in_TIME(&ltime);
@@ -1761,7 +1761,7 @@ void Item_func_from_unixtime::fix_length_and_dec()
{
thd= current_thd;
collation.set(&my_charset_bin);
- decimals=0;
+ decimals= DATETIME_DEC;
max_length=MAX_DATETIME_WIDTH*MY_CHARSET_BIN_MB_MAXLEN;
maybe_null= 1;
thd->time_zone_used= 1;
diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h
index 69c8ec5959a..513ef692ed7 100644
--- a/sql/item_timefunc.h
+++ b/sql/item_timefunc.h
@@ -638,6 +638,7 @@ public:
{
collation.set(&my_charset_bin);
maybe_null=1;
+ decimals= DATETIME_DEC;
max_length=MAX_TIME_WIDTH*MY_CHARSET_BIN_MB_MAXLEN;
}
enum_field_types field_type() const { return MYSQL_TYPE_TIME; }