Back to home page

OSCL-LXR

 
 

    


0001 /**
0002  * Licensed to the Apache Software Foundation (ASF) under one
0003  * or more contributor license agreements.  See the NOTICE file
0004  * distributed with this work for additional information
0005  * regarding copyright ownership.  The ASF licenses this file
0006  * to you under the Apache License, Version 2.0 (the
0007  * "License"); you may not use this file except in compliance
0008  * with the License.  You may obtain a copy of the License at
0009  *
0010  *     http://www.apache.org/licenses/LICENSE-2.0
0011  *
0012  * Unless required by applicable law or agreed to in writing, software
0013  * distributed under the License is distributed on an "AS IS" BASIS,
0014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0015  * See the License for the specific language governing permissions and
0016  * limitations under the License.
0017  */
0018 
0019 package org.apache.hive.service.cli.session;
0020 
0021 import java.util.List;
0022 import java.util.Map;
0023 
0024 import org.apache.hadoop.hive.metastore.IMetaStoreClient;
0025 import org.apache.hive.service.auth.HiveAuthFactory;
0026 import org.apache.hive.service.cli.*;
0027 
0028 public interface HiveSession extends HiveSessionBase {
0029 
0030   void open(Map<String, String> sessionConfMap) throws Exception;
0031 
0032   IMetaStoreClient getMetaStoreClient() throws HiveSQLException;
0033 
0034   /**
0035    * getInfo operation handler
0036    * @param getInfoType
0037    * @return
0038    * @throws HiveSQLException
0039    */
0040   GetInfoValue getInfo(GetInfoType getInfoType) throws HiveSQLException;
0041 
0042   /**
0043    * execute operation handler
0044    * @param statement
0045    * @param confOverlay
0046    * @return
0047    * @throws HiveSQLException
0048    */
0049   OperationHandle executeStatement(String statement,
0050       Map<String, String> confOverlay) throws HiveSQLException;
0051 
0052   /**
0053    * execute operation handler
0054    * @param statement
0055    * @param confOverlay
0056    * @param queryTimeout
0057    * @return
0058    * @throws HiveSQLException
0059    */
0060   OperationHandle executeStatement(String statement, Map<String, String> confOverlay,
0061       long queryTimeout) throws HiveSQLException;
0062 
0063   /**
0064    * execute operation handler
0065    * @param statement
0066    * @param confOverlay
0067    * @return
0068    * @throws HiveSQLException
0069    */
0070   OperationHandle executeStatementAsync(String statement, Map<String, String> confOverlay) throws HiveSQLException;
0071 
0072   /**
0073    * execute operation handler
0074    * @param statement
0075    * @param confOverlay
0076    * @param queryTimeout
0077    * @return
0078    * @throws HiveSQLException
0079    */
0080   OperationHandle executeStatementAsync(String statement, Map<String, String> confOverlay,
0081       long queryTimeout) throws HiveSQLException;
0082 
0083   /**
0084    * getTypeInfo operation handler
0085    * @return
0086    * @throws HiveSQLException
0087    */
0088   OperationHandle getTypeInfo() throws HiveSQLException;
0089 
0090   /**
0091    * getCatalogs operation handler
0092    * @return
0093    * @throws HiveSQLException
0094    */
0095   OperationHandle getCatalogs() throws HiveSQLException;
0096 
0097   /**
0098    * getSchemas operation handler
0099    * @param catalogName
0100    * @param schemaName
0101    * @return
0102    * @throws HiveSQLException
0103    */
0104   OperationHandle getSchemas(String catalogName, String schemaName)
0105       throws HiveSQLException;
0106 
0107   /**
0108    * getTables operation handler
0109    * @param catalogName
0110    * @param schemaName
0111    * @param tableName
0112    * @param tableTypes
0113    * @return
0114    * @throws HiveSQLException
0115    */
0116   OperationHandle getTables(String catalogName, String schemaName,
0117       String tableName, List<String> tableTypes) throws HiveSQLException;
0118 
0119   /**
0120    * getTableTypes operation handler
0121    * @return
0122    * @throws HiveSQLException
0123    */
0124   OperationHandle getTableTypes() throws HiveSQLException ;
0125 
0126   /**
0127    * getColumns operation handler
0128    * @param catalogName
0129    * @param schemaName
0130    * @param tableName
0131    * @param columnName
0132    * @return
0133    * @throws HiveSQLException
0134    */
0135   OperationHandle getColumns(String catalogName, String schemaName,
0136       String tableName, String columnName)  throws HiveSQLException;
0137 
0138   /**
0139    * getFunctions operation handler
0140    * @param catalogName
0141    * @param schemaName
0142    * @param functionName
0143    * @return
0144    * @throws HiveSQLException
0145    */
0146   OperationHandle getFunctions(String catalogName, String schemaName,
0147       String functionName) throws HiveSQLException;
0148 
0149   /**
0150    * getPrimaryKeys operation handler
0151    * @param catalog
0152    * @param schema
0153    * @param table
0154    * @return
0155    * @throws HiveSQLException
0156    */
0157   OperationHandle getPrimaryKeys(String catalog, String schema,
0158       String table) throws HiveSQLException;
0159 
0160 
0161   /**
0162    * getCrossReference operation handler
0163    * @param primaryCatalog
0164    * @param primarySchema
0165    * @param primaryTable
0166    * @param foreignCatalog
0167    * @param foreignSchema
0168    * @param foreignTable
0169    * @return
0170    * @throws HiveSQLException
0171    */
0172   OperationHandle getCrossReference(String primaryCatalog,
0173       String primarySchema, String primaryTable, String foreignCatalog,
0174       String foreignSchema, String foreignTable) throws HiveSQLException;
0175 
0176   /**
0177    * close the session
0178    * @throws HiveSQLException
0179    */
0180   void close() throws HiveSQLException;
0181 
0182   void cancelOperation(OperationHandle opHandle) throws HiveSQLException;
0183 
0184   void closeOperation(OperationHandle opHandle) throws HiveSQLException;
0185 
0186   TableSchema getResultSetMetadata(OperationHandle opHandle)
0187       throws HiveSQLException;
0188 
0189   RowSet fetchResults(OperationHandle opHandle, FetchOrientation orientation,
0190       long maxRows, FetchType fetchType) throws HiveSQLException;
0191 
0192   String getDelegationToken(HiveAuthFactory authFactory, String owner,
0193       String renewer) throws HiveSQLException;
0194 
0195   void cancelDelegationToken(HiveAuthFactory authFactory, String tokenStr)
0196       throws HiveSQLException;
0197 
0198   void renewDelegationToken(HiveAuthFactory authFactory, String tokenStr)
0199       throws HiveSQLException;
0200 
0201   void closeExpiredOperations();
0202 
0203   long getNoOperationTime();
0204 }