Hi all,



This email summarizes the recent work to improve Apache IoTDB  table-model

SQL support in Nightingale.




The work is tracked in the following issue and pull requests:

- Issue: https://github.com/ccfos/nightingale/issues/3374

- Backend PR: https://github.com/ccfos/nightingale/pull/3375

- Frontend PR: https://github.com/n9e/fe/pull/2307




**Background**

Nightingale previously executed IoTDB table-model SQL queries through the REST

API. This approach does not reuse native IoTDB sessions and does not handle the

session-level database state expected by table-model SQL.




**Native RPC Query Execution**

The backend now executes table-model SQL through

`github.com/apache/iotdb-client-go/v2` using a shared `TableSessionPool`.

It supports both a datasource-level default database and per-query database

selection. The datasource Save & Test operation also uses the native RPC

connection.

REST continues to be used for metadata operations such as listing databases,

listing tables, and describing table schemas.




**Frontend Support**

The frontend adds datasource settings for the RPC address, default database,

connection timeout, and query timeout.

Dashboard, Query Explorer, and alert rule queries can specify their own

database when they need to override the datasource default.




**Compatibility**

Existing IoTDB dashboards and queries remain supported, including query

payloads that use the legacy `metricKey` field. This change only affects

table-model SQL query execution; metadata operations continue to use REST.




Best regards,

Xinqi Zhao

Reply via email to