예제 #1
0
        public async Task <SessionDataSet> execute_query_statement_async(string sql)
        {
            TSExecuteStatementResp resp;
            TSStatus status;
            var      client = client_lst.Take();
            var      req    = new TSExecuteStatementReq(client.sessionId, sql, client.statementId);

            req.FetchSize = this.fetch_size;
            try{
                resp = await client.client.executeQueryStatementAsync(req);

                status = resp.Status;
            }
            catch (TException e) {
                client_lst.Add(client);
                var err_msg = String.Format("could not execute query statement");
                throw new TException(err_msg, e);
            }
            if (util_functions.verify_success(status, SUCCESS_CODE) == -1)
            {
                client_lst.Add(client);
                throw new TException("execute query failed", null);
            }
            client_lst.Add(client);

            var session_dataset = new SessionDataSet(sql, resp, client_lst);

            session_dataset.fetch_size = fetch_size;
            return(session_dataset);
        }
예제 #2
0
        public async Task <int> execute_non_query_statement_async(string sql)
        {
            TSExecuteStatementResp resp;
            TSStatus status;
            var      client = client_lst.Take();
            var      req    = new TSExecuteStatementReq(client.sessionId, sql, client.statementId);

            try{
                resp = await client.client.executeUpdateStatementAsync(req);

                status = resp.Status;
            }
            catch (TException e) {
                client_lst.Add(client);
                var err_msg = String.Format("execution of non-query statement failed");
                throw new TException(err_msg, e);
            }
            if (debug_mode)
            {
                _logger.Info("execute non-query statement {0} message: {1}", sql, status.Message);
            }
            client_lst.Add(client);
            return(util_functions.verify_success(status, SUCCESS_CODE));
        }