@Override public void eval() { String inputString = org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers.toStringFromUTF8(in.start, in.end, in.buffer); // Convert the iterable to an array as Janino will not handle generics. Object[] tokens = com.google.common.collect.Iterables.toArray(splitter.split(inputString), String.class); org.apache.drill.exec.vector.complex.writer.BaseWriter.ListWriter list = writer.rootAsList(); list.startList(); for (Object token : tokens) { final byte[] strBytes = ((String) token).getBytes(com.google.common.base.Charsets.UTF_8); buffer = buffer.reallocIfNeeded(strBytes.length); buffer.setBytes(0, strBytes); list.varChar().writeVarChar(0, strBytes.length, buffer); } list.endList(); } }
@Override public void eval() { Object[] tokens; if (in.isSet == 1) { String inputString = org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers.toStringFromUTF8(in.start, in.end, in.buffer); // Convert the iterable to an array as Janino will not handle generics. tokens = com.google.common.collect.Iterables.toArray(splitter.split(inputString), String.class); } else { tokens = new Object[0]; } org.apache.drill.exec.vector.complex.writer.BaseWriter.ListWriter list = writer.rootAsList(); list.startList(); org.apache.drill.exec.vector.complex.writer.VarCharWriter varCharWriter = list.varChar(); for (Object token : tokens) { final byte[] strBytes = ((String) token).getBytes(com.google.common.base.Charsets.UTF_8); buffer = buffer.reallocIfNeeded(strBytes.length); buffer.setBytes(0, strBytes); varCharWriter.writeVarChar(0, strBytes.length, buffer); } list.endList(); } }
@Override public void endList() { getListWriter().endList(); }
public void end() { if (map != null) { map.end(); } else { list.endList(); } }
@Override public void endList() { getListWriter().endList(); }
public void end() { if (map != null) { map.end(); } else { list.endList(); } }