Oops. Also, just to be clear, I don't intend to change unions at all, in THRIFT-4399. Only to fix the plugin interface.
On Sat, Dec 2, 2017 at 12:38 PM, Chet Murthy <[email protected]> wrote: > Jens, I think I might have answered in another thread, but just in case: > > The change I want to make to plugin.thrift (and associated C++ files) is > only to make them use Thrift unions in a "correct" way. So that later, > when we fix unions, the plugin interface won't blow up. The changes to the > plugin interface are confined -only- to making it use unions correctly, and > nothing more. > > On Sat, Dec 2, 2017 at 8:36 AM, Jens Geyer <[email protected]> wrote: > >> Hi, >> >> Since >> >> > this will break the behaviour of the Thrift plugin interface >> >> I have one key question for you: What is the net benefit and purpose of >> this >> change? >> >> > It's just a struct with all-optional fields. >> >> Correct and I alreayd expllained why this is the case. It's also explained >> in more detail in the JIRA "union" ticket. >> >> > I'd like to make it a real union >> >> How wil this affect compatibility of the Thrift language bindungs in >> general? Unions are widely used, not only for the plugin interface. >> >> JensG >> >> >> -----Ursprüngliche Nachricht----- >> From: Chet Murthy >> Sent: Saturday, December 2, 2017 12:58 AM >> To: [email protected] >> Subject: Is anybody using the plugin.thrift interface? I'd like to change >> a >> little bit of it >> >> In another email thread about unions, I've noted that the current Thrift >> union implementation isn't actually a union. It's just a struct with >> all-optional fields. I'd like to make it a real union, but this will >> break >> the behaviour of the Thrift plugin interface, b/c it uses unions >> (t_const_value) in a non-union way. >> >> I would like to find people who are using this interface, and work with >> them to ensure that their code doesn't break, so that I can "fix" unions. >> This isn't hard, but it's a breaking change to the protocol, b/c.... well, >> the current behaviour is a bug. So code that counts on it, when that bug >> is fixed .... will break. >> >> Is there anybody out there using plugin.thrift? >> >> --chet-- >> P.S. I find this interface to be lovely, and want to write a new >> compiler/emitter backend using it. Which is why I want to fix it first. >> >> >
