From 6e476cfded15af3d41bcefadecbae51aa65f82ec Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Wed, 6 Nov 2013 11:59:52 +0100 Subject: Fix incorrect parsing of string literals with line breaks (fixes #118). --- sqlparse/lexer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sqlparse') 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): -- cgit v1.2.1