HIVE-29413: Generalise column related APIs in Table.java#6413
HIVE-29413: Generalise column related APIs in Table.java#6413ramitg254 wants to merge 26 commits into
Conversation
|
@ramitg254 please take a look: 9e7535c. I would suggest following similar approach |
|
but here we are creating separate method getEffectivePartCols() and leaving getPartCols() as it is, which as per our discussion on that closed pr we shouldn't do that, and only go ahead with updating getPartCols() |
Where did I say that? The ask was to keep the original method unchanged. same here |
|
oh I got confused due to this comment: #6337 (comment) in which getSupportedPartCols() was just separate method similar to getEffectivePartCols() |
|
I am fine with that earlier approach as well but recently I saw this one: https://issues.apache.org/jira/browse/HIVE-29525 so I thought we should have unified getPartCols() and getCols() which gives similar results as native hive tables as first step towards solving this after that those plan logics can be taken care of later on when that ticket will be addressed. please share your thoughts on this idea |
|
I was planning to but updating getCols() will alone cause test failures for all q files whichever has describe command for iceberg tables and also query plans will itself get affected as stats logic current take this getCols() into account and there are around 90+ occurences of it in code so it will lead to breakage as well so I thought it will be better if we take care of it as a separate change |
I guess that was the main intent — to integrate Iceberg partition handling into the existing code with minimal workarounds/code duplication. Maybe I’m missing something, but, unfortunately, I don’t see much value in the current state of PR, sorry. Let’s see what Krisztian thinks about it. |
# Conflicts: # ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsAutoGatherContext.java
# Conflicts: # ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java
| // TODO: make it configurable whether we want to include the table columns in the select query. | ||
| // It might make delete writes faster if we don't have to write out the row object | ||
| ListUtils.union(ACID_VIRTUAL_COLS_AS_FIELD_SCHEMA, table.getCols()); | ||
| ListUtils.union(ACID_VIRTUAL_COLS_AS_FIELD_SCHEMA, table.getStorageSchemaCols()); |
There was a problem hiding this comment.
drop this getStorageSchemaCols. union getCols and getPartitionCols
|



What changes were proposed in this pull request?
added getEffectivePartCols() in most places possible to avoid code duplication.
Why are the changes needed?
getPartCols() does not have support for iceberg tables.
Does this PR introduce any user-facing change?
No
How was this patch tested?
ci tests and local build