Thu Sep 7 15:46:23 2023 UTC ()
py-sqlparse: updated to 0.4.4

Release 0.4.4 (Apr 18, 2023)
----------------------------

Notable Changes

* IMPORTANT: This release fixes a security vulnerability in the
  parser where a regular expression vulnerable to ReDOS (Regular
  Expression Denial of Service) was used. See the security advisory
  for details: https://github.com/andialbrecht/sqlparse/security/advisories/GHSA-rrm6-wvj7-cwh2
  The vulnerability was discovered by @erik-krogh from GitHub
  Security Lab (GHSL). Thanks for reporting!

Bug Fixes

* Revert a change from 0.4.0 that changed IN to be a comparison (issue694).
  The primary expectation is that IN is treated as a keyword and not as a
  comparison operator. That also follows the definition of reserved keywords
  for the major SQL syntax definitions.
* Fix regular expressions for string parsing.

Other

* sqlparse now uses pyproject.toml instead of setup.cfg (issue685).

Release 0.4.3 (Sep 23, 2022)
----------------------------

Enhancements

* Add support for DIV operator (pr664, by chezou).
* Add support for additional SPARK keywords (pr643, by mrmasterplan).
* Avoid tokens copy (pr622, by living180).
* Add REGEXP as a comparision (pr647, by PeterSandwich).
* Add DISTINCTROW keyword for MS Access (issue677).
* Improve parsing of CREATE TABLE AS SELECT (pr662, by chezou).

Bug Fixes

* Fix spelling of INDICATOR keyword (pr653, by ptld).
* Fix formatting error in EXTRACT function (issue562, issue670, pr676, by ecederstrand).
* Fix bad parsing of create table statements that use lower case (issue217, pr642, by mrmasterplan).
* Handle backtick as valid quote char (issue628, pr629, by codenamelxl).
* Allow any unicode character as valid identifier name (issue641).

Other

* Update github actions to test on Python 3.10 as well (pr661, by cclaus).

Release 0.4.2 (Sep 10, 2021)
----------------------------

Notable Changes

* IMPORTANT: This release fixes a security vulnerability in the
  strip comments filter. In this filter a regular expression that was
  vulnerable to ReDOS (Regular Expression Denial of Service) was
  used. See the security advisory for details: https://github.com/andialbrecht/sqlparse/security/advisories/GHSA-p5w8-wqhj-9hhf
  The vulnerability was discovered by @erik-krogh and @yoff from
  GitHub Security Lab (GHSL). Thanks for reporting!

Enhancements

* Add ELSIF as keyword (issue584).
* Add CONFLICT and ON_ERROR_STOP keywords (pr595, by j-martin).

Bug Fixes

* Fix parsing of backticks (issue588).
* Fix parsing of scientific number (issue399).

Release 0.4.1 (Oct 08, 2020)
----------------------------

Bug Fixes

* Just removed a debug print statement, sorry...

Release 0.4.0 (Oct 07, 2020)
----------------------------

Notable Changes

* Remove support for end-of-life Python 2.7 and 3.4. Python 3.5+ is now
  required.
* Remaining strings that only consist of whitespaces are not treated as
  statements anymore. Code that ignored the last element from
  sqlparse.split() should be updated accordingly since that function
  now doesn't return an empty string as the last element in some
  cases (issue496).

Enhancements

* Add WINDOW keyword (pr579 by ali-tny).
* Add RLIKE keyword (pr582 by wjones1).

Bug Fixes

* Improved parsing of IN(...) statements (issue566, pr567 by hurcy).
* Preserve line breaks when removing comments (issue484).
* Fix parsing error when using square bracket notation (issue583).
* Fix splitting when using DECLARE ... HANDLER (issue581).
* Fix splitting of statements using CASE ... WHEN (issue580).
* Improve formatting of type casts in parentheses.
* Stabilize formatting of invalid SQL statements.


(adam)
diff -r1.21 -r1.22 pkgsrc/databases/py-sqlparse/Makefile
diff -r1.2 -r1.3 pkgsrc/databases/py-sqlparse/PLIST
diff -r1.17 -r1.18 pkgsrc/databases/py-sqlparse/distinfo

