# 新加case注意事项 1. 变量名前要写 def,否则是全局变量,并行跑的 case 的时候可能被其他 case 影响。 Problematic code: ``` ret = *** ``` Correct code: ``` def ret = *** ``` 2. 尽量不要在 case 中 global 的设置 session variable,或者修改集群配置,可能会影响其他 case。 Problematic code: ``` sql """set global enable_pipeline_x_engine=true;""" ``` Correct code: ``` sql """set enable_pipeline_x_engine=true;""" ``` 3. 如果必须要设置 global,或者要改集群配置,可以指定 case 以 nonConcurrent 的方式运行。 [示例](https://github.com/apache/doris/blob/master/regression-test/suites/query_p0/sql_functions/cast_function/test_cast_string_to_array.groovy#L18) 4. case 中涉及时间相关的,最好固定时间,不要用类似 now() 函数这种动态值,避免过一段时间后 case 就跑不过了。 Problematic code: ``` sql """select count(*) from table where created < now();""" ``` Correct code: ``` sql """select count(*) from table where created < '2023-11-13';""" ``` 5. case 中 streamload 后请加上 sync 一下,避免在多 FE 环境中执行不稳定。 Problematic code: ``` streamLoad { ... } sql """select count(*) from table """ ``` Correct code: ``` streamLoad { ... } sql """sync""" sql """select count(*) from table """ ```