On Thu, Mar 29, 2018 at 9:35 AM, Teodor Sigaev <teo...@sigaev.ru> wrote: > Thanks for everyone, pushed with some editorization
I would like to complain about this patch. First, I think that it would've been a better idea to use functions for this rather than operators, because now ::text does something totally unlike what ::int does, and that's confusing. If we had json_to_WHATEVER for various values of WHATEVER then all of the conversions could be spelled similarly; as the commit message right points out, the cast can only do one thing. Also, I think the error messages aren't great: +select '[]'::jsonb::bool; +ERROR: jsonb value must be boolean In this simple scenario, it's clear enough what has gone wrong, but in a more complicated case I suspect people will have a hard time figuring out what the source of that error message is. It seems like it would be better to say something about casting or converting in the error message, to give users a clue. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company