Skip to content

Ошибка при построении таблицы со столбцом типа TREE и источника Postgres #240

@Argentum4k

Description

@Argentum4k

Берем Postgre, делаем источник данных, добавляем столбец типа TREE:
формула TREE(ARRAY([поле2],[поле2],[поле3]))
Полей может быть сколько угодно. Поля должны быть строковыми, подходят в т.ч. созданные через datalens копии нестроковых столбцов с указанным типом данных "строка".
Создаем чарт типа Таблица, добавляем в стоблцы созданный столбец типа TREE: все работает.
Разворачиваем строку по "плюсу" - получаем ошибку :
Ошибка загрузки данных { "azz0maafeoqcy_result": { "code": "ERR.DS_API.DB.INVALID_FUNCTION", "status": 400, "sourceType": "bi_datasets", "message": "Unknown function.", "details": { "db_message": "operator does not exist: character varying[] = text[]\nHINT: No operator matches the given name and argument types. You might need to add explicit type casts.", "query": "SELECT (ARRAY[t1.product_name, t1.product_sku])[$3::integer:($3::integer + $4::integer) - $5::integer] AS res_0\nFROM saleor.public.order_orderline AS t1\nWHERE\n ARRAY_LENGTH(ARRAY[t1.product_name, t1.product_sku], $1::integer) >= $4::integer AND (ARRAY[t1.product_name, t1.product_sku])[$6::integer:array_length(ARRAY[$7], $2::integer)] = ARRAY[$7]\nGROUP BY res_0\nLIMIT $8::integer [1, 1, 1, 2, 1, 1, 'Платный курс', 1000001]" }}}

В результате исследований выяснено, что ошибка возникает во всех случаях, кроме случая когда самое первое поле в ARRAY имеет в источнике тип text (не самый распространенный в postgre). Другие строковые типы данных, например varchar - также дают ошибку. Приведение к строковому типу через datalens или функции не меняет ситуацию.
Данная ошибка не позволяет пользоваться вложенными таблицами с источника postgre, хотя в документации заявлено что это работает.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions