From ad5d9c8ce88ac1926acf4c51d0fc01185837f272 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Wed, 25 Aug 2021 16:24:45 +0800 Subject: [PATCH] [TD-6167] support unsigned type in stmt --- src/client/src/tscPrepare.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/client/src/tscPrepare.c b/src/client/src/tscPrepare.c index 2418e7dbdb..4137501083 100644 --- a/src/client/src/tscPrepare.c +++ b/src/client/src/tscPrepare.c @@ -155,6 +155,22 @@ static int normalStmtBindParam(STscStmt* stmt, TAOS_BIND* bind) { var->i64 = *(int64_t*)tb->buffer; break; + case TSDB_DATA_TYPE_UTINYINT: + var->u64 = *(uint8_t*)tb->buffer; + break; + + case TSDB_DATA_TYPE_USMALLINT: + var->u64 = *(uint16_t*)tb->buffer; + break; + + case TSDB_DATA_TYPE_UINT: + var->u64 = *(uint32_t*)tb->buffer; + break; + + case TSDB_DATA_TYPE_UBIGINT: + var->u64 = *(uint64_t*)tb->buffer; + break; + case TSDB_DATA_TYPE_FLOAT: var->dKey = GET_FLOAT_VAL(tb->buffer); break; @@ -264,6 +280,13 @@ static char* normalStmtBuildSql(STscStmt* stmt) { taosStringBuilderAppendInteger(&sb, var->i64); break; + case TSDB_DATA_TYPE_UTINYINT: + case TSDB_DATA_TYPE_USMALLINT: + case TSDB_DATA_TYPE_UINT: + case TSDB_DATA_TYPE_UBIGINT: + taosStringBuilderAppendInteger(&sb, var->u64); // maybe overflow if u64 is too big + break; + case TSDB_DATA_TYPE_FLOAT: case TSDB_DATA_TYPE_DOUBLE: taosStringBuilderAppendDouble(&sb, var->dKey); -- GitLab