Details
Description
I created a table with a primary key composed of 4 fields. The table specifies DESC for one of those fields (please see the test script provided). When the table is queried using any combination of 3 of the primary key fields, it selects rows correctly. However, when all 4 fields are specified, no rows are selected. Here is the sql script that reproduces this issue:
----------------------------------------------------------------
CREATE TABLE IF NOT EXISTS tests1 (
ACCOUNT_ID VARCHAR NOT NULL,
BUCKET_ID VARCHAR NOT NULL,
OBJECT_ID VARCHAR NOT NULL,
OBJECT_VERSION VARCHAR NOT NULL,
LOC VARCHAR,
CONSTRAINT PK PRIMARY KEY (ACCOUNT_ID, BUCKET_ID, OBJECT_ID, OBJECT_VERSION DESC));
UPSERT INTO tests1 (ACCOUNT_ID, BUCKET_ID, OBJECT_ID, OBJECT_VERSION, LOC) VALUES ('acct1', 'bucket1', 'obj1', '1111', 'loc1');
select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID = 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_VERSION = '1111';
select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID = 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_ID = 'obj1';
select ACCOUNT_ID, BUCKET_ID, OBJECT_VERSION from tests1 WHERE ACCOUNT_ID = 'acct1' and BUCKET_ID = 'bucket1' and OBJECT_VERSION = '1111' and OBJECT_ID = 'obj1';
----------------------------------------------
The first two select statements selects the row that was inserted, whereas the third one fails to select any rows.