summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-11-28 22:35:59 +0100
committerSergei Golubchik <sergii@pisem.net>2013-11-28 22:35:59 +0100
commitab3604989c826aeda3fed147db64756a66361fb3 (patch)
tree7b0e06b600e210e9597267747a9552e2d7304189 /sql/item.cc
parent38c91c067ba36e1bdc11ded707db9b9f0c84b871 (diff)
downloadmariadb-git-ab3604989c826aeda3fed147db64756a66361fb3.tar.gz
MDEV-4243 [PATCH] Warnings/errors while compiling with clang
fix the code to compile with clang. fix warnings too. include/probes_mysql_nodtrace.h: clang++ doesn't like numeric _constants_ being used in || (it suspects that the intention was | ). Boolean constants are ok. sql/hostname.cc: only used in DBUG_ASSERT sql/item.cc: str_to_time and str_to_datetime return bool, not MYSQL_TIMESTAMP_xxx sql/item_func.cc: str_to_datetime_with_warn() returns bool, not MYSQL_TIMESTAMP_xxx storage/cassandra/CMakeLists.txt: CMAKE_CXX_FLAGS can be empty storage/connect/odbconn.cpp: HWND is void* storage/connect/user_connect.h: deprecated on FreeBSD and unused anyway storage/connect/value.cpp: bad characters inside. unused. storage/spider/spd_trx.cc: clang++ warns that memset will also overwrite vtbl. it might be as well a good idea, as it asserts that the object will only be used as a storage. silence the warning.
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/sql/item.cc b/sql/item.cc
index 248b0899026..38f5ed6bf5c 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -585,12 +585,11 @@ uint Item::temporal_precision(enum_field_types type)
MYSQL_TIME_STATUS status;
DBUG_ASSERT(fixed);
if ((tmp= val_str(&buf)) &&
- (type == MYSQL_TYPE_TIME ?
+ !(type == MYSQL_TYPE_TIME ?
str_to_time(tmp->charset(), tmp->ptr(), tmp->length(),
&ltime, TIME_TIME_ONLY, &status) :
str_to_datetime(tmp->charset(), tmp->ptr(), tmp->length(),
- &ltime, TIME_FUZZY_DATES, &status)) >
- MYSQL_TIMESTAMP_ERROR)
+ &ltime, TIME_FUZZY_DATES, &status)))
return MY_MIN(status.precision, TIME_SECOND_PART_DIGITS);
}
return MY_MIN(decimals, TIME_SECOND_PART_DIGITS);