diff --git a/src/client/src/tscSql.c b/src/client/src/tscSql.c index ad4a29f20e62fbb6eff1b146aff6b18c4e725ab1..43c1fc9ce911adb7e23f26b1bbf0d6c6406a89ec 100644 --- a/src/client/src/tscSql.c +++ b/src/client/src/tscSql.c @@ -344,7 +344,7 @@ int taos_fetch_block_impl(TAOS_RES *res, TAOS_ROW *rows) { SSqlRes *pRes = &pSql->res; STscObj *pObj = pSql->pTscObj; - if (pRes->qhandle == 0 || pObj->pSql != pSql) { + if (pRes->qhandle == 0) { *rows = NULL; return 0; } diff --git a/src/client/src/tscSub.c b/src/client/src/tscSub.c index 685a26a46e11cb05597145e1c7b9bd8ebe18b863..17a5031fa673f831cec9824d78742166ecdfb369 100644 --- a/src/client/src/tscSub.c +++ b/src/client/src/tscSub.c @@ -348,8 +348,8 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) { SSqlRes *pRes = &pSql->res; if (pSub->pTimer == NULL) { - int duration = (int)(taosGetTimestampMs() - pSub->lastConsumeTime); - if (duration < pSub->interval) { + int64_t duration = taosGetTimestampMs() - pSub->lastConsumeTime; + if (duration < (int64_t)(pSub->interval)) { tscTrace("subscription consume too frequently, blocking..."); taosMsleep(pSub->interval - (int32_t)duration); } diff --git a/tests/examples/c/subscribe.c b/tests/examples/c/subscribe.c index 078929a9b8ded57dfb0d5a97c267aa4e67693984..04d000ba370c1ccf557fec6e5648ac29ff42e584 100644 --- a/tests/examples/c/subscribe.c +++ b/tests/examples/c/subscribe.c @@ -8,15 +8,28 @@ #include void print_result(TAOS_RES* res) { - TAOS_ROW row; + TAOS_ROW row = NULL; int num_fields = taos_num_fields(res); TAOS_FIELD* fields = taos_fetch_fields(res); +#if 0 + + int nRows = taos_fetch_block(res, &row); + for (int i = 0; i < nRows; i++) { + char temp[256]; + taos_print_row(temp, row + i, fields, num_fields); + puts(temp); + } + +#else + while ((row = taos_fetch_row(res))) { char temp[256]; taos_print_row(temp, row, fields, num_fields); puts(temp); } + +#endif } void subscribe_callback(TAOS_SUB* tsub, TAOS_RES *res, void* param, int code) {