Muti-field data point in IFQL?

I read IFQL spec. It seems that a data point in IFQL only has 1 field.

I worry, because in my application, the data point is multi-field. I collect data from a sensor node, which is attached with many sensors (temperature, humidity, CO2 etc). So, a data point sent by sensor node will include value from those sensors, and naturally fit multi-field model.

Do you plan to deprecated the current SQL? If yes, do you support multi-field in future IFQL?

We’ll continue to support InfluxQL. IFQL will work with multiple fields. The data model just puts the field name as a tag, just like measurement name. The input format initially will continue to be the 1.x line protocol. In the future, measurement and field won’t be required, but will still be there for the use cases where it makes more sense.

I’m curious, what in the IFQL spec worried you that you wouldn’t be able to work with multiple fields? Was it the part in the beginning about the data model being all tags?

It is because of this example:

{
    "id": 24,
    "meta": {
        "dataType": "float64",
        "metricType": "gauge"
    },
    "tagset": {
        "host": "A",
        "region": "B"
    },
    "points": [
        {"value":23.2, "epoch":1491499253},
        {"value":78.1, "epoch":1491499263, "tagset":{"host":"B"}}
    ]
}

Given that, I have a sensor node, which reports air temperature, air humidity at once. The database scheme currently is:

+-------------------------------+
| time | temperature | humidity |
+------+-------------+----------+
| 1000 |   27        | 60       |
| 1010 |   28        | 58       |
+------+-------------+----------+

But, following the example above, we will write:

{
    "points": [
        {"value":27, "epoch":1000, "target": {"type": "temperature"}},
        {"value":60, "epoch":1000, "target": {"type": "humidity"}},
        {"value":28, "epoch":1010, "target": {"type": "temperature"}},
        {"value":58, "epoch":1010, "target": {"type": "humidity"}}
    ]
}

It looks very like that IFQL only let you define single-field data point.