Browse Source

* Use GetBlobSize to obtain the value of the BlobSize property + test (bug 12888)

git-svn-id: trunk@12504 -
joost 16 years ago
parent
commit
047730fd5e
2 changed files with 16 additions and 5 deletions
  1. 1 2
      packages/fcl-db/src/base/db.pas
  2. 15 3
      packages/fcl-db/tests/testfieldtypes.pas

+ 1 - 2
packages/fcl-db/src/base/db.pas

@@ -790,7 +790,6 @@ type
 
   TBlobField = class(TField)
   private
-    FBlobSize : Longint;
     FBlobType : TBlobType;
     FModified : Boolean;
     FTransliterate : Boolean;
@@ -816,7 +815,7 @@ type
     procedure SaveToFile(const FileName: string);
     procedure SaveToStream(Stream: TStream);
     procedure SetFieldType(AValue: TFieldType); override;
-    property BlobSize: Longint read FBlobSize;
+    property BlobSize: Longint read GetBlobSize;
     property Modified: Boolean read FModified write FModified;
     property Value: string read GetAsString write SetAsString;
     property Transliterate: Boolean read FTransliterate write FTransliterate;

+ 15 - 3
packages/fcl-db/tests/testfieldtypes.pas

@@ -62,6 +62,7 @@ type
     procedure TestBlob;
     procedure TestChangeBlob;
     procedure TestBlobGetText;
+    procedure TestBlobSize;
 
     procedure TestLargeRecordSize;
     procedure TestNumeric;
@@ -468,6 +469,20 @@ begin
     end;
 end;
 
+procedure TTestFieldTypes.TestBlobSize;
+begin
+  CreateTableWithFieldType(ftBlob,FieldtypeDefinitions[ftBlob]);
+
+  TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (''Test deze blob'')');
+
+  with TSQLDBConnector(DBConnector).Query do
+    begin
+    Open;
+    AssertEquals(14,TBlobField(fields[0]).BlobSize);
+    close;
+    end;
+end;
+
 procedure TTestFieldTypes.TestSetBlobAsStringParam;
 
 begin
@@ -477,9 +492,6 @@ end;
 
 procedure TTestFieldTypes.TestBlob;
 
-var
-  i             : byte;
-
 begin
   CreateTableWithFieldType(ftBlob,FieldtypeDefinitions[ftBlob]);
   TestFieldDeclaration(ftBlob,0);