[MDEV-30495] CONNECT engine does not handle SET columns Created: 2023-01-29 Updated: 2023-11-28 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Connect |
| Affects Version/s: | 10.6.10 |
| Fix Version/s: | 10.6, 10.11 |
| Type: | Bug | Priority: | Major |
| Reporter: | Gisbert W. Selke | Assignee: | Andrew Hutchings |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Linux |
||
| Description |
|
On a remote server, I have this table definition:
I try to connect to this table using
I then get this error message:
Note that column dmps is declared SET in the original table, but this is converted to VARCHAR(61) in the discovered CONNECT. This is, as has been pointed out, documented behaviour and, as such, not a bug. Since the underlying data type is, AFAIK, an integer value, this is not a case of "data type unknown to MariaDB", so it should be possible to fully support the SET type through the CONNECT engine. I would like to file a feature request. It is somewhat unexpected, however, that a table as defined above will actually produce an error message, and not just employ the documented substitution behaviour. If, on the other hand, I remove the first column (dmp), leaving only column DMPS of type SET, then the CONNECT will substitute as documented, without any error mesage. I would assume that whether an error is thrown should not depend on the number of columns. (In particular, the system variable connect_type_conv might be assumed to govern this behaviour, bu as per definition it pertains only to TEXT types but not to SET.) |
| Comments |
| Comment by Anel Husakovic [ 2023-01-30 ] |
|
Same as for MDEV-30496 SET data type is not supported, where the for SET the length is enough to contain all the set values concatenated with comma separator (data-type-conversion). |
| Comment by Gisbert W. Selke [ 2023-01-30 ] |
|
Thank you for pointing out that this is a documented limitation. I have changed the description as suggested. Please, adjust priorities accordingly. |