Thanks, James. I think it's just a side effect of using the REPL.. at least that's why it surfaced. PheonixResultSet is initialized with BEFORE_FIRST which is an empty ResultTuple. If we try to toString it, since result is null, it throws a NPE at
if(this.result.isEmpty())... I'll file a ticket. I added the check for null and "<<EMPTY>>" result of toString, and it's happy now. -- Stan On Wed, Mar 12, 2014 at 3:48 PM, James Taylor <[email protected]>wrote: > Hi Stan, > Definitely a bug. Would you mind filing a JIRA for us? To work around this > (and assuming you want to get back a list of all tables), use null for all > the args. > Thanks, > James > > > On Wed, Mar 12, 2014 at 3:39 PM, Stan Campbell > <[email protected]>wrote: > >> Doing >> >> val rs = meta.getTables(null, null, "%", null) >> >> results in the following (see below). Looks like the ResultTuple.result >> field is null in the return, so it gives a NPE when the REPL tries to print >> it out. >> >> Is it expected that database metadata's getTables should behave properly? >> >> 2014-03-12 15:36:20 DEBUG RpcClient:1070 - IPC Client (1769005174) >> connection to Fenrir/127.0.1.1:60020 from scampbell: got response header >> call_id: 10, totalSize: 1758 bytes >> >> java.lang.NullPointerException >> >> at >> org.apache.phoenix.schema.tuple.ResultTuple.toString(ResultTuple.java:64) >> >> at java.lang.String.valueOf(String.java:2854) >> >> at java.lang.StringBuilder.append(StringBuilder.java:128) >> >> at >> org.apache.phoenix.jdbc.PhoenixResultSet.toString(PhoenixResultSet.java:1236) >> >> at >> scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(ScalaRunTime.scala:324) >> >> at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:329) >> >> at scala.runtime.ScalaRunTime$.replStringOf(ScalaRunTime.scala:337) >> >> at .<init>(<console>:10) >> >> at .<clinit>(<console>) >> >> at $print(<console>) >> >> >> >> >
