From 5a3164d8db9ce5bbd64480bcb63eb1ac7a587151 Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Wed, 26 Jun 2019 12:35:02 +0200 Subject: Optimize parsing of literal blocks between dollar signs (fixes #491). --- CHANGELOG | 2 ++ sqlparse/keywords.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index b1c70c9..9115b73 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,8 @@ 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). Release 0.3.0 (Mar 11, 2019) diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py index 2444b22..5c47dfc 100644 --- a/sqlparse/keywords.py +++ b/sqlparse/keywords.py @@ -38,7 +38,7 @@ SQL_REGEX = { (r"`(``|[^`])*`", tokens.Name), (r"´(´´|[^´])*´", tokens.Name), - (r'(\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1', tokens.Literal), + (r'((?