Add regexp_replace function to Perfetto SQL. Bug: http://b/483616653
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/utils.h b/src/trace_processor/perfetto_sql/intrinsics/functions/utils.h index e5c28bd..44dc420 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/utils.h +++ b/src/trace_processor/perfetto_sql/intrinsics/functions/utils.h
@@ -398,8 +398,8 @@ } }; -struct RegexpReplace : public sqlite::Function<RegexpReplace> { - static constexpr char kName[] = "regexp_replace"; +struct RegexpReplaceSimple : public sqlite::Function<RegexpReplaceSimple> { + static constexpr char kName[] = "regexp_replace_simple"; static constexpr int kArgCount = 3; using AuxData = regex::Regex;
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc index 2b99fa5..f1a2a25 100644 --- a/src/trace_processor/trace_processor_impl.cc +++ b/src/trace_processor/trace_processor_impl.cc
@@ -1252,7 +1252,7 @@ if constexpr (regex::IsRegexSupported()) { RegisterFunction<Regexp>(engine.get()); RegisterFunction<RegexpExtract>(engine.get()); - RegisterFunction<RegexpReplace>(engine.get()); + RegisterFunction<RegexpReplaceSimple>(engine.get()); } RegisterFunction<UnHex>(engine.get());
diff --git a/test/trace_processor/diff_tests/include_index.py b/test/trace_processor/diff_tests/include_index.py index 2fb95a6..b3b74cc 100644 --- a/test/trace_processor/diff_tests/include_index.py +++ b/test/trace_processor/diff_tests/include_index.py
@@ -156,7 +156,7 @@ from diff_tests.stdlib.prelude.package_lookup_tests import PackageLookup from diff_tests.stdlib.prelude.pprof_functions_tests import PreludePprofFunctions from diff_tests.stdlib.prelude.regexp_extract import RegexpExtract -from diff_tests.stdlib.prelude.regexp_replace import RegexpReplace +from diff_tests.stdlib.prelude.regexp_replace_simple import RegexpReplaceSimple from diff_tests.stdlib.prelude.slices_tests import PreludeSlices from diff_tests.stdlib.prelude.window_functions_tests import PreludeWindowFunctions from diff_tests.stdlib.sched.tests import StdlibSched @@ -328,7 +328,7 @@ PreludePprofFunctions, PreludeWindowFunctions, RegexpExtract, - RegexpReplace, + RegexpReplaceSimple, Pkvm, PreludeSlices, StdlibSmoke,
diff --git a/test/trace_processor/diff_tests/stdlib/prelude/regexp_replace.py b/test/trace_processor/diff_tests/stdlib/prelude/regexp_replace_simple.py similarity index 80% rename from test/trace_processor/diff_tests/stdlib/prelude/regexp_replace.py rename to test/trace_processor/diff_tests/stdlib/prelude/regexp_replace_simple.py index c1a94f8..3332499 100644 --- a/test/trace_processor/diff_tests/stdlib/prelude/regexp_replace.py +++ b/test/trace_processor/diff_tests/stdlib/prelude/regexp_replace_simple.py
@@ -20,16 +20,16 @@ from python.generators.diff_tests.testing import TestSuite -class RegexpReplace(TestSuite): +class RegexpReplaceSimple(TestSuite): - def test_regexp_replace(self): + def test_regexp_replace_simple(self): return DiffTestBlueprint( trace=TextProto(''), query=""" SELECT - REGEXP_REPLACE('abcde', 'c', 'C') AS c, - REGEXP_REPLACE('abcde', 'i', 'I') AS i, - REGEXP_REPLACE('abcde', '', '|') AS interpolate + REGEXP_REPLACE_SIMPLE('abcde', 'c', 'C') AS c, + REGEXP_REPLACE_SIMPLE('abcde', 'i', 'I') AS i, + REGEXP_REPLACE_SIMPLE('abcde', '', '|') AS interpolate """, out=Csv(""" "c","i","interpolate"