Merge pull request #5325 from taosdata/feature/TD-3144
[TD-3144]add new query API to return sqlobj
This commit is contained in:
commit
e7bb07d323
|
@ -442,6 +442,8 @@ void tscCloseTscObj(void *pObj);
|
|||
TAOS *taos_connect_a(char *ip, char *user, char *pass, char *db, uint16_t port, void (*fp)(void *, TAOS_RES *, int),
|
||||
void *param, TAOS **taos);
|
||||
TAOS_RES* taos_query_h(TAOS* taos, const char *sqlstr, int64_t* res);
|
||||
TAOS_RES * taos_query_ra(TAOS *taos, const char *sqlstr, __async_cb_func_t fp, void *param);
|
||||
|
||||
void waitForQueryRsp(void *param, TAOS_RES *tres, int code);
|
||||
|
||||
void doAsyncQuery(STscObj *pObj, SSqlObj *pSql, __async_cb_func_t fp, void *param, const char *sqlstr, size_t sqlLen);
|
||||
|
|
|
@ -74,12 +74,16 @@ void doAsyncQuery(STscObj* pObj, SSqlObj* pSql, __async_cb_func_t fp, void* para
|
|||
|
||||
// TODO return the correct error code to client in tscQueueAsyncError
|
||||
void taos_query_a(TAOS *taos, const char *sqlstr, __async_cb_func_t fp, void *param) {
|
||||
taos_query_ra(taos, sqlstr, fp, param);
|
||||
}
|
||||
|
||||
TAOS_RES * taos_query_ra(TAOS *taos, const char *sqlstr, __async_cb_func_t fp, void *param) {
|
||||
STscObj *pObj = (STscObj *)taos;
|
||||
if (pObj == NULL || pObj->signature != pObj) {
|
||||
tscError("bug!!! pObj:%p", pObj);
|
||||
terrno = TSDB_CODE_TSC_DISCONNECTED;
|
||||
tscQueueAsyncError(fp, param, TSDB_CODE_TSC_DISCONNECTED);
|
||||
return;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int32_t sqlLen = (int32_t)strlen(sqlstr);
|
||||
|
@ -87,7 +91,7 @@ void taos_query_a(TAOS *taos, const char *sqlstr, __async_cb_func_t fp, void *pa
|
|||
tscError("sql string exceeds max length:%d", tsMaxSQLStringLen);
|
||||
terrno = TSDB_CODE_TSC_EXCEED_SQL_LIMIT;
|
||||
tscQueueAsyncError(fp, param, terrno);
|
||||
return;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
nPrintTsc("%s", sqlstr);
|
||||
|
@ -96,12 +100,15 @@ void taos_query_a(TAOS *taos, const char *sqlstr, __async_cb_func_t fp, void *pa
|
|||
if (pSql == NULL) {
|
||||
tscError("failed to malloc sqlObj");
|
||||
tscQueueAsyncError(fp, param, TSDB_CODE_TSC_OUT_OF_MEMORY);
|
||||
return;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
doAsyncQuery(pObj, pSql, fp, param, sqlstr, sqlLen);
|
||||
|
||||
return pSql;
|
||||
}
|
||||
|
||||
|
||||
static void tscAsyncFetchRowsProxy(void *param, TAOS_RES *tres, int numOfRows) {
|
||||
if (tres == NULL) {
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue