Part of #23494.
In datafusion-datasource-{csv,json,arrow,avro}. Each FileSource implements try_to_proto (emitting its *ScanExecNode via FileScanConfig::to_proto_conf) + an inherent try_from_proto rebuilding the DataSourceExec. Blocked by #23497.
Follow the pattern in #23494 (reference impl: #23495 / ProjectionExec; full end-state draft: #23496). Add try_to_proto inside impl ExecutionPlan for X, add the inherent X::try_from_proto, repoint the decode arm, and delete the old central arm in the same PR (that is the proof the hook is reached). Keep the wire format byte-for-byte identical.
Part of #23494.
In
datafusion-datasource-{csv,json,arrow,avro}. EachFileSourceimplementstry_to_proto(emitting its*ScanExecNodeviaFileScanConfig::to_proto_conf) + an inherenttry_from_protorebuilding theDataSourceExec. Blocked by #23497.Follow the pattern in #23494 (reference impl: #23495 /
ProjectionExec; full end-state draft: #23496). Addtry_to_protoinsideimpl ExecutionPlan for X, add the inherentX::try_from_proto, repoint the decode arm, and delete the old central arm in the same PR (that is the proof the hook is reached). Keep the wire format byte-for-byte identical.