On Thu, Oct 19, 2017 at 12:14 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
FROM products, (values ('red widget'::text)) consts(target) WHERE similarity(target, item_name) > 0.25 ORDER BY target <<-> item_name
PG 9.5 and up will flatten out cases like this to be exactly what you wrote out longhand.
Does it matter if the values expression is embedded in a CTE? I find the construct:
WITH constants AS ( VALUES (,,) )
SELECT * FROM tbl CROSS JOIN constants
nice as it keeps the constants at the top of the query string. I presume pure style differences between using multiple from items and an explicit cross join.