[ https://issues.apache.org/jira/browse/PHOENIX-1570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14264351#comment-14264351 ]
wuchengzhi edited comment on PHOENIX-1570 at 1/5/15 8:43 AM: ------------------------------------------------------------- curently,i just add duplicate code to workaround. it's not good but it worked. org.apache.phoenix.compile.ProjectionCompiler.java 283 ....... 284 List<byte[]> projectedFamilies = Lists.newArrayListWithExpectedSize(aliasedNodes.size()); + for (AliasedNode aliasedNode : aliasedNodes) { + aliasedNode.getNode().accept(selectVisitor); + } 285 for (AliasedNode aliasedNode : aliasedNodes) { 286 ParseNode node = aliasedNode.getNode(); 287 // TODO: visitor? 288 if (node instanceof WildcardParseNode) { ............................. was (Author: bdifn): curently,i just add duplicate code to workaround. it's not good but it worked. 283 ....... 284 List<byte[]> projectedFamilies = Lists.newArrayListWithExpectedSize(aliasedNodes.size()); + for (AliasedNode aliasedNode : aliasedNodes) { + aliasedNode.getNode().accept(selectVisitor); + } 285 for (AliasedNode aliasedNode : aliasedNodes) { 286 ParseNode node = aliasedNode.getNode(); 287 // TODO: visitor? 288 if (node instanceof WildcardParseNode) { ............................. > Data missing when using local index > ----------------------------------- > > Key: PHOENIX-1570 > URL: https://issues.apache.org/jira/browse/PHOENIX-1570 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.2.1, 4.2.2 > Environment: ubuntu > HBase 0.98.7 > Hadoop 2.5.1 > OS: ubuntu > Reporter: wuchengzhi > Priority: Critical > > 1. crate a table by the schema as below: > CREATE TABLE IF NOT EXISTS Miss_data_table( > a BIGINT NOT NULL, > b VARCHAR, > c INTEGER, > d INTEGER, > e INTEGER, > f INTEGER, > g VARCHAR, > h VARCHAR, > i INTEGER, > j VARCHAR, > k INTEGER, > l VARCHAR, > m VARCHAR, > n INTEGER, > o INTEGER, > p VARCHAR, > q VARCHAR, > r INTEGER, > s BIGINT, > t VARCHAR CONSTRAINT pk PRIMARY KEY(a)) > 2.create local index for the table with column: q > create local index idx_q on Miss_data_table (q); > 3.upsert data into table. > upsert into Miss_data_table > values(96660688,'hello/TEST-0',156,-1,-1,0,'2013-02-14 > 18:34:05.0','TEST-1',0,'495839182',0,'50','',0,0,'1818378','102218',0,26,'20141201') > 4. execute querys... > select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table where q = > '102218'; > +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+ > | A | B | C | D | E | F | G | H | I | > J | K | L | M | N | O | P | Q | R | S | T > | > +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+ > | 96660688 | hello/TEST-0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | > NULL | NULL | NULL | NULL | NULL | NULL | NULL | 102218 | NULL | 26 | > 20141201 | > +----------+--------------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+------+------+----------+ > select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table where > a=96660688; > +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+ > | A | B | C | D | E | F | G > | H | I | J | K | L | M | N | O | P | Q > | R | S | T | > +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+ > | 96660688 | hello/TEST-0 | 156 | -1 | -1 | 0 | 2013-02-14 18:34:05.0 > | TEST-1 | 0 | 495839182 | 0 | 50 | NULL | 0 | 0 | 1818378 | > 102218 | 0 | 26 | 20141201 | > +----------+--------------+------+------+------+------+-----------------------+--------+------+-----------+------+------+------+------+------+---------+--------+------+------+----------+ > // execute the query plain ,it shows we fetch data by local index. > explain select a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t from Miss_data_table > where q = '102218'; > +------------------------------------------+ > | PLAN | > +------------------------------------------+ > | CLIENT 1-CHUNK PARALLEL 1-WAY RANGE SCAN OVER > _LOCAL_IDX_TEST.MISS_DATA_TABLE [-32768,'102218'] | > | CLIENT MERGE SORT | > +------------------------------------------+ -- This message was sent by Atlassian JIRA (v6.3.4#6332)