On lör, 2010-05-15 at 15:40 -0700, Yang Zhang wrote:
> yang=# select * from qapb;
>  id |                                   pb
> ----+------------------------------------------------------------------------
>   0 | \012\006hello?\020\000\030\000 \000*\014\012\006hello!\020\000\030\000
> (1 row)
> 
> yang=# create or replace function foo() returns text as $$
> import sys, plpy
> if '/home/yang/work/pod/' not in sys.path:
> sys.path.append('/home/yang/work/pod/')
> from my_pb2 import * # this is a protobuf generated module
> rv = plpy.execute('select * from qapb')
> q = Q()
> q.ParseFromString(str(rv[0]['pb']))
> return str(q);
> $$ language plpythonu;
> CREATE FUNCTION
> yang=# select foo();
>  foo
> -----
> 
> (1 row)

You have null bytes in the data value, which is not supported very well
in PL/Python.  Try the 9.0 beta version; it should be fixed there.



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to