notNull was added to field schemas as an optional flag during the 0.5 series. If it is omitted, the default behaviour is to respect the businessKey flag.
For 0.6 notNull will become mandatory, so if businessKey = true then you must also set notNull = true. The change needs to be made in the .proto file for schema definitions, and in the schema validator in the validation library. We could also modify the ArrowSchema class that converts schemas between TRAC / Arrow formats, although this is not essential and leaving the existing logic may improve compatability with 0.5 metadata.
This change does not impact the model API, which will still set a default value for notNull if it is not provided.
notNull was added to field schemas as an optional flag during the 0.5 series. If it is omitted, the default behaviour is to respect the businessKey flag.
For 0.6 notNull will become mandatory, so if businessKey = true then you must also set notNull = true. The change needs to be made in the .proto file for schema definitions, and in the schema validator in the validation library. We could also modify the ArrowSchema class that converts schemas between TRAC / Arrow formats, although this is not essential and leaving the existing logic may improve compatability with 0.5 metadata.
This change does not impact the model API, which will still set a default value for notNull if it is not provided.