[NO ISSUE][MTD] Fix Reading Dataset Compression From Dataset Record
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Fix reading the dataset compression scheme by reading its
value from the compression record rather than the dataset record.
Change-Id: I3bdb1f64143fed43dc9eb37cf8a2fadbfd37dfde
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3445
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Reviewed-by: Wail Alkowaileet <wael.y.k@gmail.com>
diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
index 27978ab..7f8b9bf6 100644
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
@@ -282,7 +282,8 @@
final ARecordType compressionType = (ARecordType) datasetType.getFieldTypes()[compressionIndex];
final int schemeIndex = compressionType
.getFieldIndex(MetadataRecordTypes.DATASET_ARECORD_DATASET_COMPRESSION_SCHEME_FIELD_NAME);
- return ((AString) datasetRecord.getValueByPos(schemeIndex)).getStringValue();
+ final ARecord compressionRecord = (ARecord) datasetRecord.getValueByPos(compressionIndex);
+ return ((AString) compressionRecord.getValueByPos(schemeIndex)).getStringValue();
}
return CompressionManager.NONE;
}