Host-exact builtins over the same upcall, with a faster pure-Rust opt-in¶
Applies to: REGEXP_EXTRACT, UPPER/LOWER, DATE_FORMAT/EXTRACT over TIMESTAMP_LTZ
Builtins whose Rust implementation can diverge from the JVM's — REGEXP_EXTRACT (regex dialects),
UPPER/LOWER (locale case folding), DATE_FORMAT/EXTRACT over TIMESTAMP_LTZ (time-zone database
edges) — default to calling Flink's own implementation through the same batch upcall used for user
UDFs: byte parity, island preserved.
The pure-Rust path stays available behind allowIncompatible (see
Configuration) for callers who want the faster path and can accept the
divergence risk.
q21 measures the honest price of the guarantee: 0.76x via the upcall vs 1.57x pure-native. For the zone-aware datetime functions the two paths measure within noise of each other — the call itself isn't the bottleneck there.