Skip to content

feat(firestore): add support for remaining string expressions#7978

Open
dlarocque wants to merge 4 commits intomainfrom
dl/string-expressions
Open

feat(firestore): add support for remaining string expressions#7978
dlarocque wants to merge 4 commits intomainfrom
dl/string-expressions

Conversation

@dlarocque
Copy link
Contributor

Adds support for string expressions ltrim, rtrim, stringRepeat stringReplaceOne stringReplaceAll, stringIndexOf.

Ported from: googleapis/java-firestore#2326

Adds support for string expressions `ltrim`, `rtrim`, `stringRepeat`
`stringReplaceOne` `stringReplaceAll`, `stringIndexOf`.

Ported from: googleapis/java-firestore#2326
@gemini-code-assist
Copy link
Contributor

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 26, 2026

📝 PRs merging into main branch

Our main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released.

@dlarocque
Copy link
Contributor Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several string manipulation functions to the Firestore pipeline API, including ltrim, rtrim, stringRepeat, stringReplaceAll, stringReplaceOne, and stringIndexOf. These functions are added to the Expression class, updated in the public API definition, and supported by new unit tests. The review feedback identifies a duplicate 'substring' key in the FunctionRegistry map that should be removed to avoid redundancy and potential confusion.

@dlarocque
Copy link
Contributor Author

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several new string-related pipeline expressions to Firestore, including ltrim, rtrim, stringIndexOf, stringRepeat, stringReplaceOne, and stringReplaceAll. The changes encompass API definition updates, DSL implementations in the Expression class, and comprehensive instrumentation tests for each new function. One minor issue was identified in the CHANGELOG.md where a pull request number in the link text was inconsistent with the actual URL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant