pingcap / pingcap/tiflash

Enhance test of scalar expressions

Open
#1,690 1 comment 2 reactions 1 assignee View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.