The MySQL driver currently marks float32 as unsupported (@Mandukhai-Alimaa is that right?):
and the validation report XML looks correct to me, specifically ingest is marked as skip for Arrow float32:
<testcase classname="tests.test_ingest.TestIngest" name="test_create[mysql:9.4:ingest/float32]"
time="0.000">
<properties>
<property name="driver" value="mysql:9.4" />
<property name="query" value="ingest/float32" />
<property name="tag:sql-type-name" value="REAL" />
</properties>
<skipped type="pytest.skip" message="MySQL doesn't support float32">/Users/bryce/src/adbc-drivers/validation/adbc_drivers_validation/tests/ingest.py:97:
MySQL doesn't support float32</skipped>
</testcase>
But when I look at the final template for the ingest results, float isn't there:
(Pdb) template_vars["type_ingest"]
[('binary', 'VARBINARY'), ('binary_view', 'VARBINARY'), ('bool', 'BOOLEAN'), ('date32[day]', 'DATE'), ('decimal128', 'NUMERIC'), ('fixed_size_binary', 'VARBINARY'), ('double', 'DOUBLE PRECISION'), ('int16', 'SMALLINT'), ('int32', 'INT'), ('int64', 'BIGINT'), ('large_binary', 'VARBINARY'), ('large_string', 'VARCHAR'), ('string', 'VARCHAR'), ('string_view', 'VARCHAR'), ('time64[us]', 'TIME'), ('timestamp[us]', 'DATETIME'), ('timestamp[us, tz=UTC]', 'TIMESTAMP')]
For select, we show unsupported types with an ❌:
(Pdb) template_vars["type_select"]
[('BIGINT', 'int64'), ('BIT', 'binary'), ('BOOLEAN', 'int64, int8 ⚠️ [^1]'), ('DATE', 'date32[day]'), ('DATETIME', 'timestamp[us]'), ('DOUBLE PRECISION', 'double'), ('INT', 'int32'), ('JSON', 'extension<arrow.json>'), ('NUMERIC', 'fixed_size_binary'), ('REAL', '❌'), ('SMALLINT', 'int16'), ('TIME', 'time64[us]'), ('TIMESTAMP', 'timestamp[us]'), ('VARBINARY', 'binary'), ('VARCHAR', 'string')]
It makes sense to me that we'd show all Arrow types and all MySQL types in our tables, is there a reason not to?
The MySQL driver currently marks float32 as unsupported (@Mandukhai-Alimaa is that right?):
and the validation report XML looks correct to me, specifically ingest is marked as skip for Arrow float32:
But when I look at the final template for the ingest results, float isn't there:
For select, we show unsupported types with an ❌:
It makes sense to me that we'd show all Arrow types and all MySQL types in our tables, is there a reason not to?