Found while reviewing the type layer in draft PR #712 (branch chtypes-v2).
Problem. The type layer pins some output settings so rendered bytes are stable, but a tenant's ClickHouse profile can still change others and so change the rendered JSON. Settings known as of 24.8 and not pinned (inferred from the settings list; the effect of each on the rendered bytes has not been measured here):
output_format_json_array_of_rows
output_format_json_quote_64bit_floats
output_format_json_skip_null_value_in_named_tuples
output_format_json_validate_utf8
output_format_decimal_trailing_zeros
interval_output_format
Repro (to be confirmed). Set one of these in a tenant user's profile and compare /v1/query output.
Found while reviewing the type layer in draft PR #712 (branch
chtypes-v2).Problem. The type layer pins some output settings so rendered bytes are stable, but a tenant's ClickHouse profile can still change others and so change the rendered JSON. Settings known as of 24.8 and not pinned (inferred from the settings list; the effect of each on the rendered bytes has not been measured here):
output_format_json_array_of_rowsoutput_format_json_quote_64bit_floatsoutput_format_json_skip_null_value_in_named_tuplesoutput_format_json_validate_utf8output_format_decimal_trailing_zerosinterval_output_formatRepro (to be confirmed). Set one of these in a tenant user's profile and compare
/v1/queryoutput.