[
https://issues.apache.org/jira/browse/PHOENIX-3519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830987#comment-15830987
]
James Taylor commented on PHOENIX-3519:
---------------------------------------
One question/comment about this code:
{code}
- if (isImmutableRows) {
+ if (isImmutableRows && encodingScheme != NON_ENCODED_QUALIFIERS) {
// force store nulls to true so delete markers aren't used
storeNulls = true;
{code}
Should we be checking for storageSchema ==
StorageScheme.ONE_CELL_PER_COLUMN_FAMILY. Or is NON_ENCODED_QUALIFIERS the
encoding that puts each key value column in its own cell?
Do we raise an error if STORE_NULLS=false and we specify a storage schema of
ONE_CELL_PER_COLUMN_FAMILY?
Instead of forcing storeNulls to true, should we check in PRowImpl.setValue
instead?
{code}
} else if (isNull && PTableImpl.this.isImmutableRows() &&
column.getExpressionStr() == null) {
// Store nulls for immutable tables otherwise default value
would be used
removeIfPresent(setValues, family, qualifier);
removeIfPresent(unsetValues, family, qualifier);
} else if (isNull && !getStoreNulls() && !this.hasOnDupKey &&
column.getExpressionStr() == null) {
// Cannot use column delete marker when row has ON DUPLICATE
KEY clause
// because we cannot change a Delete mutation to a Put mutation
in the
// case of updates occurring due to the execution of the clause.
removeIfPresent(setValues, family, qualifier);
deleteQuietly(unsetValues, kvBuilder,
kvBuilder.buildDeleteColumns(keyPtr, column
.getFamilyName().getBytesPtr(),
column.getName().getBytesPtr(), ts));
} else {
{code}
> Add COLUMN_ENCODED_BYTES table property
> ---------------------------------------
>
> Key: PHOENIX-3519
> URL: https://issues.apache.org/jira/browse/PHOENIX-3519
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Thomas D'Silva
> Assignee: Thomas D'Silva
> Fix For: 4.10.0
>
> Attachments: PHOENIX-3519.patch, PHOENIX-3519-v2.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)