@Override public Tuple next() throws SQLException { if (closed) return null; while (index >= length) { this.current = super.next(); if (current == null) { this.closed = true; return null; } if (arrayExpression.evaluate(current, arrayPtr)) { this.length = PArrayDataType.getArrayLength(arrayPtr, elemRefExpression.getDataType(), arrayExpression.getMaxLength()); this.index = 0; this.elemRefExpression.setArrayPtr(arrayPtr); } } elemRefExpression.setIndex(index); if (elemIndexExpression != null) { elemIndexExpression.setIndex(index); } index++; return projector.projectResults(current); }
@Override public Tuple next() throws SQLException { if (closed) return null; while (index >= length) { this.current = super.next(); if (current == null) { this.closed = true; return null; } if (arrayExpression.evaluate(current, arrayPtr)) { this.length = PArrayDataType.getArrayLength(arrayPtr, elemRefExpression.getDataType(), arrayExpression.getMaxLength()); this.index = 0; this.elemRefExpression.setArrayPtr(arrayPtr); } } elemRefExpression.setIndex(index); if (elemIndexExpression != null) { elemIndexExpression.setIndex(index); } index++; return projector.projectResults(current); }
@Override public Tuple next() throws SQLException { if (closed) return null; while (index >= length) { this.current = super.next(); if (current == null) { this.closed = true; return null; } if (arrayExpression.evaluate(current, arrayPtr)) { this.length = PArrayDataType.getArrayLength(arrayPtr, elemRefExpression.getDataType(), arrayExpression.getMaxLength()); this.index = 0; this.elemRefExpression.setArrayPtr(arrayPtr); } } elemRefExpression.setIndex(index); if (elemIndexExpression != null) { elemIndexExpression.setIndex(index); } index++; return projector.projectResults(current); }