ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/IBSQLParser.pas
(Generate patch)

Comparing ibx/trunk/runtime/IBSQLParser.pas (file contents):
Revision 21 by tony, Thu Feb 26 10:33:34 2015 UTC vs.
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC

# Line 27 | Line 27 | unit IBSQLParser;
27  
28   {$Mode Delphi}
29  
30 + {$codepage UTF8}
31 +
32   interface
33  
34   uses Classes, DB;
# Line 288 | Line 290 | begin
290        if not (FState in [stInComment,stInCommentLine]) then
291        begin
292          AddToSQL(':');
293 <        SetState(stInParam);
293 >        if not (FState in [stInSingleQuotes,stInDoubleQuotes]) then
294 >          SetState(stInParam);
295        end;
296  
297      sqSemiColon:
# Line 447 | Line 450 | begin
450            FState := PopState;
451          stInDoubleQuotes,
452          stInSingleQuotes:
453 <          raise Exception.Create(sNoEndToThis);
453 >          Begin
454 >            FLiteral := FLiteral + #$0A;
455 >            Exit;
456 >          End;
457          end;
458          AddToSQL(' ');
459          Exit;
# Line 782 | Line 788 | begin
788      Inc(index)
789    end;
790  
791 <  if (Result = sqString)  and not (FState in [stInComment,stInCommentLine])then
791 >  if (Result = sqString)  and not (FState in [stInComment,stInCommentLine, stInSingleQuotes,stInDoubleQuotes])then
792      Result := Check4ReservedWord(FString);
793  
794    if (index > Length(Line)) then
795 <    if Result = sqNone then
795 >  begin
796 >    if  (Result = sqNone) then
797        Result := sqEOL
798      else
799      if (FLastSymbol = sqNone) and (Result <> sqEOL) then
800        FLastSymbol := sqEOL;
801 +  end;
802  
803   end;
804  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines