Skip to content

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.