kmitchener opened a new issue, #5332:
URL: https://github.com/apache/arrow-datafusion/issues/5332

   **Describe the bug**
   Error message is too long when selecting invalid column from table with many 
columns:
   
   ```
   ❯ select not_a_column from test;
   Schema error: No field named 'not_a_column'. Valid fields are 
'test'.'iso_year', 'test'.'iso_week', 'test'.'week_start', 'test'.'week_end', 
'test'.'country', 'test'.'company', 'test'.'brand', 'test'.'product_group', 
'test'.'product_category', 'test'.'product', 'test'.'product_detail', 
'test'.'product_brand', 'test'.'model_name', 'test'.'product_description', 
'test'.'ean_upc', 'test'.'mpn', 'test'.'price_band', 'test'.'channel_detail', 
'test'.'currency_id', 'test'.'2_5_bay_count', 'test'.'3_5_bay_count', 
'test'.'3d', 'test'.'a4_color_speed', 'test'.'a4_mono_speed', 
'test'.'absolute_size', 'test'.'absolute_speed', 'test'.'ac_adapter_power__w_', 
'test'.'active_passive', 'test'.'additional_tray', 'test'.'adf', 
'test'.'adf_capacity', 'test'.'array_device', 'test'.'aspect_ratio', 
'test'.'audio_port', 'test'.'backlight', 'test'.'backlight_technology', 
'test'.'base_configuration', 'test'.'battery', 'test'.'battery_capacity__ah_', 
'test'.'battery_capacity__watt_hrs_', 'test'.'battery_capac
 ity_band__watt_hrs_', 'test'.'battery_technology', 
'test'.'black_toner_max_pages', 'test'.'bluetooth', 
'test'.'brand_compatibility', 'test'.'branded_gaming', 
'test'.'brightness__lumens_', 'test'.'brightness__nits_', 
'test'.'brightness_color__lumens_', 'test'.'bto', 'test'.'card_reader', 
'test'.'cellular_connectivity', 'test'.'color', 'test'.'color_count', 
'test'.'color_toner_max_pages', 'test'.'color_mono', 
'test'.'combo_headphone_mic_port', 'test'.'connectivity_speed', 
'test'.'connector_type', 'test'.'consumable_color', 'test'.'consumable_type', 
'test'.'copy', 'test'.'cs_cf', 'test'.'curing_method', 'test'.'curved', 
'test'.'depth__mm_', 'test'.'desktop_portable', 'test'.'device_supported', 
'test'.'display_connection_count', 'test'.'display_count_supported', 
'test'.'display_position_adjustment', 'test'.'display_screen_type', 
'test'.'display_size_supported', 'test'.'displayport_port_count', 
'test'.'displayport_type', 'test'.'dot_pitch', 'test'.'dp_alt_mode', 
'test'.'drive_type', 'tes
 t'.'drive_card_size', 'test'.'drives_installed', 'test'.'drum', 
'test'.'duplex', 'test'.'duty_cycle', 'test'.'dvi_port_count', 
'test'.'energy_star', 'test'.'engine_count', 'test'.'ethernet_lan', 
'test'.'fax', 'test'.'flash_memory_connector', 'test'.'flatbed_sheetfed', 
'test'.'format', 'test'.'frame_type', 'test'.'hdd_count', 'test'.'hdmi_port', 
'test'.'hdmi_port_count', 'test'.'hdmi_version', 'test'.'height__mm_', 
'test'.'high_dynamic_range', 'test'.'high_yield_ink', 'test'.'host_interface', 
'test'.'imaging_technology', 'test'.'indoor_outdoor_use', 
'test'.'ink_tank__ink_cartridge', 'test'.'internet_access', 
'test'.'iso_color_speed', 'test'.'iso_mono_speed', 'test'.'key_quantity', 
'test'.'keyboard_layout', 'test'.'keyboard_technology', 'test'.'label_color', 
'test'.'length', 'test'.'lens_type', 'test'.'letter_color_speed', 
'test'.'letter_mono_scan_speed', 'test'.'letter_mono_speed', 'test'.'managed', 
'test'.'material', 'test'.'media_output', 'test'.'media_size', 
'test'.'media_size_det
 ail__inch_', 'test'.'media_size_supported', 'test'.'media_type', 
'test'.'media_type_supported', 'test'.'memory_card_type', 
'test'.'memory_slot_count', 'test'.'memory_speed__mhz_', 
'test'.'memory_technology', 'test'.'metallic_color', 
'test'.'mini_displayport_port_count', 'test'.'minimum_bezel_width', 
'test'.'motherboard_chipset', 'test'.'mounting_option', 
'test'.'movement_detection', 'test'.'native_aspect_ratio', 
'test'.'native_resolution', 'test'.'network', 'test'.'oem_engine', 
'test'.'on_board_graphics_adapter_brand', 
'test'.'on_board_graphics_adapter_model_name', 'test'.'optical_drive_type', 
'test'.'os', 'test'.'os_architecture', 'test'.'os_compatibility', 
'test'.'os_version', 'test'.'output_power__watt_', 'test'.'photo_direct', 
'test'.'port_count', 'test'.'port_types', 'test'.'portable', 
'test'.'postscript', 'test'.'power_over_ethernet', 'test'.'power_passthrough', 
'test'.'power_supply__watts_', 'test'.'power_supply_count', 
'test'.'power_type', 'test'.'primary_application', 'test
 '.'print', 'test'.'print_head_oem', 'test'.'print_heads_min_max', 
'test'.'print_yield', 'test'.'printer_others_speed', 
'test'.'printer_printer_cutter', 'test'.'processor_boost_speed__ghz_', 
'test'.'processor_brand', 'test'.'processor_cache__mb_', 
'test'.'processor_cache_type', 'test'.'processor_core_count', 
'test'.'processor_max_count', 'test'.'processor_model_name', 
'test'.'processor_speed__ghz_', 'test'.'processor_threads', 
'test'.'processor_vendor', 'test'.'processors_installed', 
'test'.'product_type', 'test'.'production_classification', 
'test'.'quantum_dot_technology', 'test'.'rack_post_count', 
'test'.'ram_installed__gb_', 'test'.'ram_installed_band', 
'test'.'ram_max__gb_', 'test'.'refresh_rate', 'test'.'refresh_rate_max', 
'test'.'refurbished', 'test'.'remanufactured', 'test'.'renewal', 
'test'.'resolution_max', 'test'.'response_time', 'test'.'rugged', 
'test'.'scan', 'test'.'scanner_optical_resolution', 'test'.'scanner_type', 
'test'.'screen_ratio', 'test'.'screen_resolution', 'te
 st'.'screen_resolution_band', 'test'.'screen_resolution_name', 
'test'.'screen_size__in_', 'test'.'screen_size_band', 'test'.'services_detail', 
'test'.'singlepass_multipass', 'test'.'smart_mfp', 'test'.'speakers', 
'test'.'stackable', 'test'.'storage_flash_capacity__gb_', 
'test'.'storage_hdd__gb_', 'test'.'storage_hdd_band', 
'test'.'storage_interface', 'test'.'storage_ssd__gb_', 
'test'.'storage_ssd_band', 'test'.'storage_total__gb_', 
'test'.'storage_total_band', 'test'.'tape_type', 'test'.'tape_width', 
'test'.'throw_ratio', 'test'.'thunderbolt_port', 'test'.'toner_ink_type', 
'test'.'touchscreen', 'test'.'tray_size', 'test'.'tv_tuner', 'test'.'u_height', 
'test'.'usb', 'test'.'usb_port_count', 'test'.'usb_type_a_port_count', 
'test'.'usb_type_c_port_count', 'test'.'usb_c_port', 'test'.'volume__l_', 
'test'.'vesa_mount_standard', 'test'.'vga_port_count', 
'test'.'video_interfaces', 'test'.'video_wall', 'test'.'wall_mountable', 
'test'.'warranty', 'test'.'weight__lbs_', 'test'.'width__mm_', '
 test'.'white_ink', 'test'.'wifi', 'test'.'wifi_standard', 'test'.'wireless', 
'test'.'wireless_technology', 'test'.'workstation_product_detail', 
'test'.'units', 'test'.'quantity', 'test'.'distributor_revenue__usd_m_'.
   ```
   Here it doesn't wrap, but on a terminal it takes up the screen, and this is 
just 200 columns.
   
   **To Reproduce**
   Select a non-existent column from a table with hundreds of columns.
   
   **Expected behavior**
   Unsure. Postgres doesn't attempt to suggest valid columns, it just tells you 
that your column selection was invalid. But a bunch of work has already gone 
into improving the "valid fields" options.
   
   It should either:
   * not give a list of valid fields, like PG does
   * or truncate the list of valid fields at some reasonable character length 
for error messages.
   
   **Additional context**
   FWIW, this also caused issues with Flight SQL Server, as the error message 
exceeded the acceptable length of the HTTP header that contains the error 
messages.
   


-- 
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]

Reply via email to