Alan Larkin
2009-Jan-20 14:22 UTC
[Facebooker-talk] Bug when empty result set from fql_query within batch.
I think I''ve found a bug.
Try this for a user who is a fan of 0 pages (also happens for 0 listings, 0
notes, etc.).
pages = nil
facebook_session.batch do
pages = facebook_session.fql_query("SELECT page_id FROM page_fan WHERE
uid =
#{facebook_id}", ''XML'')
end
p pages
You would expect an empty array but what actually happens is an "unexpected
return" error.
I guess it must be something to do with the way #batch turns the body into a
block, but I don''t really understand it.
Anyway, a fix is to rewrite #fql_query like:
if type.nil?
[]
else
...
end
rather than using an explicit return. I would stick this fix into my fork and
request a pull but perhaps someone will understand better and have a nicer fix?
Alan.
P.S.
Is anyone working on a JSON parser for fql_query? I hate to waste bandwidth on
bloated XML.
--
<a href="http://wikimediafoundation.org/wiki/Donate/en"><img
border="0"
alt="Wikipedia Affiliate Button"
src="http://upload.wikimedia.org/wikipedia/foundation/5/58/2008_fundraiser_micro_button-en.png"
/></a>