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-darwin
cat sample.sql | bqvalid
If 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.sql
or
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!