Skip to content

01-Scalar

Fun: abs()
1. Support types
2. Basic query
3. Boundary values
4. Filter query
5. Tag compute for scalar function
6. Check result of query
7. Check abs result of stable query

Fun: now()
1. Insert with now +/- and d/s/a
2. Query with where now +/- d/m/h

Fun: acos()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: asin()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: atan()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: cast()
1. CAST on super table and normal table
2. CAST between all data types
3. CAST with null values
4. CAST constant operation
5. CAST with aggregation functions
6. CAST with union all
7. CAST with function embedded
8. CAST without from table
9. verify JIRA TS-5972
10. CAST to JSON returns proper error (not Unknown error 65535)

Fun: blob cast/substr/length
Test BLOB type support in cast, substr, and length scalar functions.
1. CAST VARCHAR/literal to BLOB
2. CAST BLOB to VARCHAR with truncation
3. CAST BLOB to BLOB (identity)
4. CAST BLOB to INT/BIGINT/TINYINT/SMALLINT/unsigned variants
5. CAST BLOB to FLOAT/DOUBLE
6. CAST BLOB to BOOL
7. CAST numeric types to BLOB
8. CAST BLOB to NCHAR
9. CAST BLOB to BINARY with truncation
10. CAST on NULL BLOB to all types
11. SUBSTR on BLOB: positive/negative position
12. SUBSTR on NULL/empty BLOB
13. SUBSTR boundary: position 0, out-of-range, huge length
14. LENGTH on BLOB: normal/empty/NULL/single-byte
15. BLOB in WHERE clause with CAST
16. Aggregate functions with LENGTH(BLOB)
17. GROUP BY with BLOB substr/cast (expect error)

Fun: ceil()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: char_length()
1. char_length with conditions on character columns
2. char_length with conditions on non-character columns
3. char_length with group by and having
4. char_length error conditions
5. char_length after wal log flush
6. char_length on stable and normal table
7. char_length with null values
8. char_length with upper function
9. char_length with cast function
10. char_length with different data types
11. char_length with boundary values
12. char_length with multiple table types
13. char_length with various data distributions
14. char_length with different timestamp formats
15. char_length with special characters in strings

Fun: concat()
1. CONCAT on super/child/normal table
2. CONCAT between all data types
3. CONCAT with null values
4. CONCAT with different number of columns
5. CONCAT with negative test cases
6. CONCAT with chinese language

Fun: concat() extend
1. Create super table and child tables
2. Insert data with null/chinese/single char values
3. Query with different concat conditions
4. Check the query result
5. Flush database and re-check the result
6. Clean up the environment

Fun: concat_ws()
1. CONCAT_WS on super/child/normal table
2. CONCAT_WS between all data types
3. CONCAT_WS with null values
4. CONCAT_WS with different number of columns
5. CONCAT_WS with negative test cases

Fun: cos()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: floor()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: length()
1. LENGTH on super/child/normal table
2. LENGTH between all data types
3. LENGTH with null values
4. LENGTH constant operation
5. LENGTH with invalid parameters

Fun: log()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: lower()
1. LOWER on super/child/normal table
2. LOWER between all data types
3. LOWER with null values
4. LOWER constant operation
5. LOWER with invalid parameters

Fun: ltrim()
1. LTRIM on super/child/normal table
2. LTRIM between all data types
3. LTRIM with null values
4. LTRIM constant operation
5. LTRIM with invalid parameters

Fun: now()
1. Now with insert clause
2. Now with select clause
3. Now with where clause
4. Now with time arithmetic
5. Now with different precisions
6. Now with error values

Fun: pow()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Super/child/normal table query
7. Query with partition by
8. Nest query
9. Mix with other functions
10. Input invalid parameter

Fun: round()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: rtrim()
1. RTRIM on super/child/normal table
2. RTRIM between all data types
3. RTRIM with null values
4. RTRIM constant operation
5. RTRIM with invalid parameters

Fun: sin()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: sqrt()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: stateduration()
1. Query with support types
2. Query with support operators
3. Query with empty table
4. Unique with super tags
5. Unique with common column
6. Unique with scalar function
7. Unique with filter where
8. Unique with union all
9. Unique with join
10. Nest query
11. Check boundary values
12. Check unit time
13. Check errors

Fun: substr()
1. SUBSTR on super/child/normal table
2. SUBSTR between all data types
3. SUBSTR with null values
4. SUBSTR constant operation
5. SUBSTR with invalid parameters

Fun: tan()
1. Support types
2. Basic query
3. Big number query
4. Boundary query
5. Filter query
6. Stable table query
7. Error query

Fun: timediff()
1. Constant timestamp test
2. Normal table test
3. Super table test
4. Without unit test
5. Multi-res parameters test

Fun: timetruncate()
1. Query from normal/child/super/without table
2. Query from ns/us/ms precision database
3. Query from different unit time character
4. Consider the influence of timezone
5. Query from different timestamp format, such as string/unix timestamp
6. Query Error unit time character

