@Override public ListWriter list(String name) { return getWriter(MinorType.MAP).list(name); }
@Override public MapWriter map() { return getWriter(MinorType.LIST).map(); }
writer.startList(); while (reader.next()) { writeValue(reader.reader(), getListWriterForReader(reader.reader(), writer)); writer.endList(); break; case MAP: writer.start(); if (reader.isSet()) { for(String name : reader){ writer.end(); break; <#list vv.types as type><#list type.minor as minor><#assign name = minor.class?cap_first />
@Override public MapWriter map(String name) { FieldWriter writer = fields.get(name.toLowerCase()); if(writer == null){ int vectorCount=container.size(); MapVector vector = container.addOrGet(name, MapVector.TYPE, MapVector.class); if(!unionEnabled){ writer = new SingleMapWriter(vector, this); } else { writer = new PromotableWriter(vector, container); } if(vectorCount != container.size()) { writer.allocate(); } writer.setPosition(currentChildIndex); fields.put(name.toLowerCase(), writer); } return writer; }
writer.startList(); while (reader.next()) { writeValue(reader.reader(), getListWriterForReader(reader.reader(), writer)); writer.endList(); break; case MAP: writer.start(); if (reader.isSet()) { for(String name : reader){ writer.end(); break; reader.read(tinyIntHolder); if (tinyIntHolder.isSet == 1) { writer.writeTinyInt(tinyIntHolder.value); reader.read(uInt1Holder); if (uInt1Holder.isSet == 1) { writer.writeUInt1(uInt1Holder.value); reader.read(uInt2Holder); if (uInt2Holder.isSet == 1) { writer.writeUInt2(uInt2Holder.value); reader.read(smallIntHolder); if (smallIntHolder.isSet == 1) { writer.writeSmallInt(smallIntHolder.value);
boolean isList = elements[j].startsWith("["); if (parent.startsWith("[")) { writerSub = (FieldWriter) (isList ? writerSub.list() : writerSub.map()); if (listItems.add(path.replaceFirst("[^\\]]+$", ""))) { writerSub.start(); (isList ? writerSub.list(formatName(parent)) : writerSub.map(formatName(parent))); writerSub.varChar() : writerSub.varChar(formatName(parent)); writeString(varCharWriter, value);
@Override public void clear() { if (writer != null) { writer.clear(); } }
@Override public void allocate() { if(writer != null) { writer.allocate(); } }
@Override public void start() { getWriter(MinorType.MAP).start(); }
@Override public VarCharWriter varChar(String name) { return getWriter(MinorType.MAP).varChar(name); }
@Override public BitWriter bit(String name) { return getWriter(MinorType.MAP).bit(name); }
@Override public void close() throws Exception { getWriter().close(); } }
@Override public BigIntWriter bigInt(String name) { return getWriter(MinorType.MAP).bigInt(name); }
public void copyReader(FieldReader reader) { getWriter().copyReader(reader); }
@Override public ListWriter list(String name) { FieldWriter writer = fields.get(name.toLowerCase()); int vectorCount = container.size(); if(writer == null) { if (!unionEnabled){ writer = new SingleListWriter(name,container,this); } else{ writer = new PromotableWriter(container.addOrGet(name, Types.optional(MinorType.LIST), ListVector.class), container); } if (container.size() > vectorCount) { writer.allocate(); } writer.setPosition(currentChildIndex); fields.put(name.toLowerCase(), writer); } return writer; }
@Override public void clear() { if (writer != null) { writer.clear(); } }
@Override public void allocate() { container.allocateNew(); for(final FieldWriter w : fields.values()) { w.allocate(); } }
@Override public void start() { getWriter(MinorType.MAP).start(); }
@Override public VarCharWriter varChar() { return getWriter(MinorType.LIST).varChar(); }
@Override public BitWriter bit() { return getWriter(MinorType.LIST).bit(); }