DanielCarter-stack commented on issue #10425:
URL: https://github.com/apache/seatunnel/issues/10425#issuecomment-3831160575

   <!-- code-pr-reviewer -->
   Thanks for raising this feature request. I've verified that the 14 listed 
source connectors (Cassandra, Elasticsearch, Hudi, InfluxDB, IoTDB, MongoDB, 
Neo4j, OpenMldb, Pulsar, RabbitMQ, Redis, RocketMQ, AmazonDynamoDB) are indeed 
missing multi-table support.
   
   **Implementation references:**
   - Kafka connector provides the standard pattern for `TABLE_CONFIGS` usage in 
`KafkaSourceFactory.optionRule()` and 
`KafkaSourceConfig.createMapConsumerMetadata()` 
(connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/)
   - API definition: `TableSchemaOptions.TABLE_CONFIGS` in 
`seatunnel-api/src/main/java/org/apache/seatunnel/api/options/table/TableSchemaOptions.java`
 (L36-L42)
   
   **Key requirements for implementation:**
   1. Add `TABLE_CONFIGS` option to connector's `optionRule()` (preferably with 
`exclusive` constraint against single-table options)
   2. Modify source constructor to accept `List<CatalogTable>`
   3. Implement `getProducedCatalogTables()` to return multi-table metadata
   4. Handle multiple table/collection/topic configurations in source reader 
initialization
   
   **Note:** `TABLE_LIST` (deprecated, see `CatalogOptions.TABLE_LIST`) should 
not be used for new implementations.
   
   For contributors: please reference the existing RabbitMQ 
(connector-rabbitmq/src/main/java/org/apache/seatunnel/connectors/seatunnel/rabbitmq/source/RabbitmqSourceFactory.java)
 and similar connectors as starting points.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to