[
https://issues.apache.org/jira/browse/PHOENIX-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14067538#comment-14067538
]
James Taylor commented on PHOENIX-1102:
---------------------------------------
The intent of disambiguateWithFamily is to determine if we need the cf to
disambiguate the KeyValue. It should only be necessary if there are multiple
columns with the *same name* but in different column families. Otherwise, we
only need to compare the cq to determine a match.
Looking at it a bit, it looks like the culprit is isFamilyEssential:
{code}
public boolean isFamilyEssential(byte[] name) {
return Bytes.compareTo(cf, name) == 0;
}
{code}
Instead, we need to push the the MultiCQKeyValueComparisonFilter all of the cf
being used and have an implementation that looks like the one in
MultiCFCQKeyValueComparisonFilter:
{code}
public boolean isFamilyEssential(byte[] name) {
return cfSet.contains(name);
}
{code}
> Query Finds No Rows When Using Multiple Column Families
> -------------------------------------------------------
>
> Key: PHOENIX-1102
> URL: https://issues.apache.org/jira/browse/PHOENIX-1102
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 3.0.0, 4.0.0, 5.0.0
> Reporter: James Taylor
> Assignee: Anoop Sam John
>
> When using multiple column families, query does not find all expected rows.
>
> My table schema:
> CREATE TABLE IF NOT EXISTS FAMILY_TEST (
> NUM1 INTEGER NOT NULL,
> AA.NUM2 INTEGER,
> BB.NUM3 INTEGER,
> CONSTRAINT my_pk PRIMARY KEY (NUM1));
> I populated it with one row, assigning 1 to each field. I can verify that
> the record is there, but I can not get a simple expression working that uses
> fields across two column families:
> SELECT * FROM FAMILY_TEST;
> NUM1 NUM2 NUM3
> ---------- ---------- ----------
> 1 1 1
> Time: 0.038 sec(s)
> SELECT * FROM FAMILY_TEST WHERE NUM2=1 AND NUM3=1;
> no rows selected
> Time: 0.039 sec(s)
> I understand that columns to be queried together should usually be in the
> same column family for efficiency, but I did not expect my second query to
> not work at all. Or if it is not supported, I would expect an error. I get
> the same results if I use AA.NUM2 and BB.NUM3 as well.
> I am using Phoenix 3.0.0.
--
This message was sent by Atlassian JIRA
(v6.2#6252)