43c73b7caa
util/types: fix bug when truncating string values. ( #2686 )
2017-02-20 20:35:47 +08:00
846b267b46
util/types: ignore string truncate error. ( #2685 )
2017-02-20 19:51:08 +08:00
3aa6be2bb1
plan/typeinferer: refine type inferer of builtin func greatest/least ( #2628 )
2017-02-14 18:28:54 +08:00
8ba5d9ee2a
*: avoid using TypeDecimal ( #2619 )
...
TypeDecimal is misleading, it is not used as Decimal type, it's an unspecified type.
2017-02-10 10:53:05 +08:00
be2812f9c3
Fixed 386 build ( #2591 )
...
* Fixed 386 build again
2017-02-09 20:46:22 -06:00
1d17824890
plan/typeinferer: fix a bug when mathematic expression contains datetime or duration operands ( #2610 )
2017-02-10 09:48:58 +08:00
15d2065287
Support builtin function timestamp ( #2498 )
2017-02-05 13:06:27 +08:00
5aec72ce81
expression,plan: fix some issues of ROUND func ( #2461 )
2017-01-22 11:35:26 +08:00
3bfac81a4e
*: add builtin function FROM_DAYS ( #2434 )
2017-01-15 01:10:47 +08:00
849071221c
Wrong behavior when executing alter table t add index c (c(3)); ( #2432 ) ( #2441 )
2017-01-11 18:25:57 +08:00
0eaef417e8
type/util: add functions mixDateAndTime and getDateFromDaynr ( #2407 )
2017-01-11 11:00:35 +08:00
5969e9ecad
*: add builtin function TIMESTAMPDIFF ( #2386 )
2017-01-11 00:12:48 +08:00
1b72b11ffa
util/types: fix truncate float ( #2405 )
2017-01-06 17:14:04 +08:00
cd98c551b4
util/types: handle ParseDatetime overflow properly ( #2401 )
2017-01-06 14:36:08 +08:00
ac06325a1d
*: add builtin function DATEDIFF ( #2374 )
2017-01-06 10:01:20 +08:00
39a7b90e7f
types: optimize floatStrToIntStr ( #2396 )
2017-01-05 16:06:47 +08:00
a44d9c3891
*: add builtin function UNIX_TIMESTAMP ( #2369 )
2017-01-05 14:09:21 +08:00
c8cc389fdc
ddl: bug in columnDefToCol, Length shouldn't be set for unspecified fields. ( #2381 ) ( #2382 )
2017-01-05 12:04:21 +08:00
27f5f287f7
expression: move types.helper to expression pkg. ( #2371 )
2017-01-02 10:50:41 +08:00
b5e9cc5a7b
util/types: fix get valid float ( #2337 )
...
The valid float prefix of "11e1.3" should be "11e1".
2016-12-28 16:40:35 +08:00
5e60397887
util/types: log timestamp error ( #2336 )
2016-12-28 16:01:10 +08:00
305bb6c643
util/types: StrToDate support more format control ( #2310 )
2016-12-26 22:56:13 +08:00
cfb100541a
evaluator,util/types: clean up builtinDateFormat ( #2292 )
...
rename Time method Format to DateFormat
clean up builtinDateFormat in evaluator
clean up ToNumber use DateFormat method
2016-12-22 14:20:37 +08:00
d508b6d2da
util/types: workaround for time roundFrac ( #2289 )
2016-12-21 19:45:27 +08:00
c8ffa17c62
util/types: add calcTimeDiff and update compareTime function ( #2280 )
2016-12-21 11:10:04 +08:00
15e38d6d82
evaluator, util/types: fix mysql week and yearweek function, support mode ( #2284 )
2016-12-20 17:51:01 +08:00
abc19b08d5
util/types: mysql time's week function ( #2259 )
2016-12-20 11:14:23 +08:00
b6588b81d4
*: clean up, move strToDate to util/types package ( #2261 )
2016-12-16 10:36:38 +08:00
4741960b44
util/types: re-implement check time related ( #2233 )
2016-12-14 10:09:55 +08:00
c30849acc0
util/types: provide time Format method ( #2206 )
...
use Format to implement String(), so 00 month and day can be display
2016-12-12 20:31:42 +08:00
43102df978
util/time: ToPackedUint would return error for invalid timestamp ( #2190 )
...
month=0 or day=0 is invalid in timestamp such as 2016-00-00 00:00:00
so ToPackedUint should return error, for those cases.
2016-12-12 18:50:16 +08:00
24f27a2622
*: types.TimeInternal GoTime method would return error ( #2185 )
2016-12-12 17:22:49 +08:00
1b8051d3c5
*: set and use Flags to properly handle truncate error ( #2212 )
2016-12-12 11:45:58 +08:00
b3efd4c235
util/types: fix bug parseFrac overflow ignored during time Parse ( #2197 )
...
"121231113045.9999999" should parse to
"2012-12-31 11:30:46.000000"
but we get
"2012-12-31 11:30:45.100000"
* fix and add more test
* make golint happy
* address comment
* fix bug
* address comment
2016-12-09 23:07:32 +08:00
8a5a19272e
util/types: tiny clean up ( #2204 )
2016-12-08 21:10:42 +08:00
7e61f16bc1
util/types: fix floatStrToIntStr, handle large exponent corner case. ( #2199 )
2016-12-08 20:17:29 +08:00
6ef340fb32
util/types: properly handle truncate error for string to float or int. ( #2186 )
...
When converting from string to float or int, use StatementContext to handle truncate error.
Also directly convert a string to Int instead converting to float first, then convert float to int.
2016-12-07 19:42:46 +08:00
d24f64615a
util/types: mysqlTime implements TimeInternal interface ( #2142 )
2016-12-06 10:59:10 +08:00
74a1c9935d
*: add StatementContext argument to functions. ( #2157 )
...
Add StatementContext argument to more functions where it is needed.
2016-12-02 23:28:11 +08:00
e288b3563f
types/util: use statement context to handle truncate error. ( #2147 )
...
use statement context to handle truncate error in ConvertTo MyDecimal.
2016-12-01 19:11:07 +08:00
3a721da8fc
*: fix cast decimal allocates large memory. ( #2146 )
...
If precision is too large, encode decimal allocates large amount of memory.
This commit set cast decimal unspecified length to default decimal length (10),
also add check on precision and frac on `MyDecimal.ToBin`.
2016-12-01 17:37:10 +08:00
296f4a6cf3
util/types: refact Time introduce a TimeInternal interface ( #2098 )
...
Go time representation is not compatible with mysql, this
commit is a prepare before the code refact.
timeInternal is a interface for time representation, and it
would make the refact more smooth.
2016-11-29 21:04:59 +08:00
5230f5eabd
variable: define StatementContext. ( #2121 )
...
StatementContext is used to hold statement execution mode and state.
As every computation need this, there are many API changes.
2016-11-29 14:25:38 +08:00
9cca7b0b02
types: move Bit, Enum, Set, Hex to types package ( #2085 )
...
Consistent with Time and MyDecimal.
2016-11-24 12:28:55 +08:00
b19cc75a94
mysql, types: move MyDecimal and Time from 'mysql' to 'types' package. ( #2082 )
...
So we don't need to handle sql mode in 'mysql' package, avoid potential dependency cycle.
2016-11-24 10:50:31 +08:00
91050ff1f8
parser: parse decimal literal instead of float literal ( #2044 )
...
Improves MySQL compatibility.
2016-11-21 19:29:25 +08:00
5d3bb33afd
util/types: fix decimal conversion. ( #1979 )
...
When datum converts to decimal, we should check the Flen and Decimal of
the given field type, return max value for overflow and round the value
for truncation.
2016-11-09 16:53:30 +08:00
0b43f77e40
util/types: fix convert Double ( #1955 )
...
When converting a string to double, the returned value should be parsed from valid part to the string
2016-11-05 16:27:21 +08:00
035666f231
plan: add cast function for PatternInExpr. ( #1932 )
2016-11-03 15:40:58 +08:00
d38cc3f534
support pushing bitwise operators and LogicXor down to kv ( #1846 )
2016-10-27 15:09:30 +08:00