From d68ce429ab6d94c8ffb251304df6cd7b97e99703 Mon Sep 17 00:00:00 2001 From: lacak Date: Tue, 27 Oct 2020 10:01:30 +0000 Subject: [PATCH] fcl-db: base: add some of new Delphi field types into enumeration TFieldType (ftOraTimeStamp, ftOraInterval, ftLongWord, ftShortint, ftByte, ftExtended) git-svn-id: trunk@47217 - --- packages/fcl-db/src/base/db.pas | 30 +++++++++++++++---- .../fcl-db/src/base/xmldatapacketreader.pp | 8 ++++- packages/fcl-db/src/export/fpfixedexport.pp | 8 ++++- packages/fcl-db/src/export/fprtfexport.pp | 3 +- packages/fcl-db/src/export/fptexexport.pp | 3 +- .../fcl-db/src/sqldb/postgres/pqconnection.pp | 8 ++++- packages/fcl-db/tests/sqldbtoolsunit.pas | 8 ++++- 7 files changed, 57 insertions(+), 11 deletions(-) diff --git a/packages/fcl-db/src/base/db.pas b/packages/fcl-db/src/base/db.pas index 10defd95ec..dc1f020b43 100644 --- a/packages/fcl-db/src/base/db.pas +++ b/packages/fcl-db/src/base/db.pas @@ -109,7 +109,8 @@ type ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, - ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo); + ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo, + ftOraTimeStamp, ftOraInterval, ftLongWord, ftShortint, ftByte, ftExtended); { Part of DBCommon, but temporarily defined here (bug 8206) } @@ -1297,6 +1298,7 @@ type end; { TParams } + TSQLParseOption = (spoCreate,spoEscapeSlash,spoEscapeRepeat,spoUseMacro); TSQLParseOptions = Set of TSQLParseOption; @@ -2126,7 +2128,7 @@ const {ftCursor} varError, {ftFixedChar} varOleStr, {ftWideString} varOleStr, - {ftLargeint} varint64, + {ftLargeint} varInt64, {ftADT} varError, {ftArray} varError, {ftReference} varError, @@ -2140,7 +2142,13 @@ const {ftTimeStamp} varOleStr, {ftFMTBcd} varDouble, {ftFixedWideChar} varOleStr, - {ftWideMemo} varOleStr + {ftWideMemo} varOleStr, + {ftOraTimeStamp} varUnknown, + {ftOraInterval} varUnknown, + {ftLongWord} varLongWord, + {ftShortint} varShortint, + {ftByte} varByte, + {ftExtended} varDouble ); @@ -2186,7 +2194,13 @@ Const {ftTimeStamp} 'TimeStamp', {ftFMTBcd} 'FMTBcd', {ftFixedWideChar} 'FixedWideChar', - {ftWideMemo} 'WideMemo' + {ftWideMemo} 'WideMemo', + {ftOraTimeStamp} 'OraTimeStamp', + {ftOraInterval} 'OraInterval', + {ftLongWord} 'LongWord', + {ftShortint} 'Shortint', + {ftByte} 'Byte', + {ftExtended} 'Extended' ); @@ -2232,7 +2246,13 @@ const { ftTimeStamp} Nil, { ftFMTBcd} TFMTBCDField, { ftFixedWideString} TWideStringField, - { ftWideMemo} TWideMemoField + { ftWideMemo} TWideMemoField, + { ftOraTimeStamp} nil, + { ftOraInterval} nil, + { ftLongWord} {TLongWordField}nil, + { ftShortint} {TShortintField}nil, + { ftByte} nil, + { ftExtended} nil ); dsEditModes = [dsEdit, dsInsert, dsSetKey]; diff --git a/packages/fcl-db/src/base/xmldatapacketreader.pp b/packages/fcl-db/src/base/xmldatapacketreader.pp index 7127ce653b..61b7c20f3f 100644 --- a/packages/fcl-db/src/base/xmldatapacketreader.pp +++ b/packages/fcl-db/src/base/xmldatapacketreader.pp @@ -106,7 +106,13 @@ const '', 'fixedFMT', // ftFmtBCD 'string.uni', // ftFixedWideChar - 'bin.hex:WideText' // ftWideMemo + 'bin.hex:WideText', // ftWideMemo + '', // ftOraTimeStamp + '', // ftOraInterval + '', // ftLongWord + '', // ftShortint + '', // ftByte + '' // ftExtended ); resourcestring diff --git a/packages/fcl-db/src/export/fpfixedexport.pp b/packages/fcl-db/src/export/fpfixedexport.pp index 829d06002e..c49109a7bf 100644 --- a/packages/fcl-db/src/export/fpfixedexport.pp +++ b/packages/fcl-db/src/export/fpfixedexport.pp @@ -191,7 +191,13 @@ Const {ftTimeStamp} 0, {ftFMTBcd} 0, {ftFixedWideChar} 0, - {ftWideMemo} 0 + {ftWideMemo} 0, + {ftOraTimeStamp} 0, + {ftOraInterval} 0, + {ftLongWord} 10, + {ftShortint} 4, + {ftByte} 1, + {ftExtended} 20 ); Function CalcLbool: integer; diff --git a/packages/fcl-db/src/export/fprtfexport.pp b/packages/fcl-db/src/export/fprtfexport.pp index 17bd9477a3..89ddc467cf 100644 --- a/packages/fcl-db/src/export/fprtfexport.pp +++ b/packages/fcl-db/src/export/fprtfexport.pp @@ -151,7 +151,8 @@ Const 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0,0); + 0,0,0,0,0,0, + 0,0,10,4,1,20); Var I : Integer; diff --git a/packages/fcl-db/src/export/fptexexport.pp b/packages/fcl-db/src/export/fptexexport.pp index 7f48c75e7a..f97de8fbc6 100644 --- a/packages/fcl-db/src/export/fptexexport.pp +++ b/packages/fcl-db/src/export/fptexexport.pp @@ -173,7 +173,8 @@ Const 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0,0); + 0,0,0,0,0,0, + 0,0,10,4,1,20); Var I : Integer; diff --git a/packages/fcl-db/src/sqldb/postgres/pqconnection.pp b/packages/fcl-db/src/sqldb/postgres/pqconnection.pp index f132926bad..5c04654fd7 100644 --- a/packages/fcl-db/src/sqldb/postgres/pqconnection.pp +++ b/packages/fcl-db/src/sqldb/postgres/pqconnection.pp @@ -869,7 +869,13 @@ const TypeStrings : array[TFieldType] of string = 'Unknown', // ftTimeStamp 'numeric', // ftFMTBcd 'Unknown', // ftFixedWideChar - 'Unknown' // ftWideMemo + 'Unknown', // ftWideMemo + 'Unknown', // ftOraTimeStamp + 'Unknown', // ftOraInterval + 'Unknown', // ftLongWord + 'Unknown', // ftShortint + 'Unknown', // ftByte + 'Unknown' // ftExtended ); diff --git a/packages/fcl-db/tests/sqldbtoolsunit.pas b/packages/fcl-db/tests/sqldbtoolsunit.pas index 8495b0ecdc..9f5d96830a 100644 --- a/packages/fcl-db/tests/sqldbtoolsunit.pas +++ b/packages/fcl-db/tests/sqldbtoolsunit.pas @@ -127,7 +127,13 @@ const {ftTimeStamp} 'TIMESTAMP', {ftFMTBcd} 'NUMERIC(18,6)', {ftFixedWideChar} '', - {ftWideMemo} '' + {ftWideMemo} '', + {ftOraTimeStamp} '', + {ftOraInterval} '', + {ftLongWord} '', + {ftShortint} '', + {ftByte} '', + {ftExtended} '' ); // names as returned by ODBC SQLGetInfo(..., SQL_DBMS_NAME, ...) and GetConnectionInfo(citServerType)