Derby 10.8.2.2

 

The query that I am doing is this:

 

#!/bin/sh

 

DERBY_HOME=/opt/canoga/canogaview/glassfish/javadb

export DERBY_HOME

 

$DERBY_HOME/bin/ij <<EOF

 

CONNECT 'jdbc:derby://localhost:1527/csemdb';

 

CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);

CALL SYSCS_UTIL.SYSCS_SET_XPLAIN_SCHEMA('PCS_V1');

CALL SYSCS_UTIL.SYSCS_SET_XPLAIN_MODE(1);

 

SELECT

r.MasterIp

FROM PCS_V1.NPAResults r

WHERE ReportKey >= '2012-02-10 00:00:00.0'

AND ReportKey <= '2012-02-14 23:59:59.0'

AND (r.ResultFlag = 0 OR (r.ResultFlag <> 0 AND r.RoundTripPackets > 0));

 

CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(0);

CALL SYSCS_UTIL.SYSCS_SET_XPLAIN_SCHEMA('');

CALL SYSCS_UTIL.SYSCS_SET_XPLAIN_MODE(0);

 

EXIT;

<<EOF

 

The output of this is:

 

ij version 10.8

ij> ij> Statement executed.

ij> Statement executed.

ij> Statement executed.

ij> > > > > > ERROR XCL16: ResultSet not open. Operation 'getMetaData' not permitted. Verify that autocommit is OFF.

ij> Statement executed.

ij> Statement executed.

ij> Statement executed.

ij>

 

 

So the actual SELECT is returning this error.  When run with “call SYSCS_UTIL.SYSCS_SET_XPLAIN_MODE(0);” the query is run with no error. 

 

I am trying to get the query plan that would be used without executing the query.  

 

So is this a bug or am I doing something wrong?

 

Brett