diff options
author | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2007-09-30 20:55:16 +0000 |
---|---|---|
committer | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2007-09-30 20:55:16 +0000 |
commit | 4c6bcb7a590ba63b4dc7f78e19aaea4178ecc750 (patch) | |
tree | ed05bd2662aac84125196dbf4db8070265fe12fa /packages | |
parent | 17f3640dffdd575b4ac598de3b98b93acf86ca8a (diff) | |
download | fpc-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.inc | 7 | ||||
-rw-r--r-- | packages/fcl-db/tests/testsqlfieldtypes.pas | 36 | ||||
-rw-r--r-- | packages/fcl-db/tests/toolsunit.pas | 2 |
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', |