STRING, Default operator, optional, PMAP bit set and previous state UNDEFINED

Imported from previous forum

Hi,

Having the following field:

The spec states the following for PMAP and NULL utilization for Default operators:
The default operator have the following presence map and NULL utilization:
Optional string fields – one bit. If set, the value appears in the stream in a nullable representation. A NULL indicates that the value is absent and the state of the previous value is set to empty, except when the default operator is used in which case the state of the previous value is left unchanged.

What happens when I get PMAP bit set to 1, and value 0x80 (NULL) in the stream. Please note that this is the very first data for this field, meaning that the current state of the field in the dictionary is UNDEFINED.

According to the SPEC, the state of the previous value is left unchanged, so this field will remain in UNDEFINED status?

The default operator doesn’t touch the previous value in any way so the previous value and state is exactly the same before and after exercising the operator.

/David

Hi,

Having the following field:

The spec states the following for PMAP and NULL utilization for Default
operators: The default operator have the following presence map and NULL
utilization: Optional string fields – one bit. If set, the value appears
in the stream in a nullable representation. A NULL indicates that the
value is absent and the state of the previous value is set to empty,
except when the default operator is used in which case the state of the
previous value is left unchanged.

What happens when I get PMAP bit set to 1, and value 0x80 (NULL) in the
stream. Please note that this is the very first data for this field,
meaning that the current state of the field in the dictionary is
UNDEFINED.

According to the SPEC, the state of the previous value is left
unchanged, so this field will remain in UNDEFINED status?

Thanks for answering, but I think I misunderstood how Default operators work then. So you are saying that this field would be unchanged (remain as UNDEFINED) but if I read its value I should get “K” because of the Default operator?

The default operator doesn’t touch the previous value in any way so the
previous value and state is exactly the same before and after exercising
the operator.

/David

Hi,

Having the following field:

The spec states the following for PMAP and NULL utilization for
Default operators: The default operator have the following presence
map and NULL utilization: Optional string fields – one bit. If set,
the value appears in the stream in a nullable representation. A NULL
indicates that the value is absent and the state of the previous value
is set to empty, except when the default operator is used in which
case the state of the previous value is left unchanged.

What happens when I get PMAP bit set to 1, and value 0x80 (NULL) in
the stream. Please note that this is the very first data for this
field, meaning that the current state of the field in the dictionary
is UNDEFINED.

According to the SPEC, the state of the previous value is left
unchanged, so this field will remain in UNDEFINED status?

Not the field. The value of the field is always defined. In the case of the default operator the field either has the value encoded in the stream (the pbit is 1) or the initial value (the pbit is 0). If the field is nullable (presence=“optional”) the encoded value may be the NULL value (but this is not the same as UNDEFINED).

The term UNDEFINED is one of the states the previous value can have and since the default operator doesn’t make use of the previous value it doesn’t change its state either.

/David

Thanks for answering, but I think I misunderstood how Default operators
work then. So you are saying that this field would be unchanged (remain
as UNDEFINED) but if I read its value I should get “K” because of the
Default operator?

The default operator doesn’t touch the previous value in any way so
the previous value and state is exactly the same before and after
exercising the operator.

/David

Hi,

Having the following field:

The spec states the following for PMAP and NULL utilization for
Default operators: The default operator have the following presence
map and NULL utilization: Optional string fields – one bit. If set,
the value appears in the stream in a nullable representation. A NULL
indicates that the value is absent and the state of the previous
value is set to empty, except when the default operator is used in
which case the state of the previous value is left unchanged.

What happens when I get PMAP bit set to 1, and value 0x80 (NULL) in
the stream. Please note that this is the very first data for this
field, meaning that the current state of the field in the dictionary
is UNDEFINED.

According to the SPEC, the state of the previous value is left
unchanged, so this field will remain in UNDEFINED status?

Thanks!

Not the field. The value of the field is always defined. In the case of
the default operator the field either has the value encoded in the
stream (the pbit is 1) or the initial value (the pbit is 0). If the
field is nullable (presence=“optional”) the encoded value may be the
NULL value (but this is not the same as UNDEFINED).

The term UNDEFINED is one of the states the previous value can have and
since the default operator doesn’t make use of the previous value it
doesn’t change its state either.

/David

Thanks for answering, but I think I misunderstood how Default
operators work then. So you are saying that this field would be
unchanged (remain as UNDEFINED) but if I read its value I should get
“K” because of the Default operator?

The default operator doesn’t touch the previous value in any way so
the previous value and state is exactly the same before and after
exercising the operator.

/David

Hi,

Having the following field:

The spec states the following for PMAP and NULL utilization for
Default operators: The default operator have the following
presence map and NULL utilization: Optional string fields – one
bit. If set, the value appears in the stream in a nullable
representation. A NULL indicates that the value is absent and the
state of the previous value is set to empty, except when the
default operator is used in which case the state of the previous
value is left unchanged.

What happens when I get PMAP bit set to 1, and value 0x80 (NULL)
in the stream. Please note that this is the very first data for
this field, meaning that the current state of the field in the
dictionary is UNDEFINED.

According to the SPEC, the state of the previous value is left
unchanged, so this field will remain in UNDEFINED status?