On Tue, Jul 3, 2012 at 7:35 AM, Gabriel Reid <[email protected]> wrote:
> On Tue, Jul 3, 2012 at 4:26 PM, Josh Wills <[email protected]> wrote: > > On Tue, Jul 3, 2012 at 12:42 AM, Gabriel Reid <[email protected]> > wrote: > >> > >> While implementing the map side joins, I needed to make the PType > >> interface extend Serializable, and that caused me to stumble upon an > >> issue in AvrosTest. The testNestedTables method creates a nested table > >> schema (unsurprisingly), with the call in question being equivalent to > >> this: > >> > >> Avros.tableOf(Avros.strings(), Avros.tableOf(Avros.ints(), > >> Avros.doubles())); > >> > >> This results in an invalid schema being created due to the same > >> namespace and name (org.apache.avro.mapred.Pair) being used twice in > >> the schema. > ... > > > > I added it as a convenience method for a project I was working on-- my > > thought was that if you tried to put a PTableType inside of another > > PTableType, we should detect it and automatically convert the nested > > PTableType to a pairs(keyType, valueType), as you indicated was the > > right thing to do. I'm surprised that it didn't work properly, since I > > thought that I was doing the conversion from PTableType to > > pairs(keyType, valueType) when the PType was being constructed. Do you > > mind if I take a look at it first and try to fix it? > > Yep, please do -- if there's a use case for it, it definitely makes > sense to keep it and fix it. You can spot the issue if you call > toString on the schema that is created (in the nested table unit > test). > Ack, found it. I'll check in the patch in a few minutes, assuming it's not going to conflict with your stuff. > > - Gabriel > -- Director of Data Science Cloudera <http://www.cloudera.com> Twitter: @josh_wills <http://twitter.com/josh_wills>
