postgresql/src/backend
Robert Haas 3ccdc6f9a5 Fix list partition constraints for partition keys of array type.
The old code generated always generated a constraint of the form
col = ANY(ARRAY[val1, val2, ...]), but that's invalid when col is an
array type.  Instead, generate col = val when there's only one value,
col = val1 OR col = val2 OR ... when there are multiple values and
col is of array type, and the old form when there are multiple values
and col is not of an array type.

As a side benefit, this makes constraint exclusion able to prune
a list partition declared to accept a single Boolean value, which
didn't work before.

Amit Langote, reviewed by Etsuro Fujita

Discussion: http://postgr.es/m/97267195-e235-89d1-a41a-c110198dfce9@lab.ntt.co.jp
2018-01-31 15:43:11 -05:00
..
access Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
bootstrap Local partitioned indexes 2018-01-19 11:49:22 -03:00
catalog Fix list partition constraints for partition keys of array type. 2018-01-31 15:43:11 -05:00
commands Silence complaint about dead assignment 2018-01-29 20:43:43 -05:00
executor Introduce ExecQualAndReset() helper. 2018-01-29 12:19:12 -08:00
foreign Update copyright for 2018 2018-01-02 23:30:12 -05:00
lib Update copyright for 2018 2018-01-02 23:30:12 -05:00
libpq Fix up references to scram-sha-256 2018-01-30 16:50:30 -05:00
main Update copyright for 2018 2018-01-02 23:30:12 -05:00
nodes Remove the obsolete WITH clause of CREATE FUNCTION. 2018-01-26 12:25:44 -05:00
optimizer Add stack-overflow guards in set-operation planning. 2018-01-28 13:39:07 -05:00
parser Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
po Translation updates 2017-08-07 13:55:34 -04:00
port Support huge pages on Windows 2018-01-21 15:40:46 +01:00
postmaster Use abstracted SSL API in server connection log messages 2018-01-26 09:50:46 -05:00
regex Update copyright for 2018 2018-01-02 23:30:12 -05:00
replication Fix typo in recent commit 2018-01-19 06:36:17 +00:00
rewrite Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
snowball Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
statistics Update copyright for 2018 2018-01-02 23:30:12 -05:00
storage Fix Latin spelling 2018-01-11 08:32:01 -05:00
tcop Transaction control in PL procedures 2018-01-22 08:43:06 -05:00
tsearch Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
utils Add some noreturn attributes to help static analyzers 2018-01-29 20:44:35 -05:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Update copyright for 2018 2018-01-02 23:30:12 -05:00
common.mk Add ICU_CFLAGS to global CPPFLAGS 2017-06-12 15:57:22 -04:00
nls.mk Translation updates 2017-05-15 12:19:54 -04:00