UPDATE catalog_clone.pg_index SET indkey = '1 2 12345'::int2vector WHERE indexrelid = 2837;
ERROR: operator does not exist: int2vector pg_catalog.@> smallint[]
LINE 1: ...WHERE "attrelid" OPERATOR(pg_catalog.=) $1 AND $2 OPERATOR(p...
In your example, you are using the notation '1 2 12345'::int2vector which signifies a vector as you have mentioned, however in this patch we use the array operator @> to help with the indexing, the incompatibility stems from here.
I do not think that postgres contains vector operators, correct me if I am wrong. I feel that supporting vectors is our of the scope of this patch, if you have an idea how to support it please let me know.
I apologize for my rash response, I did not quite understand your example at first, it appears the UPDATE statement is neither over the referencing nor the referenced columns, I understand the problem now, please disregard the previous email. Thank you for this find, please find the fix below
Changelog:
- v14 (compatible with current master 2021-01-24, commit 0c1e8845f28bd07ad381c8b0d6701575d967b88e)
* fix a huge issue in type casting (ruleutils.c:11438-11491)
* remove coercion support (this causes the issue Joel described above)
* remove composite types support (since search is now array against array and "get_array_type" returns "record []" for composite functions)
Todo:
- rebase containselem gin patch to accommodate v14. "Array-containselem-gin-v1.patch" is only compatible with <v14