summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorhf@deer.(none) <>2004-12-02 16:08:17 +0400
committerhf@deer.(none) <>2004-12-02 16:08:17 +0400
commit71bfbbdcd0660af3aab19eadf130d1e435a241aa (patch)
tree3f93c2c4161b813724ca0573ddda92d71aa94476 /sql
parent733f33cc7c81d70c63aeac08d164f89497840c40 (diff)
downloadmariadb-git-71bfbbdcd0660af3aab19eadf130d1e435a241aa.tar.gz
Fixes to make mysql-test-run --embedded-server working
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_prepare.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index a790e6fe9d8..637bb48b2cf 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -427,8 +427,17 @@ static void set_param_date(Item_param *param, uchar **pos, ulong len)
#else/*!EMBEDDED_LIBRARY*/
void set_param_time(Item_param *param, uchar **pos, ulong len)
{
- MYSQL_TIME *to= (MYSQL_TIME*)*pos;
- param->set_time(to, MYSQL_TIMESTAMP_TIME,
+ MYSQL_TIME tm= *((MYSQL_TIME*)*pos);
+ tm.hour+= tm.day * 24;
+ tm.day= tm.year= tm.month= 0;
+ if (tm.hour > 838)
+ {
+ /* TODO: add warning 'Data truncated' here */
+ tm.hour= 838;
+ tm.minute= 59;
+ tm.second= 59;
+ }
+ param->set_time(&tm, MYSQL_TIMESTAMP_TIME,
MAX_TIME_WIDTH * MY_CHARSET_BIN_MB_MAXLEN);
}