public Object [ ] readData ( Type [ ] colTypes ) throws IOException , HsqlException { int l = colTypes . length ; Object [ ] data = new Object [ l ] ; Object o ; Type type ; for ( int i = 0 ; i < l ; i ++ ) { if ( checkNull ( ) ) { continue ; } o = null ; type = colTypes [ i ] ; switch ( type . typeCode ) { case Types . SQL_ALL_TYPES : case Types . SQL_CHAR : case Types . SQL_VARCHAR : case Types . VARCHAR_IGNORECASE : o = readChar ( type ) ; break ; case Types . TINYINT : case Types . SQL_SMALLINT : o = readSmallint ( ) ; break ; case Types . SQL_INTEGER : o = readInteger ( ) ; break ; case Types . SQL_BIGINT : o = readBigint ( ) ; break ; //fredt although REAL is now Double, it is read / written in //the old format for compatibility case Types . SQL_REAL : case Types . SQL_FLOAT : case Types . SQL_DOUBLE : o = readReal ( ) ; break ; case Types . SQL_NUMERIC : case Types . SQL_DECIMAL : o = readDecimal ( type ) ; break ; case Types . SQL_DATE : o = readDate ( type ) ; break ; case Types . SQL_TIME : case Types . SQL_TIME_WITH_TIME_ZONE : o = readTime ( type ) ; break ; case Types . SQL_TIMESTAMP : case Types . SQL_TIMESTAMP_WITH_TIME_ZONE : o = readTimestamp ( type ) ; break ; case Types . SQL_INTERVAL_YEAR : case Types . SQL_INTERVAL_YEAR_TO_MONTH : case Types . SQL_INTERVAL_MONTH : o = readYearMonthInterval ( type ) ; break ; case Types . SQL_INTERVAL_DAY : case Types . SQL_INTERVAL_DAY_TO_HOUR : case Types . SQL_INTERVAL_DAY_TO_MINUTE : case Types . SQL_INTERVAL_DAY_TO_SECOND : case Types . SQL_INTERVAL_HOUR : case Types . SQL_INTERVAL_HOUR_TO_MINUTE : case Types . SQL_INTERVAL_HOUR_TO_SECOND : case Types . SQL_INTERVAL_MINUTE : case Types . SQL_INTERVAL_MINUTE_TO_SECOND : case Types . SQL_INTERVAL_SECOND : o = readDaySecondInterval ( type ) ; break ; case Types . SQL_BOOLEAN : o = readBoole ( ) ; break ; case Types . OTHER : o = readOther ( ) ; break ; case Types . SQL_CLOB : o = readClob ( ) ; break ; case Types . SQL_BLOB : o = readBlob ( ) ; break ; case Types . SQL_BINARY : case Types . SQL_VARBINARY : o = readBinary ( ) ; break ; case Types . SQL_BIT : case Types . SQL_BIT_VARYING : o = readBit ( ) ; break ; default : throw Error . runtimeError ( ErrorCode . U_S0500 , "RowInputBase " + type . getNameString ( ) ) ; } data [ i ] = o ; } return data ; }
reads row data from a stream using the JDBC types in colTypes