diff options
Diffstat (limited to 'opendc-trace')
| -rw-r--r-- | opendc-trace/opendc-trace-parquet/src/main/kotlin/org/opendc/trace/util/parquet/exporter/Exporter.kt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/opendc-trace/opendc-trace-parquet/src/main/kotlin/org/opendc/trace/util/parquet/exporter/Exporter.kt b/opendc-trace/opendc-trace-parquet/src/main/kotlin/org/opendc/trace/util/parquet/exporter/Exporter.kt index 05f36530..4f46f573 100644 --- a/opendc-trace/opendc-trace-parquet/src/main/kotlin/org/opendc/trace/util/parquet/exporter/Exporter.kt +++ b/opendc-trace/opendc-trace-parquet/src/main/kotlin/org/opendc/trace/util/parquet/exporter/Exporter.kt @@ -32,6 +32,7 @@ import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.DOUBLE import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.FLOAT import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT32 import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT64 +import org.apache.parquet.schema.Type import org.apache.parquet.schema.Types import org.opendc.trace.util.parquet.ParquetDataWriter import java.io.File @@ -122,7 +123,13 @@ public class Exporter<T : Exportable> val valueToAdd: Any = column.getValue( record, - ) ?: return@forEachIndexed // Maybe add explicit check for optional fields + ) ?: let { + if (column.field.isRepetition(Type.Repetition.OPTIONAL)) { + return@forEachIndexed + } else { + throw RuntimeException("trying to insert null value in required column $column") + } + } startField(column.name, idx) when (column.primitiveTypeName) { |
