Skip to content

Тип данных

Типы данных (fs_type) объединяют в себе типы данных из разных СУБД (db_type).
Терминология:

  • fs_type - тип данных. Логическая сущность.
  • db_type - тип данных в СУБД. Соответствие между fs_type и db_type называется имплементацией.

При регистрации/описании объектов используются именно fs_type. Для корректной работы с данными необходимо настроить имплементации типов данных для диалектов СУБД.

Пример:

fs_type db_type db_name
AMOUNT decimal(26,2) postgresql
AMOUNT decimal spark
FLOAT float8 postgresql
FLOAT double spark
INT integer postgresql
INT int spark

Таким образом одно значение fs_type может объединять в себе несколько имплементаций на разные диалекты, что позволяет работать одновременно с разными СУБД используя один и тот же справочник типов данных.

Базовое наполнение справочника fs_type, а так же имплементаций, предоставляется по умолчанию. Доступна пользовательская настройка справочников и имплементаций в API в зависимости от потребностей пользователя.

Каталог данных в SDK:

from FSClient.catalogue import data_type  # Каталог типов данных

data_type

Подробная информация о типе данных в SDK:

from FSClient.catalogue import data_type  # Каталог типов данных

data_type.My_INT_Data_Type

Типы данных по-умолчанию

Если в процессе работы с данными пользователь не задает fs_type явно, то используется справочник типов данных "по-умолчанию" (default_fs_type).

Справочник представляет собой соответствие между типами данных СУБД (db_type) и типами данных (fs_type).

В справочнике должны быть определены все типы данных СУБД, которые используются пользователем.

Справочник типов данных default_fs_type настраивается для каждого диалекта отдельно.
Пример:

db_type default_fs_type db_name
bigint BIG_INT postgresql
bigserial BIG_INT postgresql
integer BIG_INT postgresql
json BIG_STRING postgresql
text BIG_STRING postgresql
character BIG_STRING postgresql