Aller au contenu

Pipeline stage insert

plugins/ccx-feeds-industrial/includes/pipeline/70-stage-insert.php is a compatibility facade. The stage insert implementation is owned by includes/pipeline/stage-insert/.

Modules

  • 10-input-normalization.php: debug gate and accepted input normalization. Arrays and JSON payloads are supported; serialized PHP payloads remain rejected.
  • 20-strict-insert.php: row preparation, spec-type detection/override policy, timestamps, offer key, row hash, dynamic column selection and SQL upsert.
  • 30-entrypoint.php: public mixed-input entrypoint delegating normalization to the strict insert.
  • 90-compose.php: loads the modules in their historical dependency order.

Public compatibility surface

The following entrypoints remain unchanged:

  • ccx_feeds_stage_insert_debug_enabled()
  • ccx_feeds_stage_insert_normalize_rows()
  • ccx_feeds_stage_insert_rows_strict()
  • ccx_feeds_stage_insert_rows()

Behavioral constraints

This refactor is structural only. It preserves detector-first spec_type handling, strict override filtering, stage_skipped_not_spec diagnostics, timestamp and offer-key preparation, the existing row-hash payload, required-column checks, dynamic allowed-column selection, binary row hashes, and ON DUPLICATE KEY UPDATE behavior.