SETI / rms-opus

PDS OPUS - Outer Planets Data Search Tool
Apache License 2.0
10 stars 7 forks source link

Sorting on multi-value mult field crashes #1262

Closed rfrenchseti closed 1 year ago

rfrenchseti commented 2 years ago

If you try to sort search results on a multi-value mult field (like intended target name), the database throws an error:

CREATE TABLE `cache_66`(sort_order INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(sort_order), id INT UNSIGNED, UNIQUE KEY(id)) SELECT `obs_general`.`id` FROM `obs_general` LEFT JOIN `mult_obs_general_planet_id` ON `obs_general`.`planet_id`=`mult_obs_general_planet_id`.`id` LEFT JOIN `mult_obs_general_target_name` ON `obs_general`.`target_name`=`mult_obs_general_target_name`.`id` WHERE `obs_general`.`instrument_id` IN (%s) ORDER BY mult_obs_general_planet_id.label ASC,mult_obs_general_target_name.label ASC,obs_general.opus_id DESC" with params "(9,)" failed with (3156, 'Invalid JSON value for CAST to DOUBLE from column target_name at row 1')
rfrenchseti commented 1 year ago

Example #1: Sorting on a MULTIGROUP field from the Browse tab crashes:

https://opus.pds-rings.seti.org/opus/#/cols=opusid,instrument,planet,target,time1,observationduration&widgets=instrument,observationtype,target&order=target,opusid&view=browse&browse=data&cart_browse=gallery&startobs=1&cart_startobs=1&detail=

Example #2:

Example #3: