This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #, if available: #564, #369, #192
Description of changes: The root cause of missing object/nested field is ES Get Field Mapping API return nothing for object/nested field. The result of Get Field Mapping API determines which field to return, hence object/nested field missing. To fix this issue, we need to return default "object" field for both when unable to find its type in Get Field Mapping response.
Side effect: The assumption that fields not exist in Get Field Mapping response must be object/nested is held only if the field is a valid and existing one. This is true when our semantic analyzer enabled, otherwise wrong type returned. Ideally, we may change to Get Index Mapping API or our own
LocalClusterState
. But both changes are major and the efforts are not worth for old engine legacy code.Testing: New UT, IT and doctest (as below) are added. All old tests can pass. Tested with JDBC driver. Right column can be returned but need to add object type handling logic to JDBC driver.
Documentation: Add a new section in https://github.com/dai-chen/sql/blob/fix-object-select-issue/docs/user/beyond/partiql.rst#querying-nested-tuple-values. Change introduction section to cover both object and nested field.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.