summaryrefslogtreecommitdiff
path: root/sql/mysql_priv.h
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2004-10-16 00:12:59 +0400
committerunknown <konstantin@mysql.com>2004-10-16 00:12:59 +0400
commit9aefc403f9f707edf0f84ce401d32929067aea30 (patch)
tree49c6d8401938fd8137914328918f5f64de298327 /sql/mysql_priv.h
parentf125849dd1fa2b7eaca3aea5f84d7d79fb201ec2 (diff)
downloadmariadb-git-9aefc403f9f707edf0f84ce401d32929067aea30.tar.gz
A fix and test case for Bug#6049 "Loss of sign when using prepared
statements and negative time/date values". The bug was in wrong sprintf format used in the client library. The fix moves TIME -> string conversion functions to sql-common and utilized them in the client library. include/my_time.h: Declarations for new functions shared between the client and server. libmysql/libmysql.c: Fix for Bug#6049 "Loss of sign when using prepared statements and negative time/date values": use the same function as the server to convert date/time/datetime values to strings. sql-common/my_time.c: Implementation of my_{time,datetime,date,TIME}_to_str: it's needed by the client library, so it should be shared. sql/field.cc: Don't create String object if it's not needed. sql/item.cc: Don't create String object if it's not needed: TIME_to_string was moved to my_TIME_to_str, with different arguments. sql/item_timefunc.cc: Don't create String object if it's not needed. sql/mysql_priv.h: TIME_to_string and MAX_DATE_REP_LENGTH moved to the client library. MAX_DATE_REP_LENGTH was renamed to MAX_DATE_STRING_REP_LENGTH to not conflict with the same name in libmysql.c sql/protocol.cc: Don't create String object if it's not needed. sql/time.cc: Implementation of my_{time,date,datetime,TIME}_to_str moved to my_time.c shared between the client and the server. tests/client_test.c: A test case for Bug#6049.
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r--sql/mysql_priv.h9
1 files changed, 0 insertions, 9 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 1a0879c6347..15bdfdaacfc 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -284,14 +284,6 @@ void debug_sync_point(const char* lock_name, uint lock_timeout);
#define WEEK_MONDAY_FIRST 1
#define WEEK_YEAR 2
#define WEEK_FIRST_WEEKDAY 4
-/*
- Required buffer length for make_date, make_time, make_datetime
- and TIME_to_string functions. Note, that the caller is still
- responsible to check that given TIME structure has values
- in valid ranges, otherwise size of the buffer could be not
- enough.
-*/
-#define MAX_DATE_REP_LENGTH 30
enum enum_parsing_place
{
@@ -1046,7 +1038,6 @@ void make_date(const DATE_TIME_FORMAT *format, const TIME *l_time,
String *str);
void make_time(const DATE_TIME_FORMAT *format, const TIME *l_time,
String *str);
-void TIME_to_string(const TIME *time, String *str);
ulonglong TIME_to_ulonglong_datetime(const TIME *time);
ulonglong TIME_to_ulonglong_date(const TIME *time);
ulonglong TIME_to_ulonglong_time(const TIME *time);