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