Ну в основном это сводится к тому, возможно ли иметь запрос, который возвращает более 16 столбцов в esqueleto?Esqueleto: Как выполнить запрос с более чем 16 столбцами?
У меня есть db das, с которым мне нужно взаимодействовать, и для этого требуется соединить таблицы с 30-40 столбцами, а затем собрать 20 возможных столбцов 80-100, которые мне нужны, поэтому я не вытягиваю столбцы больших если это необходимо. Казалось бы, с esqueleto я ограничен 16 столбцами? Есть ли способ преодолеть это без сиротских случаев?
Заранее благодарен!
PS Если требуется надуманный пример, я предоставил его.
UPDATE
Я нашел в документации, что вы можете сделать кортежи кортежей, которые по существу позволяет мне получить больше на 16 столбцов, а затем взять эти вложенные кортежи и сопоставление с образцом по результатам, чтобы преобразовать его в тип данных мне нужно или использовать отдельные значения по мере необходимости.
FYI
, если вы посмотрите на документацию для SqlSelect
, если вы посмотрите на экземпляры затем посмотреть весь путь направо вы увидите «намек», что это помогло мне знать, что я мог бы сделать кортежи кортежей.
Вы всегда можете использовать функцию 'rawSql' из библиотеки' persistent'. Другой способ - просто создать PR для Esqueleto, который возвращает около 20 кортежей. Но я думаю, что это не тот ответ, который вы ищете. :) – Sibi
rawSql, казалось, имел ограничение в 8 столбцов, если я не ошибаюсь (я давно искал этот вопрос) – sbditto85
yup only 8 https://hackage.haskell.org/package/persistent-2.2.4 /docs/Database-Persist-Sql.html#t:RawSql – sbditto85