Jira issue originally created by user @doctrinebot:
This issue is created automatically through a Github pull request on behalf of deeky666:
This PR introduces a BinaryType as an equivalent to StringType for binary strings of varying and fixed length as an alternative to BlobType for smaller data requirements. Most of the vendors have native support for BINARY and VARBINARY types which get mapped to this type. Currently Sqlite and PostgreSQL don't support them and mapping falls back to their native BLOB types when BinaryType is used in the application.
Please not that the added methods AbstractPlatform::getBinaryMaxLength() and AbstractPlatform::getBinaryDefaultLength() are not used consistently throughout the platforms. I decided to adopt each platform's behaviour concerning default and max lengths evaluation if favour of implementing it the "correct" way. The reason for this is that those values are not properly defined and used throughout the platform and I guess changing this behaviour would be a BC break.
An example to illustrate what I mean:
Most of the vendors use a default length for VARCHAR / CHAR / VARBINARY / BINARY of 1 when you don't provide a length specifier in the declaration. However most of the platforms use a default of 255 and there are even many places where this value is hardcoded. At least this is my understanding of the default value.
Comment created by @doctrinebot:
A related Github Pull-Request [GH-452] was closed:
Issue was closed with resolution "Fixed"