Hi all,

I wanted to discuss a possible new feature I will call Rich Datatypes (RDT) API 
in the following.
I worked a lot in the automotive industry and there is a broadly adopted open 
Standard called ASAM MDF (https://www.asam.net/standards/detail/mdf/).
It is a format which is targeted at the efficient storage but at the same time 
it supports VERY complex types (which are often used in automotive controllers).

Take something as simple as a boolean. We could store it as a boolean (as java 
bool) in 1 bit.
BUT we have overall 4 possibilities:

  *   No value is available for a timestamp (NULL / nothing stored)
  *   We had a successful request but the Controller does not know whether true 
or false (or had an internal error), this is a bit like Optional.isPresent() == 
false
  *   True
  *   False
In Java we could model it as a variable Optional<> x which could be null, 
Optional.empty(), Optional.of(true), Optional.of(false).

Other examples are discrete values like “ON”, “OFF” (which are handled as 
“lookup tables” on integer rows, internally).
Or scale formulas like a*x+b which allows to leverage the precision even for 
“small” double values or even integers.
A formula but also a “fallback” lookup value like “NV”.

I think this could be a valuable extension to IoTDB as an additional API (not 
change anything below but just provide an API on top to do the calculation).

What do others think?

Julian

Reply via email to