cvs diff -r1.21 -r1.22 pkgsrc/databases/py-sqlparse/Makefile (expand / switch to unified diff)

--- pkgsrc/databases/py-sqlparse/Makefile 2023/06/06 12:40:34 1.21
+++ pkgsrc/databases/py-sqlparse/Makefile 2023/09/07 15:46:23 1.22
@@ -1,29 +1,32 @@ @@ -1,29 +1,32 @@
1# $NetBSD: Makefile,v 1.21 2023/06/06 12:40:34 riastradh Exp $ 1# $NetBSD: Makefile,v 1.22 2023/09/07 15:46:23 adam Exp $
2 2
3DISTNAME= sqlparse-0.3.1 3DISTNAME= sqlparse-0.4.4
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5PKGREVISION= 2 
6CATEGORIES= databases python 5CATEGORIES= databases python
7MASTER_SITES= ${MASTER_SITE_PYPI:=s/sqlparse/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=s/sqlparse/}
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://github.com/andialbrecht/sqlparse 9HOMEPAGE= https://github.com/andialbrecht/sqlparse
11COMMENT= Non-validating SQL parser 10COMMENT= Non-validating SQL parser
12LICENSE= modified-bsd 11LICENSE= modified-bsd
13 12
14TOOL_DEPENDS+= ${PYPKGPREFIX}-test-runner-[0-9]*:../../devel/py-test-runner 13TOOL_DEPENDS+= ${PYPKGPREFIX}-flit_core>=3.2:../../devel/py-flit_core
 14TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
 15TEST_DEPENDS+= ${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
15 16
16USE_LANGUAGES= # none 17USE_LANGUAGES= # none
17 18
18PYTHON_VERSIONS_INCOMPATIBLE= 27 19REPLACE_PYTHON+= sqlparse/cli.py
19 
20USE_PKG_RESOURCES= yes 
21 20
22PYSETUPTESTTARGET= pytest 21PYTHON_VERSIONS_INCOMPATIBLE= 27
23 22
24post-install: 23post-install:
25 cd ${DESTDIR}${PREFIX}/bin && \ 24 cd ${DESTDIR}${PREFIX}/bin && \
26 ${MV} sqlformat sqlformat-${PYVERSSUFFIX} || ${TRUE} 25 ${MV} sqlformat sqlformat-${PYVERSSUFFIX} || ${TRUE}
27 26
28.include "../../lang/python/egg.mk" 27do-test:
 28 cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests
 29
 30.include "../../lang/python/application.mk"
 31.include "../../lang/python/wheel.mk"
29.include "../../mk/bsd.pkg.mk" 32.include "../../mk/bsd.pkg.mk"

cvs diff -r1.2 -r1.3 pkgsrc/databases/py-sqlparse/PLIST (expand / switch to unified diff)

--- pkgsrc/databases/py-sqlparse/PLIST 2016/10/19 14:02:11 1.2
+++ pkgsrc/databases/py-sqlparse/PLIST 2023/09/07 15:46:23 1.3
@@ -1,73 +1,52 @@ @@ -1,73 +1,52 @@
1@comment $NetBSD: PLIST,v 1.2 2016/10/19 14:02:11 wiz Exp $ 1@comment $NetBSD: PLIST,v 1.3 2023/09/07 15:46:23 adam Exp $
2bin/sqlformat-${PYVERSSUFFIX} 2bin/sqlformat-${PYVERSSUFFIX}
3${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 3${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
4${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 4${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
5${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 5${PYSITELIB}/${WHEEL_INFODIR}/METADATA
6${PYSITELIB}/${EGG_INFODIR}/entry_points.txt 6${PYSITELIB}/${WHEEL_INFODIR}/RECORD
7${PYSITELIB}/${EGG_INFODIR}/top_level.txt 7${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
 8${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
 9${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
 10${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
8${PYSITELIB}/sqlparse/__init__.py 11${PYSITELIB}/sqlparse/__init__.py
9${PYSITELIB}/sqlparse/__init__.pyc 12${PYSITELIB}/sqlparse/__init__.pyc
10${PYSITELIB}/sqlparse/__init__.pyo 
11${PYSITELIB}/sqlparse/__main__.py 13${PYSITELIB}/sqlparse/__main__.py
12${PYSITELIB}/sqlparse/__main__.pyc 14${PYSITELIB}/sqlparse/__main__.pyc
13${PYSITELIB}/sqlparse/__main__.pyo 
14${PYSITELIB}/sqlparse/cli.py 15${PYSITELIB}/sqlparse/cli.py
15${PYSITELIB}/sqlparse/cli.pyc 16${PYSITELIB}/sqlparse/cli.pyc
16${PYSITELIB}/sqlparse/cli.pyo 
17${PYSITELIB}/sqlparse/compat.py 
18${PYSITELIB}/sqlparse/compat.pyc 
19${PYSITELIB}/sqlparse/compat.pyo 
20${PYSITELIB}/sqlparse/engine/__init__.py 17${PYSITELIB}/sqlparse/engine/__init__.py
21${PYSITELIB}/sqlparse/engine/__init__.pyc 18${PYSITELIB}/sqlparse/engine/__init__.pyc
22${PYSITELIB}/sqlparse/engine/__init__.pyo 
23${PYSITELIB}/sqlparse/engine/filter_stack.py 19${PYSITELIB}/sqlparse/engine/filter_stack.py
24${PYSITELIB}/sqlparse/engine/filter_stack.pyc 20${PYSITELIB}/sqlparse/engine/filter_stack.pyc
25${PYSITELIB}/sqlparse/engine/filter_stack.pyo 
26${PYSITELIB}/sqlparse/engine/grouping.py 21${PYSITELIB}/sqlparse/engine/grouping.py
27${PYSITELIB}/sqlparse/engine/grouping.pyc 22${PYSITELIB}/sqlparse/engine/grouping.pyc
28${PYSITELIB}/sqlparse/engine/grouping.pyo 
29${PYSITELIB}/sqlparse/engine/statement_splitter.py 23${PYSITELIB}/sqlparse/engine/statement_splitter.py
30${PYSITELIB}/sqlparse/engine/statement_splitter.pyc 24${PYSITELIB}/sqlparse/engine/statement_splitter.pyc
31${PYSITELIB}/sqlparse/engine/statement_splitter.pyo 
32${PYSITELIB}/sqlparse/exceptions.py 25${PYSITELIB}/sqlparse/exceptions.py
33${PYSITELIB}/sqlparse/exceptions.pyc 26${PYSITELIB}/sqlparse/exceptions.pyc
34${PYSITELIB}/sqlparse/exceptions.pyo 
35${PYSITELIB}/sqlparse/filters/__init__.py 27${PYSITELIB}/sqlparse/filters/__init__.py
36${PYSITELIB}/sqlparse/filters/__init__.pyc 28${PYSITELIB}/sqlparse/filters/__init__.pyc
37${PYSITELIB}/sqlparse/filters/__init__.pyo 
38${PYSITELIB}/sqlparse/filters/aligned_indent.py 29${PYSITELIB}/sqlparse/filters/aligned_indent.py
39${PYSITELIB}/sqlparse/filters/aligned_indent.pyc 30${PYSITELIB}/sqlparse/filters/aligned_indent.pyc
40${PYSITELIB}/sqlparse/filters/aligned_indent.pyo 
41${PYSITELIB}/sqlparse/filters/others.py 31${PYSITELIB}/sqlparse/filters/others.py
42${PYSITELIB}/sqlparse/filters/others.pyc 32${PYSITELIB}/sqlparse/filters/others.pyc
43${PYSITELIB}/sqlparse/filters/others.pyo 
44${PYSITELIB}/sqlparse/filters/output.py 33${PYSITELIB}/sqlparse/filters/output.py
45${PYSITELIB}/sqlparse/filters/output.pyc 34${PYSITELIB}/sqlparse/filters/output.pyc
46${PYSITELIB}/sqlparse/filters/output.pyo 
47${PYSITELIB}/sqlparse/filters/reindent.py 35${PYSITELIB}/sqlparse/filters/reindent.py
48${PYSITELIB}/sqlparse/filters/reindent.pyc 36${PYSITELIB}/sqlparse/filters/reindent.pyc
49${PYSITELIB}/sqlparse/filters/reindent.pyo 
50${PYSITELIB}/sqlparse/filters/right_margin.py 37${PYSITELIB}/sqlparse/filters/right_margin.py
51${PYSITELIB}/sqlparse/filters/right_margin.pyc 38${PYSITELIB}/sqlparse/filters/right_margin.pyc
52${PYSITELIB}/sqlparse/filters/right_margin.pyo 
53${PYSITELIB}/sqlparse/filters/tokens.py 39${PYSITELIB}/sqlparse/filters/tokens.py
54${PYSITELIB}/sqlparse/filters/tokens.pyc 40${PYSITELIB}/sqlparse/filters/tokens.pyc
55${PYSITELIB}/sqlparse/filters/tokens.pyo 
56${PYSITELIB}/sqlparse/formatter.py 41${PYSITELIB}/sqlparse/formatter.py
57${PYSITELIB}/sqlparse/formatter.pyc 42${PYSITELIB}/sqlparse/formatter.pyc
58${PYSITELIB}/sqlparse/formatter.pyo 
59${PYSITELIB}/sqlparse/keywords.py 43${PYSITELIB}/sqlparse/keywords.py
60${PYSITELIB}/sqlparse/keywords.pyc 44${PYSITELIB}/sqlparse/keywords.pyc
61${PYSITELIB}/sqlparse/keywords.pyo 
62${PYSITELIB}/sqlparse/lexer.py 45${PYSITELIB}/sqlparse/lexer.py
63${PYSITELIB}/sqlparse/lexer.pyc 46${PYSITELIB}/sqlparse/lexer.pyc
64${PYSITELIB}/sqlparse/lexer.pyo 
65${PYSITELIB}/sqlparse/sql.py 47${PYSITELIB}/sqlparse/sql.py
66${PYSITELIB}/sqlparse/sql.pyc 48${PYSITELIB}/sqlparse/sql.pyc
67${PYSITELIB}/sqlparse/sql.pyo 
68${PYSITELIB}/sqlparse/tokens.py 49${PYSITELIB}/sqlparse/tokens.py
69${PYSITELIB}/sqlparse/tokens.pyc 50${PYSITELIB}/sqlparse/tokens.pyc
70${PYSITELIB}/sqlparse/tokens.pyo 
71${PYSITELIB}/sqlparse/utils.py 51${PYSITELIB}/sqlparse/utils.py
72${PYSITELIB}/sqlparse/utils.pyc 52${PYSITELIB}/sqlparse/utils.pyc
73${PYSITELIB}/sqlparse/utils.pyo 

cvs diff -r1.17 -r1.18 pkgsrc/databases/py-sqlparse/distinfo (expand / switch to unified diff)

--- pkgsrc/databases/py-sqlparse/distinfo 2021/10/26 10:09:53 1.17
+++ pkgsrc/databases/py-sqlparse/distinfo 2023/09/07 15:46:23 1.18
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.17 2021/10/26 10:09:53 nia Exp $ 1$NetBSD: distinfo,v 1.18 2023/09/07 15:46:23 adam Exp $
2 2
3BLAKE2s (sqlparse-0.3.1.tar.gz) = 6caa4c8067500c48d57b68f937ce6310fceb52b572b5c6c2865c3d916daa58cd 3BLAKE2s (sqlparse-0.4.4.tar.gz) = 80ec96a4c299a7ab09ea2c76ac99b8b61065a4eab792c2985e6488aeb65e79d9
4SHA512 (sqlparse-0.3.1.tar.gz) = 4c56a528b43578a7a48fc31cee369215b15761d9903ea1d8e034c69f0eb6431dd15362aab13af25a36fccb361436f1cba746bcbb515cbab5d30319629dd2ddfb 4SHA512 (sqlparse-0.4.4.tar.gz) = bb655f8de2466c2ed51aca901b6561b8ac7730bf65f1254d218d7b9dabbece609cadd8a52a092b301895ad83813ddf02691e2de49cf55a26e676a2661c240a2b
5Size (sqlparse-0.3.1.tar.gz) = 67572 bytes 5Size (sqlparse-0.4.4.tar.gz) = 72383 bytes