Skip to content

v1.6.17

Choose a tag to compare

@mastacontrola mastacontrola released this 25 Aug 11:48
· 2 commits to main since this release
4a99d9b

Two-state columns are stored as tinyint(1), not enum('0','1') — the plugin
half of fogproject ADR 0028.

An integer written to an ENUM is a member index, not a value, so
enum('0','1') is off by one: 1 selects the member '0' — FALSE — and 0 is
the error value STRICT_TRANS_TABLES refuses. Ten columns change type:

Table Columns
LDAPServers lsAllowAPI, lsDisplayNameEnabled, lsIsLDAPs, lsUseGroupMatch
OIDCProviders opAllowAPI, opAutoRedirect, opEnabled, opJITProvision, opSingleLogout
location lTftpEnabled

Converted through Schema::enumToTinyint(), added by
FOGProject/fogproject#1364this release requires a core carrying that
helper.
A direct ALTER ... MODIFY TINYINT(1) on an ENUM converts by index
and would silently switch on every flag in the table; the helper converts by
label and preserves nullability and defaults.

These fields now come back as the integer 1 rather than the string "1", in
REST payloads included.

PR: #27