Skip to content

Make nullability explicit (not only) in ArrayType and CompositeType

Jiří Pudil requested to merge 27-explicit-nullability into master

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

Merge request reports

Loading