hasql-v1¶
Кодогенератор клиентского SDK для языка Haskell. Опирается на библиотеку "hasql".
Производит библиотеку, предоставляющую все запросы в проекте в виде объявлений Statement
с уже осуществлённым мэпингом и структурами данных для параметров и результатов, специфичными для каждого запроса.
Поддерживаемые структуры данных¶
Примитивные типы¶
Таблица поддерживаемых примитивных типов данных Postgres в параметрах и результатах запросов:
Тип Postgres | В параметрах | В результатах |
---|---|---|
bool | ||
bytea | ||
char | ||
cidr | ||
date | ||
datemultirange | ||
daterange | ||
float4 | ||
float8 | ||
inet | ||
int2 | ||
int4 | ||
int4multirange | ||
int4range | ||
int8 | ||
int8multirange | ||
int8range | ||
interval | ||
json | ||
jsonb | ||
macaddr | ||
macaddr8 | ||
money | ||
numeric | ||
nummultirange | ||
numrange | ||
text | ||
time | ||
timestamp | ||
timestamptz | ||
timetz | ||
tsmultirange | ||
tsrange | ||
tstzmultirange | ||
tstzrange | ||
uuid | ||
xml |
Массивы¶
Тип элемента массива Postgres | В параметрах | В результатах |
---|---|---|
Примитив | ||
Композитный тип | ||
Энумерация |
Энумерации¶
Поддерживаются как в параметрах так и в результатах.
Композитные типы¶
Поддерживаются как в параметрах так и в результатах.
Версионирование библиотек¶
Так как в Haskell применяется конвенция версионирования PVP, а не SemVer, кодогенератор приводит значение version
из файла конфигурации к PVP путём подставления префикса 0.
. Например, версия 1.0.0
превратится в 0.1.0.0
.