[ https://issues.apache.org/jira/browse/PHOENIX-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15301113#comment-15301113 ]
Alicia Ying Shu commented on PHOENIX-2886: ------------------------------------------ Noticed another issue. In PVarchar.java @Override public boolean isCoercibleTo(PDataType targetType) { return equalsAny(targetType, this, PChar.INSTANCE, PVarbinary.INSTANCE, PBinary.INSTANCE); } If I have a PVarchar and previous data type is PChar, the above isCoercibleTo(char) will return true, which is wrong in Union All context. We would like it to return false so that the target type for final result becomes PVarchar. [~jamestaylor] [~sergey.soldatov] > Union ALL with Char column not present in the table in Query 1 but in Query > 2 throw exception > ---------------------------------------------------------------------------------------------- > > Key: PHOENIX-2886 > URL: https://issues.apache.org/jira/browse/PHOENIX-2886 > Project: Phoenix > Issue Type: Bug > Reporter: Alicia Ying Shu > Assignee: Alicia Ying Shu > Fix For: 4.8.0 > > Attachments: PHOENIX-2886-v1.patch, PHOENIX-2886-v2.patch, > PHOENIX-2886-v3.patch, PHOENIX-2886.patch, UnionAllIT.java.diff > > > To reproduce: > create table person ( id bigint not null primary key, firstname char(10), > lastname varchar(10) ); > upsert into person values( 1, 'john', 'doe'); > upsert into person values( 2, 'jane', 'doe'); > -- fixed value for char(10) > select id, 'foo' firstname, lastname from person union all select * from > person; > java.lang.RuntimeException: java.sql.SQLException: ERROR 201 (22000): Illegal > data. Expected length of at least 106 bytes, but had 13 > -- fixed value for bigint > select cast( 10 AS bigint) id, 'foo' firstname, lastname from person union > all select * from person; > java.lang.RuntimeException: java.sql.SQLException: ERROR 201 (22000): Illegal > data. Expected length of at least 106 bytes, but had 13 -- This message was sent by Atlassian JIRA (v6.3.4#6332)