[ https://issues.apache.org/jira/browse/PHOENIX-6460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Swaroopa Kadam updated PHOENIX-6460: ------------------------------------ Description: In QueryOptimizerTest, following test fails, as it uses IDX over view {code:java} @Test public void testChooseIndexOverTable_diffOrder() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.createStatement().execute("CREATE TABLE t (k INTEGER NOT NULL, v1 VARCHAR NOT NULL, v2 VARCHAR CONSTRAINT" + " PK PRIMARY KEY (k, v1)) IMMUTABLE_ROWS=true"); conn.createStatement().execute("CREATE VIEW v(v4 VARCHAR) AS SELECT * FROM t"); conn.createStatement().execute("CREATE INDEX idx ON v(v1 DESC) INCLUDE (v4)"); PhoenixStatement stmt = conn.createStatement().unwrap(PhoenixStatement.class); QueryPlan plan = stmt.optimizeQuery("SELECT v1 FROM v ORDER BY v1"); assertEquals("V", plan.getTableRef().getTable().getTableName().getString()); } {code} was: In QueryOptimizerTest, following test fails, as it uses IDX over view @Test public void testChooseIndexOverTable_diffOrder() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.createStatement().execute("CREATE TABLE t (k INTEGER NOT NULL, v1 VARCHAR NOT NULL, v2 VARCHAR CONSTRAINT" + " PK PRIMARY KEY (k, v1)) IMMUTABLE_ROWS=true"); conn.createStatement().execute("CREATE VIEW v(v4 VARCHAR) AS SELECT * FROM t"); conn.createStatement().execute("CREATE INDEX idx ON v(v1 DESC) INCLUDE (v4)"); PhoenixStatement stmt = conn.createStatement().unwrap(PhoenixStatement.class); QueryPlan plan = stmt.optimizeQuery("SELECT v1 FROM v ORDER BY v1"); assertEquals("V", plan.getTableRef().getTable().getTableName().getString()); } > Improve the optimizer to consider all plans and prefer regular over reverse > scans > --------------------------------------------------------------------------------- > > Key: PHOENIX-6460 > URL: https://issues.apache.org/jira/browse/PHOENIX-6460 > Project: Phoenix > Issue Type: Improvement > Reporter: Swaroopa Kadam > Priority: Major > Fix For: 5.1.1, 4.17.0 > > > In QueryOptimizerTest, following test fails, as it uses IDX over view > > {code:java} > @Test > public void testChooseIndexOverTable_diffOrder() throws Exception > { > Connection conn = DriverManager.getConnection(getUrl()); > conn.createStatement().execute("CREATE TABLE t (k INTEGER NOT NULL, v1 > VARCHAR NOT NULL, v2 VARCHAR CONSTRAINT" + " PK PRIMARY KEY (k, v1)) > IMMUTABLE_ROWS=true"); conn.createStatement().execute("CREATE VIEW v(v4 > VARCHAR) AS SELECT * FROM t"); conn.createStatement().execute("CREATE INDEX > idx ON v(v1 DESC) INCLUDE (v4)"); > PhoenixStatement stmt = > conn.createStatement().unwrap(PhoenixStatement.class); > QueryPlan plan = stmt.optimizeQuery("SELECT v1 FROM v ORDER BY v1"); > assertEquals("V", plan.getTableRef().getTable().getTableName().getString()); > } > {code} > -- This message was sent by Atlassian Jira (v8.3.4#803005)