Re: Nondeterministic collations vs. text_pattern_ops
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2019-09-18T12:31:39Z
Lists: pgsql-hackers
Attachments
- v1-0001-Prohibit-creating-text_pattern_ops-indexes-with-n.patch (text/plain) patch v1-0001
On 2019-09-17 17:17, Tom Lane wrote: > My recommendation is to get rid of the run-time checks and instead > put a hack like this into DefineIndex or some minion thereof: > > if ((opclass == TEXT_PATTERN_BTREE_CLASS_OID || > opclass == VARCHAR_PATTERN_BTREE_CLASS_OID || > opclass == BPCHAR_PATTERN_BTREE_CLASS_OID) && > !get_collation_isdeterministic(collid)) > ereport(ERROR, ...); Here is a draft patch. It will require a catversion change because those operator classes don't have assigned OIDs so far. The comment block I just moved over for the time being. It should probably be rephrased a bit. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fix up handling of nondeterministic collations with pattern_ops opclasses.
- d3c61e88d94c 12.0 landed
- 281039631266 13.0 landed