[
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)