ON CONFLICT expression matching was silently failing due to a mismatch between the query expression and the index definition (::text cast). Replaced with an explicit SELECT-then-INSERT-or-UPDATE pattern. Made-with: Cursor
ON CONFLICT expression matching was silently failing due to a mismatch between the query expression and the index definition (::text cast). Replaced with an explicit SELECT-then-INSERT-or-UPDATE pattern. Made-with: Cursor