Add multi-table InfluxDB source support
Extended SeaTunnel's InfluxQL source with `tables_configs`, table-aware splits, and schema-specific row routing while retaining the existing single-table configuration path.
apache/seatunnel · #12247
Time-series connector feature
One SeaTunnel InfluxDB source can now read multiple queries and databases into independently typed output tables.
Problem
The connector required a separate source definition for every query and output schema. A multi-table mode needed to preserve database and table identity across discovery, partitioning, reading, and restored legacy splits without silently treating query failures as empty results.
Approach
Adds per-table SQL, database, table identity, and field schemas; routes splits and returned series through the matching table contract; and covers inclusive non-overlapping integer partitions. Existing single-table behavior and legacy split deserialization remain compatible.
Impact and scope
- Reduces duplicate pipeline configuration when ingesting several InfluxDB measurements or databases.
- Preserves distinct schemas and catalog identities through partitioned reads and restored source state.
- Makes query failures explicit in multi-table mode while allowing empty tables to coexist with tables that return data.
Validation
- All 39 connector tests passed on Java 8 and Java 11, covering validation, column mapping, empty and error results, partitions, restore ordering, and legacy splits.
- Two real InfluxDB 1.8.10 integration tests passed on each JDK, and the new multi-table fixture passed through SeaTunnel Zeta with per-table assertions.
- The full verification build and final PR checks passed; the GitHub-verified merge commit credits Goutam Adwant.