You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hyoungjun Kim (JIRA)" <ji...@apache.org> on 2014/12/22 02:31:13 UTC
[jira] [Created] (TAJO-1264) C/C++ Client
Hyoungjun Kim created TAJO-1264:
-----------------------------------
Summary: 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: Hyoungjun Kim
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)