Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
2d528817
Commit
2d528817
authored
May 02, 2006
by
ramil@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix for bug #16546: DATETIME+0 not always coerced the same way
parent
f45d6d3c
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
7 deletions
+20
-7
mysql-test/r/func_time.result
mysql-test/r/func_time.result
+8
-4
mysql-test/t/func_time.test
mysql-test/t/func_time.test
+8
-0
sql/item_timefunc.cc
sql/item_timefunc.cc
+3
-3
sql/item_timefunc.h
sql/item_timefunc.h
+1
-0
No files found.
mysql-test/r/func_time.result
View file @
2d528817
...
@@ -7,20 +7,20 @@ period_add("9602",-12) period_diff(199505,"9404")
...
@@ -7,20 +7,20 @@ period_add("9602",-12) period_diff(199505,"9404")
199502 13
199502 13
select now()-now(),weekday(curdate())-weekday(now()),unix_timestamp()-unix_timestamp(now());
select now()-now(),weekday(curdate())-weekday(now()),unix_timestamp()-unix_timestamp(now());
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;
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
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"),
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(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)
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'));
select sec_to_time(time_to_sec('-838:59:59'));
sec_to_time(time_to_sec('-838:59:59'))
sec_to_time(time_to_sec('-838:59:59'))
-838:59:59
-838:59:59
select now()-curdate()*1000000-curtime();
select now()-curdate()*1000000-curtime();
now()-curdate()*1000000-curtime()
now()-curdate()*1000000-curtime()
0
0
.000000
select strcmp(current_timestamp(),concat(current_date()," ",current_time()));
select strcmp(current_timestamp(),concat(current_date()," ",current_time()));
strcmp(current_timestamp(),concat(current_date()," ",current_time()))
strcmp(current_timestamp(),concat(current_date()," ",current_time()))
0
0
...
@@ -626,3 +626,7 @@ last_day('2005-01-00')
...
@@ -626,3 +626,7 @@ last_day('2005-01-00')
NULL
NULL
Warnings:
Warnings:
Warning 1292 Truncated incorrect datetime value: '2005-01-00'
Warning 1292 Truncated incorrect datetime value: '2005-01-00'
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
mysql-test/t/func_time.test
View file @
2d528817
...
@@ -315,4 +315,12 @@ select last_day('2005-00-00');
...
@@ -315,4 +315,12 @@ select last_day('2005-00-00');
select
last_day
(
'2005-00-01'
);
select
last_day
(
'2005-00-01'
);
select
last_day
(
'2005-01-00'
);
select
last_day
(
'2005-01-00'
);
#
# Bug #16546
#
select
now
()
-
now
()
+
0
,
curtime
()
-
curtime
()
+
0
,
sec_to_time
(
1
)
+
0
,
from_unixtime
(
1
)
+
0
;
# End of 4.1 tests
# End of 4.1 tests
sql/item_timefunc.cc
View file @
2d528817
...
@@ -1372,7 +1372,7 @@ void Item_func_curtime::fix_length_and_dec()
...
@@ -1372,7 +1372,7 @@ void Item_func_curtime::fix_length_and_dec()
{
{
TIME
ltime
;
TIME
ltime
;
decimals
=
0
;
decimals
=
DATETIME_DEC
;
collation
.
set
(
&
my_charset_bin
);
collation
.
set
(
&
my_charset_bin
);
store_now_in_TIME
(
&
ltime
);
store_now_in_TIME
(
&
ltime
);
value
=
TIME_to_ulonglong_time
(
&
ltime
);
value
=
TIME_to_ulonglong_time
(
&
ltime
);
...
@@ -1419,7 +1419,7 @@ String *Item_func_now::val_str(String *str)
...
@@ -1419,7 +1419,7 @@ String *Item_func_now::val_str(String *str)
void
Item_func_now
::
fix_length_and_dec
()
void
Item_func_now
::
fix_length_and_dec
()
{
{
decimals
=
0
;
decimals
=
DATETIME_DEC
;
collation
.
set
(
&
my_charset_bin
);
collation
.
set
(
&
my_charset_bin
);
store_now_in_TIME
(
&
ltime
);
store_now_in_TIME
(
&
ltime
);
...
@@ -1680,7 +1680,7 @@ void Item_func_from_unixtime::fix_length_and_dec()
...
@@ -1680,7 +1680,7 @@ void Item_func_from_unixtime::fix_length_and_dec()
{
{
thd
=
current_thd
;
thd
=
current_thd
;
collation
.
set
(
&
my_charset_bin
);
collation
.
set
(
&
my_charset_bin
);
decimals
=
0
;
decimals
=
DATETIME_DEC
;
max_length
=
MAX_DATETIME_WIDTH
*
MY_CHARSET_BIN_MB_MAXLEN
;
max_length
=
MAX_DATETIME_WIDTH
*
MY_CHARSET_BIN_MB_MAXLEN
;
maybe_null
=
1
;
maybe_null
=
1
;
thd
->
time_zone_used
=
1
;
thd
->
time_zone_used
=
1
;
...
...
sql/item_timefunc.h
View file @
2d528817
...
@@ -580,6 +580,7 @@ public:
...
@@ -580,6 +580,7 @@ public:
{
{
collation
.
set
(
&
my_charset_bin
);
collation
.
set
(
&
my_charset_bin
);
maybe_null
=
1
;
maybe_null
=
1
;
decimals
=
DATETIME_DEC
;
max_length
=
MAX_TIME_WIDTH
*
MY_CHARSET_BIN_MB_MAXLEN
;
max_length
=
MAX_TIME_WIDTH
*
MY_CHARSET_BIN_MB_MAXLEN
;
}
}
enum_field_types
field_type
()
const
{
return
MYSQL_TYPE_TIME
;
}
enum_field_types
field_type
()
const
{
return
MYSQL_TYPE_TIME
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment