Our only public APIs are JDBC and our various integrations with Spark, MR, etc. Though it's unlikely these APIs will change as Sergey mentioned, it's possible. The actual binary format won't change, though (at least for existing tables).
Thanks, James On Wed, Mar 23, 2016 at 1:05 PM, Sergey Soldatov <[email protected]> wrote: > Mohammad, > Honestly speaking, I'm not sure. Possible other guys have a definitive > answer. All I can say is that this API didn't change for last 1.5 > years. > Thanks, > Sergey > > On Wed, Mar 23, 2016 at 1:07 AM, Mohammad Adnan Raza > <[email protected]> wrote: > > Thank you Sergey for quick response. I was exactly looking for this. This > > saved my hours digging into phoenix code base. > > Now I am decoding like - > > PInteger.INSTANCE.getCodec().decodeInt(bytes, 0, SortOrder.getDefault()) > > and encoding it like > > byte[] baselineBytes = new byte[PInteger.INSTANCE.getByteSize()]; > > PInteger.INSTANCE.getCodec().encodeInt(baseline, baselineBytes, 0); > > > > I just have a doubt here.. Does phoenix expose this class as an API or > it is > > internal class? if they do expose it as API I can use it otherwise in > future > > (with all JAVA9 JIGSAW feature or may be changes in API itself), it may > > start breaking. > > > > > > > > On Tue, Mar 22, 2016 at 11:11 PM, Sergey Soldatov < > [email protected]> > > wrote: > >> > >> Hi Mohammad, > >> The right class to look into is PInteger. It has static class IntCodec > >> which is using for code/decode integers. > >> > >> Thanks, > >> Sergey > >> > >> On Tue, Mar 22, 2016 at 7:15 AM, Mohammad Adnan Raza > >> <[email protected]> wrote: > >> > I am changing my question a bit to be more precise... > >> > Given a phoenix table with INTEGER column type. And if I fire upsert > >> > statement with integer value. How phoenix converts it to byte array > and > >> > put > >> > in the Hbase table. > >> > Or if anyone can tell me which class is responsible for that > conversion > >> > so I > >> > can look that code. > >> > > >> > > >> > > >> > On Tue, Mar 22, 2016 at 2:00 PM, Mohammad Adnan Raza > >> > <[email protected]> > >> > wrote: > >> >> > >> >> Hello Everyone, > >> >> > >> >> I have created phoenix table like this > >> >> > >> >> CREATE TABLE PRODUCT_DETAILS(NAME VARCHAR NOT NULL PRIMARY > >> >> KEY,CF.VOLUME > >> >> INTEGER,CF.PRICE INTEGER,CF.DISCOUNT INTEGER,CF.BASELINE > >> >> INTEGER,CF.UPLIFT > >> >> INTEGER,CF.FINALPRICE INTEGER,CF.SALEPRICE INTEGER); > >> >> > >> >> Now the datatype Integer is 4 byte signed integer. I wonder how > phoenix > >> >> converts this to hbase specific byte array. > >> >> https://phoenix.apache.org/language/datatypes.html link does talk > about > >> >> conversion of other data types but not for INTEGER. For example > >> >> UNSIGNED_INT > >> >> is converted as Bytes.toInt(). I don't get a proper method for > integer. > >> >> anyone knows about it? > >> >> > >> >> -- > >> >> > >> >> With Best Regards, > >> >> > >> >> Mohd Adnan > >> >> > >> > > >> > > >> > > >> > -- > >> > > >> > With Best Regards, > >> > > >> > Mohd Adnan > >> > > >> > Feature Development Lead > >> > > >> > Mobile +91-7498194516 > >> > Blog adnanfaizan.blogspot.in > >> > > > > > > > > > > > -- > > > > With Best Regards, > > > > Mohd Adnan > > > > Feature Development Lead > > > > Mobile +91-7498194516 > > Blog adnanfaizan.blogspot.in > > >
