Make regular expression stable against commas in data types, such as DECIMAL(10,7). Keeping compatibility to spaces in data types, like INT UNSIGNED. Fixes issue #1554.

This commit is contained in:
Ansgar Becker
2009-12-22 18:57:20 +00:00
parent 8d32a1fd0c
commit e43535ee5b

View File

@ -168,7 +168,7 @@ begin
if Create[i] = '(' then
Inc(ParenthesesCount);
end;
rx.Expression := '(^|,)\s*((IN|OUT|INOUT)\s+)?(\S+)\s+([^,]+)';
rx.Expression := '(^|,)\s*((IN|OUT|INOUT)\s+)?(\S+)\s+([^\s,\(]+(\([^\)]*\))?[^,]*)';
if rx.Exec(Params) then while true do begin
Context := UpperCase(rx.Match[3]);
if Context = '' then