[
https://issues.apache.org/jira/browse/DRILL-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14362712#comment-14362712
]
Jacques Nadeau commented on DRILL-2471:
---------------------------------------
Note, you can't return nulls when you call primitive interfaces like
rs.getInt(1). However, apparently the correct number in this situation should
be zero according to ResultSet spec. For primitive types, null comes from
calling wasNull() or using the getObject() interface.
As such, you shouldn't expect your primitive columns to be nulls using your
example JDBC code. Can you please update the title & description to more
accurately represent the issue?
> JDBC : ResultSet.getXXX wrongly replacing null values
> -----------------------------------------------------
>
> Key: DRILL-2471
> URL: https://issues.apache.org/jira/browse/DRILL-2471
> Project: Apache Drill
> Issue Type: Bug
> Components: Client - JDBC
> Reporter: Rahul Challapalli
> Assignee: Daniel Barclay (Drill)
> Priority: Critical
>
> git.commit.id.abbrev=7b4c887
> I used the below query through JDBC to see how it behaves. From sqlline we
> get back all nulls
> {code}
> select cast(null as int) as int_null, cast(null as bigint) as bigint_null,
> cast(null as date) as date_null, cast(null as time) time_null, cast(null as
> timestamp) timestamp_null, cast(null as varchar) as varchar_null, cast(null
> as double) as double_null, cast(null as float) as float_null, cast(null as
> boolean) as boolean_null from dfs.jdbctesting.`fewtypes_null.parquet`
> {code}
> I used the below code to access the results
> {code}
> while (rs.next()) {
> System.out.print(" " + rs.getInt(1));
> System.out.print(" " + rs.getLong(2));
> System.out.print(" " + rs.getDate(3));
> System.out.print(" " + rs.getTime(4));
> System.out.print(" " + rs.getTimestamp(5));
> System.out.print(" " + rs.getString(6));
> System.out.print(" " + rs.getDouble(7));
> System.out.print(" " + rs.getFloat(8));
> }
> {code}
> Output :
> {code}
> 7 4689679848943082537 null null null
> -3.290061219836685E278 6.833468E-39
> 892875088 4693955415459489645 null null null
> -3.95183706712737E-209 6.83356E-39
> 155464248 4687298138466757168 null null null
> -6.25777451781332E89 6.853372E-39
> 1342177280 4791877540239403909 null null null
> 1.1616051025384076E-19 6.85333E-39
> 961823793 4648967379092714291 null null null
> -1.566140588249918E-294 6.853375E-39
> 1395995696 4665039317688404410 null null null
> -1.2019953071460916E-255 6.853377E-39
> 9 4739979635665875763 null null null
> 2.0158752237719652E142 6.853885E-39
> 1413755216 4681520666516803027 null null null
> 9.5367431749203E-10 6.853843E-39
> 808464441 4681489713615213691 null null null
> 1.5839247263595919E-196 6.853887E-39
> 2643 4706865145145752289 null null null
> -2.640804284464335E199 6.853888E-39
> 808538112 4680740055935877120 null null null
> 6.805647344887834E38 6.855466E-39
> 809063492 4680120333056896873 null null null
> -6.330130140122477E-128 6.855469E-39
> 223555632 4694820525793932739 null null null
> 7.131979894486345E177 6.874924E-39
> 1342177280 4694805443005237533 null null null
> -2.4466921838949077E-91 6.875437E-39
> 961823793 4710968886936375132 null null null
> 3.4645199782253463E-9 6.875952E-39
> 775238704 4701502231015057932 null null null
> 4.4671552526292066E147 6.854837E-39
> 1395666993 4663911482860999226 null null null
> -1.7310953463334223E41 6.85488E-39
> 5 4724388908060135916 null null null
> -1.7469523604389314E-85 6.85492E-39
> 844706128 4680757843285235466 null null null
> 4.997003201540759E257 6.854851E-39
> 845 4665966412149049786 null null null
> -1.8661194612154757E-24 6.856876E-39
> 1496469504 4710000304825743442 null null null
> 6.722218728220181E89 6.854963E-39
> {code}
> In the above output drill is wrongly replacing the null values. Also this
> output is fairly inconsistent.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)