Returns the absolute physical path in positions starting from the schema root to the destination of this path.
()
| 575 | * destination of this path. |
| 576 | */ |
| 577 | public List<Integer> getAbsolutePath() { |
| 578 | if (absolutePath_ != null) return absolutePath_; |
| 579 | Preconditions.checkState(isResolved_); |
| 580 | absolutePath_ = new ArrayList<>(); |
| 581 | if (rootDesc_ != null) absolutePath_.addAll(rootDesc_.getPath().getAbsolutePath()); |
| 582 | absolutePath_.addAll(matchedPositions_); |
| 583 | // ACID table schema path differs from file schema path. Let's convert it here. |
| 584 | if (!absolutePath_.isEmpty() && |
| 585 | // Only convert if path was already absolute. Otherwise 'matchedPositions_' is |
| 586 | // relative to a path that we have already converted. |
| 587 | matchedPositions_.size() == absolutePath_.size() && |
| 588 | rootTable_ != null && |
| 589 | AcidUtils.isFullAcidTable(rootTable_.getMetaStoreTable().getParameters())) { |
| 590 | convertToFullAcidFilePath(); |
| 591 | } |
| 592 | return absolutePath_; |
| 593 | } |
| 594 | |
| 595 | /** |
| 596 | * Converts table schema path to file schema path. Well, it's actually somewhere between |