Re: jsonb_array_length: ERROR: 22023: cannot get array length of ascalar
От | Adrian Klaver |
---|---|
Тема | Re: jsonb_array_length: ERROR: 22023: cannot get array length of ascalar |
Дата | |
Msg-id | 796da8b2-f538-a753-f3ed-ad69f3374308@aklaver.com обсуждение исходный текст |
Ответ на | Re: jsonb_array_length: ERROR: 22023: cannot get array length of a scalar ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: jsonb_array_length: ERROR: 22023: cannot get array length of a scalar
|
Список | pgsql-general |
On 03/02/2018 10:04 AM, David G. Johnston wrote: > On Friday, March 2, 2018, Adrian Klaver <adrian.klaver@aklaver.com > <mailto:adrian.klaver@aklaver.com>> wrote: > > On 03/02/2018 06:42 AM, Alexander Farber wrote: > > > > 2018-03-02 15:30:33.646 CET [16693] LOG: duration: 0.058 ms bind > <unnamed>: SELECT out_uid AS uid, out_fcm AS fcm, out_apns AS > apns, out_adm AS adm, out_body AS body FROM > words_play_game($1::int, $2::int, $3::jsonb) > > where is $3::jsonb coming from? > > > Java prepared statement I think, using setString. I was thinking more about the ultimate source of the data. The words_play_game() function, AFAICT, just passes the jsonb from input into the word_moves table. If that is the case the problem may occur further upstream where the jsonb array is actually built. > > Not at computer right now but what does: > > '[1,2,3]'::text::jsonb result in compared to '[1,2,3]'::jsonb ? > > Because the system think your array-looking string is actually just a > scalar that happens to have a leading [ and a trailing ] > > David J. > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: