Skip to content

Conversation

@kyleconroy
Copy link
Collaborator

  • Transform NOT BETWEEN into or(less, greater) to match ClickHouse EXPLAIN output
  • Transform BETWEEN into and(greaterOrEquals, lessOrEquals)
  • Fix float literal parsing for trailing dot syntax (e.g., 1. is now Float64)
  • Update ast.json golden file for float literal change
  • Remove todo flag from 23 now-passing tests

Fixed tests include polygon operations, geohash constants, decimal/float
handling, and BETWEEN expression tests.

- Transform NOT BETWEEN into or(less, greater) to match ClickHouse EXPLAIN output
- Transform BETWEEN into and(greaterOrEquals, lessOrEquals)
- Fix float literal parsing for trailing dot syntax (e.g., 1. is now Float64)
- Update ast.json golden file for float literal change
- Remove todo flag from 23 now-passing tests

Fixed tests include polygon operations, geohash constants, decimal/float
handling, and BETWEEN expression tests.
…med tuples

Key fixes:
- Add UsedASSyntax field to CastExpr to distinguish CAST(x AS Type) from CAST(x, 'Type')
- Fix inf/nan float formatting to use lowercase (inf, -inf, nan) matching ClickHouse
- Add NameTypePair support in FormatDataType for named tuple fields like Tuple(a UInt32)
- Display Subquery alias when present
- Update 03601 golden file for inf formatting change

Tests now passing:
- 00503_cast_const_nullable
- 00516_is_inf_nan
- 00525_aggregate_functions_of_nullable_that_return_non_nullable
- 00547_named_tuples
- 01351_geohash_assert
- 01581_to_int_inf_nan
- 01602_modified_julian_day_msan
- 01611_constant_folding_subqueries
- 01642_if_nullable_regression
- 01664_decimal_ubsan
- 01677_bit_float
- 01679_format_readable_time_delta_inf
- 01773_datetime64_add_ubsan
- 01852_cast_operator
- 02007_ipv4_and_ipv6_to_and_from_string
- 02136_scalar_subquery_metrics
- 02148_cast_type_parsing
- 02313_avro_records_and_maps
- 02366_union_decimal_conversion
- 02416_input_json_formats
- 02795_full_join_assert_cast
- 02832_transform_fixed_string_no_default
- 02921_bit_hamming_distance_big_int
- 03237_get_subcolumn_low_cardinality_column
- 03261_json_hints_types_check
These ast.json files provide regression testing for parser output,
ensuring AST structure remains consistent across changes.
…TTINGS

Key fixes:
- Wrap table functions in TableExpression for DESCRIBE queries
- Wrap window ORDER BY items in OrderByElement instead of plain Identifier
- Map SHOW SETTINGS to ShowTables in EXPLAIN AST output (ClickHouse quirk)

Tests now passing:
- 01293_show_settings
- 01568_window_functions_distributed
- 02245_s3_schema_desc
- 02383_schema_inference_hints
- 02409_url_format_detection
- 02410_csv_empty_fields_inference
- 02455_duplicate_column_names_in_schema_inference
- 02457_s3_cluster_schema_inference
- 02560_window_ntile
- 02587_csv_big_numbers_inference
- 02674_date_int_string_json_inference
- 02784_schema_inference_null_as_default
- 02874_parse_json_as_json_each_row_on_no_metadata
- 02876_s3_cluster_schema_inference_names_with_spaces
- 02922_respect_nulls_extensive
- 02982_dont_infer_exponent_floats
@kyleconroy kyleconroy merged commit 16db47c into main Dec 18, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants