Exit Codes
By default, SDF exits with the following status codes- 0 if no linter violations were found
- 0 if linter completes successfully with any number of linter warnings
- 64 if the linter fails for syntax reasons in any file
-w error flag which turns any lint warning into an error.
In sdf yml, you configure this as follows::
Capitalization Keywords
SDF107
Inconsistent capitalization of keywords
Example:
sdf lint -w capitalization-keywords=upper
Configuration:
workspace.sdf.yml
Capitalization Literals
SDF108
SDF109
Inconsistent capitalization ofboolean/null literal
Example:
sdf lint -w capitalization-literals=upper
Configuration:
workspace.sdf.yml
Capitalization Types
SDF110
Inconsistent capitalization of datatypes.
Example:
sdf lint -w capitalization-types=upper
Configuration:
workspace.sdf.yml
Capitalization Functions
SDF106
Inconsistent capitalization of function names
Example:
sdf lint -w capitalization-functions=upper
Configuration:
workspace.sdf.yml
Convention Blocked Words
SDF124
Specify a list of names to block from being identifiers.
Examples:
- Blocking a single word:
sdf lint -w convention-blocked-words=department - Blocking multiple words:
sdf lint -w convention-blocked-words=word1,word2,...,wordn
workspace.sdf.yml
References Keywords
SDF125
Keywords should not be used as identifiers
Example:
sdf lint -w references-keywords
Configuration:
workspace.sdf.yml
References Special Chars
SDF117
Do not use special characters in identifiers
Example:
- Disallows
$character:sdf lint -w references-special-chars=$ - Disallows
$and.characters:sdf lint -w references-special-chars=$.
workspace.sdf.yml
References Quoting
SDF118
Unnecessary quoted identifier
Example:
sdf lint -w references-quoting
Configuration:
workspace.sdf.yml
References Qualification
SDF116
Columns reference should specify source table or view in queries with more than one source.
Example:
sdf lint -w references-qualification
Configuration:
workspace.sdf.yml
Ambiguous Column References
SDF105
Inconsistent column references in GROUP BY/ORDER BY clauses of both ordinal and non-ordinal
Example:
sdf lint -w ambiguous-column-references
Configuration:
workspace.sdf.yml
GROUP BY or ORDER BY clause. Reference should be consistent.
Structure Else Null
SDF119
RedundantELSE NULL in a case when statement
Example:
sdf lint -w structure-else-null
Configuration:
workspace.sdf.yml
ELSE NULL within a CASE WHEN statement.
Structure Simple Case
SDF120
CASE statement can be simplified
Example:
sdf lint -w structure-simple-case
Configuration:
workspace.sdf.yml
CASE statement are unnecessary and can be simplified:
Structure Unused Cte
SDF121
Query defines a CTE (common-table expression) but does not use it
Example:
sdf lint -w structure-unused-cte
Configuration:
workspace.sdf.yml
sub_2 in the example below).
Structure Nested Case
SDF122
Nested CASE statement in ELSE clause could be flattened.
Example:
sdf lint -w structure-nested-case
Configuration:
workspace.sdf.yml
CASE statements.
Structure Distinct
SDF123
DISTINCT used with parentheses
Example:
sdf lint -w structure-distinct
Configuration:
workspace.sdf.yml
DISTINCT with parentheses. In the example below, all columns are affected by the DISTINCT but can mistaken to think only column a is.
Structure Subquery
SDF113
Join/From clauses should not contain subqueries. Use CTEs instead
Example:
sdf lint -w structure-subquery=join
Configuration:
workspace.sdf.yml
Structure Join Condition Order
SDF114
Join conditions column references should follow tables reference order
Example:
sdf lint -w structure_join_condition_order
Configuration:
workspace.sdf.yml
ON clause statement in a different order than
the tables are referenced in the JOIN clause
Structure Column Order
SDF115
Select wildcards then simple targets before calculations and aggregates.
Example:
sdf lint -w structure-column-order
Configuration:
workspace.sdf.yml
Convention Terminator
SDF111
Statements should not end with a semi-colon. Multi-statements must be separated with a semi-colon but the final statement should NOT end with one.
Example:
sdf lint -w convention-terminator
Configuration:
workspace.sdf.yml
Convention Comma
SDF104
Avoid trailing commas in lists.
Configuration:
workspace.sdf.yml