[ 
https://issues.apache.org/jira/browse/PHOENIX-1578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14276683#comment-14276683
 ] 

Hudson commented on PHOENIX-1578:
---------------------------------

SUCCESS: Integrated in Phoenix-master #549 (See 
[https://builds.apache.org/job/Phoenix-master/549/])
PHOENIX-1578 Introduce STORE_NULLS table option (gabrielr: rev 
efa9cf99077847ed91b2f96aba1522c726fecb9d)
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java
* phoenix-protocol/src/main/PTable.proto
* phoenix-core/src/main/java/org/apache/phoenix/schema/TableProperty.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java
* 
phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
PHOENIX-1578 Increment MIN_SYSTEM_TABLE_TIMESTAMP (gabrielr: rev 
45644018a987c08a7b0c91dc3c7ab38d6426ab1c)
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
PHOENIX-1578 Add DEFAULT_STORE_NULLS_ATTRIB (gabrielr: rev 
c5edd3a71de6e817f367a34afe57d212bd06ec90)
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
* phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryServicesOptions.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java


> 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
>             Fix For: 5.0.0, 4.3
>
>         Attachments: PHOENIX-1578-docs.patch, PHOENIX-1578.2.patch, 
> 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)

Reply via email to