bqvalid is a SQL linter tool for BigQuery GoogleSQL (formerly known as StandardSQL).
bqvalid fails with error message if there are the violation of rules described in the rules page.
You can get binary of bqvalid from the release page like
curl -LsJO https://github.com/hirosassa/bqvalid/releases/download/v0.0.9/bqvalid-x86_64-apple-darwincat sample.sql | bqvalidIf the SQL is contained the expressions that comparing _TABLE_SUFFIX with subquery, bqvalid outputs the reason and its position like:
5:7: Full scan will cause! Should not compare _TABLE_SUFFIX with subquery
Also, you can input file paths or directory. bqvalid collects files whose extension is .sql (ignores files that has other extensions) :
bqvalid one.sql two.sql three.sqlor
bqvalid sql/Then, the output will as follows:
one.sql:6:6: Full scan will cause! Should not compare _TABLE_SUFFIX with subquery
three.sql:5:19: Full scan will cause! Should not compare _TABLE_SUFFIX with subquery
See the rules page
See the contributing guide!