What is the performance difference between these two DataWeave expressions?
In this example there are three update operators. The destination branch case statement interferes with the child .*flight.destination.longitude and .*flight.destination.latitude case statements.
First is three separate update operators chained together using infix notation:
reservationsXml
update {
case flight at .reservations.*reservation.*flight -> flight - "flightCode"
}
update {
. . .
//case dest at .reservations.*reservation.*flight.*destination -> dest
}
update {
case long at .reservations.*reservation.*flight.destination.longitude ->
long as Number as String {format: "###.000"}
case lat at .reservations.*reservation.*flight.*destination.latitude ->
lat as Number as String {format: "###.000"}
}
update {
case dest at .reservations.*reservation.*flight.*destination -> dest - "ICAO"
}
vs. putting the second and third update operators inside the previous case statement.
update {
case flight at .reservations.*reservation.*flight -> ( flight - "flightCode" )
update {
case dest at .*destination ->
(dest - "ICAO")
update {
case long at .longitude ->
long as Number as String {format: "###.000"}
case lat at .latitude ->
lat as Number as String {format: "###.000"}
}
}
}