Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.5.0
-
None
-
None
Description
Ordering by the full PK on a salted table does not work
REPRO:
--create a salted table with 2 pk fields
CREATE TABLE IF NOT EXISTS TEST_TABLE (
PK1 CHAR(15) NOT NULL,
PK2 CHAR(15) NOT NULL
CONSTRAINT PK PRIMARY KEY
(
PK1,
PK2
)
) SALT_BUCKETS=16;
--insert data
UPSERT INTO TEST_TABLE (PK1, PK2) VALUES ('FOO','BAR1-oiwnefin');
UPSERT INTO TEST_TABLE (PK1, PK2) VALUES ('FOO','BAR2-qoosdfpin');
UPSERT INTO TEST_TABLE (PK1, PK2) VALUES ('FOO','BAR3*)&&)*(@)');
UPSERT INTO TEST_TABLE (PK1, PK2) VALUES ('FOO','BAR4 .');
--do a quick query to verify the data in field PK2 is not completely in order
--(salting + round robin should hopefully have thrown at least 2 rows out of order)
SELECT * FROM TEST_TABLE
--running this query, you can see that the rows are now properly ordered
SELECT * FROM TEST_TABLE ORDER BY PK2
--this query is logically identical to the previous SELECT statement with ordering,
– but as you can see it's actually identical to the first SELECT statement (without ordering)
SELECT * FROM TEST_TABLE ORDER BY PK1, PK2
--clean up if you like
DROP TABLE IF EXISTS TEST_TABLE CASCADE;