Fixed changeColumn incorrectly handling 'set' column type

XFA

Well-known member
Affected version
2.0.7
Hi,

I ran into an issue with the set column type.

Had the following code in one of my add-on upgrade code:
PHP:
$table->changeColumn('allowed_modes', 'set')->values(['single_el','consolation','double_el','round_robin','round_robin_2way','manual'])->setDefault('single_el,consolation,double_el,round_robin,round_robin_2way,manual');

It leaded to the following bit of query:
PHP:
SET('single_el','consolation','double_el','round_robin','round_robin_2way','manual')('single_el','consolation','double_el','round_robin','round_robin_2way','manual')

The values are doubled as you can see, did some debug and found out that the length attribute inside the Column.php file contains ('single_el','consolation','double_el','round_robin','round_robin_2way','manual'), the bug might be coming from the inferColumnType in that file, shouldn't you be handling set type similarly to enum type ?

Did that change to test and it stopped the error but I prefer to let you confirm my understanding.

Clément
 
You're correct. We didn't really actually have any support for SET here, but that's sorted from 2.0.10 onwards.
 
Top Bottom