jackylk commented on a change in pull request #3598: [CARBONDATA-3684] Remove
MDK and cardinality in write path
URL: https://github.com/apache/carbondata/pull/3598#discussion_r377436567
##########
File path:
core/src/main/java/org/apache/carbondata/core/datastore/block/SegmentProperties.java
##########
@@ -640,15 +377,91 @@ public int getNumberOfSortColumns() {
return numberOfSortColumns;
}
- public int getNumberOfNoDictSortColumns() {
- return numberOfNoDictSortColumns;
+ public int getLastDimensionColOrdinal() {
+ return lastDimensionColOrdinal;
+ }
+
+ public int getNumberOfColumns() {
+ return numberOfColumnsAfterFlatten;
}
- public int getNumberOfDictSortColumns() {
- return this.numberOfSortColumns - this.numberOfNoDictSortColumns;
+ public int getNumberOfDictDimensions() {
+ return numberOfDictDimensions;
}
- public int getLastDimensionColOrdinal() {
- return lastDimensionColOrdinal;
+ public int getNumberOfSimpleDimensions() {
+ return numberOfDictDimensions + numberOfNoDictionaryDimension;
+ }
+
+ public int getNumberOfComplexDimensions() {
+ return complexDimensions.size();
+ }
+
+ public int getNumberOfMeasures() {
+ return measures.size();
+ }
+
+ /**
+ * Return column value length in byte for all dimension columns in the table
+ * for dimension it is -1 (for DATE it is 4),
+ */
+ public int[] createDimColumnValueLength() {
+ int[] length = new int[dimensions.size()];
+ int index = 0;
+ for (CarbonDimension dimension : dimensions) {
+ DataType dataType = dimension.getDataType();
+ if (dataType == DataTypes.DATE) {
+ length[index] = 4;
+ } else {
+ length[index] = -1;
+ }
+ index++;
+ }
+ return length;
+ }
+
+ /**
+ * Return column value length in byte for all columns in the table
+ * for dimension and complex column it is -1 (for DATE it is 4),
+ * for measure is 8 (for decimal is -1)
+ */
+ public int[] createColumnValueLength() {
+ int[] length = new int[numberOfColumnsAfterFlatten];
+ int index = 0;
+ for (CarbonDimension dimension : dimensions) {
+ DataType dataType = dimension.getDataType();
+ if (dataType == DataTypes.DATE) {
+ length[index] = 4;
+ } else {
+ length[index] = -1;
+ }
+ index++;
+ }
+ for (CarbonDimension complexDimension : complexDimensions) {
+ int depth = getNumColumnsAfterFlatten(complexDimension);
+ for (int i = 0; i < depth; i++) {
+ length[index++] = -1;
+ }
+ }
+ for (CarbonMeasure measure : measures) {
+ DataType dataType = measure.getDataType();
+ if (DataTypes.isDecimal(dataType)) {
+ length[index++] = -1;
+ } else {
+ length[index++] = 8;
Review comment:
I have created JIRA for this: CARBONDATA-3690, will fix later
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services