wombatu-kun commented on issue #19457: URL: https://github.com/apache/hudi/issues/19457#issuecomment-5162950140
Schema-on-write. `HoodieSchemaCompatibilityChecker.getCompatibility`, reached from `HoodieTable.validateSchema()` as `checkReaderWriterCompatibility(writerSchema, tableSchema, true)`, permits `long <- int`, `float <- int|long`, `double <- int|long|float`, `string <- any numeric` and `bytes <- string`. `double <- float` is the case here. `hoodie.avro.schema.validate` also defaults to `false`, so by default that check does not even run. The connector cannot tell the two paths apart here in any case: it takes the column type from the Hive metastore and the physical type from the parquet footer, and never looks at the internal schema. `hudi-trino` carries no `InternalSchema` reference at all today, which is what #19381 is about. So the two are complementary. #19381 is about resolution, which file column a query column maps to and how to decode it. This one is about the predicate, whether a domain may be compared against that column's statistics at all. The guard stays necessary after #19381 lands unless that work also transcodes domains into the file's physical type; its type table already covers the schema-on-read-only promotions for when it does. PR: https://github.com/apache/hudi/pull/19467 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
