Issue #496: show UNKNOWN data type in table editor for MSSQL and MySQL, as already for PG. Avoids casting its values to int for the data grid, and at least does not show the data type from the prior column in the table editor.

This commit is contained in:
Ansgar Becker
2019-04-22 13:47:41 +02:00
parent 8f94ece971
commit fad93ace54
2 changed files with 29 additions and 3 deletions

View File

@ -1598,7 +1598,7 @@ begin
Delete(DataType, 1, MatchLen);
end;
if (MatchLen = 0) and (FParameters.NetTypeGroup = ngPgSQL) then begin
if MatchLen = 0 then begin
// Fall back to unknown type
Result := Datatypes[0];
rx.Expression := '^(\S+)';
@ -5824,6 +5824,8 @@ begin
TypeIndex := dtTime;
ftDateTime:
TypeIndex := dtDateTime;
//ftTimeStampOffset: // this is NOT data type DATETIMEOFFSET
// TypeIndex := dtDatetime;
else
raise EDatabaseError.CreateFmt(_('Unknown data type for column #%d - %s: %d'), [i, FColumnNames[i], Integer(LastResult.Fields[i].DataType)]);
end;

View File

@ -347,8 +347,20 @@ var
);
// MySQL Data Type List and Properties
MySQLDatatypes: array [0..36] of TDBDatatype =
MySQLDatatypes: array [0..37] of TDBDatatype =
(
(
Index: dtUnknown;
NativeTypes: '99999';
Name: 'UNKNOWN';
Description: 'Unknown data type';
HasLength: False;
RequiresLength: False;
HasBinary: False;
HasDefault: False;
LoadPart: False;
Category: dtcOther;
),
(
Index: dtTinyint;
NativeType: mytTiny;
@ -948,8 +960,20 @@ var
);
MSSQLDatatypes: array [0..31] of TDBDatatype =
MSSQLDatatypes: array [0..32] of TDBDatatype =
(
(
Index: dtUnknown;
NativeTypes: '99999';
Name: 'UNKNOWN';
Description: 'Unknown data type';
HasLength: False;
RequiresLength: False;
HasBinary: False;
HasDefault: False;
LoadPart: False;
Category: dtcOther;
),
(
Index: dtTinyint;
Name: 'TINYINT';