Issue with int64 and Firebird

Issue #227 resolved
luannic created an issue

In the TFirebirdSQLGenerator.GetSQLDataTypeName(const field: TSQLCreateField): string

the creation of int64 in Firebird was creating an Integer instead of a BIGINT. We have modified the funtion like this:

function TFirebirdSQLGenerator.GetSQLDataTypeName(
  const field: TSQLCreateField): string;
begin
  Result := inherited GetSQLDataTypeName(field);
  case field.TypeInfo.Kind of
    tkInt64: Result := 'BIGINT';
  end;
  if StartsText('NCHAR', Result) then
    Result := Copy(Result, 2, Length(Result)) + ' CHARACTER SET UNICODE_FSS'
  else if StartsText('NVARCHAR', Result) then
    Result := Copy(Result, 2, Length(Result)) + ' CHARACTER SET UNICODE_FSS';
end;

Comments (4)

  1. Stefan Glienke repo owner

    I think this can already be fixed in TAnsiSQLGenerator because afaik BIGINT is SQL92.

  2. Log in to comment