[ https://issues.apache.org/jira/browse/PHOENIX-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321836#comment-17321836 ]
Lars Hofhansl commented on PHOENIX-6434: ---------------------------------------- Thanks [~kadir] More problems: {code:java} > select count(distinct(phoenix_row_timestamp())) from test; +--------------------------------------------+ | DISTINCT_COUNT(" PHOENIX_ROW_TIMESTAMP()") | +--------------------------------------------+ | 234466 | +--------------------------------------------+ 1 row selected (3.374 seconds) > select /*+ NO_INDEX */ count(distinct(phoenix_row_timestamp())) from test; +-----------------------------------------------+ | DISTINCT_COUNT(PHOENIX_ROW_TIMESTAMP(X.)) | +-----------------------------------------------+ | 26638668 | +-----------------------------------------------+ 1 row selected (11.65 seconds) {code} Looks like the value with from the index is actually the correct one. Phoenix generates an incorrect plan without the index. I found other weird things. For example Phoenix will create an incorrect plan for (the final count is completely missing from the plan) {code:java} select count(*) from (select 1 from test group by phoenix_row_timestamp()){code} (I tried this to check whether it would produce a different number from the count(distinct). And the following should not be a valid query, but it actually return v1 from each row {code:java} select v1 from test group by phoenix_row_timestamp(){code} Anyway... These are all unrelated to this PR, and some not even related to phoenix_row_timestamp(). I'm on vacation that's why I did not look at the first issue and won't look at this for a bit. > Secondary Indexes on PHOENIX_ROW_TIMESTAMP() > -------------------------------------------- > > Key: PHOENIX-6434 > URL: https://issues.apache.org/jira/browse/PHOENIX-6434 > Project: Phoenix > Issue Type: Improvement > Affects Versions: 5.1.0, 4.16.0 > Reporter: Kadir Ozdemir > Priority: Major > Attachments: PHOENIX-6434.4.x.001.patch, PHOENIX-6434.4.x.002.patch, > PHOENIX-6434.4.x.003.patch, PHOENIX-6434.4.x.004.patch > > > PHOENIX-5629 introduced the function PHOENIX_ROW_TIMESTAMP() that returns the > last modified time of a row. PHOENIX_ROW_TIMESTAMP() can be used as a > projection column and referred in a WHERE clause. It is desirable to have > indexes on row timestamps. This will result in fast time range queries. -- This message was sent by Atlassian Jira (v8.3.4#803005)