Make nullability explicit (not only) in ArrayType and CompositeType
Vychází z !57 (merged), closes #27 (closed)
Mám radost z toho, jak se mi nakonec podařilo vyřešit tu dichotomii, že nullabilitu sloupečku lze definovat na úrovni databáze, ale nullabilitu fieldu v kompozitním typu jen aplikačně. V bodech:
- Přidal jsem wrapper
NullableType
, který explicitně řeší nullabilitu z aplikační strany. - Je-li sloupeček nullable, jeho typ v
Column
se interně obalí tímto nullable wrapperem. Tím je dosažena parita DB schématu a aplikační logiky u sloupečků. - V komplexních typech (v kompozitech a v polích) je potřeba použít obalující
NullableType
explicitně. - Veškeré převody typů uvnitř tables, které doteď obsahovaly null check, se tím zjednoduší a typově posílí, protože jen delegují převod na příslušný typ – a ten už dál určuje, jestli null akceptuje, nebo nikoliv.
Edited by Jiří Pudil