“47e5978f499fdad105f385937f774ec93c056600”上不存在“mobile/src/fpga/V2/deconv_bias_scale.h”
提交 cc2d6641 编写于 作者: W wenzhi

Bats Test SQL Rewrite

上级 d22add80
......@@ -5,18 +5,12 @@ load test_helper
@test "Simple Query Optimizer" {
${SOAR_BIN_ENV} -query "select * from film where length > 120" | grep -v "散粒度" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
echo "$output"
[ $status -eq 0 ]
}
@test "Run all test cases" {
${SOAR_BIN} -list-test-sqls | ${SOAR_BIN_ENV} | grep -v "散粒度" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
echo "$output"
[ $status -eq 0 ]
}
@test "Check dial timeout" {
run timeout 1 ${SOAR_BIN} -test-dsn "1.1.1.1" -check-config
[ $status -eq 124 ]
}
......@@ -7,6 +7,7 @@ load test_helper
[ $status -eq 0 ]
}
#
@test "Check get tables from SQL" {
${SOAR_BIN} -list-test-sqls | ${SOAR_BIN} -report-type tables > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
${SOAR_BIN} -list-test-sqls | ${SOAR_BIN} -report-type tables -test-dsn "/sakila" >> ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
......@@ -15,3 +16,158 @@ load test_helper
[ $status -eq 0 ]
}
# SQL 语法检查
# 1. soar SQL 分隔符是否正常 (-delimiter)
@test "Check Soar Delimiter" {
${SOAR_BIN} -delimiter "@" -query "select b from c @ select a from b" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 2. max-column-count (ddl 中才会有提示)
@test "Check Soar Max Column Count" {
${SOAR_BIN} -query "create table a (a int,b int,c int,d int)" --max-column-count 3 > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# SQL 指纹检查
# 1. 检测各种类型的 SQL 语句,以及多条 SQL 语句的情况下,指纹是否正确
@test "Check Soar SQL Fingerprint" {
${SOAR_BIN} -list-test-sqls | ${SOAR_BIN} -report-type "fingerprint" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 1. 检测各种类型的 SQL 语句,以及多条SQL语句的情况下,压缩是否正确
# 1. 检测各种类型的 SQL 语句,以及多条SQL语句的情况下,美化是否正确
@test "Check Soar SQL pretty And Compress " {
${SOAR_BIN} -list-test-sqls |${SOAR_BIN} -report-type "pretty"| ${SOAR_BIN} -report-type "compress" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# SQL 改写检查
# 1. 检查 SQL 改写 dml2select
@test "Check Soar SQL Rewrite Dml2select " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "dml2select" \
-query "DELETE FROM film WHERE length > 100" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 2. 检查 SQL 改写 Star2columns
@test "Check Soar SQL Rewrite Star2columns " {
${SOAR_BIN_ENV} -report-type "rewrite" -rewrite-rules "star2columns" \
-query "select * from film where length > 120" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 4. 检查 SQL 改写 Having
@test "Check Soar SQL Rewrite Having " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "having" \
-query "SELECT state, COUNT(*) FROM Drivers GROUP BY state HAVING state IN ('GA', 'TX') ORDER BY state" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 5. 检查 SQL 改写 orderbynull
@test "Check Soar SQL Rewrite Orderbynull " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "orderbynull" \
-query "SELECT sum(col1) FROM tbl GROUP BY col" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 6. 检查 SQL 改写 unionall
@test "Check Soar SQL Rewrite Unionall " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "unionall" \
-query "select country_id from city union select country_id from country" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 7. 检查 SQL 改写 or2in
@test "Check Soar SQL Rewrite Or2in " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "or2in" \
-query "select country_id from city where col1 = 1 or (col2 = 1 or col2 = 2 ) or col1 = 3;" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 7. 检查 SQL 改写 dmlorderby
@test "Check Soar SQL Rewrite Dmlorderby " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "dmlorderby" \
-query "DELETE FROM tbl WHERE col1=1 ORDER BY col" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 8. 检查 SQL 改写 distinctstar
@test "Check Soar SQL Rewrite Distinctstar " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "distinctstar" \
-query "SELECT DISTINCT * FROM film;" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 9. 检查 SQL 改写 standard
@test "Check Soar SQL Rewrite Standard " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "standard" \
-query "SELECT sum(col1) FROM tbl GROUP BY 1;" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 10. 检查 SQL 改写 mergealter
@test "Check Soar SQL Rewrite Mergealter " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "mergealter" \
-query "ALTER TABLE t2 DROP COLUMN c;ALTER TABLE t2 DROP COLUMN d;" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 11. 检查 SQL 改写 alwaystrue
@test "Check Soar SQL Rewrite Alwaystrue " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "alwaystrue" \
-query "SELECT count(col) FROM tbl where 'a'= 'a' or ('b' = 'b' and a = 'b');" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 12. 检查 SQL 改写 countstar
@test "Check Soar SQL Rewrite Countstar " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "countstar" \
-query "SELECT count(col) FROM tbl GROUP BY 1;" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 16. 检查 SQL 改写 truncate
@test "Check Soar SQL Rewrite Truncate " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "truncate" \
-query "DELETE FROM tbl" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 17. 检查 SQL 改写 rmparenthesis
@test "Check Soar SQL Rewrite Rmparenthesis " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "rmparenthesis" \
-query "select col from a where (col = 1)" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
# 18. 检查 SQL 改写 delimiter
@test "Check Soar SQL Rewrite Delimiter " {
${SOAR_BIN} -report-type "rewrite" -rewrite-rules "delimiter" \
-query "use sakila" > ${BATS_TMP_DIRNAME}/${BATS_TEST_NAME}.golden
run golden_diff
[ $status -eq 0 ]
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册