Режим SQL Backend имеет ряд ограничений по сравнению с In-memory:
Не поддерживаются операции редактирования строк в таблицах. Возможно только чтение данных. При получении подобного запроса строка будет добавлена в таблицу на ViQube(In-memory) и не будет видна при включенном SQL Backend.
Имеются отличия при работе с 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 )
Имеется специфика при работе с некоторыми базами данных, а именно:
В PostgreSQL не работает
sum(boolean)
. Поэтому могут быть отличия в результатах работы расчетных показателей.В Oracle нет типа данных
Boolean
. В ViQube такие поля фигурируют как целочисленные (0/1). По этой причине не работают логические выражения в сформированном SQL-запросе.
Использование VERTICA
В VERTICA при сортировке по полю нет возможности указывать характер сортировки NULL-значений (нет директив NULL FIRST/LAST). Местоположение строк при сортировке полей с NULL-значениями зависит от типа сортируемых данных.