thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Sprague <sprag...@gmail.com>
Subject perl bindings issue
Date Tue, 29 May 2012 21:21:52 GMT
Hi guys,
I'm kinda stuck here and wondering you could provide a tad of guidance.
full disclosure - i'm a newbie. (sorry) .  To make things brief the
generated perl code from "thrift -gen perl" is throwing this error:

Undefined subroutine &ThriftHive_getSchema_result::Schema called at
/home/spragues/downloads/thrift-0.8.0/gen-perl/ThriftHive.pm line 670.


after digging around and comparing -gen perl with -gen py i found this
interesting observation.   comparing the code around line 670 in perl
(ThriftHive.pm) with the code in python - i see thrift has generated a
fully qualified call to "Schema" while in perl no such fully qualified call
is made.  moreover, in python there is a subclass under hive_metasgtore
called ttypes.py.   In perl - only ThriftHiveMetastore.pm was generated -
no subclasses and specifically no tttype.pm


here are the example code windows from -gen py and -gen perl


* -gen py builds this in ThriftHive.py

        if ftype == TType.STRUCT:
          self.success = hive_metastore.ttypes.Schema()
          self.success.read(iprot)


* gen perl builds this in ThriftHive.pm

     if ($ftype == TType::STRUCT) {
        $self->{success} = new Schema();       #<=== line 670
        $xfer += $self->{success}->read($input);


so i ask.  would anyone on this list have any suggestions about where
things went wrong?  Can i supply more information to help?  might there be
a "perl binding" guru here? :)

Cheers,
Stephen Sprague

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message