Buggy code:
private static Object growArray ( Object array ) { } protected void clear ( boolean trim ) { } protected void addDrdaParam ( byte t , int s ) { } protected int getDrdaParamCount ( ) { } protected byte getDrdaType ( int i ) { } protected int getDrdaLen ( int i ) { } protected void addExtPos ( int p ) { } protected int getExtPosCount ( ) { } protected int getExtPos ( int i ) { } protected void drainStreamedParameter ( ) throws IOException { } public void setStreamedParameter ( EXTDTAReaderInputStream eis ) { } } private DRDAStatement . DrdaParamState drdaParamState_ = new DRDAStatement . DrdaParamState ( ) ; protected int nbrrow ; protected int qryrowset ; protected int blksize ; protected int maxblkext ; protected int outovropt ; protected boolean qryrfrtbl ; private int qryprctyp = CodePoint . QRYBLKCTL_DEFAULT ; boolean needsToSendParamData = false ; boolean explicitlyPrepared = false ; DRDAStatement ( Database database ) { } protected void setTypDefValues ( ) { } protected void setDatabase ( Database database ) { } protected void setStatement ( Connection conn ) throws SQLException { } protected Statement getStatement ( ) throws SQLException { } protected void setRsDefaultOptions ( DRDAResultSet drs ) { } protected ArrayList getExtDtaObjects ( ) { } protected void setExtDtaObjects ( ArrayList a ) { } public void setSplitQRYDTA ( byte [ ] data ) { } public byte [ ] getSplitQRYDTA ( ) { } protected void addExtDtaObject ( Object o , int jdbcIndex ) { } protected void clearExtDtaObjects ( ) { } protected boolean isExtDtaValueNullable ( int index ) { } protected void setOPNQRYOptions ( int blksize , int qryblkctl , int maxblkext , int outovropt , int qryrowset , int qryclsimpl ) { } protected void setQueryOptions ( int blksize , boolean qryrelscr , long qryrownbr , boolean qryfrtbl , int nbrrow , int maxblkext , int qryscrorn , boolean qryrowsns , boolean qryblkrst , boolean qryrtndta , int qryrowset , int rtnextdta ) { } protected void setQryprctyp ( int qryprctyp ) { } protected int getQryprctyp ( ) throws SQLException { } protected void setQryrownbr ( long qryrownbr ) { } protected long getQryrownbr ( ) { } protected int getQryrowset ( ) { } protected int getBlksize ( ) { } protected void setQryrtndta ( boolean qryrtndta ) { } protected boolean getQryrtndta ( ) { } protected void setQryscrorn ( int qryscrorn ) { } protected int getQryscrorn ( ) { } protected void setScrollType ( int scrollType ) { } protected int getScrollType ( ) { } protected boolean isScrollable ( ) { } protected void setConcurType ( int scrollType ) { } protected int getConcurType ( ) { } protected void setOutovr_drdaType ( int [ ] outovr_drdaType ) { } protected int [ ] getOutovr_drdaType ( ) { } protected boolean hasdata ( ) { } protected void setHasdata ( boolean hasdata ) { } protected void initialize ( ) { } protected PreparedStatement explicitPrepare ( String sqlStmt ) throws SQLException { } protected boolean wasExplicitlyPrepared ( ) { } protected PreparedStatement prepare ( String sqlStmt ) throws SQLException { } protected PreparedStatement getPreparedStatement ( ) throws SQLException { } protected boolean execute ( ) throws SQLException { boolean hasResultSet = ps . execute ( ) ; try { drdaParamState_ . drainStreamedParameter ( ) ; } catch ( IOException e ) { Util . javaException ( e ) ; } numResultSets = 0 ; ResultSet rs = null ; boolean isCallable = ( ps ) instanceof CallableStatement ; if ( isCallable ) needsToSendParamData = true ; do { rs = ps . getResultSet ( ) ; if ( rs != null ) { if ( isCallable ) addResultSet ( rs , ( ( org . apache . derby . iapi . jdbc . EngineResultSet ) ( rs ) ) . getHoldability ( ) ) ; else addResultSet ( rs , withHoldCursor ) ; hasResultSet = true ; } <START_BUG> } while ( isCallable && ( getMoreResults ( KEEP_CURRENT_RESULT ) ) ) ; <END_BUG> return hasResultSet ; } protected void finishParams ( ) { } protected void setPkgnamcsn ( Pkgnamcsn pkgnamcsn ) { } private int getStaticPackageIsolation ( String pkgid ) { } protected Pkgnamcsn getPkgnamcsn ( ) { } protected ResultSet getResultSet ( ) { } protected DRDAResultSet getCurrentDrdaResultSet ( ) { } protected void setCurrentDrdaResultSet ( int rsNum ) { } protected void setCurrentDrdaResultSet ( Pkgnamcsn pkgnamcsn ) { } private DRDAResultSet getDrdaResultSet ( ConsistencyToken consistToken ) { } private DRDAResultSet getDrdaResultSet ( int rsNum ) { } protected ConsistencyToken addResultSet ( ResultSet value , int holdValue ) throws SQLException { } protected int getNumResultSets ( ) { } protected ConsistencyToken getResultSetPkgcnstkn ( int rsNum ) { } protected int [ ] getRsDRDATypes ( ) { } protected void rsClose ( ) throws SQLException { } protected void CLSQRY ( ) { } protected boolean wasExplicitlyClosed ( ) { } protected void close ( ) throws SQLException { } protected void reset ( ) { } protected boolean rsIsClosed ( ) { } protected void rsSuspend ( ) { } protected void setRsPrecision ( int index , int precision ) { } protected int getRsPrecision ( int index ) { } protected void setRsScale ( int index , int scale ) { } protected int getRsScale ( int index ) { } protected void setRsDRDAType ( int index , int type ) { } protected void clearDrdaParams ( ) { } protected int getExtPositionCount ( ) { } protected int getExtPosition ( int i ) { } protected void addExtPosition ( int pos ) { } protected int getDrdaParamCount ( ) { } protected void addDrdaParam ( byte t , int l ) { } protected void setStreamedParameter ( EXTDTAReaderInputStream eis ) { } protected int getParamDRDAType ( int index ) { } protected int getParamLen ( int index ) { }

Fix:
} while ( isCallable && ( getMoreResults ( Statement . KEEP_CURRENT_RESULT ) ) ) ;