summaryrefslogtreecommitdiff
path: root/packages/fcl-db
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-01-30 17:50:18 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-01-30 17:50:18 +0000
commit2e98b53cfdbc9642b543a0c052793ff5bb631087 (patch)
tree42412526e8fadd33f55a5608233fbc9cb487d4dd /packages/fcl-db
parentd4f27c21e9ea77bd864682419f2e1e93d123fc72 (diff)
downloadfpc-2e98b53cfdbc9642b543a0c052793ff5bb631087.tar.gz
* Added recognition of CLOB fields to TSqlite3Conn + test, bug 17004
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16853 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-db')
-rw-r--r--packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp3
-rw-r--r--packages/fcl-db/tests/testfieldtypes.pas25
2 files changed, 27 insertions, 1 deletions
diff --git a/packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp b/packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp
index 12e1700e82..953e7fe6e1 100644
--- a/packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp
+++ b/packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp
@@ -312,7 +312,7 @@ Type
end;
Const
- FieldMapCount = 19;
+ FieldMapCount = 20;
FieldMap : Array [1..FieldMapCount] of TFieldMap = (
(n:'INT'; t: ftInteger),
(n:'LARGEINT'; t:ftlargeInt),
@@ -332,6 +332,7 @@ Const
(n:'NUMERIC'; t: ftBCD),
(n:'DECIMAL'; t: ftBCD),
(n:'TEXT'; t: ftmemo),
+ (n:'CLOB'; t: ftmemo),
(n:'BLOB'; t: ftBlob)
{ Template:
(n:''; t: ft)
diff --git a/packages/fcl-db/tests/testfieldtypes.pas b/packages/fcl-db/tests/testfieldtypes.pas
index 7538fddc44..339fef4560 100644
--- a/packages/fcl-db/tests/testfieldtypes.pas
+++ b/packages/fcl-db/tests/testfieldtypes.pas
@@ -96,6 +96,9 @@ type
procedure TestClearUpdateableStatus;
procedure TestReadOnlyParseSQL; // bug 9254
procedure TestGetTables;
+
+ // Test SQL-field type recognition
+ procedure TestSQLClob;
end;
implementation
@@ -1580,6 +1583,28 @@ begin
end;
end;
+procedure TTestFieldTypes.TestSQLClob;
+var
+ i : byte;
+begin
+ CreateTableWithFieldType(ftMemo,'CLOB');
+ TestFieldDeclaration(ftMemo,0);
+
+ for i := 0 to testValuesCount-1 do
+ TSQLDBConnector(DBConnector).Connection.ExecuteDirect('insert into FPDEV2 (FT) values (' + QuotedStr(testStringValues[i]) + ')');
+
+ with TSQLDBConnector(DBConnector).Query do
+ begin
+ Open;
+ for i := 0 to testValuesCount-1 do
+ begin
+ AssertEquals(testStringValues[i],fields[0].AsString);
+ Next;
+ end;
+ close;
+ end;
+end;
+
procedure TTestFieldTypes.TestUpdateIndexDefs;
var ds : TSQLQuery;
begin