akashjainn opened a new pull request, #26420: URL: https://github.com/apache/datafusion/pull/26420
## Which issue does this PR close? - Closes #26362. ## Rationale for this change `SET datafusion.execution.parquet.coerce_int96_tz = 'Not/A_Timezone'` succeeds today, and the error only shows up on the next Parquet read. After #25628 the unit option next to it is checked when it is set, so this does the same for the timezone. ## What changes are included in this PR? `ParquetOptions::coerce_int96_tz` is now `Option<ConfigTimeZone>`, the type `execution.time_zone` already uses, so it accepts exactly what it accepted before. `parse_coerce_int96_tz_string` is removed, and both protobuf decoders parse the value. An invalid value is rejected even when `coerce_int96` is unset, as the issue asked. ## What is the testing strategy for this PR? - `set_variable.slt`: SET/SHOW keeps the spelling (`+08`), a bad value is rejected and leaves the old one, RESET goes back to NULL, and bad table options fail at CREATE with an inferred and an explicit schema. These fail on main. - `test_parquet_coerce_int96_tz_validation` in `config.rs`. - A rejection test for each protobuf decoder, and the existing round-trip tests use the typed value. - The existing timezone read tests in `parquet.slt` pass unchanged. ## Are there any user-facing changes? Yes. Invalid timezones are rejected when set. The public field type changes, so this needs `api change`. I added a note to the 56.0.0 upgrade guide. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
