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 >