To clarify issue I will add some records from hive table that causes null pointer tomorrow. On 02-Feb-2016 1:36 AM, "Devender Yadav" <dev....@gmail.com> wrote:
> Thanks for prompt reply. > > It's very much possible to have a null value in the data. Imagine a hive > table with millions of records. The probability of finding a null value is > very high. > > I am not familiar with Drill's source code or design patterns or tradition > to handle null. I did not have experience in contributing to open source. > > In that patch review request. I just added null check: > > > @Override > public String getString(int rowOffset) throws InvalidAccessException > { return getObject(rowOffset)==null? null:getObject(rowOffset).toString(); > } > > instead of > > @Override > public String getString(int rowOffset) throws InvalidAccessException > { return getObject(rowOffset).toString(); } > > > We are also using Spark SQL for query federation. Spark SQL shows NULL in > the query output for null values. So, I also tried on Drill & got the null > pointer. > > > > > > > > > > > Regards, > Devender > > On Tue, Feb 2, 2016 at 1:25 AM, Jason Altekruse <altekruseja...@gmail.com> > wrote: > >> Sorry for losing track of this, we do fully support the JDBC driver. I >> did take a look at the review request you had opened and forgot to comment >> on it, I don't think there is actually a patch associated with the review. >> >> I'm not very familiar with the JDBC driver code myself, but it looks like >> this should only happen if you are requesting a string from a non-varchar >> field, as the NullableVarCharAccessor method that extends >> AbstractSqlAccessor overrides this method properly handling the null case. >> >> I am just trying to understand the issue and why we didn't have a test >> case for it. >> >> On Mon, Feb 1, 2016 at 11:30 AM, Devender Yadav <dev....@gmail.com> >> wrote: >> >>> Hi, >>> >>> This null pointer seems a blocker to me. I raised an issue. Asked on dev >>> & user both groups. This is a one-liner fix. I added patch also. I find >>> fewer people using Drill JDBC. So, nobody cares about that issue. >>> >>> >>> >>> On Fri, Jan 8, 2016 at 2:46 PM, Devender Yadav <dev....@gmail.com> >>> wrote: >>> >>>> @Jason Altekruse >>>> >>>> Thanks for the reply. >>>> >>>> This is a very silly bug & critical for JDBC users. Please look into it >>>> once. >>>> >>>> Regards, >>>> Devender >>>> >>>> On Tue, Jan 5, 2016 at 2:03 PM, Devender Yadav <dev....@gmail.com> >>>> wrote: >>>> >>>>> I am testing Drill JDBC. While fetching results, I got null pointer at >>>>> >>>>> >>>>> org.apache.drill.exec.vector.accessor.AbstractSqlAccessor.getString(AbstractSqlAccessor.jav >>>>> a:101) >>>>> >>>>> Below mentioned method is throwing null pointer becaue >>>>> getObject(rowOffset) returns null for null values & null.toString() is >>>>> throwing *null pointer*. >>>>> >>>>> @Override >>>>> public String getString(int rowOffset) throws InvalidAccessException >>>>> { return getObject(rowOffset).toString(); } >>>>> >>>>> >>>>> I raised an *issue*(https://issues.apache.org/jira/browse/DRILL-4128) on >>>>> Drill JIRA. >>>>> Regards, >>>>> Devender >>>>> >>>> >>>> >>> >> >