influxdata / influxdata/influxdb

Supports executing Insert SQL to InfluxDB 3 Core via Arrow Flight API

Open
#26,119 2 comments 2 reactions 0 assignees View on GitHub
v3
Dominant language
Rust
Stars
31.7k
Forks
3.7k
Avg merge
13h 37m
Merged PRs (30d)
8

Description

__Use case:__
Why is this important (helps with prioritizing requests)?

- Currently, the documentation of InfluxDB 3 Core only records that data can be inserted into InfluxDB 3 Core through influxdb3 CLI and InfluxDB client at https://docs.influxdata.com/influxdb3/core/write-data/. And https://github.com/InfluxCommunity/influxdb3-java performs insertion operations through the RESTful API `/api/v2/write` mentioned at https://docs.influxdata.com/influxdb3/core/#write-data .
- ![Image](https://github.com/user-attachments/assets/d3a03de6-88d5-4d04-b66e-b037b7f53546)
- Most tools are happy to query InfluxDB 3 Core via the Arrow Flight JDBC Driver, as a JDBC Driver is easily incorporated into the use case of DBeaver or Flink Plugin. However, unit tests like https://github.com/linghengqian/influxdb-3-core-jdbc-test/blob/master/src/test/java/io/github/linghengqian/FlightSqlDriverTest.java show that it is not possible to perform `insert` operations to InfluxDB 3 Core through the Arrow Flight JDBC Driver `org.apache.arrow:flight-sql-jdbc-driver`, which requires a separate Maven dependency of `com.influxdb:influxdb3-java`.
- If InfluxDB 3 Core can support avoiding the use of HTTP API, that is, directly executing statements like `INSERT INTO mydb.myrp example-m,tag1=value1 field1=1i 16409952000000000000` mentioned in https://docs.influxdata.com/influxdb/v2/query-data/influxql/manage-data/#write-data-with-insert on Arrow Flight JDBC Driver, it will obviously help the integration of third-party tools.
- ![Image](https://github.com/user-attachments/assets/630cbd62-2127-419a-8a4c-12e8d2e223bb)

__Proposal:__
Short summary of the feature.

- Supports executing Insert SQL to InfluxDB 3 Core through Arrow Flight API.

__Current behaviour:__
Describe what currently happens.

- Currently, it is not supported to execute Insert SQL to InfluxDB 3 Core through Arrow Flight API.

__Desired behaviour:__
Describe what you want.

- Supports executing Insert SQL to InfluxDB 3 Core through Arrow Flight API.

__Alternatives considered:__
Describe other solutions or features you considered.

- PRs like https://github.com/apache/arrow/pull/36409 suggest Arrow Flight API allows this, but I don't know how complex this is for InfluxDB 3 Core.

Contributor guide

Open the contributing guide

Research direction

Read the repository's README contributing section first, then review the referenced Apache Arrow Flight API proposal and FlightSqlDriverTest.java example. Determine where InfluxDB 3 Core handles Flight SQL statements and how INSERT support would be validated. Done means INSERT SQL executes successfully through the Arrow Flight API without requiring the separate REST client.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
api, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.