diff --git a/macros/decoder/decoded_traces_history.sql b/macros/decoder/decoded_traces_history.sql index b59d6b71..3140c527 100644 --- a/macros/decoder/decoded_traces_history.sql +++ b/macros/decoder/decoded_traces_history.sql @@ -135,7 +135,12 @@ AND trace_address != 'ORIGIN' THEN trace_address || '_' ELSE NULL END AS parent_of, - IFF(REGEXP_REPLACE(trace_address, '.$', '') = '', 'ORIGIN', REGEXP_REPLACE(trace_address, '.$', '')) AS child_of, + IFF(REGEXP_REPLACE(trace_address, '[0-9]+$', '') = '', 'ORIGIN', REGEXP_REPLACE(trace_address, '[0-9]+$', '')) AS child_of_raw, + IFF( + trace_address = 'ORIGIN', + 'ORIGI', + child_of_raw + ) AS child_of, input, output, concat_ws( diff --git a/models/streamline/silver/decoder/realtime/streamline__decode_traces_realtime.sql b/models/streamline/silver/decoder/realtime/streamline__decode_traces_realtime.sql index 77abaa1b..0b062385 100644 --- a/models/streamline/silver/decoder/realtime/streamline__decode_traces_realtime.sql +++ b/models/streamline/silver/decoder/realtime/streamline__decode_traces_realtime.sql @@ -39,8 +39,8 @@ WITH look_back AS ( AND trace_address != 'ORIGIN' THEN trace_address || '_' ELSE NULL END AS parent_of, - IFF(REGEXP_REPLACE(trace_address, '.$', '') = '', 'ORIGIN', REGEXP_REPLACE(trace_address, '.$', '')) AS child_of, - + IFF(REGEXP_REPLACE(trace_address, '[0-9]+$', '') = '', 'ORIGIN', REGEXP_REPLACE(trace_address, '[0-9]+$', '')) AS child_of_raw, + iff(trace_address = 'ORIGIN', 'ORIGI', child_of_raw) as child_of, input, output, concat_ws(