array = ((java.sql.Array)array).getArray();
} catch (SQLException e) {
throw new TeiidProcessingException(e);
}
} else {
throw new FunctionExecutionException(QueryPlugin.Util.getString("FunctionMethods.not_array_value", array.getClass())); //$NON-NLS-1$
}
}
for (int output : projectionIndexes) {
ProjectedColumn col = table.getColumns().get(output);
try {
Object val = Array.get(array, output);
tuple.add(DataTypeManager.transformValue(val, table.getColumns().get(output).getSymbol().getType()));
} catch (TransformationException e) {
throw new TeiidProcessingException(e, QueryPlugin.Util.getString("ArrayTableNode.conversion_error", col.getName())); //$NON-NLS-1$
} catch (ArrayIndexOutOfBoundsException e) {
throw new FunctionExecutionException(QueryPlugin.Util.getString("FunctionMethods.array_index", output + 1)); //$NON-NLS-1$
}
}
addBatchRow(tuple);
terminateBatches();
return pullBatch();