http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicatePartitionException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicatePartitionException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicatePartitionException.java new file mode 100644 index 0000000..bdec4fc --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicatePartitionException.java @@ -0,0 +1,30 @@ +/** + * 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.tajo.catalog.exception; + +import org.apache.tajo.error.Errors; + +public class DuplicatePartitionException extends CatalogException { + private static final long serialVersionUID = 277182608283894930L; + + public DuplicatePartitionException(String partitionName) { + super(Errors.ResultCode.DUPLICATE_PARTITION, partitionName); + } + +}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTableException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTableException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTableException.java new file mode 100644 index 0000000..74fa39f --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTableException.java @@ -0,0 +1,30 @@ +/** + * 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.tajo.catalog.exception; + + +import org.apache.tajo.error.Errors; + +public class DuplicateTableException extends CatalogException { + private static final long serialVersionUID = -641623770742392865L; + + public DuplicateTableException(String relName) { + super(Errors.ResultCode.DUPLICATE_TABLE, relName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTablespaceException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTablespaceException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTablespaceException.java new file mode 100644 index 0000000..2e03e3c --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/DuplicateTablespaceException.java @@ -0,0 +1,28 @@ +/** + * 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.tajo.catalog.exception; + + +import org.apache.tajo.error.Errors; + +public class DuplicateTablespaceException extends CatalogException { + public DuplicateTablespaceException(String spaceName) { + super(Errors.ResultCode.DUPLICATE_TABLESPACE, spaceName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidNameException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidNameException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidNameException.java new file mode 100644 index 0000000..1692777 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidNameException.java @@ -0,0 +1,29 @@ +/* + * Lisensed 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.tajo.catalog.exception; + + +import org.apache.tajo.error.Errors; + +public class InvalidNameException extends CatalogException { + + public InvalidNameException(String databaseName) { + super(Errors.ResultCode.INVALID_NAME, databaseName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/MetadataConnectionException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/MetadataConnectionException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/MetadataConnectionException.java new file mode 100644 index 0000000..e155bf1 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/MetadataConnectionException.java @@ -0,0 +1,32 @@ +/* + * 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.tajo.catalog.exception; + +import org.apache.tajo.error.Errors.ResultCode; +import org.apache.tajo.exception.TajoError; + +/** + * Tajo Metadata Connector's connection error + */ +public class MetadataConnectionException extends TajoError { + + public MetadataConnectionException(String uri, Throwable t) { + super(ResultCode.CAT_CANNOT_CONNECT, t, uri, t.getMessage()); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java index eded789..e81f526 100644 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java @@ -20,8 +20,6 @@ package org.apache.tajo.catalog.exception; public class NoPartitionedTableException extends Exception { - public NoPartitionedTableException() {} - public NoPartitionedTableException(String databaseName, String relName) { super(String.format("ERROR: table \"%s.%s\" is not a partitioned table", databaseName, relName)); } http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchColumnException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchColumnException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchColumnException.java deleted file mode 100644 index 4af3f70..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchColumnException.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * 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.tajo.catalog.exception; - - -public class NoSuchColumnException extends CatalogException { - private static final long serialVersionUID = 277182608283894937L; - - public NoSuchColumnException() {} - - public NoSuchColumnException(String databaseName, String relName, String columnName) { - super(String.format("ERROR: column \" %s.%s \" in %s does not exist", relName, columnName, databaseName)); - } - - public NoSuchColumnException(String columnName) { - super("ERROR: column \"" + columnName + "\" does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java deleted file mode 100644 index 757cad5..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * 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.tajo.catalog.exception; - - -public class NoSuchDatabaseException extends CatalogException { - private static final long serialVersionUID = 277182608283894937L; - - public NoSuchDatabaseException() {} - - public NoSuchDatabaseException(String databaseName) { - super("ERROR: database \"" + databaseName + "\" does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java deleted file mode 100644 index e91e41d..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * 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.tajo.catalog.exception; - -import org.apache.tajo.common.TajoDataTypes; -import org.apache.tajo.function.FunctionUtil; - -import java.util.Collection; - -public class NoSuchFunctionException extends RuntimeException { - private static final long serialVersionUID = 5062193018697228028L; - - public NoSuchFunctionException(String message) { - super(message); - } - - public NoSuchFunctionException(String funcName, TajoDataTypes.DataType [] parameters) { - super("function " + FunctionUtil.buildSimpleFunctionSignature(funcName, parameters) + " does not exist"); - } - - public NoSuchFunctionException(String funcName, Collection<TajoDataTypes.DataType> parameters) { - super("function " + FunctionUtil.buildSimpleFunctionSignature(funcName, parameters) + " does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java deleted file mode 100644 index 0bb7e32..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * 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.tajo.catalog.exception; - -public class NoSuchIndexException extends CatalogException { - private static final long serialVersionUID = 3705839985189534673L; - - public NoSuchIndexException() { - } - - public NoSuchIndexException(String databaseName, String columnName) { - super(String.format("ERROR: index \" %s \" in %s does not exist", columnName, databaseName)); - } - - public NoSuchIndexException(String indexName) { - super("ERROR: index \"" + indexName + "\" does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java deleted file mode 100644 index cc11444..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * 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.tajo.catalog.exception; - - -public class NoSuchTableException extends CatalogException { - private static final long serialVersionUID = 277182608283894937L; - - public NoSuchTableException() {} - - public NoSuchTableException(String databaseName, String relName) { - super(String.format("ERROR: relation \" %s \" in %s does not exist", relName, databaseName)); - } - - public NoSuchTableException(String relName) { - super("ERROR: relation \"" + relName + "\" does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java deleted file mode 100644 index 8b7d80b..0000000 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * 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.tajo.catalog.exception; - -public class NoSuchTablespaceException extends CatalogException { - private static final long serialVersionUID = 277182608283894937L; - - public NoSuchTablespaceException() {} - - public NoSuchTablespaceException(String spaceName) { - super("ERROR: tablespace \"" + spaceName + "\" does not exist"); - } -} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedColumnException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedColumnException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedColumnException.java new file mode 100644 index 0000000..43b7410 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedColumnException.java @@ -0,0 +1,30 @@ +/** + * 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.tajo.catalog.exception; + + +import org.apache.tajo.error.Errors.ResultCode; + +public class UndefinedColumnException extends CatalogException { + private static final long serialVersionUID = 277182608283894937L; + + public UndefinedColumnException(String columnName) { + super(ResultCode.UNDEFINED_COLUMN, columnName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedDatabaseException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedDatabaseException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedDatabaseException.java new file mode 100644 index 0000000..8294add --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedDatabaseException.java @@ -0,0 +1,30 @@ +/** + * 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.tajo.catalog.exception; + + +import org.apache.tajo.error.Errors; + +public class UndefinedDatabaseException extends CatalogException { + private static final long serialVersionUID = 277182608283894937L; + + public UndefinedDatabaseException(String dbName) { + super(Errors.ResultCode.UNDEFINED_DATABASE, dbName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedFunctionException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedFunctionException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedFunctionException.java new file mode 100644 index 0000000..175b597 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedFunctionException.java @@ -0,0 +1,44 @@ +/** + * 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.tajo.catalog.exception; + +import org.apache.tajo.common.TajoDataTypes; +import org.apache.tajo.error.Errors; +import org.apache.tajo.error.Errors.ResultCode; +import org.apache.tajo.exception.TajoException; +import org.apache.tajo.exception.TajoRuntimeException; +import org.apache.tajo.function.FunctionUtil; + +import java.util.Collection; + +public class UndefinedFunctionException extends CatalogException { + private static final long serialVersionUID = 5062193018697228028L; + + public UndefinedFunctionException(String signature) { + super(ResultCode.UNDEFINED_FUNCTION, signature); + } + + public UndefinedFunctionException(String funcName, TajoDataTypes.DataType[] parameters) { + super(ResultCode.UNDEFINED_FUNCTION, FunctionUtil.buildSimpleFunctionSignature(funcName, parameters)); + } + + public UndefinedFunctionException(String funcName, Collection<TajoDataTypes.DataType> parameters) { + super(ResultCode.UNDEFINED_FUNCTION, FunctionUtil.buildSimpleFunctionSignature(funcName, parameters)); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedIndexException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedIndexException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedIndexException.java new file mode 100644 index 0000000..d228a40 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedIndexException.java @@ -0,0 +1,33 @@ +/** + * 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.tajo.catalog.exception; + +import org.apache.tajo.error.Errors.ResultCode; + +public class UndefinedIndexException extends CatalogException { + private static final long serialVersionUID = 3705839985189534673L; + + public UndefinedIndexException(String tableName, String columnName) { + super(ResultCode.UNDEFINED_INDEX, tableName, columnName); + } + + public UndefinedIndexException(String indexName) { + super(ResultCode.UNDEFINED_INDEX_NAME, indexName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedPartitionException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedPartitionException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedPartitionException.java new file mode 100644 index 0000000..282f0a2 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedPartitionException.java @@ -0,0 +1,30 @@ +/** + * 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.tajo.catalog.exception; + +import org.apache.tajo.error.Errors.ResultCode; + +public class UndefinedPartitionException extends CatalogException { + + private static final long serialVersionUID = 277182608283894938L; + + public UndefinedPartitionException(String partitionName) { + super(ResultCode.UNDEFINED_PARTITION, partitionName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTableException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTableException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTableException.java new file mode 100644 index 0000000..2513783 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTableException.java @@ -0,0 +1,35 @@ +/** + * 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.tajo.catalog.exception; + + +import org.apache.tajo.catalog.CatalogUtil; +import org.apache.tajo.error.Errors.ResultCode; + +public class UndefinedTableException extends CatalogException { + private static final long serialVersionUID = 277182608283894937L; + + public UndefinedTableException(String dbName, String tbName) { + super(ResultCode.UNDEFINED_TABLE, CatalogUtil.buildFQName(dbName, tbName)); + } + + public UndefinedTableException(String relName) { + super(ResultCode.UNDEFINED_TABLE, relName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTablespaceException.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTablespaceException.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTablespaceException.java new file mode 100644 index 0000000..ffe5789 --- /dev/null +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/UndefinedTablespaceException.java @@ -0,0 +1,29 @@ +/** + * 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.tajo.catalog.exception; + +import org.apache.tajo.error.Errors; + +public class UndefinedTablespaceException extends CatalogException { + private static final long serialVersionUID = 277182608283894937L; + + public UndefinedTablespaceException(String spaceName) { + super(Errors.ResultCode.UNDEFINED_TABLESPACE, spaceName); + } +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto index b213916..d0cf238 100644 --- a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto +++ b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto @@ -133,42 +133,10 @@ enum IndexMethod { BITMAP_IDX = 3; } -message GetAllTableNamesResponse { - repeated string tableName = 1; -} - -message GetTablespacesProto { - repeated TablespaceProto tablespace = 1; -} - -message GetDatabasesProto { - repeated DatabaseProto database = 1; -} - -message GetTablesProto { - repeated TableDescriptorProto table = 1; -} - -message GetColumnsProto { - repeated ColumnProto column = 1; -} - message GetIndexesProto { repeated IndexProto index = 1; } -message GetTableOptionsProto { - repeated TableOptionProto tableOption = 1; -} - -message GetTableStatsProto { - repeated TableStatsProto stat = 1; -} - -message GetTablePartitionsProto { - repeated TablePartitionProto part = 1; -} - message IndexProto { required int32 dbId = 1; required int32 tId = 2; @@ -281,11 +249,6 @@ message SortSpecProto { optional bool nullFirst = 3 [default = false]; } - -message PartitionsProto { - repeated PartitionDescProto partition = 1; -} - message PartitionMethodProto { required TableIdentifierProto tableIdentifier = 1; required PartitionType partitionType = 2; @@ -304,7 +267,6 @@ message PartitionKeyProto { required string partitionValue = 2; } - message PartitionIdentifierProto { required string databaseName = 1; required string tableName = 2; @@ -319,9 +281,9 @@ message TablespaceProto { } message DatabaseProto { - required int32 spaceId = 1; - required int32 id = 2; - required string name = 3; + required int32 spaceId = 1; + required int32 id = 2; + required string name = 3; } message TableDescriptorProto { @@ -430,3 +392,18 @@ message PythonInvocationDescProto { required string filePath = 2; required bool isScalarFunction = 3; } + +message TableResponse { + required ReturnState state = 1; + optional TableDescProto table = 2; +} + +message FunctionResponse { + required ReturnState state = 1; + optional FunctionDescProto function = 2; +} + +message FunctionListResponse { + required ReturnState state = 1; + repeated FunctionDescProto function = 2; +} http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java index edd0f3e..cf1a24a 100644 --- a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java +++ b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java @@ -18,7 +18,7 @@ package org.apache.tajo.catalog; -import org.apache.tajo.catalog.exception.AlreadyExistsFieldException; +import org.apache.tajo.catalog.exception.DuplicateColumnException; import org.apache.tajo.catalog.json.CatalogGsonHelper; import org.apache.tajo.catalog.proto.CatalogProtos.SchemaProto; import org.apache.tajo.common.TajoDataTypes.Type; @@ -191,7 +191,7 @@ public class TestSchema { assertEquals(schema.size(), schema3.size()); } - @Test(expected = AlreadyExistsFieldException.class) + @Test(expected = DuplicateColumnException.class) public final void testAddExistColumn() { Schema schema = new Schema(); schema.addColumn("abc", Type.FLOAT8); http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java index 8f23db4..daba8ba 100644 --- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java +++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java @@ -49,9 +49,10 @@ import org.apache.tajo.catalog.proto.CatalogProtos.TableStatsProto; import org.apache.tajo.catalog.proto.CatalogProtos.TablespaceProto; import org.apache.tajo.catalog.statistics.TableStats; import org.apache.tajo.common.TajoDataTypes; -import org.apache.tajo.common.exception.NotImplementedException; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.exception.InternalException; +import org.apache.tajo.exception.TajoInternalError; +import org.apache.tajo.exception.UnsupportedException; import org.apache.tajo.storage.StorageConstants; import org.apache.tajo.util.KeyValueSet; import org.apache.thrift.TException; @@ -73,7 +74,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { public HiveCatalogStore(final Configuration conf) throws InternalException { if (!(conf instanceof TajoConf)) { - throw new CatalogException("Invalid Configuration Type:" + conf.getClass().getSimpleName()); + throw new TajoInternalError("Invalid Configuration Type:" + conf.getClass().getSimpleName()); } this.conf = conf; this.defaultTableSpaceUri = TajoConf.getWarehouseDir((TajoConf) conf).toString(); @@ -96,7 +97,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException nsoe) { exist = false; } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -127,9 +128,9 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { table = HiveCatalogUtil.getTable(client.getHiveClient(), databaseName, tableName); path = table.getPath(); } catch (NoSuchObjectException nsoe) { - throw new CatalogException("Table not found. - tableName:" + tableName, nsoe); + throw new UndefinedTableException(tableName); } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } // convert HiveCatalogStore field schema into tajo field schema. @@ -221,7 +222,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { totalSize = fs.getContentSummary(path).getLength(); } } catch (IOException ioe) { - throw new CatalogException("Fail to get path. - path:" + path.toString(), ioe); + throw new TajoInternalError(ioe); } } stats.setNumBytes(totalSize); @@ -288,7 +289,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client = clientPool.getClient(); return client.getHiveClient().getAllTables(databaseName); } catch (TException e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if(client != null) client.release(); } @@ -323,7 +324,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { builder.setUri(defaultTableSpaceUri); return builder.build(); } else { - throw new CatalogException("tablespace concept is not supported in HiveCatalogStore"); + throw new UnsupportedException("Tablespace in HiveMeta"); } } @@ -335,7 +336,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { @Override public void alterTablespace(CatalogProtos.AlterTablespaceProto alterProto) throws CatalogException { - throw new CatalogException("tablespace concept is not supported in HiveCatalogStore"); + throw new UnsupportedException("Tablespace in HiveMeta"); } @Override @@ -351,9 +352,9 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client = clientPool.getClient(); client.getHiveClient().createDatabase(database); } catch (AlreadyExistsException e) { - throw new AlreadyExistsDatabaseException(databaseName); + throw new DuplicateDatabaseException(databaseName); } catch (Throwable t) { - throw new CatalogException(t); + throw new TajoInternalError(t); } finally { if (client != null) { client.release(); @@ -370,7 +371,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { List<String> databaseNames = client.getHiveClient().getAllDatabases(); return databaseNames.contains(databaseName); } catch (Throwable t) { - throw new CatalogException(t); + throw new TajoInternalError(t); } finally { if (client != null) { client.release(); @@ -386,9 +387,9 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client = clientPool.getClient(); client.getHiveClient().dropDatabase(databaseName); } catch (NoSuchObjectException e) { - throw new NoSuchDatabaseException(databaseName); + throw new UndefinedDatabaseException(databaseName); } catch (Throwable t) { - throw new CatalogException(databaseName); + throw new TajoInternalError(t); } finally { if (client != null) { client.release(); @@ -404,7 +405,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client = clientPool.getClient(); return client.getHiveClient().getAllDatabases(); } catch (TException e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -549,7 +550,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { sd.setOutputFormat(parquet.hive.DeprecatedParquetOutputFormat.class.getName()); sd.getSerdeInfo().setSerializationLib(parquet.hive.serde.ParquetHiveSerDe.class.getName()); } else { - throw new CatalogException(new NotImplementedException(tableDesc.getMeta().getStoreType())); + throw new UnsupportedException(tableDesc.getMeta().getStoreType() + " in HivecatalogStore"); } } @@ -557,10 +558,8 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { table.setSd(sd); client.getHiveClient().createTable(table); - } catch (RuntimeException e) { - throw e; - } catch (Exception e) { - throw new CatalogException(e); + } catch (Throwable t) { + throw new TajoInternalError(t); } finally { if(client != null) client.release(); } @@ -575,7 +574,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client.getHiveClient().dropTable(databaseName, tableName, false, false); } catch (NoSuchObjectException nsoe) { } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -601,19 +600,19 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { switch (alterTableDescProto.getAlterTableType()) { case RENAME_TABLE: if (existTable(databaseName,alterTableDescProto.getNewTableName().toLowerCase())) { - throw new AlreadyExistsTableException(alterTableDescProto.getNewTableName()); + throw new DuplicateTableException(alterTableDescProto.getNewTableName()); } renameTable(databaseName, tableName, alterTableDescProto.getNewTableName().toLowerCase()); break; case RENAME_COLUMN: if (existColumn(databaseName,tableName, alterTableDescProto.getAlterColumnName().getNewColumnName())) { - throw new ColumnNameAlreadyExistException(alterTableDescProto.getAlterColumnName().getNewColumnName()); + throw new DuplicateColumnException(alterTableDescProto.getAlterColumnName().getNewColumnName()); } renameColumn(databaseName, tableName, alterTableDescProto.getAlterColumnName()); break; case ADD_COLUMN: if (existColumn(databaseName,tableName, alterTableDescProto.getAddColumn().getName())) { - throw new ColumnNameAlreadyExistException(alterTableDescProto.getAddColumn().getName()); + throw new DuplicateColumnException(alterTableDescProto.getAddColumn().getName()); } addNewColumn(databaseName, tableName, alterTableDescProto.getAddColumn()); break; @@ -621,7 +620,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { partitionName = alterTableDescProto.getPartitionDesc().getPartitionName(); partitionDesc = getPartition(databaseName, tableName, partitionName); if(partitionDesc != null) { - throw new AlreadyExistsPartitionException(databaseName, tableName, partitionName); + throw new DuplicatePartitionException(partitionName); } addPartition(databaseName, tableName, alterTableDescProto.getPartitionDesc()); break; @@ -629,7 +628,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { partitionName = alterTableDescProto.getPartitionDesc().getPartitionName(); partitionDesc = getPartition(databaseName, tableName, partitionName); if(partitionDesc == null) { - throw new NoSuchPartitionException(databaseName, tableName, partitionName); + throw new UndefinedPartitionException(partitionName); } dropPartition(databaseName, tableName, partitionDesc); break; @@ -652,7 +651,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException nsoe) { } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -677,7 +676,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException nsoe) { } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -700,7 +699,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException nsoe) { } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -732,7 +731,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { client.getHiveClient().add_partition(partition); } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -753,7 +752,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } client.getHiveClient().dropPartition(databaseName, tableName, values, true); } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -817,7 +816,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException e) { return null; } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -912,7 +911,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } catch (NoSuchObjectException nsoe) { } catch (Exception e) { - throw new CatalogException(e); + throw new TajoInternalError(e); } finally { if (client != null) { client.release(); @@ -943,7 +942,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore { } @Override - public List<TableOptionProto> getAllTableOptions() throws CatalogException { + public List<TableOptionProto> getAllTableProperties() throws CatalogException { throw new UnsupportedOperationException(); } http://git-wip-us.apache.org/repos/asf/tajo/blob/5d62c409/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogUtil.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogUtil.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogUtil.java index 59910b8..ef7d4bd 100644 --- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogUtil.java +++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogUtil.java @@ -29,47 +29,51 @@ import org.apache.tajo.catalog.exception.CatalogException; import org.apache.tajo.catalog.proto.CatalogProtos; import org.apache.tajo.catalog.CatalogUtil; import org.apache.tajo.common.TajoDataTypes; +import org.apache.tajo.exception.ExceptionUtil; import org.apache.thrift.TException; import parquet.hadoop.mapred.DeprecatedParquetOutputFormat; +import static org.apache.tajo.catalog.exception.CatalogExceptionUtil.makeMDCNoMatchedDataType; +import static org.apache.tajo.exception.ExceptionUtil.makeNotSupported; + public class HiveCatalogUtil { public static void validateSchema(Table tblSchema) throws CatalogException { for (FieldSchema fieldSchema : tblSchema.getCols()) { String fieldType = fieldSchema.getType(); if (fieldType.equalsIgnoreCase("ARRAY") || fieldType.equalsIgnoreCase("STRUCT") || fieldType.equalsIgnoreCase("MAP")) { - throw new CatalogException("Unsupported field type :" + fieldType.toUpperCase()); + throw makeNotSupported(fieldType.toUpperCase()); } } } - public static TajoDataTypes.Type getTajoFieldType(String fieldType) { - Preconditions.checkNotNull(fieldType); + public static TajoDataTypes.Type getTajoFieldType(String dataType) { + Preconditions.checkNotNull(dataType); - if(fieldType.equalsIgnoreCase(serdeConstants.INT_TYPE_NAME)) { + if(dataType.equalsIgnoreCase(serdeConstants.INT_TYPE_NAME)) { return TajoDataTypes.Type.INT4; - } else if(fieldType.equalsIgnoreCase(serdeConstants.TINYINT_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.TINYINT_TYPE_NAME)) { return TajoDataTypes.Type.INT1; - } else if(fieldType.equalsIgnoreCase(serdeConstants.SMALLINT_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.SMALLINT_TYPE_NAME)) { return TajoDataTypes.Type.INT2; - } else if(fieldType.equalsIgnoreCase(serdeConstants.BIGINT_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.BIGINT_TYPE_NAME)) { return TajoDataTypes.Type.INT8; - } else if(fieldType.equalsIgnoreCase(serdeConstants.BOOLEAN_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.BOOLEAN_TYPE_NAME)) { return TajoDataTypes.Type.BOOLEAN; - } else if(fieldType.equalsIgnoreCase(serdeConstants.FLOAT_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.FLOAT_TYPE_NAME)) { return TajoDataTypes.Type.FLOAT4; - } else if(fieldType.equalsIgnoreCase(serdeConstants.DOUBLE_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.DOUBLE_TYPE_NAME)) { return TajoDataTypes.Type.FLOAT8; - } else if(fieldType.equalsIgnoreCase(serdeConstants.STRING_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.STRING_TYPE_NAME)) { return TajoDataTypes.Type.TEXT; - } else if(fieldType.equalsIgnoreCase(serdeConstants.BINARY_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.BINARY_TYPE_NAME)) { return TajoDataTypes.Type.BLOB; - } else if(fieldType.equalsIgnoreCase(serdeConstants.TIMESTAMP_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.TIMESTAMP_TYPE_NAME)) { return TajoDataTypes.Type.TIMESTAMP; - } else if(fieldType.equalsIgnoreCase(serdeConstants.DATE_TYPE_NAME)) { + } else if(dataType.equalsIgnoreCase(serdeConstants.DATE_TYPE_NAME)) { return TajoDataTypes.Type.DATE; } else { - throw new CatalogException("Cannot find a matched type against from '" + fieldType + "'"); + throw makeMDCNoMatchedDataType(dataType); } } @@ -95,7 +99,7 @@ public class HiveCatalogUtil { case DATE: return serdeConstants.DATE_TYPE_NAME; case TIMESTAMP: return serdeConstants.TIMESTAMP_TYPE_NAME; default: - throw new CatalogException(dataType + " is not supported."); + throw ExceptionUtil.makeInvalidDataType(dataType); } } @@ -104,7 +108,7 @@ public class HiveCatalogUtil { String[] fileFormatArrary = fileFormat.split("\\."); if(fileFormatArrary.length < 1) { - throw new CatalogException("Hive file output format is wrong. - file output format:" + fileFormat); + throw makeNotSupported(fileFormat); } String outputFormatClass = fileFormatArrary[fileFormatArrary.length-1]; @@ -117,7 +121,7 @@ public class HiveCatalogUtil { } else if(outputFormatClass.equals(DeprecatedParquetOutputFormat.class.getSimpleName())) { return CatalogProtos.StoreType.PARQUET.name(); } else { - throw new CatalogException("Not supported file output format. - file output format:" + fileFormat); + throw makeNotSupported(fileFormat); } }
