Sqlfluff

Latest version: v3.0.6

Safety actively analyzes 630094 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 22 of 24

0.1.5

Not secure
Added

- Python 3.8 Support!

Changed

- Moved some of the responsibility for formatted logging into the linter to mean that we can
log progressively in large directories.
- Fixed a bug in the grammar where one of the return values was messed up.

0.1.4

Not secure
Added

- Added a `--exclude-rules` argument to most of the commands to allow rule users
to exclude specific subset of rules, by [sumitkumar1209](https://github.com/sumitkumar1209)
- Added lexing for `!=`, `~` and `::`.
- Added a new common segment: `LambdaSegment` which allows matching based on arbitrary
functions which can be applied to segments.
- Recursive Expressions for both arithmetic and functions, based heavily off the grammar
provided by the guys at [CockroachDB](https://www.cockroachlabs.com/docs/stable/sql-grammar.html#select_stmt).
- An `Anything` grammar, useful in matching rather than in parsing to match anything.

Changed

- Complete rewrite of the bracket counting functions, using some centralised class methods
on the `BaseGrammar` class to support common matching features across multiple grammars.
In particular this affects the `Delimited` grammar which is now _much simpler_ but does
also require _slightly_ more liberal use of terminators to match effectively.
- Rather than passing around multiple variables during parsing and matching, there is now
a `ParseContext` object which contains things like the dialect and various depths. This
simplifies the parsing and matching code significantly.
- Bracket referencing is now done from the dialect directly, rather than in individual
Grammars (except the `Bracketed` grammar, which still implements it directly). This
takes out some originally duplicated code.
- Corrected the parsing of ordering keywords in and `ORDER BY` clause.

Removed

- Removed the `bracket_sensitive_forward_match` method from the `BaseGrammar`. It was ugly
and not flexible enough. It's been replaced by a suite of methods as described above.

0.1.3

Not secure
Changed

- Tweak to the L001 rule so that it doesn't crash the whole thing.

0.1.2

Not secure
Changed

- Fixed the errors raised by the lexer.

0.1.1

Not secure
Changed

- Fixed which modules from sqlfluff are installed in the setup.py. This affects
the `version` command.

0.1.0

Not secure
Changed

- _Big Rewrite - some loss in functionality might be apparent compared
to pre-0.1.0. Please submit any major problems as issues on github_
- Changed unicode handling for better escape codes in python 2.
Thanks [mrshu](https://github.com/mrshu)
- BIG rewrite of the parser, completely new architecture. This introduces
breaking changes and some loss of functionality while we catch up.
- In particular, matches now return partial matches to speed up parsing.
- The `Delimited` matcher has had a significant re-write with a major
speedup and broken the dependency on `Sequence`.
- Rewrite of `StartsWith` and `Sequence` to use partial matches properly.
- Different treatment of numeric literals.
- Both `Bracketed` and `Delimited` respect bracket counting.
- MASSIVE rewrite of `Bracketed`.
- Grammars now have timers.
- Joins properly parsing,
- Rewrite of logging to selectively output commands at different levels
of verbosity. This uses the `verbosity_logger` method.
- Added a command line `sqlfluff parse` option which runs just the parsing step
of the process to better understand how a file is being parsed. This also
has options to configure how deep we recurse.
- Complete Re-write of the rules section, implementing new `crawlers` which
implement the linting rules. Now with inbuilt fixers in them.
- Old rules removed and re implemented so we now have parity with the old rule sets.
- Moved to using Ref mostly within the core grammar so that we can have recursion.
- Used recursion to do a first implementation of arithmetic parsing. Including a test for it.
- Moved the main grammar into a separate dialect and renamed source and test files accordingly.
- Moved to file-based tests for the ansi dialect to make it easier to test using the tool directly.
- As part of file tests - expected outcomes are now encoded in yaml to make it easier to write new tests.
- Vastly improved readability and debugging potential of the \_match logging.
- Added support for windows line endings in the lexer.

Page 22 of 24

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.