@Override
public ValueMetaInterface getValueFromSQLType( DatabaseMeta databaseMeta, String name, ResultSetMetaData rm,
int index, boolean ignoreLength, boolean lazyConversion ) throws KettleDatabaseException {
try {
int type = rm.getColumnType( index );
if ( type == java.sql.Types.TIMESTAMP ) {
int length = rm.getScale( index );
ValueMetaInterface valueMeta;
if ( databaseMeta.supportsTimestampDataType() ) {
valueMeta = new ValueMetaTimestamp( name );
} else {
valueMeta = new ValueMetaDate( name );
}
valueMeta.setLength( length );
getOriginalColumnMetadata( valueMeta, rm, index, ignoreLength );
return valueMeta;
}
return null;
} catch ( Exception e ) {
throw new KettleDatabaseException( "Error evaluating timestamp value metadata", e );
}
}