Fun: timezone()
1. Check show local/dnode variables timezone
2. Check timezone() function on normal table/stable/child table
3. Check timezone format when insert data

Fun: to_iso8601()
1. Query from child/normal/super/without table
2. Query from ns/us/ms precision database
3. Query with different time format string
4. Query with different timezone string
5. Query with null value
6. Query with wrong parameter
7. Input parameter with now()/today()/null/constant/timestamp field

Fun: today()
1. Insert normal/child table with now and today values
2. Query with input parameter of to_iso8601 function
3. Query in select/ where clause

Fun: to_json()
1. Create json tag on super table
2. Insert json tag with different data type
3. Query using to_json function with null/{"abc":123}/{"key"} parameter
4. Check query result right

Fun: to_timestamp()
1. Query from child/super/without table
2. Query from ns/us/ms precision database
3. Query from different timestamp format
4. Query Error timestamp format string

Fun: to_char()
1. Support data types
2. Query with 'yyyy-mm-dd hh:mi:ss.ns'
3. Query with 'yyyy-mm-dd'
4. Query with 'yyyy-mm-dd hh:mi:ss.ns'
5. Query with 'yy-mon-dd hh24:mi:ss.msa.m.TZH Day'
6. Query on super/no table

Fun: to_unixtimestamp()
1. Query from normal/super/without table
2. Query from boundary timestamp
3. Query from different time zone string
4. Query Error timestamp format string

Fun: today()
1. Query from normal/super table
2. Query from ms/us/ns precision database
3. Query from where condition
4. Query Error parameter

Fun: upper()
1. Query from super/child/normal table
2. Query from cast covert result
3. Query from group condition
4. Query Error parameter
5. Query after flush database

Scalar: All
test math function pi, round, exp, truncate, ln, mod, sign, degrees, radians, rand, greatest, least
test char function char_length, char, ascii, position, replace, repeat, substr, substr_idx, trim
test time function timediff, week, weekday, weekofyear, dayofweek

Fun: degrees()
1. Support datatype types
2. Query with constant parameter
3. Query with function parameter (abs/sin/cos)
4. Query with limit
5. Query with order by
6. Query with null value
7. Error query with no parameter
8. Error query with string parameter

Fun: exp()
1. Support datatype types
2. Query with constant/boundary/null/expr parameter
3. Query with function parameter (abs/log/round)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: greatest()
1. Support data types
2. Query with constant/boundary/null/chinese/now parameter
3. Query with function parameter (cast)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: least()
1. Support data types
2. Query with constant/boundary/null/chinese/now parameter
3. Query with function parameter (cast)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: ln()
1. Support data types
2. Query with constant/boundary/null/chinese/now parameter
3. Query with function parameter (cast)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: mod()
1. Support data types
2. Query with constant/boundary/null/chinese/now parameter
3. Query with function parameter (cast)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: pi()
1. Support data types
2. Query with constant/boundary/null/chinese/now parameter
3. Query with function parameter (cast)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter

Fun: radians()
1. Support data types
2. Query with constant/boundary/null parameter
3. Query with function parameter (sqrt/degrees)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter

Fun: rand()
1. Support data types
2. Query with constant/boundary/null/big parameter
3. Query with limit
4. Query with order by
5. Query on stable/notable
6. Query on where clause

Fun: sign()
1. Support data types
2. Query with constant/boundary/null parameter
3. Query with function parameter (sqrt/abs/round/log)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with string parameter
9. Error query with two parameter

