pub async fn flush_batch_physical(
table_batches: &[TableBatch],
physical_table_name: &str,
ctx: &QueryContextRef,
partition_manager: &(impl PhysicalFlushPartitionProvider + ?Sized),
node_manager: &(impl PhysicalFlushNodeRequester + ?Sized),
catalog_manager: &(impl PhysicalFlushCatalogProvider + ?Sized),
) -> Result<()>Expand description
Flushes a batch of logical table rows by transforming them into the physical table format and writing them to the appropriate datanode regions.
This function performs the end-to-end physical flush pipeline:
- Resolves the physical table metadata and column ID mapping.
- Fetches the physical table’s partition rule.
- Transforms each logical table batch into the physical (sparse primary key) format.
- Concatenates all transformed batches into a single combined batch.
- Splits the combined batch by partition rule and sends region write requests concurrently to the target datanodes.