blob: 6ee4169fd8b96965c7fa5ac16076d82b71580e37 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.carbondata.core.metadata;
public enum ColumnarFormatVersion {
V1((short)1), // deprecated
V2((short)2), // deprecated
V3((short)3);
private short version;
ColumnarFormatVersion(short version) {
this.version = version;
}
@Override
public String toString() {
return "ColumnarFormatV" + version;
}
public short number() {
return version;
}
public static ColumnarFormatVersion valueOf(short version) {
switch (version) {
case 0:
// before multiple reader support, for existing carbon file, it is version 1
return V1;
case 1:
// after multiple reader support, user can write new file with version 1
return V1;
case 2:
return V2;
case 3:
return V3;
default:
throw new UnsupportedOperationException("Unsupported columnar format version: " + version);
}
}
}