/*
* Licensed 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 com.facebook.presto.hive;
import com.facebook.presto.spi.ErrorCode;
import com.facebook.presto.spi.ErrorCodeSupplier;
import com.facebook.presto.spi.ErrorType;
import static com.facebook.presto.spi.ErrorType.EXTERNAL;
import static com.facebook.presto.spi.ErrorType.INTERNAL_ERROR;
import static com.facebook.presto.spi.ErrorType.USER_ERROR;
public enum HiveErrorCode
implements ErrorCodeSupplier
{
HIVE_METASTORE_ERROR(0, EXTERNAL),
HIVE_CURSOR_ERROR(1, EXTERNAL),
HIVE_TABLE_OFFLINE(2, USER_ERROR),
HIVE_CANNOT_OPEN_SPLIT(3, EXTERNAL),
HIVE_FILE_NOT_FOUND(4, EXTERNAL),
HIVE_UNKNOWN_ERROR(5, EXTERNAL),
HIVE_PARTITION_OFFLINE(6, USER_ERROR),
HIVE_BAD_DATA(7, EXTERNAL),
HIVE_PARTITION_SCHEMA_MISMATCH(8, EXTERNAL),
HIVE_MISSING_DATA(9, EXTERNAL),
HIVE_INVALID_PARTITION_VALUE(10, EXTERNAL),
HIVE_TIMEZONE_MISMATCH(11, EXTERNAL),
HIVE_INVALID_METADATA(12, EXTERNAL),
HIVE_INVALID_VIEW_DATA(13, EXTERNAL),
HIVE_DATABASE_LOCATION_ERROR(14, EXTERNAL),
HIVE_PATH_ALREADY_EXISTS(15, EXTERNAL),
HIVE_FILESYSTEM_ERROR(16, EXTERNAL),
// code HIVE_WRITER_ERROR(17) is deprecated
HIVE_SERDE_NOT_FOUND(18, EXTERNAL),
HIVE_UNSUPPORTED_FORMAT(19, EXTERNAL),
HIVE_PARTITION_READ_ONLY(20, USER_ERROR),
HIVE_TOO_MANY_OPEN_PARTITIONS(21, USER_ERROR),
HIVE_CONCURRENT_MODIFICATION_DETECTED(22, EXTERNAL),
HIVE_COLUMN_ORDER_MISMATCH(23, USER_ERROR),
HIVE_FILE_MISSING_COLUMN_NAMES(24, EXTERNAL),
HIVE_WRITER_OPEN_ERROR(25, EXTERNAL),
HIVE_WRITER_CLOSE_ERROR(26, EXTERNAL),
HIVE_WRITER_DATA_ERROR(27, EXTERNAL),
HIVE_INVALID_BUCKET_FILES(28, EXTERNAL),
HIVE_EXCEEDED_PARTITION_LIMIT(29, USER_ERROR),
HIVE_WRITE_VALIDATION_FAILED(30, INTERNAL_ERROR);
private final ErrorCode errorCode;
HiveErrorCode(int code, ErrorType type)
{
errorCode = new ErrorCode(code + 0x0100_0000, name(), type);
}
@Override
public ErrorCode toErrorCode()
{
return errorCode;
}
}