"select true, true, true from table" won't output true,true,true on all rows." can be reproduced using : JDK 1.8.0_31 and Drill 1.6 JDK 1.8.0_31 and Drill 1.5
"select name, ilike(name, 'jack'), ilike(name, 'jack'), ilike(name, 'jack'), ilike(name, 'jack'), ilike(name, 'jack') from hdfs.`/data/` where ilike(name, 'jack')" won't output true on all column on : JDK 1.8.0_45 and Drill 1.5 JDK 1.8.0_31 and Drill 1.6 JDK 1.8.0_31 and Drill 1.5 It is not reproducible on JDK 1.7. It looks like a problem with the specific JDK we were using. For now, we will stay away from 1.8. we will test with the most recent version of 1.8 when we get the chance. Francois On Fri, Apr 15, 2016 at 10:57 AM, François Méthot <[email protected]> wrote: > We dig down the problem even more and we now have a reproducible issue > even without using UDFs: > > https://issues.apache.org/jira/browse/DRILL-4609 > > Doing a simple "select true, true, true from table" won't output > true,true,true on all generated rows. > > We hope that fixing this first should resolve the inconsistency we see > using the UDFs. > > Thanks > > > > On Thu, Apr 14, 2016 at 1:20 PM, François Méthot <[email protected]> > wrote: > >> I was able to reproduce this on 1.5 running on a cluster >> and on 1.6 in embedded mode. >> >> Within a single select, if I select the same udf(value) multiple time, >> different result may get outputted for each columns. >> >> ex: >> select name, ilike(name, 'jack'), ilike(name, 'jack'), ilike(name, >> 'jack'), ilike(name, 'jack'), ilike(name, 'jack') from hdfs.`/data/` where >> ilike(name, 'jack'); >> >> I get >> >> jack | false | true | false >> jack | true | true | true >> jack | true | true | false >> ..... >> most of them are jack | true | true | true >> >> I observed this on parquet files as well as CSV file. I restart drill, >> perform the query and it happens. Sometime it does not! >> >> >> >> If I do >> select count(1) from hdfs.`/data/` where ilike(name, 'jack') = true; >> or >> select count(1) from hdfs.`/data/` where ilike(name, 'jack') = true and >> like(name, 'jack') = true and like(name, 'jack') = true and like(name, >> 'jack') = true; >> >> The count is always the same, which is good. It looks like the select >> part is crippled with some issue. >> >> Francois >> P.S. I ended up doing these weird tests because I was getting those same >> inconsistent result from my own UDF, at some point I started testing the >> built-in UDF in drill for my own sanity because I could see what could be >> wrong with my code... >> >> >> >> >> >> >> >> >
