[ 
https://issues.apache.org/jira/browse/TAJO-1264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Seungun Choe resolved TAJO-1264.
--------------------------------
    Resolution: Won't Fix

Tajo client for server is used REST server instead of thrift server.

> C/C++ Client
> ------------
>
>                 Key: TAJO-1264
>                 URL: https://issues.apache.org/jira/browse/TAJO-1264
>             Project: Tajo
>          Issue Type: New Feature
>            Reporter: Hyoungjun Kim
>            Assignee: Seungun Choe
>
> Currently Tajo is support only Java client. I think supporting multiple 
> language is important for growing Tajo community. TAJO-1206 makes it easier 
> to support multiple languages.   
> This issue is for implementing C/C++ client which calls to TajoThriftServer. 
> Tajo C/C++ client may have Java Tajo Client's method like the following.
> {code}
> // Connection API
> TajoThriftConnection* OpenConnection(const char* database, std::string host, 
> int port, char* err, size_t err_len);
> // Database API
> TajoReturn CloseConnection(TajoThriftConnection* conn, char* err, size_t 
> err_len);
> TajoReturn CreateDatabase(TajoThriftConnection* conn, const char* 
> database_name, char* err, size_t err_len);
> TajoReturn ExistDatabase(TajoThriftConnection* conn, const char* 
> database_name, bool& exists, char* err, size_t err_len);
> TajoReturn DropDatabase(TajoThriftConnection* conn, const char* 
> database_name, char* err, size_t err_len);
> TajoReturn GetAllDatabaseNames(TajoThriftConnection* conn, 
> std::vector<std::string>& databases,
>   char* err, size_t err_len);
> // Table API
> TajoReturn GetTables(TajoThriftConnection* conn, const char* database_name, 
> std::vector<std::string>& tables,
>   char* err, size_t err_len);
> TajoReturn GetTablesResultSet(TajoThriftConnection* conn, const char* 
> database_name,
>   boost::shared_ptr<apache::tajo::TajoResultSet>& result_set, char* err, 
> size_t err_len);
> TajoReturn DropTable(TajoThriftConnection* conn, const char* table_name, bool 
> purge, char* err, size_t err_len);
> TajoReturn GetTableDesc(TajoThriftConnection* conn, const char* table_name,
>   apache::tajo::thrift::TTableDesc& tableDesc, char* err, size_t err_len);
> TajoReturn GetColumnsResultSet(TajoThriftConnection* conn, const char* 
> database_name, const char* table_name,
>   boost::shared_ptr<apache::tajo::TajoResultSet>& result_set, char* err, 
> size_t err_len);
> // Session API
> TajoReturn GetCurrentDatabase(TajoThriftConnection* conn, std::string& 
> database, char* err, size_t err_len);
> TajoReturn SelectDatabase(TajoThriftConnection* conn, const char* database, 
> char* err, size_t err_len);
> TajoReturn UpdateSessionVariable(TajoThriftConnection* conn, char *key, char 
> *value, char* err, size_t err_len);
> TajoReturn UnsetSessionVariable(TajoThriftConnection* conn, char *key, char* 
> err, size_t err_len);
> TajoReturn GetAllSessionVariables(TajoThriftConnection* conn, 
> std::map<std::string, std::string>& variables,
>   char* err, size_t err_len);
> TajoReturn CheckSessionAndGet(TajoThriftConnection* conn, char* err, size_t 
> err_len);
> // Query API
> TajoReturn ExecuteQuery(TajoThriftConnection* conn, const char *sql,
>   apache::tajo::thrift::TGetQueryStatusResponse& response, char* err, size_t 
> err_len);
> TajoReturn UpdateQuery(TajoThriftConnection* conn, const char *sql,
>   apache::tajo::thrift::TServerResponse& response, char* err, size_t err_len);
> TajoReturn ExecuteQueryAndGetResult(TajoThriftConnection* conn, const char 
> *sql,
>   boost::shared_ptr<apache::tajo::TajoResultSet>& result_set, char* err, 
> size_t err_len);
> TajoReturn GetQueryStatus(TajoThriftConnection* conn, const std::string 
> query_id,
>   apache::tajo::thrift::TGetQueryStatusResponse& response, char* err, size_t 
> err_len);
> TajoReturn GetQueryResultAndWait(TajoThriftConnection* conn, const 
> std::string query_id,
>   const apache::tajo::thrift::TGetQueryStatusResponse& query_response,
>   boost::shared_ptr<apache::tajo::TajoResultSet>& result_set, char *err, 
> size_t err_len);
> TajoReturn GetQueryResult(TajoThriftConnection* conn, const std::string 
> query_id, const size_t fetch_size,
>   boost::shared_ptr<apache::tajo::TajoResultSet>& result_set, char* err, 
> size_t err_len);
> TajoReturn GetNextQueryResult(TajoThriftConnection* conn, const std::string 
> query_id, size_t fetch_size,
>   apache::tajo::thrift::TQueryResult& query_result, char* err, size_t 
> err_len);
> TajoReturn CloseQuery(TajoThriftConnection* conn, const std::string query_id, 
> char* err, size_t err_len);
> {code}  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to