Enhance test of scalar expressions
Open
Nobody has claimed this yet.
component/expression
type/enhancement
- Dominant language
- C++
- Stars
- 1k
- Forks
- 423
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 24
Description
So far, we only have integration test(e.g. fullstack-test, mock-test, sqllogic with randgen cases) and poor unit test to ensure correctness of scalar expressions, which has low test coverage and cannot help us find bugs automatically.
IMO, test of TiFlash scalar expressions should cover:
- for all the input argument, should tests 3 types of input column: column_vector, column_constant, column_null
- for all the input argument, the value of intput should include min_value, max_value, empty_value and other corner cases.
Tracking lists of tests:
- #3495
- Math subtract
- - Math multuply
* - Math divide
/ - #3496
- #3497
- #3498
- #3525
- #3499
- #3500
- #3501
- #3502
- #3503
- #3504
- #3505
- #3506
- #3507
- #3508
- #3509
- #3510
- #3526
- #3511
- #3527
- #3512
- #3513
- #3531
- #3528
- #3529
- #3532
- #3533
- #3515
- #3516
- #3514
- #3530
- String function
extract - #3534
- #3535
- #3518
- #3517
- String function
replace - #3769
- Time
date_format - #3602
- #3522
- #3519
- #3520
- #3521
- #3523
- #3524
- Time function
hour - Time function
minute - Time function
second - Time function
micro_second - Time function
date_add/add_date - Time function
date_sub/sub_date - #3603
- #3557
- Time function
sysdate - Comparison LT
< - Comparison GT
> - Comparison EQ
= - Comparison LE
<= - Comparison GE
>= - Comparison NE
!= - Logical
and - Logical
or - Logical
not - #3604
- #3605
- #3606
- #3607
- CastIntAsXXX #3437
- #3554
- CastDecimalAsXXX
- CastStringAsXXX
- CastTimeAsXXX
- #3608
- #3609
- #3610
- #3611
- Other function
in - Other function
isnull - Other function
json_length - Other function
inet_ntoa - Other function
inet_aton - Other function
inet6_ntoa - Other function
inet6_aton
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.