Commit Graph

103 Commits

Author SHA1 Message Date
52d3dae1d3 executor: support memory track for max/min 2020-09-10 17:47:20 +08:00
71d7262067 expression: Support distinct in select stddev_pop() (#19680) 2020-09-10 14:43:51 +08:00
5d52a34b24 executor: trace memory usage of ntile() (#19756) 2020-09-10 13:24:09 +08:00
80e04b55bb executor: trace memory usage of first_row() (#19757)
Signed-off-by: Howie <haoweili35@gmail.com>
2020-09-10 10:47:20 +08:00
4a638269dd executor: support memory trace for value functions (#19811) 2020-09-09 18:15:10 +08:00
5fd2919945 executor: trace memory usage of cume_dist() (#19832) 2020-09-09 17:25:19 +08:00
b6b9b8a6df exector, planner: Improve the performance of the aggFuncMaxMin by using sliding window (#16819)
* temp

* temp

* unit test

* executor: Improve the performance of `aggFuncMin` by using sliding window

* executor: Improve the performance of `aggFuncMin` by using sliding window

* executor: Improve the performance of `aggFuncMin` by using sliding window

add ut

* fix: ResetPartialResult

* add maxMin4Time.Slide and maxMin4Duration.Slide

* add benchmark

* add var `dirty`

* add a comment

* fix Decimal

* newMyDecimalMaxMinQueue

* newMyDecimalMaxMinQueue

* newMyDecimalMaxMinQueue

* newMyDecimalMaxMinQueue

* newMyDecimalMaxMinQueue

* implementing the maxMinQueue using heap

* fix import check

* fix import check

* fix check

* remove PushMyDecimal

* refactor maxMinHeap

* 尝试优化heap

* 尝试优化heap

* fix benchmark

* fix:*

* solved pr comments

* solved pr comments

* fix

* fix

* fix

* 先回家

* maxMin4IntSliding

* fix import

* fix

* new builder

* fix ut

* fix

* fix

* fix ut

* fix ut

* fix fmt

* add benchmark

* fix

* fix

* lazyload

* lazyload

* fix frame

* fix check_dev

* add a unit test

* sliding aggFunc

* sliding aggFunc

* fix

* move ut

* fix dev_check

* fix dev_check

* resolved comments

* refactor ut

* refactor ut

* refactor ut

Co-authored-by: Yuanjia Zhang <zhangyuanjia@pingcap.com>
2020-09-09 14:31:41 +08:00
f9b71fca1f executor: implement memDelta for BitFunc funcs to track memUsage (#19808)
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
Co-authored-by: HuaiyuXu <391585975@qq.com>
2020-09-09 11:57:10 +08:00
8a1f11ecee executor: add memory trace for percent rank agg functions (#19852)
* add memory trace for percent_rank func

* add unit tests

* add func_percent_rank_test.go

* modify year in license

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-09-09 11:33:12 +08:00
7e357b5092 executor: trace memory usage of row_number() 2020-09-09 11:16:33 +08:00
05809a9cf2 Revert "expression, types: fix decimal precision for SUM function (#19592)" (#19882) 2020-09-08 18:21:18 +08:00
dy
726341146b expression, types: fix decimal precision for SUM function (#19592) 2020-09-07 16:23:54 +08:00
bcfaaf5595 executor: implement meldata for rank funcs to track memUsage (#19766) 2020-09-07 11:09:06 +08:00
7cd20c0373 executor: implement memDelta for count funcs to track memUsage (#19770)
* executor: implement memDelta for count funcs to track memUsage

* fix stdlib unsafe need be group together and before non-stdlib group in ../../executor/aggfuncs/func_count.go

* fix UpdatePartialResult memDelta return if err != nil

* fix
1 DefPartialResult4CountSize is the memory usage of AllocPartialResult, UpdatePartialResult will not use more memory, return 0, err.
2 in testcase TestMemCount count funcs are not distinct, use defaultUpdateMemDeltaGens and set isDistinct false

* fix UpdatePartialResult not use more memory

* fix  MergePartialResult memDelta

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-09-05 17:43:46 +08:00
7f56b302d5 executor: implement memDelta for varpop to trace the memory usage (#19755)
* try to solve tidb issue 19745

issue link: https://github.com/pingcap/tidb/issues/19745

* format file

* bug fix: return memDelta when err occur

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-09-04 19:55:09 +08:00
9047a9c881 executor: fix wrong behavior for max/min on ENUM/SET column (#19552)
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
Co-authored-by: Yiding Cui <winoros@gmail.com>
2020-09-01 21:18:03 +08:00
89c1b0f3e6 executor: Implement memDelta for sum functions (#19376) 2020-08-31 14:24:10 +08:00
f3c8b008df executor: accelerate TestMemCount (#19581)
* test

* executor: accelerate TestMemCount

* refine

* fix ci

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-08-29 21:03:21 +08:00
b3f5678717 executor: skip TestMemCount test case to make race test more stable (#19578) 2020-08-28 17:07:51 +08:00
b4f0854d19 executor: implement memDelta for avg funcs to track memUsage (#18901) 2020-08-28 14:01:41 +08:00
49af6a511f expression: Support stddev_pop function (#19195)
* add stddev_pop function

* fix for make check

* not push down

* add util test

* stddevpop inherit from varpop

* fix typo

* support std and stddev

* update go.mod

* uodate parser master

* fix ditto

* fix fix

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-08-27 19:42:53 +08:00
b178de06ad executor: Trace the memory usage of AggFunc in HashAggExec (#18257) 2020-07-06 20:48:41 +08:00
978370f7cb executor: add new agg function APPROX_COUNT_DISTINCT (#17175) 2020-06-18 22:00:14 +08:00
09af066c54 *: fix a bug that collation does not work for enum and set (#17635) 2020-06-05 12:14:42 +08:00
bcbc25db68 executor: make the aggregation function distinct consider collations (#17182) 2020-05-15 15:59:15 +08:00
a1763c1b6e executor: fix memory corrupt in COUNT/JSON_OBJECTAGG/GROUP_CONCAT (#17106) 2020-05-13 16:58:20 +08:00
7ebcc20398 executor: support GROUP_CONCAT(ORDER BY) (#16591) 2020-05-06 18:41:22 +08:00
26e208b9df executor, types: copy enum/set instead of refer the underlying data (#16858) 2020-04-28 13:00:40 +08:00
25580ea5f4 *: Use a function to get the ONE, ZERO and NULL and fix the clone. (#16512) 2020-04-17 19:11:52 +08:00
8cd377dd07 executor: Improve the performance of aggFuncBitXor by using… (#16091) 2020-04-15 15:03:11 +08:00
c561d5aa99 *: remove useless conversions and omit some types (#16262) 2020-04-10 00:23:06 +08:00
a93e91fc57 executor: Improve the performance of aggFuncAvg by using sliding window (#15606) 2020-04-03 14:02:38 +08:00
5192c26150 executor: optimize count distinct with single column (#15323) 2020-03-31 15:04:12 +08:00
bbac2b2fe4 executor: Improve the performance of aggFuncSum by using sliding window (#14887) 2020-03-23 13:29:44 +08:00
34ff2b9a1d executor: use deep copy for maxMin4JSON (#15242) 2020-03-11 17:35:32 +08:00
0ddfe0716f *: fix datum's collation behavior to build correct logical ranges (#14963) 2020-03-05 22:34:46 +08:00
1771fff928 expression: make field and findInSet support collation (#15100) 2020-03-04 18:12:53 +08:00
f2fa5c5fd5 expression: consider collations when comparing strings (#14913) 2020-02-25 15:06:37 +08:00
4755a9b9ef util: revert util/mathutil (#14744) 2020-02-13 11:33:04 +08:00
17da140f15 executor: Improve the performance of WindowExec by using sliding window (#14294) 2020-02-07 18:38:54 +08:00
ebc6a2d39d *: add builtin aggregate function json_objectagg (#11154) 2020-02-04 21:41:55 +08:00
86ff21b076 *: add builtin aggregate function VAR_POP (#14101) 2020-01-07 20:55:29 +08:00
9bf17e6c9e executor: fix wrong behavior when ENUM column meet Aggregati… (#14035) 2020-01-07 11:26:26 +08:00
174ff27943 *: fix static check issues (#14286) 2020-01-06 16:07:15 +08:00
d006443194 type: encapsulate Time API (#14288) 2019-12-31 12:41:09 +08:00
8cbacf0d7c wasm: fix compile error for wasm (#14160)
Signed-off-by: 5kbpers <tangminghua@pingcap.com>
2019-12-23 15:17:46 +08:00
4b830aa7f6 *: Remove unused code (#13674) 2019-11-22 11:37:07 +08:00
609b52998f executor: revert mostly changes in #11678 (#12481) 2019-10-16 21:22:49 +08:00
8d165f0fd2 executor: copy row data instead of refereeing chunk.Row in some window functions. (#11678) 2019-08-22 10:57:54 +08:00
c59028a2b5 *: let baseFuncDesc.typeInfer return error instead of panic (#10910) 2019-06-24 13:09:14 +08:00