Преглед изворни кода

* fcl-db: sql parser:
- fix for double precision followed by other subclauses (e.g. DEFAULT)
- of course, associated test

git-svn-id: trunk@27888 -

reiniero пре 11 година
родитељ
комит
614bc64200
2 измењених фајлова са 9 додато и 1 уклоњено
  1. 1 1
      packages/fcl-db/src/sql/fpsqlparser.pas
  2. 8 0
      packages/fcl-db/tests/tcparser.pas

+ 1 - 1
packages/fcl-db/src/sql/fpsqlparser.pas

@@ -1846,7 +1846,7 @@ begin
      tsqlDouble:
        begin
        GetNextToken;
-       Consume(tsqlPrecision); //DOUBLE PRECISION
+       Expect(tsqlPrecision); //DOUBLE PRECISION
        dt:=sdtDoublePrecision;
        end;
      tsqlFloat:

+ 8 - 0
packages/fcl-db/tests/tcparser.pas

@@ -178,6 +178,7 @@ type
     procedure TestSmallInt;
     procedure TestFloat;
     procedure TestDoublePrecision;
+    procedure TestDoublePrecisionDefault;
   end;
 
   { TTestCheckParser }
@@ -1794,6 +1795,13 @@ begin
   TD:=TestType('DOUBLE PRECISION',[],sdtDoublePrecision);
 end;
 
+procedure TTestTypeParser.TestDoublePrecisionDefault;
+var
+  TD : TSQLTypeDefinition;
+begin
+  TD:=TestType('DOUBLE PRECISION DEFAULT 0',[],sdtDoublePrecision);
+end;
+
 procedure TTestTypeParser.TestBlobError1;
 begin
   FerrSource:='BLOB (1,)';