5e8706a1f6
util/collate: remove CollatorOption ( #15472 )
...
`CollatorOption` was used to specify the `PadLen` which aims to support
"PADDING" attribute of the collations. But now it is not needed anymore,
since TiDB actually implements "PADDING" by removing trailing spaces.
2020-03-19 15:16:29 +08:00
0ddfe0716f
*: fix datum's collation behavior to build correct logical ranges ( #14963 )
2020-03-05 22:34:46 +08:00
332cef97f5
*: support index encode/decode for new collation ( #14876 )
2020-02-27 11:33:33 +08:00
848dd01b98
executor: consider the collation in vecGroupChecker ( #14859 )
2020-02-21 14:10:30 +08:00
d0e6aed1f1
executor: consider collations when calculating hash values in HashJoin ( #14836 )
2020-02-19 19:49:28 +08:00
1437d7e65b
expression: open push down switcher for part of CAST functions ( #13837 )
...
Signed-off-by: Lonng <heng@lonng.org >
2020-01-02 11:43:43 +08:00
d006443194
type: encapsulate Time API ( #14288 )
2019-12-31 12:41:09 +08:00
5c521c8e43
executor: vectorized calculation the key for the group by items in hash aggregation ( #12729 )
2019-11-12 17:00:00 +08:00
b697fac4ba
expression: vectorize hash calculation during probing ( #12048 ) ( #12669 )
2019-11-05 21:42:34 +08:00
d29751ca5d
executor: vectorize hash calculation in hashJoin ( #12048 ) ( #12076 )
2019-09-11 16:06:46 +08:00
3fdfe2e370
stats: support display invalid key in stats buckets ( #12064 )
2019-09-09 17:59:11 +08:00
bdbaeb419d
executor: decrease the memory usage of hashTable in HashJoinExec ( #11832 )
2019-08-29 14:45:52 +08:00
adb3071c90
*: refine the attribute definition of types.Time and types.Dur… ( #11672 )
2019-08-14 11:30:40 +08:00
0dc91069d8
table: avoid redundant encode in insert/update/delete. ( #11532 )
2019-08-07 10:16:48 +08:00
18724b950b
codec: improve buffer reuse ( #10801 )
2019-07-23 21:22:24 +08:00
3df70a7c20
codec: pre-alloc encode buffer in row level ( #11218 )
2019-07-23 20:00:38 +08:00
1feac7b3df
util/codec: improve package test code coverage above 85% ( #10351 )
2019-05-13 18:33:13 +08:00
e8d9a3f075
expression: check timezone when encoding timestamp datum ( #10303 )
2019-04-30 17:20:23 +08:00
1c6315140a
Speed up decoding column id ( #10188 )
...
* codec: speed up decoding column id by removing a redundant decoding of varint
* add a comment for skipped flag
2019-04-18 17:01:15 +08:00
a9de2093e5
util/codec, types: add new method to get comparable hash key from MyDecimal ( #8930 )
2019-01-11 11:01:15 +08:00
32b1dbd8d5
*: rename "github.com/pkg/errors" to "github.com/pingcap/errors" ( #8136 )
...
We import "github.com/pkg/errors" in the code, and actually put
the "github.com/pingcap/errors" there in the vendor path.
That's a dirty hack, and prevent the introduce of Go module.
2018-11-01 16:09:07 +08:00
89dda9d9a8
*: move parser to a separate repository ( #8036 )
2018-10-25 11:12:10 +08:00
cb03f2bec1
move from juju/errors to pkg/errors ( #7151 )
2018-09-12 15:42:20 +08:00
29addca221
stats: log detailed stats info for query feedback ( #7293 )
2018-08-15 22:01:44 +08:00
e5f26cdeaf
types: fix a bug in decimal multiplication ( #7208 )
2018-07-31 22:15:27 +08:00
fc0ad93356
avoid call errors.Trace when error is nil ( #7120 )
2018-07-23 10:07:57 +08:00
9cf670a324
*: cut off duration.fsp in chunk ( #7043 )
2018-07-17 15:36:27 +08:00
d2799801ae
test: fix leak test ( #6822 )
...
make sure close dom/store in all test.
2018-06-12 17:14:22 +08:00
b812cb517e
expression, util: DecodeDecimal return real precision and frac ( #6732 )
2018-06-08 15:37:32 +08:00
8a326cae76
expression, util: handle err instead of panic in EncodeDecimal ( #6758 )
2018-06-05 19:38:30 +08:00
c398110154
*: improve performance of DecodeBytes in DecodeOneToChunk ( #6135 )
2018-03-29 19:11:44 +08:00
9ca8689582
types: handle truncate error in BinaryLiteral.ToInt ( #6163 )
...
Truncate error make be treated as warning, we should handle it in `BinaryLiteral.ToInt`.
And compare BinaryLiteral directly instead of converting to uint64 because that the compare function doesn't have statement context.
2018-03-28 14:44:53 +08:00
45dc066401
codec: improve the performance of decoding decimal ( #5921 )
2018-02-28 20:21:31 +08:00
4dd1fc208d
codec, expression: support encoding a Chunk row ( #5578 )
2018-01-11 20:29:31 +08:00
ecbd60c3ff
*: add arguement StatementContext to Encode functions. ( #5566 )
2018-01-06 17:31:08 +08:00
8b149c3323
Prealloc / collides with package name ( #5560 )
2018-01-05 19:15:54 +08:00
970e5b5684
*: replace JSON with BinaryJSON ( #5460 )
2017-12-21 15:20:17 +08:00
66c19def93
util/codec: support decode data to chunk. ( #5066 )
2017-11-13 18:34:22 +08:00
62433663e5
util/types: change types path ( #5007 )
...
* util/types: change types path
2017-11-04 10:37:14 -05:00
67bddaa1ee
codec: fix a bug in json decode. ( #4949 )
...
Previously after decode a JSON from row, we didn't
advance the index in the bytes. This PR fix this.
2017-10-30 18:12:40 +08:00
3e1d036336
*: log the caller of "terror.Log()" ( #4729 )
2017-10-10 11:26:43 +08:00
c2691114b4
*: check errors part 2 ( #4704 )
2017-10-09 12:46:45 +08:00
fc209cb1df
*: rewrite hex and bit literals ( #4415 )
2017-09-07 16:28:24 +08:00
f3134bede9
codec: use reference instead of value copy of "[]types.Datum" ( #4408 )
2017-09-04 11:30:47 +08:00
c844ad7cea
*: fix two error shade bug. ( #3910 )
...
* fix a json decode bug.
2017-07-27 02:40:21 -05:00
fc9d5eb215
executor, codec: fix bug when join 2 decimal keys. ( #3797 )
2017-07-19 11:42:17 +08:00
466e48c3de
executor, util: fix bug when the join's keys have different types. ( #3784 )
2017-07-18 16:28:08 +08:00
b9088c26b7
codec: simplify json codec. ( #3524 )
2017-06-23 14:04:09 +08:00
379914a5af
*: fix timestamp column data and index inconsistent involving timezone ( #3497 )
2017-06-20 15:22:50 +08:00
1e4bf4775c
document store: add JSON type and codec. ( #3248 )
...
Document store: add JSON type and codec.
The JSON binary representation is same with MySQL 5.7. we prefer
this not bson because 1) bson only supports JSON compound types
but not JSON primitive types, and 2) this representation is better
than bson on random access.
This PR now can support these statements:
```
CREATE TABLE t (a json_field);
INSERT INTO t (a) values ('{"a": "b"}');
SELECT * FROM t;
```
JSON codec uses MySQL 5.7 compatible format, which doesn't support use JSON field as key or index. We will limit this in tidb later.
2017-05-17 12:00:34 +08:00