[OPEN-ILS-DEV] Different OSRF response format from different servers?
Mike Rylander
mrylander at gmail.com
Thu Jan 26 09:58:17 EST 2017
Ken,
The open-ils.pcrud service is written in C. The attrs column on the
view behind that is an hstore, which is a key-value data type
available in Postgres. What you're getting there is what is actually
in the database. You might want to use mraf
(metabib.record_attr_flat) instead.
HTH,
--
Mike Rylander
| President
| Equinox Software, Inc. / Open Your Library
| phone: 1-877-OPEN-ILS (673-6457)
| email: miker at esilibrary.com
| web: http://www.esilibrary.com
On Thu, Jan 26, 2017 at 8:00 AM, Ken Cox <kenstir at gmail.com> wrote:
> Thank you, that helps. I implemented a generic string-or-int-to-integer
> method, and will be on the lookout for other places where it might be
> needed. I guess it goes without saying that it feels a bit awkward to be
> dealing with Perl vagaries when consuming the API from a different language.
> (I'm looking at you, open-ils.pcrud.retrieve.mra, and your devilish
> perlishness)
>
> Ken
>
> On Wed, Jan 25, 2017 at 12:21 PM, Mike Rylander <mrylander at gmail.com> wrote:
>>
>> Ken,
>>
>> Any time a variable is used as a string (or a number), perl starts
>> treating it that way for stringification purposes. As the code
>> changes version to version, and even as different code paths are taken
>> within one version depending on settings, perl may change the variable
>> type. Like Bill says, if you expect a number it's best to just use,
>> say, parseInt() from JS or it's equiv.
>>
>> HTH,
>>
>> --
>> Mike Rylander
>> | President
>> | Equinox Software, Inc. / Open Your Library
>> | phone: 1-877-OPEN-ILS (673-6457)
>> | email: miker at esilibrary.com
>> | web: http://www.esilibrary.com
>>
>>
>> On Wed, Jan 25, 2017 at 10:38 AM, Bill Erickson <berickxx at gmail.com>
>> wrote:
>> > Hi Ken,
>> >
>> > I can't say why they vary in this specific case, but it's not uncommon
>> > for
>> > numbers to be packaged as JSON strings throughout Evergreen / OpenSRF.
>> > Generally, Perl and JavaScript don't care and the OpenSRF JSON C library
>> > is
>> > well-equipped to handle it. It's probably best to assume that any
>> > number
>> > might be delivered as a JSON number or a JSON string.
>> >
>> > -b
>> >
>> >
>> >
>> >
>> > On Tue, Jan 24, 2017 at 5:03 PM, Ken Cox <kenstir at gmail.com> wrote:
>> >>
>> >> I have a bug report that searching the Missouri Evergreen catalog
>> >> crashes
>> >> the Android Hemlock App. I tracked it down to different results from
>> >> the
>> >> open-ils.search.biblio.multiclass.query . The server at
>> >> issourievergreen.org returns an "ids" list containing integers, and the
>> >> other servers I tried return an "ids" list containing strings.
>> >>
>> >> Is this expected? Handling this one mismatch is straightforward, but
>> >> I'm
>> >> wondering how many similar issues lurk behind this one.
>> >>
>> >> Sample search queries and excerpted results for "pride and prejudice":
>> >>
>> >> missourievergreen, version 2-11-0
>> >>
>> >>
>> >>
>> >> https://missourievergreen.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.multiclass.query¶m=%7B%22org_unit%22:1,%22default_class%22:%22keyword%22,%22offset%22:0,%22limit%22:2,%22depth%22:0%7D¶m=%22pride%20and%20prejudice%22¶m=1
>> >> ...
>> >> "ids":[[32673,null,"0.0"],[886843,null,"0.0"]]
>> >>
>> >> gapines, version 2-11-1
>> >>
>> >>
>> >>
>> >> https://gapines.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.multiclass.query¶m=%7B%22org_unit%22:1,%22default_class%22:%22keyword%22,%22offset%22:0,%22limit%22:2,%22depth%22:0%7D¶m=%22pride%20and%20prejudice%22¶m=1
>> >> ...
>> >> "ids":[["503610",null,"0.0"],["502717",null,"0.0"]]
>> >>
>> >> cwmars, version 2-10-7
>> >>
>> >>
>> >>
>> >> http://bark.cwmars.org/osrf-gateway-v1?service=open-ils.search&method=open-ils.search.biblio.multiclass.query¶m=%7B%22org_unit%22:1,%22default_class%22:%22keyword%22,%22offset%22:0,%22limit%22:2,%22depth%22:0%7D¶m=%22pride%20and%20prejudice%22¶m=1
>> >> ...
>> >> "ids":[["1805532"],["2385399"]]
>> >>
>> >>
>> >>
>> >> --
>> >> -Ken
>> >
>> >
>
>
>
>
> --
> -Ken
More information about the Open-ils-dev
mailing list