AbsaOSS / AbsaOSS/enceladus

MenasConverter incorrectly handles Array's containsNull

Open
#1,404 0 comments 0 reactions 0 assignees View on GitHub
bug priority: undecided
Dominant language
Scala
Stars
33
Forks
16
PR merge metrics
No merged PRs in 30d

Description

## Describe the bug
Having an array with `containsNull` value of `false`, the value is lost when converting from Spark's `DataType` to `Menas SchemaField`

## To Reproduce
```scala
val sparkSchema = Seq(
StructField("arrayWithoutNulls", ArrayType(StringType, containsNull = false))
)

val menasSchema = sparkConverter.convertSparkToMenasFields(sparkSchema)
val sparkSchema2 = sparkConverter.convertMenasToSparkFields(menasSchema)

assert(sparkSchema == sparkSchema2) // will fail
```

The message:
```
Expected :List(StructField(arrayWithoutNulls,ArrayType(StringType,true),true))
Actual :List(StructField(arrayWithoutNulls,ArrayType(StringType,false),true))
```

## Expected behaviour
The value should be kept during the conversion.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.