Skip to content
Snippets Groups Projects

Make nullability explicit (not only) in ArrayType and CompositeType

Merged Jiří Pudil requested to merge 27-explicit-nullability into master
All threads resolved!

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
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Jan Kuchař
  • Jan Kuchař approved this merge request

    approved this merge request

  • Jiří Pudil marked this merge request as ready

    marked this merge request as ready

  • Jiří Pudil added 5 commits

    added 5 commits

    • f721a127...b8272276 - 3 commits from branch master
    • 82442ffa - Make nullability explicit (not only) in ArrayType and CompositeType
    • 01c06b3c - handle null values in non-nullable positions within complex types

    Compare with previous version

  • Jiří Pudil resolved all threads

    resolved all threads

  • Jiří Pudil added 1 commit

    added 1 commit

    Compare with previous version

  • merged

  • Jiří Pudil mentioned in commit 11e28966

    mentioned in commit 11e28966

  • Please register or sign in to reply
    Loading