summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2007-09-30 20:55:16 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2007-09-30 20:55:16 +0000
commit4c6bcb7a590ba63b4dc7f78e19aaea4178ecc750 (patch)
treeed05bd2662aac84125196dbf4db8070265fe12fa /packages
parent17f3640dffdd575b4ac598de3b98b93acf86ca8a (diff)
downloadfpc-4c6bcb7a590ba63b4dc7f78e19aaea4178ecc750.tar.gz
* Fixed mysql ftLargeInt support+test (mantis 9744)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@8703 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages')
-rw-r--r--packages/fcl-db/src/sqldb/mysql/mysqlconn.inc7
-rw-r--r--packages/fcl-db/tests/testsqlfieldtypes.pas36
-rw-r--r--packages/fcl-db/tests/toolsunit.pas2
3 files changed, 43 insertions, 2 deletions
diff --git a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc
index a3454f728f..9848be72ae 100644
--- a/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc
+++ b/packages/fcl-db/src/sqldb/mysql/mysqlconn.inc
@@ -427,7 +427,12 @@ function TConnectionName.MySQLDataType(AType: enum_field_types; ASize, ADecimals
begin
Result := True;
case AType of
- FIELD_TYPE_TINY, FIELD_TYPE_SHORT, FIELD_TYPE_LONG, FIELD_TYPE_LONGLONG,
+ FIELD_TYPE_LONGLONG:
+ begin
+ NewType := ftLargeint;
+ NewSize := 0;
+ end;
+ FIELD_TYPE_TINY, FIELD_TYPE_SHORT, FIELD_TYPE_LONG,
FIELD_TYPE_INT24:
begin
NewType := ftInteger;
diff --git a/packages/fcl-db/tests/testsqlfieldtypes.pas b/packages/fcl-db/tests/testsqlfieldtypes.pas
index 3c98ad03e0..af6f39f45a 100644
--- a/packages/fcl-db/tests/testsqlfieldtypes.pas
+++ b/packages/fcl-db/tests/testsqlfieldtypes.pas
@@ -26,6 +26,7 @@ type
procedure TearDown; override;
procedure RunTest; override;
published
+ procedure TestBug9744;
procedure TestCrossStringDateParam;
procedure TestGetFieldNames;
procedure TestUpdateIndexDefs;
@@ -866,6 +867,41 @@ begin
inherited RunTest;
end;
+procedure TTestFieldTypes.TestBug9744;
+var i : integer;
+begin
+ with TSQLDBConnector(DBConnector) do
+ begin
+ try
+ Connection.ExecuteDirect('create table TTTOBJ ( ' +
+ ' ID INT NOT NULL, ' +
+ ' NAME VARCHAR(250), ' +
+ ' PRIMARY KEY (ID) ' +
+ ') ');
+ Connection.ExecuteDirect('create table TTTXY ( ' +
+ ' ID INT NOT NULL, ' +
+ ' NP INT NOT NULL, ' +
+ ' X DOUBLE, ' +
+ ' Y DOUBLE, ' +
+ ' PRIMARY KEY (ID,NP) ' +
+ ') ');
+ for i := 0 to 7 do
+ begin
+ connection.ExecuteDirect('insert into TTTOBJ(ID,NAME) values ('+inttostr(i)+',''A'+inttostr(i)+''')');
+ connection.ExecuteDirect('insert into TTTXY(ID,NP,X,Y) values ('+inttostr(i)+',1,1,1)');
+ connection.ExecuteDirect('insert into TTTXY(ID,NP,X,Y) values ('+inttostr(i)+',2,2,2)');
+ end;
+ Query.SQL.Text := 'select OBJ.ID, OBJ.NAME, count(XY.NP) as NPF from TTTOBJ as OBJ, TTTXY as XY where (OBJ.ID=XY.ID) group by OBJ.ID';
+ query.Prepare;
+ query.open;
+ query.close;
+ finally
+ Connection.ExecuteDirect('drop table TTTXY');
+ Connection.ExecuteDirect('drop table TTTOBJ');
+ end
+ end;
+end;
+
procedure TTestFieldTypes.TestCrossStringDateParam;
begin
TestXXParamQuery(ftDate,'DATE',testDateValuesCount,True);
diff --git a/packages/fcl-db/tests/toolsunit.pas b/packages/fcl-db/tests/toolsunit.pas
index a0ac15d040..6df1b06a3f 100644
--- a/packages/fcl-db/tests/toolsunit.pas
+++ b/packages/fcl-db/tests/toolsunit.pas
@@ -70,7 +70,7 @@ type
end;
const
- DataEventnames : Array [TDataEvent] of String[19] =
+ DataEventnames : Array [TDataEvent] of String[21] =
('deFieldChange', 'deRecordChange', 'deDataSetChange', 'deDataSetScroll',
'deLayoutChange', 'deUpdateRecord', 'deUpdateState', 'deCheckBrowseMode',
'dePropertyChange', 'deFieldListChange', 'deFocusControl' ,'deParentScroll',