Commit Graph

71 Commits

Author SHA1 Message Date
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
5494a54db4 util: correct comments mistake (#3121) 2017-04-25 09:16:50 +08:00
2bac467c0d with some spelling mistakes (#2986) 2017-04-05 10:34:09 +08:00
78f7eab61d *: refactor distsql and executor. (#2942) 2017-03-29 15:20:25 +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
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
558ba06368 decode with value size (#1641)
Add size parameter for Decode to reduce slice growth
BenchmarkDecodeWithSize-8 300000 6153 ns/op
BenchmarkDecodeWithOutSize-8 200000 11934 ns/op
2016-08-26 10:44:03 +08:00
e31b281ee7 *: use new MyDecimal implementation. (#1611) 2016-08-22 20:24:39 +08:00
39e4d52bd7 *: support index where and aggregate push down. (#1567) 2016-08-15 20:03:52 +08:00
1d5fdbfaf9 *: improve time codec. (#1551) 2016-08-05 14:23:38 +08:00
212ba73b4a util/codec: encode int64 to varint if not comparable (#1448) 2016-07-25 12:52:06 +08:00
cad94acb54 Store row data in single kv pair (#1347) 2016-06-28 11:15:09 +08:00