You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2017/10/02 16:15:01 UTC

[jira] [Created] (PHOENIX-4265) NPE when hinting index on table with ROW_TIMESTAMP

James Taylor created PHOENIX-4265:
-------------------------------------

             Summary: NPE when hinting index on table with ROW_TIMESTAMP
                 Key: PHOENIX-4265
                 URL: https://issues.apache.org/jira/browse/PHOENIX-4265
             Project: Phoenix
          Issue Type: Improvement
            Reporter: James Taylor


See email discussion here: https://lists.apache.org/thread.html/d87a508e5b4e2fc6b7110d861b71209d2385adaecd0152b790ee00e9@%3Cuser.phoenix.apache.org%3E

I'm not able to repro with this unit test:
{code}
    @Test
    public void testIndexHintOnTableWithRowTimestamp() throws Exception {
        Connection conn = DriverManager.getConnection(getUrl());
        try {
            conn.createStatement().execute("CREATE IMMUTABLE TABLE t1 (k1 TIMESTAMP not null, k2 bigint not null, v bigint, constraint pk primary key (k1 row_timestamp,k2 ))");
            conn.createStatement().execute("CREATE INDEX idx ON t1 (v)");
            conn.createStatement().execute("SELECT /*+ INDEX(T1 IDX) */ K1,K2,V FROM t1 WHERE v = 5");
        } finally {
            conn.close();
        }
    }
{code}

FYI, due to the inability to keep an index in sync when there's a ROW_TIMESTAMP column, as of 4.12 we're disallowing the creation of mutable secondary indexes when a table has a ROW_TIMESTAMP column. Usually, since the timestamp is part of the row key, the data table can be declared IMMUTABLE. In this case, the index would still be allowed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)