Skip to content

SQL linter tool for BigQuery GoogleSQL (formerly known as StandardSQL).

License

Notifications You must be signed in to change notification settings

hirosassa/bqvalid

Repository files navigation

bqvalid

build codecov License: MIT

What bqvalid does

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.

Installation

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

Usage

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

Linting Rules

See the rules page

Contributing

See the contributing guide!