@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { if (block.isNull(position)) { return null; } if (block instanceof AbstractArrayBlock) { return ((AbstractArrayBlock) block).apply((valuesBlock, start, length) -> arrayBlockToObjectValues(session, valuesBlock, start, length), position); } else { Block arrayBlock = block.getObject(position, Block.class); return arrayBlockToObjectValues(session, arrayBlock, 0, arrayBlock.getPositionCount()); } }
@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { if (block.isNull(position)) { return null; } if (block instanceof AbstractArrayBlock) { return ((AbstractArrayBlock) block).apply((valuesBlock, start, length) -> arrayBlockToObjectValues(session, valuesBlock, start, length), position); } else { Block arrayBlock = block.getObject(position, Block.class); return arrayBlockToObjectValues(session, arrayBlock, 0, arrayBlock.getPositionCount()); } }