#2 Use per-entity ID type

Закриті
2 роки тому відкрито kestrel · 0 коментарів
kestrel відкоментовано 2 роки тому

Rather than the current universal query::ID rowid wrapper, ideally we want an entirely separate type so that the compiler can help with accidental cross-table ID use.

The problem with this is mostly the column names of serialized structs (especially newtype structs) are not currently clear, and if there are multiple (e.g. for a struct S (i64, i64)) then it's not clear to the derive macro exactly how many table columns there are.

This may mean that we are limited to newtype structs and tuples, as tuples should be handlable with a .i suffix.

Rather than the current universal `query::ID` rowid wrapper, ideally we want an entirely separate type so that the compiler can help with accidental cross-table ID use. The problem with this is mostly the column names of serialized structs (especially newtype structs) are not currently clear, and if there are multiple (e.g. for a `struct S (i64, i64)`) then it's not clear to the derive macro exactly how many table columns there are. This may mean that we are limited to newtype structs and tuples, as tuples should be handlable with a `.i` suffix.
kestrel згадано цю проблему в коміті 2 роки тому
kestrel згадано цю проблему в коміті 2 роки тому
Підпишіться щоб приєднатися до обговорення.
Без Мітки
Етап відсутній
Немає відповідального
1 учасників
Завантажується...
Скасувати
Зберегти
Тут ще немає жодного вмісту.