[ https://issues.apache.org/jira/browse/CALCITE-5979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763232#comment-17763232 ]
Julian Hyde edited comment on CALCITE-5979 at 9/8/23 7:35 PM: -------------------------------------------------------------- The simplest thing is to change the specification to match what is easy to implement. Specifically, to say that {{REGEXP_REPLACE}} supports Java regexp syntax. We can have a follow-up case to allow the {{REGEXP_xxx}} functions support BQ syntax, and to devise a flag to enable the BQ mode. In that case, list the cases where the current implementation is wrong. Over time, the demand to fix that follow-up case will grow, but we can defer it for a while. As you can see, I'm punting on whether we have one operator or two. I really think that kicking the can down the road is the best strategy. was (Author: julianhyde): The simplest thing is to change the specification to match what is easy to implement. Specifically, to say that {{REGEXP_REPLACE}} supports Java regexp syntax. We can have a follow-up case to allow the {{REGEXP_xxx}} functions support BQ syntax, and to devise a flag to enable the BQ mode. In that case, list the cases where the current implementation is wrong. Over time, the demand to fix that follow-up case will grow, but we can defer it for a while. > Add REGEXP_REPLACE function (enabled in BigQuery library) > --------------------------------------------------------- > > Key: CALCITE-5979 > URL: https://issues.apache.org/jira/browse/CALCITE-5979 > Project: Calcite > Issue Type: Task > Reporter: Jerin John > Assignee: Jerin John > Priority: Major > Labels: pull-request-available > > Add support for [REGEXP_REPLACE > |https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions#regexp_replace] > function from BigQuery. > *{{REGEXP_REPLACE(value, regexp, replacement)}}* > Returns a STRING where all substrings of {{value}} that match regular > expression {{regexp}} are replaced with {{{}replacement{}}}. > backslashed-escaped digits (\1 to \9) can be used within the {{replacement}} > argument to insert text matching the corresponding parenthesized group in the > {{regexp}} pattern. > Example (added one space between \ \ to override md formatting): > {{SELECT REGEXP_REPLACE("abc'", "b(.)", "X\ \1") as result;}} > |result| > |aXc| -- This message was sent by Atlassian Jira (v8.20.10#820010)