Fun: truncate()
1. Support data types
2. Query with constant/boundary/null parameter
3. Query with function parameter (exp/abs/log)
4. Query with limit
5. Query with order by
6. Query on stable/notable
7. Query like TRUNCATE(TRUNCATE(TRUNCATE(...
8. Error query with no parameter
9. Error query with string parameter

Fun: crc32()
1. Support data types
2. Query with constant/null/blank/chinese parameter
3. Query with function parameter (to_timestamp/to_char)
4. Query with float/int/expr parameter
5. Error query with no parameter

Fun: base64()
1. Support data types
2. Query with constant/boundary/null/blank/chinese parameter
3. Query with function parameter (trim/repeat/concat/lower)
4. Error query with no parameter
5. Error query with number parameter
6. Error query with cast as integer parameter

Fun: ascii()
1. Support data types
2. Query with constant/null/blank/special char/chinese parameter
3. Query with input parameter cast/concat/substring
4. Query with output parameter pow/sqrt/cast
5. Query with limit/order by
6. Query on super/no table
7. Error query with no parameter
8. Error query with number parameter

Fun: char()
1. Support data types
2. Query with constant/null/string/float/int/expr parameter
3. Query with output parameter concat/cast
4. Query with 1 ~ 5 parameter
5. Query with limit/order by
6. Query on super/no table
7. Error query with no parameter

Fun: char_length() extend
1. Support data types
2. Query with constant/null/blank/chinese/japanese parameter
3. Query with input parameter concat/cast
4. Query with output parameter sqrt/cast/min/max/avg
5. Query with limit/order by/group by/
6. Query on super/child/no table
7. Error query with no parameter
8. Error query with number parameter

Fun: position()
1. Support datatype varchar/nchar
2. Query with constant/null/blank/expr parameter
3. Call in function abs/pow
4. Call with function input substring/trim/upper/concat
5. Query with limit/order by
6. Query on stable/notable
7. Error query with no parameter
8. Error query with 1 parameter
9. Error query with number parameter

Fun: repeat()
1. Support datatype varchar/nchar
2. Query with first parameter null or second parameter null
3. Call in function concat/concat_ws/position
4. Call with function input trim/concat/length
5. Query with limit/order by/where
6. Query on stable/notable
7. Query on column/tag
8. Error query with no parameter
9. Error query with 1 and 3 parameter

Fun: replace()
1. Support datatype varchar/nchar
2. Query with first and second parameter null
3. Call with function input lower/substr/concat/upper/trim
4. Query with limit/order by/where
5. Query on stable/notable
6. Query on column/tag/constant
7. Error query with no parameter
8. Error query with invalid datatype parameter

Fun: substr()
1. Support datatype varchar/nchar
2. Query with 1 ~ 3 parameter null
3. Query with from/for keyword
4. Call with function input concat/upper/trim/sign
5. Query with limit/order by/where
6. Query on stable/notable
7. Query on column/tag/constant
8. Query with alias name substring
9. Error query with no parameter
10. Error query with invalid datatype parameter

Fun: substring_index()
1. Support datatype varchar/nchar
2. Query with 1 ~ 3 parameter null
3. Call with function input concat/upper/trim/length
4. Query with limit/order by/where
5. Query on stable/child/notable
6. Error query with no parameter
7. Error query with first parameter number
8. Error query with second parameter string

Fun: trim()
1. Support data types varchar/nchar
2. Query with keyword both/leading/trailing/from
3. Query with constant/null/chinese parameter
4. Query with input function parameter concat/upper/substring/replace
5. Query with limit/order by asc/where
6. Query on super/child/no table
7. Error query with no parameter
8. Error query with number parameter
9. Error query with both from with number parameter

Fun: date()
1. Support data type timestamp/bigint/float
2. Query with group by
3. Query with null/boundary/0/-1000 parameter
4. Query with parameter "9999-12-31"/"01-JAN-25"/"#$@!+-*/"/"abcd"
5. Query with limit/order by asc/where
6. Query on super/no table
7. Error query with no parameter
8. Error query with invalid parameter

Fun: dayofweek()
1. Support data types timestamp/varchar/bigint
2. Query with null/'9999-12-31'/'01-JAN-20'/'abc' parameter
3. Query with input parameter timediff
4. Query with output parameter sum
5. Query with limit/order by/group by
6. Query on super/child/no table
7. Error query with no parameter
8. Error query with 2 parameter

Fun: week()
1. Support data types timestamp/varchar/bigint
2. Query with null/'abc'/'01-JAN-20'/'9999-12-31' parameter
3. Query with second parameter mode 0/1/2/3/4/5/6/7
4. Query with input parameter timediff
5. Query with output parameter sum
6. Query with limit/order by/group by
7. Query on super/child/no table
8. Error query with no parameter
9. Error query with no input first parameter
10. Error query with input second float parameter

Fun: weekday()
1. Support data types timestamp/varchar/bigint
2. Query with null/'abc'/'01-JAN-20'/'9999-12-31' parameter
3. Query with input parameter timediff
4. Query with output parameter sum
5. Query with limit/order by/group by
6. Query on super/child/no table
7. Error query with no parameter
8. Error query with 2 parameters

Fun: weekofyear()
1. Support data types timestamp/varchar/bigint
2. Query with null/'abc'/'11/01/31'/'01-JAN-20'/'9999-12-31' parameter
3. Query with input parameter timediff
4. Query with output parameter sum
5. Query with limit/order by/group by/where
6. Query on super/child/no table
7. Error query with no parameter
8. Error query with 2 parameters

Scalar: Crypto
Test crypto functions, including sm4, aes encryption/decryption, base64 codec, hashing and masking.

Scalar: Math
Test mathematical functions, including abs, log, pow, sqrt, sin, cos, tan, asin, acos, atan, ceil, floor, round.

Scalar: String
Test string functions, including Char_length, lower, upper, ltrim, rtrim, concat, and concat_ws.

Fun: find_in_set()
1. Support data types varchar/nchar
2. Query with constant/null/single char/chinese parameter
3. Query with different separator
4. Query from normal/no table
5. Query with 2 ~ 3 parameters

Fun: like_in_set()
1. Support data types varchar/nchar
2. Query with constant/null/single char/special char/chinese parameter
3. Query with different separator
4. Query from normal/no table
5. Query with 2 ~ 3 parameters

Scalar: Time
Test time functions, including TIMETRUNCATE, TIMEDIFF, and their combined usage.

Fun: corr()
1. Query with int and float data type parameter
2. Query with constant/null/bool parameter
3. Query with corr(cast(...
4. Query on super/child/no table