Class BitColumnWriter
java.lang.Object
org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriter
org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriterImpl
org.apache.drill.exec.vector.accessor.writer.BaseScalarWriter
org.apache.drill.exec.vector.accessor.writer.AbstractFixedWidthWriter
org.apache.drill.exec.vector.accessor.writer.BitColumnWriter
- All Implemented Interfaces:
ColumnWriter,ScalarWriter,ValueWriter,WriterEvents,WriterPosition
Specialized writer for bit columns. Bits are packed 8 per byte.
Rather than duplicate that logic here, this writer just delegates
to the vector's own mutator.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractFixedWidthWriter
AbstractFixedWidthWriter.BaseFixedWidthWriter, AbstractFixedWidthWriter.BaseIntWriterNested classes/interfaces inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriterImpl
AbstractScalarWriterImpl.ScalarObjectWriterNested classes/interfaces inherited from interface org.apache.drill.exec.vector.accessor.writer.WriterEvents
WriterEvents.ColumnWriterListener, WriterEvents.State -
Field Summary
Fields inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractFixedWidthWriter
lastWriteIndexFields inherited from class org.apache.drill.exec.vector.accessor.writer.BaseScalarWriter
capacity, drillBuf, emptyValue, listener, MIN_BUFFER_SIZEFields inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriterImpl
schema, vectorIndex -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(ColumnReader from) Copy a single value from the given reader, which must be of the same type as this writer.protected final voidfillEmpties(int writeIndex) Fill empties.protected intfinal voidsetBoolean(boolean value) final voidsetDefaultValue(Object value) Set the default value to be used to fill empties for this writer.voidsetInt(int value) voidWrite value to a vector as a Java object of the "native" type for the column.voidsetValueCount(int valueCount) Describe the type of the value.vector()intwidth()Methods inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractFixedWidthWriter
dump, endWrite, lastWriteIndex, mandatoryResize, postRollover, preRollover, resize, restartRow, setBuffer, setLastWriteIndex, skipNulls, startWriteMethods inherited from class org.apache.drill.exec.vector.accessor.writer.BaseScalarWriter
appendBytes, bindListener, bindSchema, canExpand, nullable, overflowed, realloc, setBytes, setDate, setDecimal, setDouble, setFloat, setLong, setNull, setPeriod, setString, setTime, setTimestampMethods inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriterImpl
bindIndex, endArrayValue, isProjected, rowStartIndex, saveRow, schema, startRow, type, writeIndexMethods inherited from class org.apache.drill.exec.vector.accessor.writer.AbstractScalarWriter
conversionError, extendedType, setObject, toString
-
Constructor Details
-
BitColumnWriter
-
-
Method Details
-
vector
- Specified by:
vectorin classAbstractScalarWriterImpl
-
width
public int width()- Specified by:
widthin classAbstractFixedWidthWriter
-
valueType
Description copied from interface:ScalarWriterDescribe the type of the value. This is a compression of the value vector type: it describes which method will return the vector value.- Returns:
- the value type which indicates which get method is valid for the column
-
prepareWrite
protected int prepareWrite() -
setValueCount
public void setValueCount(int valueCount) - Overrides:
setValueCountin classAbstractFixedWidthWriter
-
fillEmpties
protected final void fillEmpties(int writeIndex) Fill empties. This is required because the allocated memory is not zero-filled.- Specified by:
fillEmptiesin classAbstractFixedWidthWriter
-
setBoolean
public final void setBoolean(boolean value) - Specified by:
setBooleanin interfaceValueWriter- Overrides:
setBooleanin classBaseScalarWriter
-
setInt
public void setInt(int value) - Specified by:
setIntin interfaceValueWriter- Overrides:
setIntin classBaseScalarWriter
-
setValue
Description copied from interface:ValueWriterWrite value to a vector as a Java object of the "native" type for the column. This form is available only on scalar writers. The object must be of the form for the primary write method above.Primarily to be used when the code already knows the object type.
- Parameters:
value- a value that matches the primary setter above, or null to set the column to null- See Also:
-
setDefaultValue
Description copied from interface:ScalarWriterSet the default value to be used to fill empties for this writer. Only valid for required writers: null writers set this is-set bit to 0 and set the data value to 0.- Parameters:
value- the value to set. Cannot be null. The type of the value must match that legal forValueWriter.setValue(Object)
-
copy
Description copied from interface:ColumnWriterCopy a single value from the given reader, which must be of the same type as this writer.- Parameters:
from- reader to provide the data
-