Because you will forever be limited to adding nullable fields to that
record. It will forever be a weak contract. That may be OK, depending on
the situation. You just won’t be able to enforce semantics through the
schema. The code will have to enforce all constraints.

On Fri, Dec 13, 2019 at 6:28 PM roger peppe <rogpe...@gmail.com> wrote:

>
>
> On Fri, 13 Dec 2019 at 23:08, Vance Duncan <dunca...@gmail.com> wrote:
>
>> Sorry about that. I was assuming some kind of name-based schema registry
>> lookup. Assume you are looking up schemas by name using a schema registry.
>> Let’s say the record is name MyRecord. You subsequently add a required
>> field to it. Since the new record is not reverse compatible, you’ll need to
>> name it MyRecord2, or whatever. This is what I meant by “reidentify”.
>>
>
> I don't quite get how this is different to having a struct with any other
> number of fields. Why should zero be special here?
>
>
>> On Fri, Dec 13, 2019 at 12:46 PM roger peppe <rogpe...@gmail.com> wrote:
>>
>>>
>>>
>>> On Fri, 13 Dec 2019 at 15:02, Vance Duncan <dunca...@gmail.com> wrote:
>>>
>>>> My immediate thought is observe the YAGNI principle and only create it
>>>> if and when you need it. Otherwise, you run the risk of requiring
>>>> non-interchangeable re-identification if you need required, non-default,
>>>> fields when the need materializes.
>>>>
>>>
>>> Could you expand a little on that latter point, please? I'm not sure I
>>> understand what you're saying.
>>> A concrete example might help.
>>>
>>>   cheers,
>>>     rog.
>>>
>>>>
>>>>
>>>> On December 13, 2019, at 9:25 AM, roger peppe <rogpe...@gmail.com>
>>>> wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> The specification doesn't seem to make it entirely clear whether it's
>>>> allowable for a record to contain no fields (a zero-length array for the
>>>> fields member). I've found at least one implementation that complains about
>>>> a record with an empty fields array, and I'm wondering if this is a bug.
>>>>
>>>> A record containing no fields is actually quite useful as it can act as
>>>> a placeholder for a record with any number of extra fields in future
>>>> evolutions of a schema.
>>>>
>>>> What do you think?
>>>>
>>>>   cheers,
>>>>     rog.
>>>>
>>> --
>> Regards,
>>
>> Vance Duncan
>> mailto:dunca...@gmail.com
>> http://www.linkedin.com/in/VanceDuncan
>> (904) 553-5582
>>
> --
Regards,

Vance Duncan
mailto:dunca...@gmail.com
http://www.linkedin.com/in/VanceDuncan
(904) 553-5582

Reply via email to