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