|
@@ -17,6 +17,63 @@ const
|
|
CStringType = 40; // probably null-terminated string used for UDFs
|
|
CStringType = 40; // probably null-terminated string used for UDFs
|
|
VarCharType = 37;
|
|
VarCharType = 37;
|
|
|
|
|
|
|
|
+ // Available character set encodings for Firebird.
|
|
|
|
+ // Update this whenever Firebird supports new character sets
|
|
|
|
+ DefaultFBCharacterSet=42; //Used for GUI controls etc. UTF8 in CharacterSets below.
|
|
|
|
+ FBCharacterSets: array[1..52] of string =
|
|
|
|
+ ('NONE',
|
|
|
|
+ 'ASCII',
|
|
|
|
+ 'BIG_5',
|
|
|
|
+ 'CP943C',
|
|
|
|
+ 'CYRL',
|
|
|
|
+ 'DOS437',
|
|
|
|
+ 'DOS737',
|
|
|
|
+ 'DOS775',
|
|
|
|
+ 'DOS850',
|
|
|
|
+ 'DOS852',
|
|
|
|
+ 'DOS857',
|
|
|
|
+ 'DOS858',
|
|
|
|
+ 'DOS860',
|
|
|
|
+ 'DOS861',
|
|
|
|
+ 'DOS862',
|
|
|
|
+ 'DOS863',
|
|
|
|
+ 'DOS864',
|
|
|
|
+ 'DOS865',
|
|
|
|
+ 'DOS866',
|
|
|
|
+ 'DOS869',
|
|
|
|
+ 'EUCJ_0208',
|
|
|
|
+ 'GB18030',
|
|
|
|
+ 'GBK',
|
|
|
|
+ 'GB_2312',
|
|
|
|
+ 'ISO8859_1',
|
|
|
|
+ 'ISO8859_13',
|
|
|
|
+ 'ISO8859_2',
|
|
|
|
+ 'ISO8859_3',
|
|
|
|
+ 'ISO8859_4',
|
|
|
|
+ 'ISO8859_5',
|
|
|
|
+ 'ISO8859_6',
|
|
|
|
+ 'ISO8859_7',
|
|
|
|
+ 'ISO8859_8',
|
|
|
|
+ 'ISO8859_9',
|
|
|
|
+ 'KOI8R',
|
|
|
|
+ 'KOI8U',
|
|
|
|
+ 'KSC_5601',
|
|
|
|
+ 'NEXT',
|
|
|
|
+ 'OCTETS',
|
|
|
|
+ 'SJIS_0208',
|
|
|
|
+ 'TIS620',
|
|
|
|
+ 'UNICODE_FSS', //obsolete
|
|
|
|
+ 'UTF8', //good default
|
|
|
|
+ 'WIN1250',
|
|
|
|
+ 'WIN1251',
|
|
|
|
+ 'WIN1252',
|
|
|
|
+ 'WIN1253',
|
|
|
|
+ 'WIN1254',
|
|
|
|
+ 'WIN1255',
|
|
|
|
+ 'WIN1256',
|
|
|
|
+ 'WIN1257',
|
|
|
|
+ 'WIN1258');
|
|
|
|
+
|
|
// Given field retrieval query in FieldQuery, return field type and size.
|
|
// Given field retrieval query in FieldQuery, return field type and size.
|
|
// Includes support for field types that are domains and arrays
|
|
// Includes support for field types that are domains and arrays
|
|
procedure GetFieldType(FieldQuery: TSQLQuery; var FieldType: string; var FieldSize: integer);
|
|
procedure GetFieldType(FieldQuery: TSQLQuery; var FieldType: string; var FieldSize: integer);
|
|
@@ -101,7 +158,7 @@ begin
|
|
27 : Result:= 'DOUBLE PRECISION';
|
|
27 : Result:= 'DOUBLE PRECISION';
|
|
10 : Result:= 'FLOAT';
|
|
10 : Result:= 'FLOAT';
|
|
8 : Result:= 'INTEGER'; // further processed below
|
|
8 : Result:= 'INTEGER'; // further processed below
|
|
- 9 : Result:= 'QUAD'; // unknown what this is=> see IB6 Language Reference RDB$FIELD_TYPE
|
|
|
|
|
|
+ 9 : Result:= 'QUAD'; // ancient VMS 64 bit datatype; see also IB6 Language Reference RDB$FIELD_TYPE
|
|
7 : Result:= 'SMALLINT'; // further processed below
|
|
7 : Result:= 'SMALLINT'; // further processed below
|
|
13 : Result:= 'TIME';
|
|
13 : Result:= 'TIME';
|
|
35 : Result:= 'TIMESTAMP';
|
|
35 : Result:= 'TIMESTAMP';
|