== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (7)
+- Project (6)
+- Filter (5)
+- RepartitionByExpression (4)
+- LogicalRelation (3)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider@6ae1c74e, [url=*********(redacted), batchsize=10000, isolationlevel=READ_UNCOMMITTED, driver=com.microsoft.sqlserver.jdbc.SQLServerDriver, dbtable=dbo.Datahub_dim_SCM_Facility_Materials_Preload, usebulkcopyforbatchinsert=true, user=warehouse-datahub, password=*********(redacted)], Append
(3) LogicalRelation
Arguments: JDBCRelation((
SELECT DISTINCT
pfd.networkId AS NetworkID, pfd.is_latest,
pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,
CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,
pfd.facility_default_ref) AS varchar(100))
AS facility_declaration_ref,
pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,
n._id AS Child_Node
FROM dbo.dimscm_product_field_details_response pfd
INNER JOIN dbo.dimscm_product_node_response n
ON n.networkId = pfd.networkId
AND n.reference_code = pfd.product_node_response_ref
LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m
ON m.networkId = pfd.networkId
AND (m.networkId IN ('F333006BD9A9572F6271ADBE5D28480F24CC4F903A7C2BE51AB82DC15E33BFB2', 'F3C56FE4C48BF4987C82A6BD50096DB6B94F6FC2D8F3D0280B22D45DA0ECEA14', 'F3D1220B82D22C91BD03BB358ACAFE47550BBA6BBC2134A39F3F043D6C20EFFE', 'F3E364ABEC7AC6EBCF96A35C882680520E043F68732D88C7BA62490626E3657B', 'F3EB346138F1612E6D2F04C2415AFC2643F72FCA450979FD1B025A2F0F64C95C'))
AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))
AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))
AND m.Value_process = pfd.Value_process
WHERE (pfd.networkId IN ('F333006BD9A9572F6271ADBE5D28480F24CC4F903A7C2BE51AB82DC15E33BFB2', 'F3C56FE4C48BF4987C82A6BD50096DB6B94F6FC2D8F3D0280B22D45DA0ECEA14', 'F3D1220B82D22C91BD03BB358ACAFE47550BBA6BBC2134A39F3F043D6C20EFFE', 'F3E364ABEC7AC6EBCF96A35C882680520E043F68732D88C7BA62490626E3657B', 'F3EB346138F1612E6D2F04C2415AFC2643F72FCA450979FD1B025A2F0F64C95C'))
AND (n.networkId IN ('F333006BD9A9572F6271ADBE5D28480F24CC4F903A7C2BE51AB82DC15E33BFB2', 'F3C56FE4C48BF4987C82A6BD50096DB6B94F6FC2D8F3D0280B22D45DA0ECEA14', 'F3D1220B82D22C91BD03BB358ACAFE47550BBA6BBC2134A39F3F043D6C20EFFE', 'F3E364ABEC7AC6EBCF96A35C882680520E043F68732D88C7BA62490626E3657B', 'F3EB346138F1612E6D2F04C2415AFC2643F72FCA450979FD1B025A2F0F64C95C'))
) AS _t) [numPartitions=1], [NetworkID#9843617, is_latest#9843618, brand_context_id#9843619, company_id#9843620, launch_config_ref#9843621, revision_version#9843622, facility_declaration_ref#9843623, Value_process#9843624, Materials#9843625, Child_Node#9843626], false
(4) RepartitionByExpression
Arguments: [brand_context_id#9843619, company_id#9843620, launch_config_ref#9843621, revision_version#9843622], 5
(5) Filter
Arguments: isnotnull(facility_declaration_ref#9843623)
(6) Project
Arguments: [NetworkID#9843617, is_latest#9843618, brand_context_id#9843619, company_id#9843620, launch_config_ref#9843621, revision_version#9843622, facility_declaration_ref#9843623, Value_process#9843624, Materials#9843625, Child_Node#9843626, CASE WHEN (isnull(trim(Materials#9843625, None)) OR (trim(Materials#9843625, None) = )) THEN cast(null as string) ELSE trim(Materials#9843625, None) END AS _mat_item#9843637]
(7) Project
Arguments: [NetworkID#9843617, brand_context_id#9843619, company_id#9843620, launch_config_ref#9843621, revision_version#9843622, Child_Node#9843626, is_latest#9843618, false AS is_latest_submitted#9843649, trim(facility_declaration_ref#9843623, None) AS facility_declaration_RefID#9843650, trim(Value_process#9843624, None) AS Value_process#9843651, _mat_item#9843637 AS Material#9843652, 2026-10-16 07:30:22.066784 AS update_ts#9843653]