Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Режим SQL Backend имеет ряд ограничений по сравнению с In-memory:

  1. Не поддерживаются операции редактирования строк в таблицах. Возможно только чтение данных. При получении подобного запроса строка будет добавлена в таблицу на ViQube(In-memory) и не будет видна при включенном SQL Backend.

  2. Имеются отличия при работе с NULL в выражениях (по сравнению с ViQube(In-memory)):

    • В результате сравнения с NULL в случае ViQube(In-memory) будет возвращено FALSE, а в случае ViQube(SQL Backend) будет возвращено NULL

    • При арифметических операциях NULL в ViQube(In-memory) интерпретируется как (1+NULL =1), а в SQL-базе как UNDEFINED (1+NULL =NULL )

  3. Имеется специфика при работе с некоторыми базами данных, а именно:

    • В PostgreSQL не работает sum(boolean). Поэтому могут быть отличия в результатах работы расчетных показателей.

    • В Oracle нет типа данных Boolean. В ViQube такие поля фигурируют как целочисленные (0/1). По этой причине не работают логические выражения в сформированном SQL-запросе.

  4. Использование VERTICA:

    • В VERTICA при сортировке по полю нет возможности указывать характер сортировки NULL-значений (нет директив NULL FIRST/LAST). Местоположение строк при сортировке полей с NULL-значениями зависит от типа сортируемых данных.

  5. Ограничения, касающиеся использования MySQL:

    • Нельзя указать, каким образом сортировать NULL-значения, так как не работают директивы NULLS FIRST и NULLS LAST.

    • Нельзя использовать разность дат: date1 - date2 выдает неверный результат. В качестве альтернативы, необходимо использовать функцию DATEDIFF. Например: SELECT SUM(DATEDIFF(period2_id, period_id)) AS `0-0` FROM `fact_rur`

    • Некорректно работает функция год для недели. В запросах с year_for_week приходят значения за каждый год и неделю в году.

    • Иногда сравнение строк может работать некорректно.

  6. Если источником данных таблицы является внешняя база данных, то при экспорте этой таблицы из ViQube, данные, хранящиеся во внешней базе данных, экспортироваться не будут. Экспортируются только те данные, которые были внесены в базу данных ViQube.