From d6dc4cde2e02aa16eb27c8da133c587b3271ffb3 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Thu, 14 Mar 2019 20:06:17 +0100 Subject: [PATCH] Support spaces in definer of a view. Closes #571. --- source/dbconnection.pas | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/dbconnection.pas b/source/dbconnection.pas index 0d938499..f6f41f57 100644 --- a/source/dbconnection.pas +++ b/source/dbconnection.pas @@ -5307,7 +5307,7 @@ var rx: TRegExpr; Col: TTableColumn; Results: TDBQuery; - SchemaClause, DataType: String; + SchemaClause, DataType, EscQuote: String; begin if CreateCode <> '' then begin // CREATE @@ -5321,9 +5321,10 @@ begin rx := TRegExpr.Create; rx.ModifierG := False; rx.ModifierI := True; + EscQuote := QuoteRegExprMetaChars(FQuoteChar); rx.Expression := 'CREATE\s+(OR\s+REPLACE\s+)?'+ '(ALGORITHM\s*=\s*(\w*)\s*)?'+ - '(DEFINER\s*=\s*(\S+)\s+)?'+ + '(DEFINER\s*=\s*(\S+|'+EscQuote+'[^@'+EscQuote+']+'+EscQuote+'@'+EscQuote+'[^'+EscQuote+']+'+EscQuote+')\s+)?'+ '(SQL\s+SECURITY\s+(\S+)\s+)?'+ 'VIEW\s+[^\(]+\s+'+ '(\([^\)]+\)\s+)?'+