| Release 0.3.1 (Feb 29, 2020) |
| ---------------------------- |
| |
| Enhancements |
| |
| * Add HQL keywords (pr475, by matwalk). |
| * Add support for time zone casts (issue489). |
| * Enhance formatting of AS keyword (issue507, by john-bodley). |
| * Stabilize grouping engine when parsing invalid SQL statements. |
| |
| Bug Fixes |
| |
| * Fix splitting of SQL with multiple statements inside |
| parentheses (issue485, pr486 by win39). |
| * Correctly identify NULLS FIRST / NULLS LAST as keywords (issue487). |
| * Fix splitting of SQL statements that contain dollar signs in |
| identifiers (issue491). |
| * Remove support for parsing double slash comments introduced in |
| 0.3.0 (issue456) as it had some side-effects with other dialects and |
| doesn't seem to be widely used (issue476). |
| * Restrict detection of alias names to objects that acutally could |
| have an alias (issue455, adopted some parts of pr509 by john-bodley). |
| * Fix parsing of date/time literals (issue438, by vashek). |
| * Fix initialization of TokenList (issue499, pr505 by john-bodley). |
| * Fix parsing of LIKE (issue493, pr525 by dbczumar). |
| * Improve parsing of identifiers (pr527 by liulk). |
| |
| |
| Release 0.3.0 (Mar 11, 2019) |
| ---------------------------- |
| |
| Notable Changes |
| |
| * Remove support for Python 3.3. |
| |
| Enhancements |
| |
| * New formatting option "--indent_after_first" (pr345, by johshoff). |
| * New formatting option "--indent_columns" (pr393, by digitalarbeiter). |
| * Add UPSERT keyword (issue408). |
| * Strip multiple whitespace within parentheses (issue473, by john-bodley). |
| * Support double slash (//) comments (issue456, by theianrobertson). |
| * Support for Calcite temporal keywords (pr468, by john-bodley). |
| |
| Bug Fixes |
| |
| * Fix occasional IndexError (pr390, by circld, issue313). |
| * Fix incorrect splitting of strings containing new lines (pr396, by fredyw). |
| * Fix reindent issue for parenthesis (issue427, by fredyw). |
| * Fix from( parsing issue (issue446, by fredyw) . |
| * Fix for get_real_name() to return correct name (issue369, by fredyw). |
| * Wrap function params when wrap_after is set (pr398, by soloman1124). |
| * Fix parsing of "WHEN name" clauses (pr418, by andrew deryabin). |
| * Add missing EXPLAIN keyword (issue421). |
| * Fix issue with strip_comments causing a syntax error (issue425, by fredyw). |
| * Fix formatting on INSERT which caused staircase effect on values (issue329, |
| by fredyw). |
| * Avoid formatting of psql commands (issue469). |
| |
| Internal Changes |
| |
| * Unify handling of GROUP BY/ORDER BY (pr457, by john-bodley). |
| * Remove unnecessary compat shim for bytes (pr453, by jdufresne). |
| |
| |
| Release 0.2.4 (Sep 27, 2017) |
| ---------------------------- |
| |
| Enhancements |
| |
| * Add more keywords for MySQL table options (pr328, pr333, by phdru). |
| * Add more PL/pgSQL keywords (pr357, by Demetrio92). |
| * Improve parsing of floats (pr330, by atronah). |
| |
| Bug Fixes |
| |
| * Fix parsing of MySQL table names starting with digits (issue337). |
| * Fix detection of identifiers using comparisons (issue327). |
| * Fix parsing of UNION ALL after WHERE (issue349). |
| * Fix handling of semicolon in assignments (issue359, issue358). |
| |
| |
| |
| Release 0.2.3 (Mar 02, 2017) |
| ---------------------------- |
| |
| Enhancements |
| |
| * New command line option "--encoding" (by twang2218, pr317). |
| * Support CONCURRENTLY keyword (issue322, by rowanseymour). |
| |
| Bug Fixes |
| |
| * Fix some edge-cases when parsing invalid SQL statements. |
| * Fix indentation of LIMIT (by romainr, issue320). |
| * Fix parsing of INTO keyword (issue324). |
| |
| Internal Changes |
| |
| * Several improvements regarding encodings. |
| |
| |
| Release 0.2.2 (Oct 22, 2016) |
| ---------------------------- |
| |
| Enhancements |
| |
| * Add comma_first option: When splitting list "comma first" notation |
| is used (issue141). |
| |
| Bug Fixes |
| |
| * Fix parsing of incomplete AS (issue284, by vmuriart). |
| * Fix parsing of Oracle names containing dollars (issue291). |
| * Fix parsing of UNION ALL (issue294). |
| * Fix grouping of identifiers containing typecasts (issue297). |
| * Add Changelog to sdist again (issue302). |
| |
| Internal Changes |
| |
| * `is_whitespace` and `is_group` changed into properties |
| |
| |
| Release 0.2.1 (Aug 13, 2016) |
| ---------------------------- |
| |
| Notable Changes |
| |
| * PostgreSQL: Function bodys are parsed as literal string. Previously |
| sqlparse assumed that all function bodys are parsable psql |
| strings (see issue277). |
| |
| Bug Fixes |
| |
| * Fix a regression to parse streams again (issue273, reported and |
| test case by gmccreight). |
| * Improve Python 2/3 compatibility when using parsestream (issue190, |
| by phdru). |
| * Improve splitting of PostgreSQL functions (issue277). |
| |
| |
| Release 0.2.0 (Jul 20, 2016) |
| ---------------------------- |
| |
| IMPORTANT: The supported Python versions have changed with this release. |
| sqlparse 0.2.x supports Python 2.7 and Python >= 3.3. |
| |
| Thanks to the many contributors for writing bug reports and working |
| on pull requests who made this version possible! |
| |
| Internal Changes |
| |
| * sqlparse.SQLParseError was removed from top-level module and moved to |
| sqlparse.exceptions. |
| * sqlparse.sql.Token.to_unicode was removed. |
| * The signature of a filter's process method has changed from |
| process(stack, stream) -> to process(stream). Stack was never used at |
| all. |
| * Lots of code cleanups and modernization (thanks esp. to vmuriart!). |
| * Improved grouping performance. (sjoerdjob) |
| |
| Enhancements |
| |
| * Support WHILE loops (issue215, by shenlongxing). |
| * Better support for CTEs (issue217, by Andrew Tipton). |
| * Recognize USING as a keyword more consistently (issue236, by koljonen). |
| * Improve alignment of columns (issue207, issue235, by vmuriat). |
| * Add wrap_after option for better alignment when formatting |
| lists (issue248, by Dennis Taylor). |
| * Add reindent-aligned option for alternate formatting (Adam Greenhall) |
| * Improved grouping of operations (issue211, by vmuriat). |
| |
| Bug Fixes |
| |
| * Leading whitespaces are now removed when format() is called with |
| strip_whitespace=True (issue213, by shenlongxing). |
| * Fix typo in keywords list (issue229, by cbeloni). |
| * Fix parsing of functions in comparisons (issue230, by saaj). |
| * Fix grouping of identifiers (issue233). |
| * Fix parsing of CREATE TABLE statements (issue242, by Tenghuan). |
| * Minor bug fixes (issue101). |
| * Improve formatting of CASE WHEN constructs (issue164, by vmuriat). |
| |
| |
| Release 0.1.19 (Mar 07, 2016) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix IndexError when statement contains WITH clauses (issue205). |
| |
| |
| Release 0.1.18 (Oct 25, 2015) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Remove universal wheel support, added in 0.1.17 by mistake. |
| |
| |
| Release 0.1.17 (Oct 24, 2015) |
| ----------------------------- |
| |
| Enhancements |
| |
| * Speed up parsing of large SQL statements (pull request: issue201, fixes the |
| following issues: issue199, issue135, issue62, issue41, by Ryan Wooden). |
| |
| Bug Fixes |
| |
| * Fix another splitter bug regarding DECLARE (issue194). |
| |
| Misc |
| |
| * Packages on PyPI are signed from now on. |
| |
| |
| Release 0.1.16 (Jul 26, 2015) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix a regression in get_alias() introduced in 0.1.15 (issue185). |
| * Fix a bug in the splitter regarding DECLARE (issue193). |
| * sqlformat command line tool doesn't duplicate newlines anymore (issue191). |
| * Don't mix up MySQL comments starting with hash and MSSQL |
| temp tables (issue192). |
| * Statement.get_type() now ignores comments at the beginning of |
| a statement (issue186). |
| |
| |
| Release 0.1.15 (Apr 15, 2015) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix a regression for identifiers with square bracktes |
| notation (issue153, by darikg). |
| * Add missing SQL types (issue154, issue155, issue156, by jukebox). |
| * Fix parsing of multi-line comments (issue172, by JacekPliszka). |
| * Fix parsing of escaped backslashes (issue174, by caseyching). |
| * Fix parsing of identifiers starting with underscore (issue175). |
| * Fix misinterpretation of IN keyword (issue183). |
| |
| Enhancements |
| |
| * Improve formatting of HAVING statements. |
| * Improve parsing of inline comments (issue163). |
| * Group comments to parent object (issue128, issue160). |
| * Add double precision builtin (issue169, by darikg). |
| * Add support for square bracket array indexing (issue170, issue176, |
| issue177 by darikg). |
| * Improve grouping of aliased elements (issue167, by darikg). |
| * Support comments starting with '#' character (issue178). |
| |
| |
| Release 0.1.14 (Nov 30, 2014) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Floats in UPDATE statements are now handled correctly (issue145). |
| * Properly handle string literals in comparisons (issue148, change proposed |
| by aadis). |
| * Fix indentation when using tabs (issue146). |
| |
| Enhancements |
| |
| * Improved formatting in list when newlines precede commas (issue140). |
| |
| |
| Release 0.1.13 (Oct 09, 2014) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix a regression in handling of NULL keywords introduced in 0.1.12. |
| |
| |
| Release 0.1.12 (Sep 20, 2014) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix handling of NULL keywords in aliased identifiers. |
| * Fix SerializerUnicode to split unquoted newlines (issue131, by Michael Schuller). |
| * Fix handling of modulo operators without spaces (by gavinwahl). |
| |
| Enhancements |
| |
| * Improve parsing of identifier lists containing placeholders. |
| * Speed up query parsing of unquoted lines (by Michael Schuller). |
| |
| |
| Release 0.1.11 (Feb 07, 2014) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Fix incorrect parsing of string literals containing line breaks (issue118). |
| * Fix typo in keywords, add MERGE, COLLECT keywords (issue122/124, |
| by Cristian Orellana). |
| * Improve parsing of string literals in columns. |
| * Fix parsing and formatting of statements containing EXCEPT keyword. |
| * Fix Function.get_parameters() (issue126/127, by spigwitmer). |
| |
| Enhancements |
| |
| * Classify DML keywords (issue116, by Victor Hahn). |
| * Add missing FOREACH keyword. |
| * Grouping of BEGIN/END blocks. |
| |
| Other |
| |
| * Python 2.5 isn't automatically tested anymore, neither Travis nor Tox |
| still support it out of the box. |
| |
| |
| Release 0.1.10 (Nov 02, 2013) |
| ----------------------------- |
| |
| Bug Fixes |
| |
| * Removed buffered reading again, it obviously causes wrong parsing in some rare |
| cases (issue114). |
| * Fix regression in setup.py introduced 10 months ago (issue115). |
| |
| Enhancements |
| |
| * Improved support for JOINs, by Alexander Beedie. |
| |
| |
| Release 0.1.9 (Sep 28, 2013) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Fix an regression introduced in 0.1.5 where sqlparse didn't properly |
| distinguished between single and double quoted strings when tagging |
| identifier (issue111). |
| |
| Enhancements |
| |
| * New option to truncate long string literals when formatting. |
| * Scientific numbers are pares correctly (issue107). |
| * Support for arithmetic expressions (issue109, issue106; by prudhvi). |
| |
| |
| Release 0.1.8 (Jun 29, 2013) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Whitespaces within certain keywords are now allowed (issue97, patch proposed |
| by xcombelle). |
| |
| Enhancements |
| |
| * Improve parsing of assignments in UPDATE statements (issue90). |
| * Add STRAIGHT_JOIN statement (by Yago Riveiro). |
| * Function.get_parameters() now returns the parameter if only one parameter is |
| given (issue94, by wayne.wuw). |
| * sqlparse.split() now removes leading and trailing whitespaces from split |
| statements. |
| * Add USE as keyword token (by mulos). |
| * Improve parsing of PEP249-style placeholders (issue103). |
| |
| |
| Release 0.1.7 (Apr 06, 2013) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Fix Python 3 compatibility of sqlformat script (by Pi Delport). |
| * Fix parsing of SQL statements that contain binary data (by Alexey |
| Malyshev). |
| * Fix a bug where keywords were identified as aliased identifiers in |
| invalid SQL statements. |
| * Fix parsing of identifier lists where identifiers are keywords too |
| (issue10). |
| |
| Enhancements |
| |
| * Top-level API functions now accept encoding keyword to parse |
| statements in certain encodings more reliable (issue20). |
| * Improve parsing speed when SQL contains CLOBs or BLOBs (issue86). |
| * Improve formatting of ORDER BY clauses (issue89). |
| * Formatter now tries to detect runaway indentations caused by |
| parsing errors or invalid SQL statements. When re-indenting such |
| statements the formatter flips back to column 0 before going crazy. |
| |
| Other |
| |
| * Documentation updates. |
| |
| |
| Release 0.1.6 (Jan 01, 2013) |
| ---------------------------- |
| |
| sqlparse is now compatible with Python 3 without any patches. The |
| Python 3 version is generated during install by 2to3. You'll need |
| distribute to install sqlparse for Python 3. |
| |
| Bug Fixes |
| |
| * Fix parsing error with dollar-quoted procedure bodies (issue83). |
| |
| Other |
| |
| * Documentation updates. |
| * Test suite now uses tox and pytest. |
| * py3k fixes (by vthriller). |
| * py3k fixes in setup.py (by Florian Bauer). |
| * setup.py now requires distribute (by Florian Bauer). |
| |
| |
| Release 0.1.5 (Nov 13, 2012) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Improve handling of quoted identifiers (issue78). |
| * Improve grouping and formatting of identifiers with operators (issue53). |
| * Improve grouping and formatting of concatenated strings (issue53). |
| * Improve handling of varchar() (by Mike Amy). |
| * Clean up handling of various SQL elements. |
| * Switch to pytest and clean up tests. |
| * Several minor fixes. |
| |
| Other |
| |
| * Deprecate sqlparse.SQLParseError. Please use |
| sqlparse.exceptions.SQLParseError instead. |
| * Add caching to speed up processing. |
| * Add experimental filters for token processing. |
| * Add sqlformat.parsestream (by quest). |
| |
| |
| Release 0.1.4 (Apr 20, 2012) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Avoid "stair case" effects when identifiers, functions, |
| placeholders or keywords are mixed in identifier lists (issue45, |
| issue49, issue52) and when asterisks are used as operators |
| (issue58). |
| * Make keyword detection more restrict (issue47). |
| * Improve handling of CASE statements (issue46). |
| * Fix statement splitting when parsing recursive statements (issue57, |
| thanks to piranna). |
| * Fix for negative numbers (issue56, thanks to kevinjqiu). |
| * Pretty format comments in identifier lists (issue59). |
| * Several minor bug fixes and improvements. |
| |
| |
| Release 0.1.3 (Jul 29, 2011) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Improve parsing of floats (thanks to Kris). |
| * When formatting a statement a space before LIMIT was removed (issue35). |
| * Fix strip_comments flag (issue38, reported by ooberm...@gmail.com). |
| * Avoid parsing names as keywords (issue39, reported by djo...@taket.org). |
| * Make sure identifier lists in subselects are grouped (issue40, |
| reported by djo...@taket.org). |
| * Split statements with IF as functions correctly (issue33 and |
| issue29, reported by charles....@unige.ch). |
| * Relax detection of keywords, esp. when used as function names |
| (issue36, nyuhu...@gmail.com). |
| * Don't treat single characters as keywords (issue32). |
| * Improve parsing of stand-alone comments (issue26). |
| * Detection of placeholders in paramterized queries (issue22, |
| reported by Glyph Lefkowitz). |
| * Add parsing of MS Access column names with braces (issue27, |
| reported by frankz...@gmail.com). |
| |
| Other |
| |
| * Replace Django by Flask in App Engine frontend (issue11). |
| |
| |
| Release 0.1.2 (Nov 23, 2010) |
| ---------------------------- |
| |
| Bug Fixes |
| |
| * Fixed incorrect detection of keyword fragments embed in names (issue7, |
| reported and initial patch by andyboyko). |
| * Stricter detection of identifier aliases (issue8, reported by estama). |
| * WHERE grouping consumed closing parenthesis (issue9, reported by estama). |
| * Fixed an issue with trailing whitespaces (reported by Kris). |
| * Better detection of escaped single quotes (issue13, reported by |
| Martin Brochhaus, patch by bluemaro with test case by Dan Carley). |
| * Ignore identifier in double-quotes when changing cases (issue 21). |
| * Lots of minor fixes targeting encoding, indentation, statement |
| parsing and more (issues 12, 14, 15, 16, 18, 19). |
| * Code cleanup with a pinch of refactoring. |
| |
| |
| Release 0.1.1 (May 6, 2009) |
| --------------------------- |
| |
| Bug Fixes |
| |
| * Lexers preserves original line breaks (issue1). |
| * Improved identifier parsing: backtick quotes, wildcards, T-SQL variables |
| prefixed with @. |
| * Improved parsing of identifier lists (issue2). |
| * Recursive recognition of AS (issue4) and CASE. |
| * Improved support for UPDATE statements. |
| |
| Other |
| |
| * Code cleanup and better test coverage. |
| |
| |
| Release 0.1.0 (Apr 8, 2009) |
| --------------------------- |
| |
| Initial release. |