summaryrefslogtreecommitdiff
path: root/sqlparse/lexer.py
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2013-11-06 11:59:52 +0100
committerAndi Albrecht <albrecht.andi@gmail.com>2013-11-06 11:59:52 +0100
commit6e476cfded15af3d41bcefadecbae51aa65f82ec (patch)
treec19d84959252e4f55e5815680193b67189ef0628 /sqlparse/lexer.py
parent5bc149823c2e271ad3a7cf42dac49985d02a1acc (diff)
downloadsqlparse-6e476cfded15af3d41bcefadecbae51aa65f82ec.tar.gz
Fix incorrect parsing of string literals with line breaks (fixes #118).
Diffstat (limited to 'sqlparse/lexer.py')
-rw-r--r--sqlparse/lexer.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py
index d69c938..0d915ac 100644
--- a/sqlparse/lexer.py
+++ b/sqlparse/lexer.py
@@ -191,7 +191,7 @@ class Lexer(object):
(r'[-]?[0-9]*\.[0-9]+', tokens.Number.Float),
(r'[-]?[0-9]+', tokens.Number.Integer),
# TODO: Backslash escapes?
- (r"(''|'.*?[^\\]')", tokens.String.Single),
+ (r"'(''|\\'|[^'])*'", tokens.String.Single),
# not a real string literal in ANSI SQL:
(r'(""|".*?[^\\]")', tokens.String.Symbol),
(r'(\[.*[^\]]\])', tokens.Name),
@@ -209,7 +209,7 @@ class Lexer(object):
(r'/\*', tokens.Comment.Multiline, 'multiline-comments'),
(r'\*/', tokens.Comment.Multiline, '#pop'),
(r'[^/\*]+', tokens.Comment.Multiline),
- (r'[/*]', tokens.Comment.Multiline)
+ (r'[/*]', tokens.Comment.Multiline),
]}
def __init__(self):