I'm not an expert on the Avro C++ implementation, but I wonder if this is cause of the nulls not being checked for in http://svn.apache.org/repos/asf/avro/trunk/lang/c++/impl/avrogencpp.cc's CodeGen::cppTypeOf method.
On Sun, Aug 26, 2012 at 1:54 PM, Jan van der Lugt <[email protected]> wrote: > Hi all, > > Sorry to be impatient, but could someone please comment on this issue? I > know that the C++ version isn't as popular as the Java version, but the > whole idea is to make information exchange between applications in different > languages easier, right? > > - Jan > > > On Sat, Aug 18, 2012 at 12:10 AM, Jan van der Lugt <[email protected]> > wrote: >> >> Hi all, >> >> After deciding on Apache Avro for one of the main formats for storing our >> graph data, I tried to integrate it with our graph processing system built >> in C++. If I generate a header file from the attached Avro schema using >> avrogencpp, I get a vector of type $Undefined$ somewhere in the generated >> code (see the snippet below). Is there an error in my schema or is this a >> bug in avrogencpp? Thanks in advance for your help! >> >> - Jan >> >>> static void decode(Decoder& d, gm::gm_avro_graph_avpr_Union__5__& v) { >>> size_t n = d.decodeUnionIndex(); >>> if (n >= 2) { throw avro::Exception("Union index too big"); } >>> switch (n) { >>> case 0: >>> d.decodeNull(); >>> v.set_null(); >>> break; >>> case 1: >>> { >>> std::vector<$Undefined$ > vv; >>> avro::decode(d, vv); >>> v.set_array(vv); >>> } >>> break; >>> } >>> } > > -- Harsh J
