Skip to content

[fix](regression-test) fix stale nested-type assertions in two_level/three_level_nestedtypes_with_s3data#64706

Merged
morningman merged 1 commit into
apache:masterfrom
hello-stephen:fix/nested-types-group-by-stale-assertion
Jun 22, 2026
Merged

[fix](regression-test) fix stale nested-type assertions in two_level/three_level_nestedtypes_with_s3data#64706
morningman merged 1 commit into
apache:masterfrom
hello-stephen:fix/nested-types-group-by-stale-assertion

Conversation

@hello-stephen

Copy link
Copy Markdown
Contributor

Summary

  • GROUP BY/ORDER BY on plain array/map/struct columns no longer throws (CheckAfterRewrite now only blocks Object/Variant/Varbinary types), so the old errCode = 2 ... must use with specific function ... group by or order by exception assertions in two_level_nestedtypes_with_s3data.groovy / three_level_nestedtypes_with_s3data.groovy are stale; removed.
  • element_at() on a struct returns an untyped result that GROUP BY/ORDER BY and functions like map_keys()/size() can't accept directly — the most-nested-column checks now CAST it to the concrete type at each point of use instead of relying on it implicitly resolving.
  • Struct element_at() out-of-bound access (-1/0/1000) no longer throws the specified field index out of bound either; those stale assertions are removed too.
  • Refreshes CPUNetworkUtilization_order.out (brown_p2) to match current output — same class of stale-baseline issue.

Test plan

  • Ran two_level_nestedtypes_with_s3data and three_level_nestedtypes_with_s3data end-to-end with -forceGenOut on a branch-4.0 cluster — All suites success.
  • Ran both suites on a master-branch cluster — two_level_nestedtypes_with_s3data passes. three_level_nestedtypes_with_s3data hits an unrelated master-only BE bug ([NOT_IMPLEMENTED_ERROR] Method insert_many_dict_data is not supported for TINYINT) on a plain, untouched element_at SELECT — pre-existing, out of scope for this PR.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

https://claude.ai/code/session_01EoF4rikuEzGPKT2ML2WtnM

…Utilization_order/two_level/three_level_nestedtypes_with_s3data

GROUP BY/ORDER BY on array/map/struct columns no longer throws
(CheckAfterRewrite only blocks Object/Variant/Varbinary types now), so the
old "must use with specific function" exception assertions in
two_level_nestedtypes_with_s3data and three_level_nestedtypes_with_s3data
are stale and removed.

element_at() on a struct returns an untyped result that group by/order by
and functions like map_keys()/size() can't accept directly, so the
most-nested-column checks now cast it to the concrete type at each point
of use. Struct element_at out-of-bound access (-1/0/1000) no longer throws
either, so those assertions are removed too.

Also refreshes CPUNetworkUtilization_order.out to match current output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EoF4rikuEzGPKT2ML2WtnM
@hello-stephen

Copy link
Copy Markdown
Contributor Author

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@github-actions

Copy link
Copy Markdown
Contributor

Possible file(s) that should be tracked in LFS detected: 🚨

The following file(s) exceeds the file size limit: 1048576 bytes, as set in the .yml configuration files:

  • regression-test/data/datatype_p2/complex_types/three_level_nestedtypes_with_s3data.out
  • regression-test/data/datatype_p2/complex_types/two_level_nestedtypes_with_s3data.out

Consider using git-lfs to manage large files.

@github-actions github-actions Bot added the lfs-detected! Warning Label for use when LFS is detected in the commits of a Pull Request label Jun 22, 2026
@hello-stephen

Copy link
Copy Markdown
Contributor Author

skip buildall

@morningman morningman merged commit ea6445b into apache:master Jun 22, 2026
35 of 36 checks passed
github-actions Bot pushed a commit that referenced this pull request Jun 22, 2026
…three_level_nestedtypes_with_s3data (#64706)

## Summary
- `GROUP BY`/`ORDER BY` on plain array/map/struct columns no longer
throws (`CheckAfterRewrite` now only blocks Object/Variant/Varbinary
types), so the old `errCode = 2 ... must use with specific function ...
group by or order by` exception assertions in
`two_level_nestedtypes_with_s3data.groovy` /
`three_level_nestedtypes_with_s3data.groovy` are stale; removed.
- `element_at()` on a struct returns an untyped result that `GROUP
BY`/`ORDER BY` and functions like `map_keys()`/`size()` can't accept
directly — the most-nested-column checks now `CAST` it to the concrete
type at each point of use instead of relying on it implicitly resolving.
- Struct `element_at()` out-of-bound access (`-1`/`0`/`1000`) no longer
throws `the specified field index out of bound` either; those stale
assertions are removed too.
- Refreshes `CPUNetworkUtilization_order.out` (brown_p2) to match
current output — same class of stale-baseline issue.

## Test plan
- [x] Ran `two_level_nestedtypes_with_s3data` and
`three_level_nestedtypes_with_s3data` end-to-end with `-forceGenOut` on
a branch-4.0 cluster — `All suites success.`
- [x] Ran both suites on a master-branch cluster —
`two_level_nestedtypes_with_s3data` passes.
`three_level_nestedtypes_with_s3data` hits an unrelated master-only BE
bug (`[NOT_IMPLEMENTED_ERROR] Method insert_many_dict_data is not
supported for TINYINT`) on a plain, untouched `element_at` SELECT —
pre-existing, out of scope for this PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

https://claude.ai/code/session_01EoF4rikuEzGPKT2ML2WtnM

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@hello-stephen hello-stephen deleted the fix/nested-types-group-by-stale-assertion branch June 22, 2026 15:38
morningman pushed a commit that referenced this pull request Jun 23, 2026
…three_level_nestedtypes_with_s3data #64706 (#64709)

Cherry-picked from #64706 (master).

Auto cherry-pick failed with a conflict: branch-4.0's copy of these two
test files still uses `struct_element()` for struct field access, while
master renamed it to `element_at()` in an unrelated earlier change.
Resolved by taking master's `element_at()`-based content as-is — this
exact content has been run end-to-end on a real branch-4.0 cluster with
`-forceGenOut` and both suites pass (`All suites success.`), confirming
branch-4.0's engine supports `element_at()` on struct the same way
master does.

## Summary (from #64706)
- `GROUP BY`/`ORDER BY` on plain array/map/struct columns no longer
throws, so the old `errCode = 2 ... must use with specific function ...
group by or order by` exception assertions in
`two_level_nestedtypes_with_s3data.groovy` /
`three_level_nestedtypes_with_s3data.groovy` are stale; removed.
- `element_at()` on a struct returns an untyped result that `GROUP
BY`/`ORDER BY` and functions like `map_keys()`/`size()` can't accept
directly — the most-nested-column checks now `CAST` it to the concrete
type at each point of use.
- Struct `element_at()` out-of-bound access (`-1`/`0`/`1000`) no longer
throws `the specified field index out of bound` either; those stale
assertions are removed too.
- Refreshes `CPUNetworkUtilization_order.out` (brown_p2) to match
current output.

## Test plan
- [x] Ran both suites end-to-end with `-forceGenOut` on a real
branch-4.0 cluster — `All suites success.`

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

https://claude.ai/code/session_01EoF4rikuEzGPKT2ML2WtnM

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
yiguolei pushed a commit that referenced this pull request Jun 23, 2026
…n two_level/three_level_nestedtypes_with_s3data #64706 (#64707)

Cherry-picked from #64706

Co-authored-by: Dongyang Li <lidongyang@selectdb.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev/4.0.7-merged dev/4.1.3-merged lfs-detected! Warning Label for use when LFS is detected in the commits of a Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants