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.