Browse Source

* integrated test as substitute for separate test deleted by r19306.
Patch by Lacak2.

git-svn-id: trunk@19382 -

marco 14 years ago
parent
commit
1014e1d1d8
1 changed files with 9 additions and 0 deletions
  1. 9 0
      packages/fcl-db/tests/testbasics.pas

+ 9 - 0
packages/fcl-db/tests/testbasics.pas

@@ -36,6 +36,8 @@ procedure TTestBasics.TestParseSQL;
 var Params  : TParams;
     ReplStr : string;
     pb      : TParamBinding;
+    i       : integer;
+    SQLStr  : string;
 begin
   Params := TParams.Create;
 
@@ -105,6 +107,13 @@ begin
   AssertEquals(     'select * from table where "field-name" = ?',
     params.ParseSQL('select * from table where "field-name" = :"field-name',true,True,True,psInterbase));
 
+// Test more than 99 params - bug 19645
+  SQLStr := 'update test set';
+  for i := 1 to 101 do
+    SQLStr := format('%s field%d=:par%d', [SQLStr,i,i]);
+  AssertEquals( StringReplace(SQLStr, ':par', '$', [rfReplaceAll]),
+    Params.ParseSQL(SQLStr, True, True, True, psPostgreSQL) );
+
   Params.Free;
 end;