diff --git a/src/client/src/tscPrepare.c b/src/client/src/tscPrepare.c index 2418e7dbdb642de8f3ba3817b07200d26d2985f8..030022b0fd0109b44a6098400c5d351a8e5eeed1 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; @@ -261,9 +277,17 @@ static char* normalStmtBuildSql(STscStmt* stmt) { case TSDB_DATA_TYPE_SMALLINT: case TSDB_DATA_TYPE_INT: case TSDB_DATA_TYPE_BIGINT: + case TSDB_DATA_TYPE_TIMESTAMP: 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);