[
https://issues.apache.org/jira/browse/PHOENIX-7170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17804891#comment-17804891
]
Viraj Jasani edited comment on PHOENIX-7170 at 1/10/24 2:20 AM:
----------------------------------------------------------------
{quote}The compaction scanner (CompactionScanner) in Phoenix can evaluate the
case statement on a row and decide if the row should be removed.
{quote}
Reg this, [~stoty] do we have access to compile plan and ParseNode objects etc
in the server side after the recent refactor changes of core-client and
core-server modules? I haven't been able to check this because i am still
working on my local fork with some changes and i still need to rebase to latest
master branch.
It should work with the right dependencies but i just wanted to confirm.
nvm, just saw that core-server has dependency on core-client. I missed it first
time.
was (Author: vjasani):
{quote}The compaction scanner (CompactionScanner) in Phoenix can evaluate the
case statement on a row and decide if the row should be removed.
{quote}
Reg this, [~stoty] do we have access to compile plan and ParseNode objects etc
in the server side after the recent refactor changes of core-client and
core-server modules? I haven't been able to check this because i am still
working on my local fork with some changes and i still need to rebase to latest
master branch.
It should work with the right dependencies but i just wanted to confirm.
> Conditional TTL
> ---------------
>
> Key: PHOENIX-7170
> URL: https://issues.apache.org/jira/browse/PHOENIX-7170
> Project: Phoenix
> Issue Type: New Feature
> Reporter: Kadir Ozdemir
> Priority: Major
>
> Deleting rows using delete markers require running delete queries to insert
> them, one for each row to be deleted. Often applications need to run periodic
> jobs to issue delete queries to insert delete markers. Deleting rows using
> TTL is more performance optimized compared to adding delete markers in
> Phoenix since TTL works without inserting delete markers. Phoenix currently
> supports table and view (level) TTL. It is desirable to have a conditional
> TTL feature to extend the TTL future to expire a subset of rows of a table or
> updatable view using a different TTL value.
> A condition TTL can be set using a CASE statement in CREATE and ALTER
> statements by adding TTL=<the case statement>. For example,
> TTL = CASE WHEN ID IS BETWEEN 1 AND 100 THEN <10 days> WHEN ID IS BETWEEN 101
> AND 200 <7 days> ELSE <5 days> END
> The compaction scanner (CompactionScanner) in Phoenix can evaluate the case
> statement on a row and decide if the row should be removed. Similarly, on the
> read path TTLRegionScanner can mask the rows using the case statement. The
> TTL case statement can be stored in SYSCAT in header rows.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)