[
https://issues.apache.org/jira/browse/PHOENIX-1578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gabriel Reid updated PHOENIX-1578:
----------------------------------
Attachment: PHOENIX-1578.patch
Patch which adds a {{STORE_NULLS}} table option that can be defined on a table,
and results in null values being explicitly stored. Behavior is not changed if
this option is not added to a table.
I'm not totally clear on what the best (or general) approach is to handle
auto-upgrading the SYSTEM.CATALOG table to include the STORE_NULLS field --
could you give me a pointer there [~jamestaylor]?
> Support explicit storage of null values
> ---------------------------------------
>
> Key: PHOENIX-1578
> URL: https://issues.apache.org/jira/browse/PHOENIX-1578
> Project: Phoenix
> Issue Type: New Feature
> Reporter: Gabriel Reid
> Assignee: Gabriel Reid
> Attachments: PHOENIX-1578.patch
>
>
> Null values are currently represented implicitly by a lack of a KeyValue for
> a given field. This is implemented by using an HBase delete to remove cells
> when a given field is set to null via an upsert statement.
> However, this method of setting values to null causes all previous versions
> of the given field to be removed on the next major compaction, which prevents
> doing flashback queries for the given field.
> One workaround for this is to enable KEEP_DELETED_CELLS on the underlying
> HBase table -- however, this means that SQL deletes (i.e. DELETE FROM TABLE)
> will never actually remove the data.
> This ticket is to propose a flag (defined at table level) which specifies
> that null values to be explicitly stored in HBase. This flag should not
> change the behavior of a SQL {{DELETE}} statement, i.e. a SQL {{DELETE}} will
> still cause a record to be permanently deleted (including historical data).
> The use of this flag in combination with KEEP_DELETED_CELLS=false and
> VERSIONS=unlimited will allow Phoenix to provide true row-level versioning.
> Additional background in this mail thread: http://s.apache.org/kwz
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)