phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jestan Nirojan <jestanniro...@gmail.com>
Subject Re: COALESCE Function Not Working With NULL Values
Date Wed, 15 May 2019 06:33:25 GMT
Hi Francis/Jaanai

Thank you, I was about to start a new deployment, I will stick with 4.14.1
and HBase 1.4.x

On Wed, May 15, 2019 at 10:33 AM Francis Chuang <francischuang@apache.org>
wrote:

> Due to the incompatibility, you will need to wait for a new release in
> the 5.x branch to get 5.x working with HBase 2.0.x.
>
> Phoenix 5.0.0 is also only compatible with 2.0.0 (found this out a few
> months ago) as PHOENIX-4826[1] adds support for HBase 2.0.1, but is
> currently unreleased.
>
> My suggestion would be to wait for the 5.1.0 release if you're able to.
> If you really need to deploy something right now, I'd suggest using the
> latest version of the 4.x.x branch (4.14.1) and HBase 1.4.x.
>
> Francis
>
> [1] https://issues.apache.org/jira/browse/PHOENIX-4826
>
> On 15/05/2019 2:50 pm, Jestan Nirojan wrote:
> > Hi Jaanai,
> >
> > Sorry I could not understand much from
> > https://issues.apache.org/jira/browse/PHOENIX-5268
> > Because of this recent change, there will not be a Phoenix release for
> > HBase 2.0.x in future Or there is an existing  compatibility issue ?
> > What is the Phoenix version recommended for a new deployment ? :) ,
> >
> > thanks and regards,
> > -Jestan Nirojan
> >
> > On Wed, May 15, 2019 at 7:04 AM Jaanai Zhang <cloud.poster@gmail.com
> > <mailto:cloud.poster@gmail.com>> wrote:
> >
> >     Hi, Jestan
> >
> >     Now Phoenix 5.0.0 is not compatible with HBase 2.0.5,
> >     https://issues.apache.org/jira/browse/PHOENIX-5268
> >
> >     ----------------------------------------
> >         Jaanai Zhang
> >         Best regards!
> >
> >
> >
> >     Jestan Nirojan <jestannirojan@gmail.com
> >     <mailto:jestannirojan@gmail.com>> 于2019年5月15日周三 上午5:04写道:
> >
> >         Hi William,
> >
> >         Thanks, It is working with
> >         coalesce(functionThatMightReturnNull(), now()) without an
> >         explicit null;
> >         Phoenix Version is 5.0.0.0 which uses HBase 2.0.5
> >         I have not opened any issue for this, I am not sure how it is
> >         suppose to work.
> >
> >         I am developing  a phoenix driver for metabase
> >         <https://metabase.com/> (which is a BI/DataViz tool).
> >         It seems for optional query parameter, null values are directly
> >         set by the base metabase driver which I am trying to extend.
> >
> >         I wish if phoenix can support explicit null values.
> >
> >         thanks and regards,
> >         -Jestan
> >
> >
> >         On Tue, May 14, 2019 at 11:52 PM William Shen
> >         <willshen@marinsoftware.com <mailto:willshen@marinsoftware.com>>
> >         wrote:
> >
> >             Just took a look at the implementation, seems like Phoenix
> >             relies on the first expression to not be an expression that
> >             is not just an explicit "null" because it needs to evaluate
> >             for data type coercion. What's the use case for specifying
> >             an explicit null?
> >
> >             On the other hand, the following should work:
> >             select coalesce(functionThatMightReturnNull(), now()) as
> date;
> >
> >             On Tue, May 14, 2019 at 11:14 AM William Shen
> >             <willshen@marinsoftware.com
> >             <mailto:willshen@marinsoftware.com>> wrote:
> >
> >                 Jestan,
> >                 It seems like a bug to me. What version of Phoenix are
> >                 you using, and did you create a ticket already?
> >
> >                 On Tue, May 14, 2019 at 10:26 AM Jestan Nirojan
> >                 <jestannirojan@gmail.com
> >                 <mailto:jestannirojan@gmail.com>> wrote:
> >
> >                     Hi,
> >
> >                     I am trying to use COALESCE function to handle
> >                     default value in WHERE condition like below.
> >
> >                     select  * from table1 where created_date >=
> >                     coalesce(null, trunc(now(), 'day'));
> >
> >                     But it throws NullPointerException
> >
> >                     Caused by: java.lang.NullPointerException
> >                     at
> >
>  org.apache.phoenix.schema.types.PDataType.equalsAny(PDataType.java:326)
> >                     at
> >
>  org.apache.phoenix.schema.types.PDate.isCoercibleTo(PDate.java:111)
> >                     at
> >
>  org.apache.phoenix.expression.function.CoalesceFunction.<init>(CoalesceFunction.java:68)
> >                     ... 47 more
> >
> >                     I was able to reproduce the same error with
> >                     following query
> >
> >                     select coalesce(null, now()) as date;
> >
> >                     Here are some other variant of same issue
> >
> >                     1. select coalesce(now(), now()) as date; //
> >                     returns 2019-05-14
> >                     2. select coalesce(now(), null) as date; // returns
> >                     empty
> >                     3. select coalesce(null, now()) as date; // throws
> >                     exception
> >
> >                     I have tried the same for INT and VARCHAR, same
> outcome
> >                     Am I doing something wrong here or is coalesce
> >                     suppose to return a non null value ?
> >
> >                     thanks and regards,
> >                     -Jestan Nirojan
> >
>

Mime
View raw message