Samarth Jain created PHOENIX-2844: ------------------------------------- Summary: ORDER BY doesn't seem consistent Key: PHOENIX-2844 URL: https://issues.apache.org/jira/browse/PHOENIX-2844 Project: Phoenix Issue Type: Bug Reporter: Samarth Jain
{code} @Test public void testDescOnSecondRowKeyColumnWithWhereExpressionUsingFirstRowKeyColumn() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); conn.createStatement().execute("CREATE TABLE t (k1 VARCHAR NOT NULL, k2 DATE NOT NULL, k3 VARCHAR NOT NULL, V1 VARCHAR CONSTRAINT pk PRIMARY KEY (k1, k2, k3))"); PhoenixStatement stmt = conn.createStatement().unwrap(PhoenixStatement.class); String query = "select * from t where k1 < 'X' order by k2 desc"; QueryPlan plan = stmt.optimizeQuery(query); assertFalse(plan.getOrderBy().getOrderByExpressions().isEmpty()); query = "select * from t where k1 > 'X' order by k2 desc"; plan = stmt.optimizeQuery(query); assertFalse(plan.getOrderBy().getOrderByExpressions().isEmpty()); query = "select * from t where k1 = 'X' order by k2 desc"; plan = stmt.optimizeQuery(query); assertFalse(plan.getOrderBy().getOrderByExpressions().isEmpty()); assertTrue(plan.getContext().getScan().isReversed()); } {code} Because the rows we are looking at are already limited by the filter on the first row key column, I would expect that the order by desc on second row key column would result in plan.getOrderBy().getOrderByExpressions().isEmpty() to be empty always. [~jamestaylor] - WDYT? This behavior is apparently causing a test failure in ProductMetricsIT#testSaltedOrderBy for my patch in PHOENIX-2724. I think that patch is surfacing this bug. -- This message was sent by Atlassian JIRA (v6.3.4#6332)