Commit Graph

23 Commits

Author SHA1 Message Date
dbb753fd02 executor: create PipelinedWindowExec (#23022) 2021-06-03 15:38:27 +08:00
04c334ba56 executor: Improve max/min window function with deque-based sliding window (#22628) 2021-04-14 13:11:52 +08:00
602bcd2e40 *: fix some structcheck lint warnings (#22983) 2021-03-02 23:12:54 +08:00
ec788ac154 executor: reduce useless memory allocation in min/max aggregate (#22912) 2021-02-26 18:04:53 +08:00
1265a115f6 chunk: fix min/max for enum/set is incompatible with MySQL (#21566) 2020-12-21 17:07:00 +08:00
dy
a3facd0f71 expression, planner: fix decimal results for aggregate functions (#20017) 2020-11-11 14:46:22 +08:00
52d3dae1d3 executor: support memory track for max/min 2020-09-10 17:47:20 +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
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
b178de06ad executor: Trace the memory usage of AggFunc in HashAggExec (#18257) 2020-07-06 20:48:41 +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
e9653675dd *: remove errors.Trace in main handle path (#10033) 2019-04-04 14:27:15 +08:00
26029778a5 executor: deep copy json into partial result (#9833) 2019-03-28 12:54:19 +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
cb03f2bec1 move from juju/errors to pkg/errors (#7151) 2018-09-12 15:42:20 +08:00
f98ef22ded expression, executor: add a new interface MergePartialResult for the new aggregation framework (#7281) 2018-08-13 14:54:06 +08:00
06021c7cfe remove types.Row interface (#7170) 2018-07-27 13:45:03 +08:00
dd99148767 executor: pass row pointer rather than row to avoid convertT2I (#7143) 2018-07-25 13:37:09 +08:00
9c9ddf391f executor: support the remained types for max/min (#7056)
support String/ Time/ Duration/ JSON for max/min
2018-07-17 00:15:45 +08:00
0ef52acf82 executor: support MAX/MIN in new evaluation framework partially (#6971) 2018-07-12 15:01:16 +08:00