abhishekrb19 opened a new pull request, #17983: URL: https://github.com/apache/druid/pull/17983
The `json_merge()` function currently fails when the first argument is null: `SELECT JSON_MERGE(null, null)`: `Function[json_merge] invalid input expected STRING but got STRING instead` (a contradicting error message). It also incorrectly returns a value if there’s a non-null argument alongside null arguments. In relational databases, the expected behavior is for the function to return `NULL` if any argument is `NULL`. This change updates `json_merge()` to align with that behavior and make it SQL-compliant. #### Release note Add SQL-compliant handling for `json_merge()` when arguments are null. <!-- Give your best effort to summarize your changes in a couple of sentences aimed toward Druid users. If your change doesn't have end user impact, you can skip this section. For tips about how to write a good release note, see [Release notes](https://github.com/apache/druid/blob/master/CONTRIBUTING.md#release-notes). --> <hr> <!-- Check the items by putting "x" in the brackets for the done things. Not all of these items apply to every PR. Remove the items which are not done or not relevant to the PR. None of the items from the checklist below are strictly necessary, but it would be very helpful if you at least self-review the PR. --> This PR has: - [x] been self-reviewed. - [x] a release note entry in the PR description. - [x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for [code coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md) is met. - [x] been tested in a test Druid cluster. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
