Thanks Andrew, that should be the reason! Forget thrift_binary_in is not a simple function, it is always coupled with output function.
2018-06-02 10:44 GMT-07:00 Andrew Gierth <and...@tao11.riddles.org.uk>: > >>>>> "Charles" == Charles Cui <charles.cui1...@gmail.com> writes: > > Charles> Hi Tom, > Charles> Thanks for your comments, I do forget create type shell. > Charles> But even if I add this line still does not work. > Charles> Here is the commit that can demo my bug ( > Charles> https://github.com/charles-cui/pg_thrift/commit/ > 8b43f3e2172f4a1b4e61211f7d76b061a90c38f7 > Charles> ) > Charles> To see it, download the repo and do make install && make > installcheck. > Charles> It cannot return a bytea as expected. > > Your output function isn't doing anything, and in particular it's not > returning any value (just dropping off the end), so as soon as pg tries > to output a query result containing a thrift_binary value, it either > outputs garbage or crashes. > > -- > Andrew (irc:RhodiumToad) >