You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Yifan Zhang (Code Review)" <ge...@cloudera.org> on 2025/09/28 12:50:54 UTC
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Yifan Zhang has uploaded this change for review. ( http://gerrit.cloudera.org:8080/23475
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
5 files changed, 84 insertions(+), 12 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/1
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 1
Gerrit-Owner: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 8: Code-Review+1
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/8/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/8/be/src/exprs/string-functions.cc@370
PS8, Line 370:
nit: the indentation is not fixed yet. Need 2 more spaces here.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 08:20:07 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 9:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/8/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/8/be/src/exprs/string-functions.cc@370
PS8, Line 370:
> nit: the indentation is not fixed yet. Need 2 more spaces here.
Done
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 08:55:27 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#4).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 160 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/4
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 4
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 6:
(4 comments)
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util-test.cc
File be/src/util/string-util-test.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util-test.cc@135
PS5, Line 135:
> Can we also test "\n", "\\n", "\t", "\\t" ?
Done
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@95
PS5, Line 95: uint
> We prefer using uint8_t over char since char type can be signed or unsigned
Done
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@107
PS5, Line 107: result->reserve(end - start);
> Let's add a check before this to make sure 'end - start' is a valid value,
We use this utility function to extract JSON path key from 'path_str', and the length of 'path_str' <= StringVal::MAX_LENGTH, so I think there is no need to check this.
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@113
PS5, Line 113: result->push_back(*p);
> Is it true that "\t" will become "t" and "\n" will become "n"?
Yes, I think so. If we want to include "\t" or "\n" in JSON path, we should use "\\t", "\\n".
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 6
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sat, 13 Dec 2025 04:57:10 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 2:
(3 comments)
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc@363
PS2, Line 363: "
Should we also support single quotes?
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc@366
PS2, Line 366:
nit: please align these
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3144
PS2, Line 3144: "a.com"
Can we add some negative tests like using "a."com where not all parts of the key are quoted?
Also does it mean anything can be quoted as a key, e.g. "a[0]", "$100" ?
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Tue, 11 Nov 2025 02:32:56 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 8:
(5 comments)
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@368
PS7, Line 368: constexpr char quote_char = '"';
> nit: constexpr before the loop?
Done
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@370
PS7, Line 370: int consumed = ParseQuotedString(path + i, path_end, quote_char, &key);
> nit: indentation is off by 2
Done
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@371
PS7, Line 371:
: string msg = Substitute("Failed to parse quoted
> nit: indentation for additional param should be 4
Done
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/util/string-util.cc@97
PS7, Line 97: if (start == nullptr || end == nullptr || result == nullptr || start >= end) {
> Please move this after the null-check, or is this required at all?
Done
http://gerrit.cloudera.org:8080/#/c/23475/7/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/7/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3143
PS7, Line 3143: Verify that
> nit: usually, we add the ticket number to a test if it's a fix for regressi
Done
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Tue, 20 Jan 2026 17:37:54 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@107
PS5, Line 107: result->reserve(end - start);
> It's helpful to protect future usages on this method. At least we should ad
Done
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sun, 04 Jan 2026 08:22:25 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Peter Rozsa (Code Review)" <ge...@cloudera.org>.
Peter Rozsa has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7:
(5 comments)
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@368
PS7, Line 368: const char quote_char = '"';
nit: constexpr before the loop?
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@370
PS7, Line 370: int consumed = ParseQuotedString(path + i,
nit: indentation is off by 2
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@371
PS7, Line 371: path_end,
: quote_char, &key);
nit: indentation for additional param should be 4
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/util/string-util.cc@97
PS7, Line 97: result->clear();
Please move this after the null-check, or is this required at all?
http://gerrit.cloudera.org:8080/#/c/23475/7/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/7/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3143
PS7, Line 3143: IMPALA-14467
nit: usually, we add the ticket number to a test if it's a fix for regression, for new features, we can go simply with the description of the test.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sat, 10 Jan 2026 13:25:03 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 3:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/20893/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 3
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 13 Nov 2025 10:43:50 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 4:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/20894/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 4
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 13 Nov 2025 11:42:28 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Peter Rozsa, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#8).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 224 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/8
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 8:
Build Failed
https://jenkins.impala.io/job/gerrit-code-review-checks/21441/ : Initial code review checks failed. See linked job for details on the failure.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Tue, 20 Jan 2026 18:41:44 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7: Code-Review+1
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@340
PS7, Line 340: DCHECK_LE(path_end - path, StringVal::MAX_LENGTH);
> Thank you for the suggestion.
Ack. This shouldn't be a blocker. I'm fine to this.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Wed, 07 Jan 2026 07:38:23 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Pranav Lodha (Code Review)" <ge...@cloudera.org>.
Pranav Lodha has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 2:
(2 comments)
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/util/string-util.cc@118
PS2, Line 118: return p - start + 1;
Can you please explain about the function in a comment, what it returns and what does start and other variables point to?
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3149
PS2, Line 3149:
: ---- QUERY
Add a test of an empty string within "", do we want to treat that as a valid case now?
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Tue, 11 Nov 2025 20:04:34 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 5:
Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/12766/ DRY_RUN=true
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 5
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Wed, 10 Dec 2025 09:16:37 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#6).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 225 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/6
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 6
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 2:
(3 comments)
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc@365
PS1, Line 365: int offset = ParseQuotedString(reinterpret_cast<const char*>(path + i),
> line has trailing whitespace
Done
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc@366
PS1, Line 366: reinterpret_cast<const char*>(path_end),
> line has trailing whitespace
Done
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/util/string-util.cc@95
PS1, Line 95: int ParseQuotedString(const char* start, const char* end, char quote_char,
> line too long (97 > 90)
Done
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 09 Oct 2025 02:36:13 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Pranav Lodha (Code Review)" <ge...@cloudera.org>.
Pranav Lodha has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 2:
(1 comment)
> Patch Set 2:
>
> (2 comments)
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3150
PS2, Line 3150: ---- QUERY
Please add more tests and try to look at different combinations/cases.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Tue, 11 Nov 2025 20:05:42 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#3).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 160 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/3
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 3
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@340
PS7, Line 340: DCHECK_LE(path_end - path, StringVal::MAX_LENGTH);
> Not adding it here since 'path_str' should be valid. Instead, we need this
Thank you for the suggestion.
However, string-util.cc is a low-level utility library, while StringVal is a UDF framework type. Adding this DCHECK inside ParseQuotedString() would require including udf/udf.h in string-util.cc, creating an undesirable dependency on the UDF framework. If length validation is needed for UDF usage, it should be added at the caller level in the UDF layer.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Mon, 05 Jan 2026 04:01:33 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 9: Code-Review+1
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Mon, 09 Feb 2026 00:43:48 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 9:
Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/12980/ DRY_RUN=true
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 09:49:31 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 4:
(6 comments)
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc@363
PS2, Line 363:
> Should we also support single quotes?
I think supporting double quotes is enough.
Because JSON string should always be quoted with double quotes, and MySQL also only supports double quotes.
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/exprs/string-functions.cc@366
PS2, Line 366:
> nit: please align these
Done
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/2/be/src/util/string-util.cc@118
PS2, Line 118: else {
> Can you please explain about the function in a comment, what it returns and
Comment was added in .h file.
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test
File testdata/workloads/functional-query/queries/QueryTest/exprs.test:
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3144
PS2, Line 3144: "a.com"
> Can we add some negative tests like using "a."com where not all parts of th
Added some negative tests.
Yes, dot and other special characters can be quoted as a key.
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3150
PS2, Line 3150: ---- QUERY
> Please add more tests and try to look at different combinations/cases.
Done
http://gerrit.cloudera.org:8080/#/c/23475/2/testdata/workloads/functional-query/queries/QueryTest/exprs.test@3149
PS2, Line 3149:
: ---- QUERY
> Add a test of an empty string within "", do we want to treat that as a vali
Yes, empty string is also a valid key.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 4
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 13 Nov 2025 11:20:22 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/21274/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sun, 04 Jan 2026 08:48:33 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 1:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/20590/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 1
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Comment-Date: Sun, 28 Sep 2025 13:17:49 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 5:
(4 comments)
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util-test.cc
File be/src/util/string-util-test.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util-test.cc@135
PS5, Line 135: }
Can we also test "\n", "\\n", "\t", "\\t" ?
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@95
PS5, Line 95: char
We prefer using uint8_t over char since char type can be signed or unsigned depending on the compiler and platform.
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@107
PS5, Line 107: result->reserve(end - start);
Let's add a check before this to make sure 'end - start' is a valid value, e.g. <= StringVal::MAX_LENGTH.
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@113
PS5, Line 113: result->push_back(*p);
Is it true that "\t" will become "t" and "\n" will become "n"?
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 5
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Wed, 10 Dec 2025 11:50:38 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 6: Code-Review+1
(2 comments)
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@107
PS5, Line 107: result->reserve(end - start);
> We use this utility function to extract JSON path key from 'path_str', and
It's helpful to protect future usages on this method. At least we should add a DCHECK like we do in other methods.
http://gerrit.cloudera.org:8080/#/c/23475/5/be/src/util/string-util.cc@113
PS5, Line 113: result->push_back(*p);
> Yes, I think so. If we want to include "\t" or "\n" in JSON path, we should
Ack
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 6
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Fri, 02 Jan 2026 02:40:11 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Quanlong Huang (Code Review)" <ge...@cloudera.org>.
Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 7:
(1 comment)
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/7/be/src/exprs/string-functions.cc@340
PS7, Line 340: DCHECK_LE(path_end - path, StringVal::MAX_LENGTH);
Not adding it here since 'path_str' should be valid. Instead, we need this inside ParseQuotedString() to protect future usages from other code paths.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sun, 04 Jan 2026 12:28:39 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 9:
Build Failed
https://jenkins.impala.io/job/gerrit-code-review-checks/21462/ : Initial code review checks failed. See linked job for details on the failure.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 09:18:09 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 2:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/20591/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Comment-Date: Mon, 29 Sep 2025 04:44:16 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 6:
Build Successful
https://jenkins.impala.io/job/gerrit-code-review-checks/21158/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 6
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Sat, 13 Dec 2025 05:22:21 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 1:
(3 comments)
gerrit-auto-critic failed. You can reproduce it locally using command:
python3 bin/jenkins/critique-gerrit-review.py --dryrun
To run it, you might need a virtual env with Python3's venv installed.
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc
File be/src/exprs/string-functions.cc:
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc@365
PS1, Line 365: int offset = ParseQuotedString(reinterpret_cast<const char*>(path + i),
line has trailing whitespace
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/exprs/string-functions.cc@366
PS1, Line 366: reinterpret_cast<const char*>(path_end),
line has trailing whitespace
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/util/string-util.cc
File be/src/util/string-util.cc:
http://gerrit.cloudera.org:8080/#/c/23475/1/be/src/util/string-util.cc@95
PS1, Line 95: int ParseQuotedString(const char* start, const char* end, char quote_char, std::string* result) {
line too long (97 > 90)
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 1
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Comment-Date: Sun, 28 Sep 2025 12:52:54 +0000
Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Yifan Zhang has uploaded a new patch set (#2). ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
5 files changed, 85 insertions(+), 12 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/2
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 2
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 8: Verified-1
Build failed: https://jenkins.impala.io/job/gerrit-verify-dryrun/12978/
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 08:19:26 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 9: Verified+1
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 14:53:44 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 8:
Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/12978/ DRY_RUN=true
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 8
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 22 Jan 2026 02:48:06 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Peter Rozsa, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#9).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 223 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/9
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 9
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Peter Rozsa <pr...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 5: Verified+1
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 5
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Wed, 10 Dec 2025 13:58:15 +0000
Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#5).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 166 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/5
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 5
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Yifan Zhang (Code Review)" <ge...@cloudera.org>.
Hello Quanlong Huang, Pranav Lodha, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/23475
to look at the new patch set (#7).
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
IMPALA-14467: Support quoted keys with dots in get_json_object path strings
This patch enhances GetJsonObjectImpl to support double-quoted keys
in JSON paths. Adds ParseQuotedString utility function to handle
quoted string parsing with escape sequence support. This enables
accessing JSON keys containing dots and other special characters,
aligning with MySQL JSON_EXTRACT behavior.
Test:
- Adds unit tests in expr-test
- Adds e2e tests in exprs.test
Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
---
M be/src/exprs/expr-test.cc
M be/src/exprs/string-functions.cc
M be/src/util/CMakeLists.txt
M be/src/util/string-util-test.cc
M be/src/util/string-util.cc
M be/src/util/string-util.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
7 files changed, 226 insertions(+), 13 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/23475/7
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 7
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
[Impala-ASF-CR] IMPALA-14467: Support quoted keys with dots in get json object path strings
Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/23475 )
Change subject: IMPALA-14467: Support quoted keys with dots in get_json_object path strings
......................................................................
Patch Set 3:
(2 comments)
gerrit-auto-critic failed. You can reproduce it locally using command:
python3 bin/jenkins/critique-gerrit-review.py --dryrun
To run it, you might need a virtual env with Python3's venv installed.
http://gerrit.cloudera.org:8080/#/c/23475/3/be/src/util/string-util-test.cc
File be/src/util/string-util-test.cc:
http://gerrit.cloudera.org:8080/#/c/23475/3/be/src/util/string-util-test.cc@117
PS3, Line 117: int consumed = ParseQuotedString(empty_input.data(), empty_input.data() + empty_input.size(),
line too long (95 > 90)
http://gerrit.cloudera.org:8080/#/c/23475/3/be/src/util/string-util.h
File be/src/util/string-util.h:
http://gerrit.cloudera.org:8080/#/c/23475/3/be/src/util/string-util.h@57
PS3, Line 57: /// number of characters consumed from start including both quotes; returns -1 if the input
line too long (91 > 90)
--
To view, visit http://gerrit.cloudera.org:8080/23475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3618d9e029501f9ac0e23190feb8263968b1b9f
Gerrit-Change-Number: 23475
Gerrit-PatchSet: 3
Gerrit-Owner: Yifan Zhang <ch...@163.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Pranav Lodha <pr...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <hu...@gmail.com>
Gerrit-Reviewer: Yifan Zhang <ch...@163.com>
Gerrit-Comment-Date: Thu, 13 Nov 2025 10:19:33 +0000
Gerrit-HasComments: Yes