Re: [POC] hash partitioning
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: amul sul <sulamul@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>, Yugo Nagata <nagata@sraoss.co.jp>, David Steele <david@pgmasters.net>,
Greg Stark <stark@mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-05-15T15:36:35Z
Lists: pgsql-hackers
On Mon, May 15, 2017 at 4:27 PM, amul sul <sulamul@gmail.com> wrote: > Updated patches attached. While testing latest patch I found a strange behaviour. test1: postgres=# create table x (a int) partition by hash(a); CREATE TABLE postgres=# create table x1 partition of x for values with (modulus 4, remainder 0); CREATE TABLE postgres=# create table x2 partition of x for values with (modulus 4, remainder 1); CREATE TABLE postgres=# insert into x values(1); 2017-05-15 20:55:20.446 IST [28045] ERROR: no partition of relation "x" found for row 2017-05-15 20:55:20.446 IST [28045] DETAIL: Partition key of the failing row contains (a) = (1). 2017-05-15 20:55:20.446 IST [28045] STATEMENT: insert into x values(1); ERROR: no partition of relation "x" found for row DETAIL: Partition key of the failing row contains (a) = (1). Test2: postgres=# insert into x2 values(100); -- it should violates partition constraint INSERT 0 1 Seems like a bug or am I missing something completely? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Refactor get_partition_for_tuple a bit.
- f0a0c17c1b12 11.0 landed
-
Adopt Bob Jenkins' improved hash function for hash_any(). This changes the
- 8205258fa675 8.4.0 cited
-
Improve hash_any() to use word-wide fetches when hashing suitably aligned
- 2604359251d3 8.4.0 cited