Marshmellow Does not Support Interbase 7/Firebird 3.0 BOOLEAN datatype
Using the UIB Persistence layer I have added support for the Boolean datatype. If you wish I can fork the Spring4D repo, incorporate my change, and create a pull request but the code change is only to one method and is really simple. As per my article at http://www.tpersistent.com/?p=1242:
function TFirebirdSQLGenerator.GetSQLDataTypeName(
const field: TSQLCreateField): string;
begin
Result := inherited GetSQLDataTypeName(field);
{add support for Firebird 3.0/Interbase 7 new boolean datatype}
{$ifdef FB30}
if (field.TypeInfo.Kind = tkEnumeration) and
(field.typeInfo = System.TypeInfo(Boolean)) then
Result := 'BOOLEAN'
else
{$endif}
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)
-
repo owner -
reporter Would you like me to implement that and create a pull request, or are you okay making that change?
Also, I submitted a pull request for UIB changes I made but there is a previous pull request from 2018 that is still pending. Just wondering if you know anyone on that project to contact to move it along, or if I should just contact the repo owner.
-
repo owner Feel free to make a PR but based on develop branch and not on master as I am not accepting that and cannot change the branch it will be applied to (at least not via the web ui of Bitbucket - would have to manually do that which results in having to decline the PR anyway). PR makes it easier to review and modify before accepting.
-
repo owner - changed status to on hold
Is it possible to query from the dbms if it supports Boolean or not? Need research - until then on hold.
- Log in to comment
Using an ifdef is not an option imo - need to find a way to implement this differently.
Probably by adding a new query language and SQLGenerator.