Buggy code:
void generateHolder ( ExpressionClassBuilder acb , MethodBuilder mb , FormatableBitSet referencedCols , FormatableBitSet propagatedCols ) throws StandardException { } MethodBuilder generateHolderMethod ( ExpressionClassBuilder acb , FormatableBitSet referencedCols , FormatableBitSet propagatedCols ) throws StandardException { } private void genCreateRow ( ExpressionClassBuilder acb , LocalField field , String rowAllocatorMethod , String rowAllocatorType , int numCols ) throws StandardException { } public ResultColumnDescriptor [ ] makeResultDescriptors ( ) { } public void expandAllsAndNameColumns ( FromList fromList ) throws StandardException { } public void nameAllResultColumns ( ) throws StandardException { } public void copyTypesAndLengthsToSource ( ResultColumnList sourceRCL ) throws StandardException { } boolean columnTypesAndLengthsMatch ( ) throws StandardException { } boolean columnTypesAndLengthsMatch ( ResultColumnList otherRCL ) throws StandardException { } public boolean nopProjection ( ResultColumnList childRCL ) { } public ResultColumnList copyListAndObjects ( ) throws StandardException { } public void removeOrderByColumns ( ) { } public void genVirtualColumnNodes ( ResultSetNode sourceResultSet , ResultColumnList sourceResultColumnList ) throws StandardException { } public void genVirtualColumnNodes ( ResultSetNode sourceResultSet , ResultColumnList sourceResultColumnList , boolean markReferenced ) throws StandardException { } public void adjustVirtualColumnIds ( int adjust ) { } public void doProjection ( ) throws StandardException { } public String verifyUniqueNames ( boolean errForGenCols ) throws StandardException { } public void propagateDCLInfo ( ResultColumnList derivedRCL , String tableName ) throws StandardException { } void rejectParameters ( ) throws StandardException { } void rejectXMLValues ( ) throws StandardException { } public void setResultSetNumber ( int resultSetNumber ) { } public void setRedundant ( ) { } public void checkColumnUpdateability ( String [ ] ucl , String cursorName ) throws StandardException { } public void setUnionResultExpression ( ResultColumnList otherRCL , int tableNumber , int level , String operatorName ) throws StandardException { } public boolean isExactTypeAndLengthMatch ( ResultColumnList otherRCL ) throws StandardException { } public boolean updateOverlaps ( int [ ] columns ) { } ResultColumn [ ] getSortedByPosition ( ) { } public int [ ] sortMe ( ) { } public ResultColumnList expandToAll ( TableDescriptor td , TableName tableName ) throws StandardException { } public void bindUntypedNullsToResultColumns ( ResultColumnList bindingRCL ) throws StandardException { } void markUpdated ( ) { } void markUpdatableByCursor ( ) { } public void disablePrivilegeCollection ( ) { } public String verifyCreateConstraintColumnList ( TableElementList tel ) { } public void exportNames ( String [ ] columnNames ) { } public ResultColumn findParentResultColumn ( ResultColumn childRC ) { } void markUpdated ( ResultColumnList updateColumns ) { } void markColumnsInSelectListUpdatableByCursor ( Vector updateColumns ) { } private void commonCodeForUpdatableByCursor ( Vector updateColumns , boolean dealingWithSelectResultColumnList ) { } void markUpdatableByCursor ( Vector updateColumns ) { } boolean updatableByCursor ( int columnPosition ) { } public boolean isCloneable ( ) { } public void remapColumnReferencesToExpressions ( ) throws StandardException { } void setIndexRow ( long cid , boolean forUpdate ) { } public boolean hasConsistentTypeInfo ( ) throws StandardException { } public boolean containsAllResultColumn ( ) { } public int countReferencedColumns ( ) { } public void recordColumnReferences ( int [ ] idArray , int basis ) { } public void recordColumnReferences ( boolean [ ] colArray1 , JBitSet [ ] tableColMap , int tableNumber ) { } int allTopCRsFromSameTable ( ) { } public void clearColumnReferences ( ) { } public void copyReferencedColumnsToNewList ( ResultColumnList targetList ) { } public void copyColumnsToNewList ( ResultColumnList targetList , FormatableBitSet copyList ) { } public FormatableBitSet getColumnReferenceMap ( ) { } void pullVirtualIsReferenced ( ) { } public void clearTableNames ( ) { } protected void setCountMismatchAllowed ( boolean allowed ) { } protected boolean getCountMismatchAllowed ( ) { } public int getTotalColumnSize ( ) { } public void createListFromResultSetMetaData ( ResultSetMetaData rsmd , TableName tableName , String javaClassName ) throws StandardException { try { int numColumns = rsmd . getColumnCount ( ) ; if ( numColumns <= 0 ) { throw StandardException . newException ( LANG_INVALID_V_T_I_COLUMN_COUNT , javaClassName , String . valueOf ( numColumns ) ) ; } for ( int index = 1 ; index <= numColumns ; index ++ ) { boolean nullableResult = ( rsmd . isNullable ( index ) ) != ( ResultSetMetaData . columnNoNulls ) ; TypeId cti ; int jdbcColumnType = rsmd . getColumnType ( index ) ; switch ( jdbcColumnType ) { <START_BUG> case JDBC20Translation . SQL_TYPES_JAVA_OBJECT : <END_BUG> case Types . OTHER : { cti = TypeId . getUserDefinedTypeId ( rsmd . getColumnTypeName ( index ) , false ) ; break ; } default : { cti = TypeId . getBuiltInTypeId ( jdbcColumnType ) ; break ; } } if ( cti == null ) { throw StandardException . newException ( LANG_BAD_J_D_B_C_TYPE_INFO , Integer . toString ( index ) ) ; } int maxWidth ; if ( cti . variableLength ( ) ) { maxWidth = rsmd . getColumnDisplaySize ( index ) ; } else if ( ( jdbcColumnType == ( Types . LONGVARCHAR ) ) || ( jdbcColumnType == ( Types . LONGVARBINARY ) ) ) { maxWidth = Integer . MAX_VALUE ; } else { maxWidth = 0 ; } int precision = ( cti . isDecimalTypeId ( ) ) ? rsmd . getPrecision ( index ) : 0 ; int scale = ( cti . isDecimalTypeId ( ) ) ? rsmd . getScale ( index ) : 0 ; DataTypeDescriptor dts = new DataTypeDescriptor ( cti , precision , scale , nullableResult , maxWidth ) ; addColumn ( tableName , rsmd . getColumnName ( index ) , dts ) ; } } catch ( Throwable t ) { if ( t instanceof StandardException ) { throw ( ( StandardException ) ( t ) ) ; } else { throw StandardException . unexpectedUserException ( t ) ; } } } public void addColumn ( TableName tableName , String columnName , DataTypeDescriptor dts ) throws StandardException { } public void addRCForRID ( ) throws StandardException { } public void markAllUnreferenced ( ) throws StandardException { } boolean allExpressionsAreColumns ( ResultSetNode sourceRS ) { } int [ ] mapSourceColumns ( ) { }

Fix:
case Types . JAVA_OBJECT :