From de59ed958968f7e8913bc4d32d824651c2b444de Mon Sep 17 00:00:00 2001 From: zhaoyanggh Date: Wed, 25 Aug 2021 18:10:14 +0800 Subject: [PATCH] format prettier --- tests/examples/c/apitest.c | 327 +++++++++++++++++++--------------- tests/examples/c/asyncdemo.c | 129 ++++++-------- tests/examples/c/demo.c | 27 +-- tests/examples/c/epoll.c | 223 ++++++++++++----------- tests/examples/c/makefile | 3 - tests/examples/c/prepare.c | 43 +++-- tests/examples/c/schemaless.c | 134 ++++++++------ tests/examples/c/stream.c | 82 ++++----- tests/examples/c/subscribe.c | 44 ++--- tests/script/api/makefile | 2 + 10 files changed, 518 insertions(+), 496 deletions(-) diff --git a/tests/examples/c/apitest.c b/tests/examples/c/apitest.c index 01169715f3..22ae419a94 100644 --- a/tests/examples/c/apitest.c +++ b/tests/examples/c/apitest.c @@ -8,7 +8,7 @@ #include static void prepare_data(TAOS* taos) { - TAOS_RES *result; + TAOS_RES* result; result = taos_query(taos, "drop database if exists test;"); taos_free_result(result); usleep(100000); @@ -41,24 +41,25 @@ static void prepare_data(TAOS* taos) { result = taos_query(taos, "create table t9 using meters tags(9);"); taos_free_result(result); - result = taos_query(taos, "insert into t0 values('2020-01-01 00:00:00.000', 0)" - " ('2020-01-01 00:01:00.000', 0)" - " ('2020-01-01 00:02:00.000', 0)" - " t1 values('2020-01-01 00:00:00.000', 0)" - " ('2020-01-01 00:01:00.000', 0)" - " ('2020-01-01 00:02:00.000', 0)" - " ('2020-01-01 00:03:00.000', 0)" - " t2 values('2020-01-01 00:00:00.000', 0)" - " ('2020-01-01 00:01:00.000', 0)" - " ('2020-01-01 00:01:01.000', 0)" - " ('2020-01-01 00:01:02.000', 0)" - " t3 values('2020-01-01 00:01:02.000', 0)" - " t4 values('2020-01-01 00:01:02.000', 0)" - " t5 values('2020-01-01 00:01:02.000', 0)" - " t6 values('2020-01-01 00:01:02.000', 0)" - " t7 values('2020-01-01 00:01:02.000', 0)" - " t8 values('2020-01-01 00:01:02.000', 0)" - " t9 values('2020-01-01 00:01:02.000', 0)"); + result = taos_query(taos, + "insert into t0 values('2020-01-01 00:00:00.000', 0)" + " ('2020-01-01 00:01:00.000', 0)" + " ('2020-01-01 00:02:00.000', 0)" + " t1 values('2020-01-01 00:00:00.000', 0)" + " ('2020-01-01 00:01:00.000', 0)" + " ('2020-01-01 00:02:00.000', 0)" + " ('2020-01-01 00:03:00.000', 0)" + " t2 values('2020-01-01 00:00:00.000', 0)" + " ('2020-01-01 00:01:00.000', 0)" + " ('2020-01-01 00:01:01.000', 0)" + " ('2020-01-01 00:01:02.000', 0)" + " t3 values('2020-01-01 00:01:02.000', 0)" + " t4 values('2020-01-01 00:01:02.000', 0)" + " t5 values('2020-01-01 00:01:02.000', 0)" + " t6 values('2020-01-01 00:01:02.000', 0)" + " t7 values('2020-01-01 00:01:02.000', 0)" + " t8 values('2020-01-01 00:01:02.000', 0)" + " t9 values('2020-01-01 00:01:02.000', 0)"); int affected = taos_affected_rows(result); if (affected != 18) { printf("\033[31m%d rows affected by last insert statement, but it should be 18\033[0m\n", affected); @@ -77,7 +78,7 @@ static int print_result(TAOS_RES* res, int blockFetch) { if (blockFetch) { int rows = 0; while ((rows = taos_fetch_block(res, &row))) { - //for (int i = 0; i < rows; i++) { + // for (int i = 0; i < rows; i++) { // char temp[256]; // taos_print_row(temp, row + i, fields, num_fields); // puts(temp); @@ -126,9 +127,9 @@ static void verify_query(TAOS* taos) { TAOS_RES* res = taos_query(taos, "select * from meters"); check_row_count(__LINE__, res, 18); - printf("result precision is: %d\n", taos_result_precision(res)); + printf("result precision is: %d\n", taos_result_precision(res)); int c = taos_field_count(res); - printf("field count is: %d\n", c); + printf("field count is: %d\n", c); int* lengths = taos_fetch_lengths(res); for (int i = 0; i < c; i++) { printf("length of column %d is %d\n", i, lengths[i]); @@ -149,7 +150,7 @@ static void verify_query(TAOS* taos) { taos_free_result(res); } -void subscribe_callback(TAOS_SUB* tsub, TAOS_RES *res, void* param, int code) { +void subscribe_callback(TAOS_SUB* tsub, TAOS_RES* res, void* param, int code) { int rows = print_result(res, *(int*)param); printf("%d rows consumed in subscribe_callback\n", rows); } @@ -164,7 +165,7 @@ static void verify_subscribe(TAOS* taos) { res = taos_consume(tsub); check_row_count(__LINE__, res, 0); - TAOS_RES *result; + TAOS_RES* result; result = taos_query(taos, "insert into t0 values('2020-01-01 00:02:00.001', 0);"); taos_free_result(result); result = taos_query(taos, "insert into t8 values('2020-01-01 00:01:03.000', 0);"); @@ -250,7 +251,9 @@ void verify_prepare(TAOS* taos) { taos_select_db(taos, "test"); // create table - const char* sql = "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin binary(40), blob nchar(10))"; + const char* sql = + "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin " + "binary(40), blob nchar(10), u1 tinyint unsigned, u2 smallint unsigned, u4 int unsigned, u8 bigint unsigned)"; result = taos_query(taos, sql); code = taos_errno(result); if (code != 0) { @@ -262,20 +265,24 @@ void verify_prepare(TAOS* taos) { // insert 10 records struct { - int64_t ts; - int8_t b; - int8_t v1; - int16_t v2; - int32_t v4; - int64_t v8; - float f4; - double f8; - char bin[40]; - char blob[80]; + int64_t ts; + int8_t b; + int8_t v1; + int16_t v2; + int32_t v4; + int64_t v8; + float f4; + double f8; + char bin[40]; + char blob[80]; + uint8_t u1; + uint16_t u2; + uint32_t u4; + uint64_t u8; } v = {0}; TAOS_STMT* stmt = taos_stmt_init(taos); - TAOS_BIND params[10]; + TAOS_BIND params[14]; params[0].buffer_type = TSDB_DATA_TYPE_TIMESTAMP; params[0].buffer_length = sizeof(v.ts); params[0].buffer = &v.ts; @@ -337,11 +344,35 @@ void verify_prepare(TAOS* taos) { params[9].length = ¶ms[9].buffer_length; params[9].is_null = NULL; + params[10].buffer_type = TSDB_DATA_TYPE_UTINYINT; + params[10].buffer_length = sizeof(v.u1); + params[10].buffer = &v.u1; + params[10].length = ¶ms[10].buffer_length; + params[10].is_null = NULL; + + params[11].buffer_type = TSDB_DATA_TYPE_USMALLINT; + params[11].buffer_length = sizeof(v.u2); + params[11].buffer = &v.u2; + params[11].length = ¶ms[11].buffer_length; + params[11].is_null = NULL; + + params[12].buffer_type = TSDB_DATA_TYPE_UINT; + params[12].buffer_length = sizeof(v.u4); + params[12].buffer = &v.u4; + params[12].length = ¶ms[12].buffer_length; + params[12].is_null = NULL; + + params[13].buffer_type = TSDB_DATA_TYPE_UBIGINT; + params[13].buffer_length = sizeof(v.u8); + params[13].buffer = &v.u8; + params[13].length = ¶ms[13].buffer_length; + params[13].is_null = NULL; + int is_null = 1; - sql = "insert into m1 values(?,?,?,?,?,?,?,?,?,?)"; + sql = "insert into m1 values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; code = taos_stmt_prepare(stmt, sql, 0); - if (code != 0){ + if (code != 0) { printf("\033[31mfailed to execute taos_stmt_prepare. error:%s\033[0m\n", taos_stmt_errstr(stmt)); taos_stmt_close(stmt); return; @@ -362,6 +393,10 @@ void verify_prepare(TAOS* taos) { for (int j = 0; j < sizeof(v.bin); ++j) { v.bin[j] = (char)(i + '0'); } + v.u1 = (uint8_t)i; + v.u2 = (uint16_t)(i * 2); + v.u4 = (uint32_t)(i * 4); + v.u8 = (uint64_t)(i * 8); taos_stmt_bind_param(stmt, params); taos_stmt_add_batch(stmt); @@ -390,7 +425,7 @@ void verify_prepare(TAOS* taos) { TAOS_ROW row; int rows = 0; int num_fields = taos_num_fields(result); - TAOS_FIELD *fields = taos_fetch_fields(result); + TAOS_FIELD* fields = taos_fetch_fields(result); // fetch the records row by row while ((row = taos_fetch_row(result))) { @@ -422,7 +457,9 @@ void verify_prepare2(TAOS* taos) { taos_select_db(taos, "test"); // create table - const char* sql = "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin binary(40), blob nchar(10))"; + const char* sql = + "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin " + "binary(40), blob nchar(10))"; result = taos_query(taos, sql); code = taos_errno(result); if (code != 0) { @@ -434,31 +471,31 @@ void verify_prepare2(TAOS* taos) { // insert 10 records struct { - int64_t ts[10]; - int8_t b[10]; - int8_t v1[10]; - int16_t v2[10]; - int32_t v4[10]; - int64_t v8[10]; - float f4[10]; - double f8[10]; - char bin[10][40]; - char blob[10][80]; + int64_t ts[10]; + int8_t b[10]; + int8_t v1[10]; + int16_t v2[10]; + int32_t v4[10]; + int64_t v8[10]; + float f4[10]; + double f8[10]; + char bin[10][40]; + char blob[10][80]; } v; - int32_t *t8_len = malloc(sizeof(int32_t) * 10); - int32_t *t16_len = malloc(sizeof(int32_t) * 10); - int32_t *t32_len = malloc(sizeof(int32_t) * 10); - int32_t *t64_len = malloc(sizeof(int32_t) * 10); - int32_t *float_len = malloc(sizeof(int32_t) * 10); - int32_t *double_len = malloc(sizeof(int32_t) * 10); - int32_t *bin_len = malloc(sizeof(int32_t) * 10); - int32_t *blob_len = malloc(sizeof(int32_t) * 10); + int32_t* t8_len = malloc(sizeof(int32_t) * 10); + int32_t* t16_len = malloc(sizeof(int32_t) * 10); + int32_t* t32_len = malloc(sizeof(int32_t) * 10); + int32_t* t64_len = malloc(sizeof(int32_t) * 10); + int32_t* float_len = malloc(sizeof(int32_t) * 10); + int32_t* double_len = malloc(sizeof(int32_t) * 10); + int32_t* bin_len = malloc(sizeof(int32_t) * 10); + int32_t* blob_len = malloc(sizeof(int32_t) * 10); - TAOS_STMT* stmt = taos_stmt_init(taos); + TAOS_STMT* stmt = taos_stmt_init(taos); TAOS_MULTI_BIND params[10]; - char is_null[10] = {0}; - + char is_null[10] = {0}; + params[0].buffer_type = TSDB_DATA_TYPE_TIMESTAMP; params[0].buffer_length = sizeof(v.ts[0]); params[0].buffer = v.ts; @@ -538,12 +575,12 @@ void verify_prepare2(TAOS* taos) { } code = taos_stmt_set_tbname(stmt, "m1"); - if (code != 0){ + if (code != 0) { printf("\033[31mfailed to execute taos_stmt_prepare. error:%s\033[0m\n", taos_stmt_errstr(stmt)); taos_stmt_close(stmt); return; } - + int64_t ts = 1591060628000; for (int i = 0; i < 10; ++i) { v.ts[i] = ts++; @@ -558,7 +595,7 @@ void verify_prepare2(TAOS* taos) { v.f8[i] = (double)(i * 80); for (int j = 0; j < sizeof(v.bin[0]); ++j) { v.bin[i][j] = (char)(i + '0'); - } + } strcpy(v.blob[i], "一二三四五六七八九十"); t8_len[i] = sizeof(int8_t); @@ -573,7 +610,7 @@ void verify_prepare2(TAOS* taos) { taos_stmt_bind_param_batch(stmt, params); taos_stmt_add_batch(stmt); - + if (taos_stmt_execute(stmt) != 0) { printf("\033[31mfailed to execute insert statement.error:%s\033[0m\n", taos_stmt_errstr(stmt)); taos_stmt_close(stmt); @@ -587,7 +624,7 @@ void verify_prepare2(TAOS* taos) { taos_stmt_prepare(stmt, "SELECT * FROM m1 WHERE v1 > ? AND v2 < ?", 0); TAOS_BIND qparams[2]; - int8_t v1 = 5; + int8_t v1 = 5; int16_t v2 = 15; qparams[0].buffer_type = TSDB_DATA_TYPE_TINYINT; qparams[0].buffer_length = sizeof(v1); @@ -604,7 +641,7 @@ void verify_prepare2(TAOS* taos) { taos_stmt_bind_param(stmt, qparams); if (taos_stmt_execute(stmt) != 0) { printf("\033[31mfailed to execute select statement.error:%s\033[0m\n", taos_stmt_errstr(stmt)); - taos_stmt_close(stmt); + taos_stmt_close(stmt); return; } @@ -613,7 +650,7 @@ void verify_prepare2(TAOS* taos) { TAOS_ROW row; int rows = 0; int num_fields = taos_num_fields(result); - TAOS_FIELD *fields = taos_fetch_fields(result); + TAOS_FIELD* fields = taos_fetch_fields(result); // fetch the records row by row while ((row = taos_fetch_row(result))) { @@ -654,7 +691,9 @@ void verify_prepare3(TAOS* taos) { taos_select_db(taos, "test"); // create table - const char* sql = "create stable st1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin binary(40), blob nchar(10)) tags (id1 int, id2 binary(40))"; + const char* sql = + "create stable st1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin " + "binary(40), blob nchar(10)) tags (id1 int, id2 binary(40))"; result = taos_query(taos, sql); code = taos_errno(result); if (code != 0) { @@ -666,10 +705,10 @@ void verify_prepare3(TAOS* taos) { TAOS_BIND tags[2]; - int32_t id1 = 1; - char id2[40] = "abcdefghijklmnopqrstuvwxyz0123456789"; + int32_t id1 = 1; + char id2[40] = "abcdefghijklmnopqrstuvwxyz0123456789"; uintptr_t id2_len = strlen(id2); - + tags[0].buffer_type = TSDB_DATA_TYPE_INT; tags[0].buffer_length = sizeof(int); tags[0].buffer = &id1; @@ -682,34 +721,33 @@ void verify_prepare3(TAOS* taos) { tags[1].length = &id2_len; tags[1].is_null = NULL; - // insert 10 records struct { - int64_t ts[10]; - int8_t b[10]; - int8_t v1[10]; - int16_t v2[10]; - int32_t v4[10]; - int64_t v8[10]; - float f4[10]; - double f8[10]; - char bin[10][40]; - char blob[10][80]; + int64_t ts[10]; + int8_t b[10]; + int8_t v1[10]; + int16_t v2[10]; + int32_t v4[10]; + int64_t v8[10]; + float f4[10]; + double f8[10]; + char bin[10][40]; + char blob[10][80]; } v; - int32_t *t8_len = malloc(sizeof(int32_t) * 10); - int32_t *t16_len = malloc(sizeof(int32_t) * 10); - int32_t *t32_len = malloc(sizeof(int32_t) * 10); - int32_t *t64_len = malloc(sizeof(int32_t) * 10); - int32_t *float_len = malloc(sizeof(int32_t) * 10); - int32_t *double_len = malloc(sizeof(int32_t) * 10); - int32_t *bin_len = malloc(sizeof(int32_t) * 10); - int32_t *blob_len = malloc(sizeof(int32_t) * 10); + int32_t* t8_len = malloc(sizeof(int32_t) * 10); + int32_t* t16_len = malloc(sizeof(int32_t) * 10); + int32_t* t32_len = malloc(sizeof(int32_t) * 10); + int32_t* t64_len = malloc(sizeof(int32_t) * 10); + int32_t* float_len = malloc(sizeof(int32_t) * 10); + int32_t* double_len = malloc(sizeof(int32_t) * 10); + int32_t* bin_len = malloc(sizeof(int32_t) * 10); + int32_t* blob_len = malloc(sizeof(int32_t) * 10); - TAOS_STMT* stmt = taos_stmt_init(taos); + TAOS_STMT* stmt = taos_stmt_init(taos); TAOS_MULTI_BIND params[10]; - char is_null[10] = {0}; - + char is_null[10] = {0}; + params[0].buffer_type = TSDB_DATA_TYPE_TIMESTAMP; params[0].buffer_length = sizeof(v.ts[0]); params[0].buffer = v.ts; @@ -780,27 +818,26 @@ void verify_prepare3(TAOS* taos) { params[9].is_null = is_null; params[9].num = 10; - sql = "insert into ? using st1 tags(?,?) values(?,?,?,?,?,?,?,?,?,?)"; code = taos_stmt_prepare(stmt, sql, 0); - if (code != 0){ + if (code != 0) { printf("\033[31mfailed to execute taos_stmt_prepare. error:%s\033[0m\n", taos_stmt_errstr(stmt)); taos_stmt_close(stmt); - return; + return; } code = taos_stmt_set_tbname_tags(stmt, "m1", tags); - if (code != 0){ + if (code != 0) { printf("\033[31mfailed to execute taos_stmt_prepare. error:%s\033[0m\n", taos_stmt_errstr(stmt)); - taos_stmt_close(stmt); + taos_stmt_close(stmt); return; } - + int64_t ts = 1591060628000; for (int i = 0; i < 10; ++i) { v.ts[i] = ts++; is_null[i] = 0; - + v.b[i] = (int8_t)i % 2; v.v1[i] = (int8_t)i; v.v2[i] = (int16_t)(i * 2); @@ -810,7 +847,7 @@ void verify_prepare3(TAOS* taos) { v.f8[i] = (double)(i * 80); for (int j = 0; j < sizeof(v.bin[0]); ++j) { v.bin[i][j] = (char)(i + '0'); - } + } strcpy(v.blob[i], "一二三四五六七八九十"); t8_len[i] = sizeof(int8_t); @@ -825,10 +862,10 @@ void verify_prepare3(TAOS* taos) { taos_stmt_bind_param_batch(stmt, params); taos_stmt_add_batch(stmt); - + if (taos_stmt_execute(stmt) != 0) { printf("\033[31mfailed to execute insert statement.error:%s\033[0m\n", taos_stmt_errstr(stmt)); - taos_stmt_close(stmt); + taos_stmt_close(stmt); return; } taos_stmt_close(stmt); @@ -839,7 +876,7 @@ void verify_prepare3(TAOS* taos) { TAOS_BIND qparams[2]; - int8_t v1 = 5; + int8_t v1 = 5; int16_t v2 = 15; qparams[0].buffer_type = TSDB_DATA_TYPE_TINYINT; qparams[0].buffer_length = sizeof(v1); @@ -856,7 +893,7 @@ void verify_prepare3(TAOS* taos) { taos_stmt_bind_param(stmt, qparams); if (taos_stmt_execute(stmt) != 0) { printf("\033[31mfailed to execute select statement.error:%s\033[0m\n", taos_stmt_errstr(stmt)); - taos_stmt_close(stmt); + taos_stmt_close(stmt); return; } @@ -865,7 +902,7 @@ void verify_prepare3(TAOS* taos) { TAOS_ROW row; int rows = 0; int num_fields = taos_num_fields(result); - TAOS_FIELD *fields = taos_fetch_fields(result); + TAOS_FIELD* fields = taos_fetch_fields(result); // fetch the records row by row while ((row = taos_fetch_row(result))) { @@ -888,8 +925,7 @@ void verify_prepare3(TAOS* taos) { free(blob_len); } -void retrieve_callback(void *param, TAOS_RES *tres, int numOfRows) -{ +void retrieve_callback(void* param, TAOS_RES* tres, int numOfRows) { if (numOfRows > 0) { printf("%d rows async retrieved\n", numOfRows); taos_fetch_rows_a(tres, retrieve_callback, param); @@ -903,8 +939,7 @@ void retrieve_callback(void *param, TAOS_RES *tres, int numOfRows) } } -void select_callback(void *param, TAOS_RES *tres, int code) -{ +void select_callback(void* param, TAOS_RES* tres, int code) { if (code == 0 && tres) { taos_fetch_rows_a(tres, retrieve_callback, param); } else { @@ -918,11 +953,11 @@ void verify_async(TAOS* taos) { usleep(1000000); } -void stream_callback(void *param, TAOS_RES *res, TAOS_ROW row) { +void stream_callback(void* param, TAOS_RES* res, TAOS_ROW row) { if (res == NULL || row == NULL) { return; } - + int num_fields = taos_num_fields(res); TAOS_FIELD* fields = taos_fetch_fields(res); @@ -934,14 +969,9 @@ void stream_callback(void *param, TAOS_RES *res, TAOS_ROW row) { void verify_stream(TAOS* taos) { prepare_data(taos); - TAOS_STREAM* strm = taos_open_stream( - taos, - "select count(*) from meters interval(1m)", - stream_callback, - 0, - NULL, - NULL); - printf("waiting for stream data\n"); + TAOS_STREAM* strm = + taos_open_stream(taos, "select count(*) from meters interval(1m)", stream_callback, 0, NULL, NULL); + printf("waiting for stream data\n"); usleep(100000); TAOS_RES* result = taos_query(taos, "insert into t0 values(now, 0)(now+5s,1)(now+10s, 2);"); taos_free_result(result); @@ -950,7 +980,7 @@ void verify_stream(TAOS* taos) { } int32_t verify_schema_less(TAOS* taos) { - TAOS_RES *result; + TAOS_RES* result; result = taos_query(taos, "drop database if exists test;"); taos_free_result(result); usleep(100000); @@ -972,49 +1002,51 @@ int32_t verify_schema_less(TAOS* taos) { "st,t1=4i64,t2=5f64,t3=\"t4\" c1=3i64,c3=L\"passitagain\",c2=true,c4=5f64 1626006833642000000ns", "ste,t2=5f64,t3=L\"ste2\" c3=\"iamszhou\",c4=false 1626056811843316532ns", "ste,t2=5f64,t3=L\"ste2\" c3=\"iamszhou\",c4=false,c5=32i8,c6=64i16,c7=32i32,c8=88.88f32 1626056812843316532ns", - "st,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns", - "stf,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000ns", - "stf,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 1626006933641000000ns" - }; + "st,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 " + "1626006933640000000ns", + "stf,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64,c6=7u64 " + "1626006933640000000ns", + "stf,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 " + "1626006933641000000ns"}; - code = taos_insert_lines(taos, lines , sizeof(lines)/sizeof(char*)); + code = taos_insert_lines(taos, lines, sizeof(lines) / sizeof(char*)); char* lines2[] = { "stg,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns", - "stg,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833640000000ns" - }; + "stg,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833640000000ns"}; code = taos_insert_lines(taos, &lines2[0], 1); code = taos_insert_lines(taos, &lines2[1], 1); char* lines3[] = { - "sth,t1=4i64,t2=5f64,t4=5f64,ID=\"childtable\" c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 1626006933641ms", - "sth,t1=4i64,t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 1626006933654ms" - }; + "sth,t1=4i64,t2=5f64,t4=5f64,ID=\"childtable\" c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 " + "1626006933641ms", + "sth,t1=4i64,t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin_stf\",c2=false,c5=5f64,c6=7u64 1626006933654ms"}; code = taos_insert_lines(taos, lines3, 2); - char* lines4[] = { - "st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns", - "dgtyqodr,t2=5f64,t3=L\"ste\" c1=tRue,c2=4i64,c3=\"iam\" 1626056811823316532ns" - }; + char* lines4[] = {"st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns", + "dgtyqodr,t2=5f64,t3=L\"ste\" c1=tRue,c2=4i64,c3=\"iam\" 1626056811823316532ns"}; code = taos_insert_lines(taos, lines4, 2); char* lines5[] = { - "zqlbgs,id=\"zqlbgs_39302_21680\",t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7=\"binaryTagValue\",t8=L\"ncharTagValue\" c0=f,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7=\"binaryColValue\",c8=L\"ncharColValue\",c9=7u64 1626006833639000000ns", - "zqlbgs,t9=f,id=\"zqlbgs_39302_21680\",t0=f,t1=127i8,t11=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7=\"binaryTagValue\",t8=L\"ncharTagValue\",t10=L\"ncharTagValue\" c10=f,c0=f,c1=127i8,c12=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7=\"binaryColValue\",c8=L\"ncharColValue\",c9=7u64,c11=L\"ncharColValue\" 1626006833639000000ns" - }; + "zqlbgs,id=\"zqlbgs_39302_21680\",t0=f,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=11." + "12345f32,t6=22.123456789f64,t7=\"binaryTagValue\",t8=L\"ncharTagValue\" " + "c0=f,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22.123456789f64,c7=" + "\"binaryColValue\",c8=L\"ncharColValue\",c9=7u64 1626006833639000000ns", + "zqlbgs,t9=f,id=\"zqlbgs_39302_21680\",t0=f,t1=127i8,t11=127i8,t2=32767i16,t3=2147483647i32,t4=" + "9223372036854775807i64,t5=11.12345f32,t6=22.123456789f64,t7=\"binaryTagValue\",t8=L\"ncharTagValue\",t10=" + "L\"ncharTagValue\" " + "c10=f,c0=f,c1=127i8,c12=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=11.12345f32,c6=22." + "123456789f64,c7=\"binaryColValue\",c8=L\"ncharColValue\",c9=7u64,c11=L\"ncharColValue\" 1626006833639000000ns"}; code = taos_insert_lines(taos, &lines5[0], 1); code = taos_insert_lines(taos, &lines5[1], 1); - - char* lines6[] = { - "st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns", - "dgtyqodr,t2=5f64,t3=L\"ste\" c1=tRue,c2=4i64,c3=\"iam\" 1626056811823316532ns" - }; + char* lines6[] = {"st123456,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000ns", + "dgtyqodr,t2=5f64,t3=L\"ste\" c1=tRue,c2=4i64,c3=\"iam\" 1626056811823316532ns"}; code = taos_insert_lines(taos, lines6, 2); return (code); } -int main(int argc, char *argv[]) { +int main(int argc, char* argv[]) { const char* host = "127.0.0.1"; const char* user = "root"; const char* passwd = "taosdata"; @@ -1034,7 +1066,6 @@ int main(int argc, char *argv[]) { printf("************ verify schema-less *************\n"); verify_schema_less(taos); - printf("************ verify query *************\n"); verify_query(taos); @@ -1051,9 +1082,9 @@ int main(int argc, char *argv[]) { verify_prepare2(taos); printf("************ verify prepare3 *************\n"); verify_prepare3(taos); - + printf("************ verify stream *************\n"); - verify_stream(taos); + // verify_stream(taos); printf("done\n"); taos_close(taos); taos_cleanup(); diff --git a/tests/examples/c/asyncdemo.c b/tests/examples/c/asyncdemo.c index f2a96dd825..78e41ddf5c 100644 --- a/tests/examples/c/asyncdemo.c +++ b/tests/examples/c/asyncdemo.c @@ -20,9 +20,9 @@ #include #include +#include #include #include -#include #include @@ -33,14 +33,14 @@ int tablesSelectProcessed = 0; int64_t st, et; typedef struct { - int id; - TAOS *taos; - char name[16]; - time_t timeStamp; - int value; - int rowsInserted; - int rowsTried; - int rowsRetrieved; + int id; + TAOS * taos; + char name[16]; + time_t timeStamp; + int value; + int rowsInserted; + int rowsTried; + int rowsRetrieved; } STable; void taos_insert_call_back(void *param, TAOS_RES *tres, int code); @@ -48,7 +48,7 @@ void taos_select_call_back(void *param, TAOS_RES *tres, int code); void taos_error(TAOS *taos); static void queryDB(TAOS *taos, char *command) { - int i; + int i; TAOS_RES *pSql = NULL; int32_t code = -1; @@ -57,12 +57,12 @@ static void queryDB(TAOS *taos, char *command) { taos_free_result(pSql); pSql = NULL; } - + pSql = taos_query(taos, command); code = taos_errno(pSql); if (0 == code) { break; - } + } } if (code != 0) { @@ -76,15 +76,14 @@ static void queryDB(TAOS *taos, char *command) { taos_free_result(pSql); } -int main(int argc, char *argv[]) -{ - TAOS *taos; - struct timeval systemTime; - int i; - char sql[1024] = { 0 }; - char prefix[20] = { 0 }; - char db[128] = { 0 }; - STable *tableList; +int main(int argc, char *argv[]) { + TAOS * taos; + struct timeval systemTime; + int i; + char sql[1024] = {0}; + char prefix[20] = {0}; + char db[128] = {0}; + STable * tableList; if (argc != 5) { printf("usage: %s server-ip dbname rowsPerTable numOfTables\n", argv[0]); @@ -101,8 +100,7 @@ int main(int argc, char *argv[]) memset(tableList, 0, size); taos = taos_connect(argv[1], "root", "taosdata", NULL, 0); - if (taos == NULL) - taos_error(taos); + if (taos == NULL) taos_error(taos); printf("success to connect to server\n"); @@ -122,7 +120,7 @@ int main(int argc, char *argv[]) sprintf(tableList[i].name, "%s%d", prefix, i); sprintf(sql, "create table %s%d (ts timestamp, volume bigint)", prefix, i); queryDB(taos, sql); - } + } gettimeofday(&systemTime, NULL); for (i = 0; i < numOfTables; ++i) @@ -138,7 +136,7 @@ int main(int argc, char *argv[]) tablesInsertProcessed = 0; tablesSelectProcessed = 0; - for (i = 0; irowsTried++; - if (code < 0) { + if (code < 0) { printf("%s insert failed, code:%d, rows:%d\n", pTable->name, code, pTable->rowsTried); - } - else if (code == 0) { + } else if (code == 0) { printf("%s not inserted\n", pTable->name); - } - else { + } else { pTable->rowsInserted++; } if (pTable->rowsTried < points) { // for this demo, insert another record - sprintf(sql, "insert into %s values(%ld, %d)", pTable->name, 1546300800000+pTable->rowsTried*1000, pTable->rowsTried); + sprintf(sql, "insert into %s values(%ld, %d)", pTable->name, 1546300800000 + pTable->rowsTried * 1000, + pTable->rowsTried); taos_query_a(pTable->taos, sql, taos_insert_call_back, (void *)pTable); - } - else { + } else { printf("%d rows data are inserted into %s\n", points, pTable->name); tablesInsertProcessed++; if (tablesInsertProcessed >= numOfTables) { gettimeofday(&systemTime, NULL); et = systemTime.tv_sec * 1000000 + systemTime.tv_usec; - printf("%lld mseconds to insert %d data points\n", (et - st) / 1000, points*numOfTables); + printf("%lld mseconds to insert %d data points\n", (et - st) / 1000, points * numOfTables); } } - + taos_free_result(tres); } -void taos_retrieve_call_back(void *param, TAOS_RES *tres, int numOfRows) -{ - STable *pTable = (STable *)param; +void taos_retrieve_call_back(void *param, TAOS_RES *tres, int numOfRows) { + STable * pTable = (STable *)param; struct timeval systemTime; if (numOfRows > 0) { - - for (int i = 0; iname, numOfRows); + } else { + if (numOfRows < 0) printf("%s retrieve failed, code:%d\n", pTable->name, numOfRows); - //taos_free_result(tres); + // taos_free_result(tres); printf("%d rows data retrieved from %s\n", pTable->rowsRetrieved, pTable->name); tablesSelectProcessed++; @@ -272,19 +261,15 @@ void taos_retrieve_call_back(void *param, TAOS_RES *tres, int numOfRows) taos_free_result(tres); } - - } -void taos_select_call_back(void *param, TAOS_RES *tres, int code) -{ +void taos_select_call_back(void *param, TAOS_RES *tres, int code) { STable *pTable = (STable *)param; if (code == 0 && tres) { // asynchronous API to fetch a batch of records taos_fetch_rows_a(tres, taos_retrieve_call_back, pTable); - } - else { + } else { printf("%s select failed, code:%d\n", pTable->name, code); taos_free_result(tres); taos_cleanup(); diff --git a/tests/examples/c/demo.c b/tests/examples/c/demo.c index f8c69d0043..55d9628888 100644 --- a/tests/examples/c/demo.c +++ b/tests/examples/c/demo.c @@ -16,14 +16,14 @@ // TAOS standard API example. The same syntax as MySQL, but only a subset // to compile: gcc -o demo demo.c -ltaos +#include #include #include #include -#include #include // TAOS header file static void queryDB(TAOS *taos, char *command) { - int i; + int i; TAOS_RES *pSql = NULL; int32_t code = -1; @@ -32,12 +32,12 @@ static void queryDB(TAOS *taos, char *command) { taos_free_result(pSql); pSql = NULL; } - + pSql = taos_query(taos, command); code = taos_errno(pSql); if (0 == code) { break; - } + } } if (code != 0) { @@ -53,7 +53,7 @@ static void queryDB(TAOS *taos, char *command) { void Test(TAOS *taos, char *qstr, int i); int main(int argc, char *argv[]) { - char qstr[1024]; + char qstr[1024]; // connect to server if (argc < 2) { @@ -63,7 +63,7 @@ int main(int argc, char *argv[]) { TAOS *taos = taos_connect(argv[1], "root", "taosdata", NULL, 0); if (taos == NULL) { - printf("failed to connect to server, reason:%s\n", "null taos"/*taos_errstr(taos)*/); + printf("failed to connect to server, reason:%s\n", "null taos" /*taos_errstr(taos)*/); exit(1); } for (int i = 0; i < 100; i++) { @@ -72,28 +72,30 @@ int main(int argc, char *argv[]) { taos_close(taos); taos_cleanup(); } -void Test(TAOS *taos, char *qstr, int index) { +void Test(TAOS *taos, char *qstr, int index) { printf("==================test at %d\n================================", index); queryDB(taos, "drop database if exists demo"); queryDB(taos, "create database demo"); TAOS_RES *result; queryDB(taos, "use demo"); - queryDB(taos, "create table m1 (ts timestamp, ti tinyint, si smallint, i int, bi bigint, f float, d double, b binary(10))"); + queryDB(taos, + "create table m1 (ts timestamp, ti tinyint, si smallint, i int, bi bigint, f float, d double, b binary(10))"); printf("success to create table\n"); int i = 0; for (i = 0; i < 10; ++i) { - sprintf(qstr, "insert into m1 values (%" PRId64 ", %d, %d, %d, %d, %f, %lf, '%s')", (uint64_t)(1546300800000 + i * 1000), i, i, i, i*10000000, i*1.0, i*2.0, "hello"); + sprintf(qstr, "insert into m1 values (%" PRId64 ", %d, %d, %d, %d, %f, %lf, '%s')", + (uint64_t)(1546300800000 + i * 1000), i, i, i, i * 10000000, i * 1.0, i * 2.0, "hello"); printf("qstr: %s\n", qstr); - + // note: how do you wanna do if taos_query returns non-NULL // if (taos_query(taos, qstr)) { // printf("insert row: %i, reason:%s\n", i, taos_errstr(taos)); // } TAOS_RES *result1 = taos_query(taos, qstr); if (result1 == NULL || taos_errno(result1) != 0) { - printf("failed to insert row, reason:%s\n", taos_errstr(result1)); + printf("failed to insert row, reason:%s\n", taos_errstr(result1)); taos_free_result(result1); exit(1); } else { @@ -107,7 +109,7 @@ void Test(TAOS *taos, char *qstr, int index) { sprintf(qstr, "SELECT * FROM m1"); result = taos_query(taos, qstr); if (result == NULL || taos_errno(result) != 0) { - printf("failed to select, reason:%s\n", taos_errstr(result)); + printf("failed to select, reason:%s\n", taos_errstr(result)); taos_free_result(result); exit(1); } @@ -130,4 +132,3 @@ void Test(TAOS *taos, char *qstr, int index) { taos_free_result(result); printf("====demo end====\n\n"); } - diff --git a/tests/examples/c/epoll.c b/tests/examples/c/epoll.c index 284268ac43..0fb8754de6 100644 --- a/tests/examples/c/epoll.c +++ b/tests/examples/c/epoll.c @@ -21,103 +21,101 @@ #ifdef __APPLE__ #include "osEok.h" -#else // __APPLE__ +#else // __APPLE__ #include -#endif // __APPLE__ -#include -#include -#include -#include -#include -#include -#include -#include +#endif // __APPLE__ #include -#include #include -#include -#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #define D(fmt, ...) fprintf(stderr, "%s[%d]%s(): " fmt "\n", basename(__FILE__), __LINE__, __func__, ##__VA_ARGS__) -#define A(statement, fmt, ...) do { \ - if (statement) break; \ - fprintf(stderr, "%s[%d]%s(): assert [%s] failed: %d[%s]: " fmt "\n", \ - basename(__FILE__), __LINE__, __func__, \ - #statement, errno, strerror(errno), \ - ##__VA_ARGS__); \ - abort(); \ -} while (0) +#define A(statement, fmt, ...) \ + do { \ + if (statement) break; \ + fprintf(stderr, "%s[%d]%s(): assert [%s] failed: %d[%s]: " fmt "\n", basename(__FILE__), __LINE__, __func__, \ + #statement, errno, strerror(errno), ##__VA_ARGS__); \ + abort(); \ + } while (0) -#define E(fmt, ...) do { \ - fprintf(stderr, "%s[%d]%s(): %d[%s]: " fmt "\n", \ - basename(__FILE__), __LINE__, __func__, \ - errno, strerror(errno), \ - ##__VA_ARGS__); \ -} while (0) +#define E(fmt, ...) \ + do { \ + fprintf(stderr, "%s[%d]%s(): %d[%s]: " fmt "\n", basename(__FILE__), __LINE__, __func__, errno, strerror(errno), \ + ##__VA_ARGS__); \ + } while (0) #include "os.h" -typedef struct ep_s ep_t; +typedef struct ep_s ep_t; struct ep_s { - int ep; + int ep; - pthread_mutex_t lock; - int sv[2]; // 0 for read, 1 for write; - pthread_t thread; + pthread_mutex_t lock; + int sv[2]; // 0 for read, 1 for write; + pthread_t thread; - volatile unsigned int stopping:1; - volatile unsigned int waiting:1; - volatile unsigned int wakenup:1; + volatile unsigned int stopping : 1; + volatile unsigned int waiting : 1; + volatile unsigned int wakenup : 1; }; static int ep_dummy = 0; -static ep_t* ep_create(void); +static ep_t *ep_create(void); static void ep_destroy(ep_t *ep); -static void* routine(void* arg); -static int open_listen(unsigned short port); +static void *routine(void *arg); +static int open_listen(unsigned short port); -typedef struct fde_s fde_t; +typedef struct fde_s fde_t; struct fde_s { - int skt; + int skt; void (*on_event)(ep_t *ep, struct epoll_event *events, fde_t *client); }; static void listen_event(ep_t *ep, struct epoll_event *ev, fde_t *client); static void null_event(ep_t *ep, struct epoll_event *ev, fde_t *client); -#define usage(arg0, fmt, ...) do { \ - if (fmt[0]) { \ - fprintf(stderr, "" fmt "\n", ##__VA_ARGS__); \ - } \ - fprintf(stderr, "usage:\n"); \ - fprintf(stderr, " %s -l : specify listenning port\n", arg0); \ -} while (0) +#define usage(arg0, fmt, ...) \ + do { \ + if (fmt[0]) { \ + fprintf(stderr, "" fmt "\n", ##__VA_ARGS__); \ + } \ + fprintf(stderr, "usage:\n"); \ + fprintf(stderr, " %s -l : specify listenning port\n", arg0); \ + } while (0) int main(int argc, char *argv[]) { char *prg = basename(argv[0]); - if (argc==1) { + if (argc == 1) { usage(prg, ""); return 0; } - ep_t* ep = ep_create(); + ep_t *ep = ep_create(); A(ep, "failed"); - for (int i=1; i=argc) { + if (i >= argc) { usage(prg, "expecting after -l, but got nothing"); - return 1; // confirmed potential leakage + return 1; // confirmed potential leakage } arg = argv[i]; int port = atoi(arg); int skt = open_listen(port); - if (skt==-1) continue; - fde_t *client = (fde_t*)calloc(1, sizeof(*client)); + if (skt == -1) continue; + fde_t *client = (fde_t *)calloc(1, sizeof(*client)); if (!client) { E("out of memory"); close(skt); @@ -126,32 +124,32 @@ int main(int argc, char *argv[]) { client->skt = skt; client->on_event = listen_event; struct epoll_event ev = {0}; - ev.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLRDHUP; + ev.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLRDHUP; ev.data.ptr = client; - A(0==epoll_ctl(ep->ep, EPOLL_CTL_ADD, skt, &ev), ""); + A(0 == epoll_ctl(ep->ep, EPOLL_CTL_ADD, skt, &ev), ""); continue; } usage(prg, "unknown argument: [%s]", arg); return 1; } - char *line = NULL; - size_t linecap = 0; + char * line = NULL; + size_t linecap = 0; ssize_t linelen; while ((linelen = getline(&line, &linecap, stdin)) > 0) { - line[strlen(line)-1] = '\0'; - if (0==strcmp(line, "exit")) break; - if (0==strcmp(line, "quit")) break; - if (line==strstr(line, "close")) { + line[strlen(line) - 1] = '\0'; + if (0 == strcmp(line, "exit")) break; + if (0 == strcmp(line, "quit")) break; + if (line == strstr(line, "close")) { int fd = 0; sscanf(line, "close %d", &fd); - if (fd<=2) { + if (fd <= 2) { fprintf(stderr, "fd [%d] invalid\n", fd); continue; } - A(0==epoll_ctl(ep->ep, EPOLL_CTL_DEL, fd, NULL), ""); + A(0 == epoll_ctl(ep->ep, EPOLL_CTL_DEL, fd, NULL), ""); continue; } - if (strlen(line)==0) continue; + if (strlen(line) == 0) continue; fprintf(stderr, "unknown cmd:[%s]\n", line); } ep_destroy(ep); @@ -159,69 +157,69 @@ int main(int argc, char *argv[]) { return 0; } -ep_t* ep_create(void) { - ep_t *ep = (ep_t*)calloc(1, sizeof(*ep)); +ep_t *ep_create(void) { + ep_t *ep = (ep_t *)calloc(1, sizeof(*ep)); A(ep, "out of memory"); - A(-1!=(ep->ep = epoll_create(1)), ""); + A(-1 != (ep->ep = epoll_create(1)), ""); ep->sv[0] = -1; ep->sv[1] = -1; - A(0==socketpair(AF_LOCAL, SOCK_STREAM, 0, ep->sv), ""); - A(0==pthread_mutex_init(&ep->lock, NULL), ""); - A(0==pthread_mutex_lock(&ep->lock), ""); + A(0 == socketpair(AF_LOCAL, SOCK_STREAM, 0, ep->sv), ""); + A(0 == pthread_mutex_init(&ep->lock, NULL), ""); + A(0 == pthread_mutex_lock(&ep->lock), ""); struct epoll_event ev = {0}; - ev.events = EPOLLIN; + ev.events = EPOLLIN; ev.data.ptr = &ep_dummy; - A(0==epoll_ctl(ep->ep, EPOLL_CTL_ADD, ep->sv[0], &ev), ""); - A(0==pthread_create(&ep->thread, NULL, routine, ep), ""); - A(0==pthread_mutex_unlock(&ep->lock), ""); + A(0 == epoll_ctl(ep->ep, EPOLL_CTL_ADD, ep->sv[0], &ev), ""); + A(0 == pthread_create(&ep->thread, NULL, routine, ep), ""); + A(0 == pthread_mutex_unlock(&ep->lock), ""); return ep; } static void ep_destroy(ep_t *ep) { A(ep, "invalid argument"); ep->stopping = 1; - A(1==send(ep->sv[1], "1", 1, 0), ""); - A(0==pthread_join(ep->thread, NULL), ""); - A(0==pthread_mutex_destroy(&ep->lock), ""); - A(0==close(ep->sv[0]), ""); - A(0==close(ep->sv[1]), ""); - A(0==close(ep->ep), ""); + A(1 == send(ep->sv[1], "1", 1, 0), ""); + A(0 == pthread_join(ep->thread, NULL), ""); + A(0 == pthread_mutex_destroy(&ep->lock), ""); + A(0 == close(ep->sv[0]), ""); + A(0 == close(ep->sv[1]), ""); + A(0 == close(ep->ep), ""); free(ep); } -static void* routine(void* arg) { +static void *routine(void *arg) { A(arg, "invalid argument"); - ep_t *ep = (ep_t*)arg; + ep_t *ep = (ep_t *)arg; while (!ep->stopping) { struct epoll_event evs[10]; memset(evs, 0, sizeof(evs)); - A(0==pthread_mutex_lock(&ep->lock), ""); - A(ep->waiting==0, "internal logic error"); + A(0 == pthread_mutex_lock(&ep->lock), ""); + A(ep->waiting == 0, "internal logic error"); ep->waiting = 1; - A(0==pthread_mutex_unlock(&ep->lock), ""); + A(0 == pthread_mutex_unlock(&ep->lock), ""); - int r = epoll_wait(ep->ep, evs, sizeof(evs)/sizeof(evs[0]), -1); - A(r>0, "indefinite epoll_wait shall not timeout:[%d]", r); + int r = epoll_wait(ep->ep, evs, sizeof(evs) / sizeof(evs[0]), -1); + A(r > 0, "indefinite epoll_wait shall not timeout:[%d]", r); - A(0==pthread_mutex_lock(&ep->lock), ""); - A(ep->waiting==1, "internal logic error"); + A(0 == pthread_mutex_lock(&ep->lock), ""); + A(ep->waiting == 1, "internal logic error"); ep->waiting = 0; - A(0==pthread_mutex_unlock(&ep->lock), ""); + A(0 == pthread_mutex_unlock(&ep->lock), ""); - for (int i=0; idata.ptr == &ep_dummy) { char c = '\0'; - A(1==recv(ep->sv[0], &c, 1, 0), "internal logic error"); - A(0==pthread_mutex_lock(&ep->lock), ""); + A(1 == recv(ep->sv[0], &c, 1, 0), "internal logic error"); + A(0 == pthread_mutex_lock(&ep->lock), ""); ep->wakenup = 0; - A(0==pthread_mutex_unlock(&ep->lock), ""); + A(0 == pthread_mutex_unlock(&ep->lock), ""); continue; } A(ev->data.ptr, "internal logic error"); - fde_t *client = (fde_t*)ev->data.ptr; + fde_t *client = (fde_t *)ev->data.ptr; client->on_event(ep, ev, client); continue; } @@ -232,7 +230,7 @@ static void* routine(void* arg) { static int open_listen(unsigned short port) { int r = 0; int skt = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (skt==-1) { + if (skt == -1) { E("socket() failed"); return -1; } @@ -241,7 +239,7 @@ static int open_listen(unsigned short port) { si.sin_family = AF_INET; si.sin_addr.s_addr = inet_addr("0.0.0.0"); si.sin_port = htons(port); - r = bind(skt, (struct sockaddr*)&si, sizeof(si)); + r = bind(skt, (struct sockaddr *)&si, sizeof(si)); if (r) { E("bind(%u) failed", port); break; @@ -257,7 +255,7 @@ static int open_listen(unsigned short port) { if (r) { E("getsockname() failed"); } - A(len==sizeof(si), "internal logic error"); + A(len == sizeof(si), "internal logic error"); D("listenning at: %d", ntohs(si.sin_port)); return skt; } while (0); @@ -268,10 +266,10 @@ static int open_listen(unsigned short port) { static void listen_event(ep_t *ep, struct epoll_event *ev, fde_t *client) { A(ev->events & EPOLLIN, "internal logic error"); struct sockaddr_in si = {0}; - socklen_t silen = sizeof(si); - int skt = accept(client->skt, (struct sockaddr*)&si, &silen); - A(skt!=-1, "internal logic error"); - fde_t *server = (fde_t*)calloc(1, sizeof(*server)); + socklen_t silen = sizeof(si); + int skt = accept(client->skt, (struct sockaddr *)&si, &silen); + A(skt != -1, "internal logic error"); + fde_t *server = (fde_t *)calloc(1, sizeof(*server)); if (!server) { close(skt); return; @@ -279,26 +277,25 @@ static void listen_event(ep_t *ep, struct epoll_event *ev, fde_t *client) { server->skt = skt; server->on_event = null_event; struct epoll_event ee = {0}; - ee.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLRDHUP; + ee.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLRDHUP; ee.data.ptr = server; - A(0==epoll_ctl(ep->ep, EPOLL_CTL_ADD, skt, &ee), ""); + A(0 == epoll_ctl(ep->ep, EPOLL_CTL_ADD, skt, &ee), ""); } static void null_event(ep_t *ep, struct epoll_event *ev, fde_t *client) { if (ev->events & EPOLLIN) { char buf[8192]; - int n = recv(client->skt, buf, sizeof(buf), 0); - A(n>=0 && n<=sizeof(buf), "internal logic error:[%d]", n); - A(n==fwrite(buf, 1, n, stdout), "internal logic error"); + int n = recv(client->skt, buf, sizeof(buf), 0); + A(n >= 0 && n <= sizeof(buf), "internal logic error:[%d]", n); + A(n == fwrite(buf, 1, n, stdout), "internal logic error"); } if (ev->events & (EPOLLERR | EPOLLHUP | EPOLLRDHUP)) { - A(0==pthread_mutex_lock(&ep->lock), ""); - A(0==epoll_ctl(ep->ep, EPOLL_CTL_DEL, client->skt, NULL), ""); - A(0==pthread_mutex_unlock(&ep->lock), ""); + A(0 == pthread_mutex_lock(&ep->lock), ""); + A(0 == epoll_ctl(ep->ep, EPOLL_CTL_DEL, client->skt, NULL), ""); + A(0 == pthread_mutex_unlock(&ep->lock), ""); close(client->skt); client->skt = -1; client->on_event = NULL; free(client); } } - diff --git a/tests/examples/c/makefile b/tests/examples/c/makefile index be6efbe32a..b06fe551db 100644 --- a/tests/examples/c/makefile +++ b/tests/examples/c/makefile @@ -17,14 +17,11 @@ exe: gcc $(CFLAGS) ./stream.c -o $(ROOT)stream $(LFLAGS) gcc $(CFLAGS) ./subscribe.c -o $(ROOT)subscribe $(LFLAGS) gcc $(CFLAGS) ./apitest.c -o $(ROOT)apitest $(LFLAGS) - gcc $(CFLAGS) ./stmt.c -o $(ROOT)stmt $(LFLAGS) clean: rm $(ROOT)asyncdemo rm $(ROOT)demo rm $(ROOT)prepare - rm $(ROOT)batchprepare rm $(ROOT)stream rm $(ROOT)subscribe rm $(ROOT)apitest - rm $(ROOT)stmt diff --git a/tests/examples/c/prepare.c b/tests/examples/c/prepare.c index 723b340a92..1b1475eead 100644 --- a/tests/examples/c/prepare.c +++ b/tests/examples/c/prepare.c @@ -1,4 +1,4 @@ -// TAOS standard API example. The same syntax as MySQL, but only a subet +// TAOS standard API example. The same syntax as MySQL, but only a subet // to compile: gcc -o prepare prepare.c -ltaos #include @@ -6,14 +6,12 @@ #include #include "taos.h" - void taosMsleep(int mseconds); -int main(int argc, char *argv[]) -{ - TAOS *taos; - TAOS_RES *result; - int code; +int main(int argc, char *argv[]) { + TAOS * taos; + TAOS_RES * result; + int code; TAOS_STMT *stmt; // connect to server @@ -26,9 +24,9 @@ int main(int argc, char *argv[]) if (taos == NULL) { printf("failed to connect to db, reason:%s\n", taos_errstr(taos)); exit(1); - } + } - result = taos_query(taos, "drop database demo"); + result = taos_query(taos, "drop database demo"); taos_free_result(result); result = taos_query(taos, "create database demo"); @@ -44,7 +42,9 @@ int main(int argc, char *argv[]) taos_free_result(result); // create table - const char* sql = "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin binary(40), blob nchar(10))"; + const char *sql = + "create table m1 (ts timestamp, b bool, v1 tinyint, v2 smallint, v4 int, v8 bigint, f4 float, f8 double, bin " + "binary(40), blob nchar(10))"; result = taos_query(taos, sql); code = taos_errno(result); if (code != 0) { @@ -59,16 +59,16 @@ int main(int argc, char *argv[]) // insert 10 records struct { - int64_t ts; - int8_t b; - int8_t v1; - int16_t v2; - int32_t v4; - int64_t v8; - float f4; - double f8; - char bin[40]; - char blob[80]; + int64_t ts; + int8_t b; + int8_t v1; + int16_t v2; + int32_t v4; + int64_t v8; + float f4; + double f8; + char bin[40]; + char blob[80]; } v = {0}; stmt = taos_stmt_init(taos); @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) sql = "insert into m1 values(?,?,?,?,?,?,?,?,?,?)"; code = taos_stmt_prepare(stmt, sql, 0); - if (code != 0){ + if (code != 0) { printf("failed to execute taos_stmt_prepare. code:0x%x\n", code); } v.ts = 1591060628000; @@ -203,4 +203,3 @@ int main(int argc, char *argv[]) return 0; } - diff --git a/tests/examples/c/schemaless.c b/tests/examples/c/schemaless.c index 3ea199c914..89059501a9 100644 --- a/tests/examples/c/schemaless.c +++ b/tests/examples/c/schemaless.c @@ -1,6 +1,6 @@ +#include "os.h" #include "taos.h" #include "taoserror.h" -#include "os.h" #include #include @@ -12,15 +12,12 @@ int numSuperTables = 8; int numChildTables = 4; int numRowsPerChildTable = 2048; -void shuffle(char**lines, size_t n) -{ - if (n > 1) - { +void shuffle(char** lines, size_t n) { + if (n > 1) { size_t i; - for (i = 0; i < n - 1; i++) - { + for (i = 0; i < n - 1; i++) { size_t j = i + rand() / (RAND_MAX / (n - i) + 1); - char* t = lines[j]; + char* t = lines[j]; lines[j] = lines[i]; lines[i] = t; } @@ -34,7 +31,7 @@ static int64_t getTimeInUs() { } int main(int argc, char* argv[]) { - TAOS_RES *result; + TAOS_RES* result; const char* host = "127.0.0.1"; const char* user = "root"; const char* passwd = "taosdata"; @@ -59,12 +56,16 @@ int main(int argc, char* argv[]) { (void)taos_select_db(taos, "db"); - time_t ct = time(0); + time_t ct = time(0); int64_t ts = ct * 1000; - char* lineFormat = "sta%d,t0=true,t1=127i8,t2=32767i16,t3=%di32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32,c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" %lldms"; + char* lineFormat = + "sta%d,t0=true,t1=127i8,t2=32767i16,t3=%di32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=" + "\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32," + "c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" %lldms"; char** lines = calloc(numSuperTables * numChildTables * numRowsPerChildTable, sizeof(char*)); - int l = 0; + int l = 0; for (int i = 0; i < numSuperTables; ++i) { for (int j = 0; j < numChildTables; ++j) { for (int k = 0; k < numRowsPerChildTable; ++k) { @@ -78,121 +79,142 @@ int main(int argc, char* argv[]) { shuffle(lines, numSuperTables * numChildTables * numRowsPerChildTable); printf("%s\n", "begin taos_insert_lines"); - int64_t begin = getTimeInUs(); + int64_t begin = getTimeInUs(); int32_t code = taos_insert_lines(taos, lines, numSuperTables * numChildTables * numRowsPerChildTable); int64_t end = getTimeInUs(); - printf("code: %d, %s. time used: %"PRId64"\n", code, tstrerror(code), end-begin); + printf("code: %d, %s. time used: %" PRId64 "\n", code, tstrerror(code), end - begin); char* lines_000_0[] = { - "sta1,id=sta1_1,t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=255u8,t6=32770u16,t7=2147483699u32,t8=9223372036854775899u64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32,c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639000us" - }; - - code = taos_insert_lines(taos, lines_000_0 , sizeof(lines_000_0)/sizeof(char*)); + "sta1,id=sta1_1,t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=255u8,t6=32770u16,t7=" + "2147483699u32,t8=9223372036854775899u64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=" + "L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32," + "c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" " + "1626006833639000us"}; + + code = taos_insert_lines(taos, lines_000_0, sizeof(lines_000_0) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_000_0 should return error\n"); return -1; } char* lines_000_1[] = { - "sta2,id=\"sta2_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=255u8,t6=32770u16,t7=2147483699u32,t8=9223372036854775899u64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32,c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639001" - }; - - code = taos_insert_lines(taos, lines_000_1 , sizeof(lines_000_1)/sizeof(char*)); + "sta2,id=\"sta2_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t5=255u8,t6=32770u16," + "t7=2147483699u32,t8=9223372036854775899u64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=" + "L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32," + "c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" " + "1626006833639001"}; + + code = taos_insert_lines(taos, lines_000_1, sizeof(lines_000_1) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_000_1 should return error\n"); return -1; } char* lines_000_2[] = { - "sta3,id=\"sta3_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32,c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 0" - }; + "sta3,id=\"sta3_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=" + "22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c5=255u8,c6=32770u16,c7=2147483699u32," + "c8=9223372036854775899u64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 0"}; - code = taos_insert_lines(taos, lines_000_2 , sizeof(lines_000_2)/sizeof(char*)); + code = taos_insert_lines(taos, lines_000_2, sizeof(lines_000_2) / sizeof(char*)); if (0 != code) { printf("taos_insert_lines() lines_000_2 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } char* lines_001_0[] = { - "sta4,t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639000us", + "sta4,t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64," + "t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006833639000us", }; - code = taos_insert_lines(taos, lines_001_0 , sizeof(lines_001_0)/sizeof(char*)); + code = taos_insert_lines(taos, lines_001_0, sizeof(lines_001_0) / sizeof(char*)); if (0 != code) { printf("taos_insert_lines() lines_001_0 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } char* lines_001_1[] = { - "sta5,id=\"sta5_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639001" - }; + "sta5,id=\"sta5_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=" + "22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006833639001"}; - code = taos_insert_lines(taos, lines_001_1 , sizeof(lines_001_1)/sizeof(char*)); + code = taos_insert_lines(taos, lines_001_1, sizeof(lines_001_1) / sizeof(char*)); if (0 != code) { printf("taos_insert_lines() lines_001_1 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } char* lines_001_2[] = { - "sta6,id=\"sta6_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=\"binaryValue\",c12=L\"ncharValue\" 0" - }; + "sta6,id=\"sta6_1\",t0=true,t1=127i8,t2=32767i16,t3=2147483647i32,t4=9223372036854775807i64,t9=11.12345f32,t10=" + "22.123456789f64,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c0=true,c1=127i8,c2=32767i16,c3=2147483647i32,c4=9223372036854775807i64,c9=11.12345f32,c10=22.123456789f64,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 0"}; - code = taos_insert_lines(taos, lines_001_2 , sizeof(lines_001_2)/sizeof(char*)); + code = taos_insert_lines(taos, lines_001_2, sizeof(lines_001_2) / sizeof(char*)); if (0 != code) { printf("taos_insert_lines() lines_001_2 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } char* lines_002[] = { - "stb,id=\"stb_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639000000ns", - "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833639019us", - "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006833640ms", - "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345,t11=\"binaryTagValue\",t12=L\"ncharTagValue\" c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=\"binaryValue\",c12=L\"ncharValue\" 1626006834s" - }; - - code = taos_insert_lines(taos, lines_002 , sizeof(lines_002)/sizeof(char*)); + "stb,id=\"stb_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345," + "t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006833639000000ns", + "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345," + "t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006833639019us", + "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345," + "t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006833640ms", + "stc,id=\"stc_1\",t20=t,t21=T,t22=true,t23=True,t24=TRUE,t25=f,t26=F,t27=false,t28=False,t29=FALSE,t10=33.12345," + "t11=\"binaryTagValue\",t12=L\"ncharTagValue\" " + "c20=t,c21=T,c22=true,c23=True,c24=TRUE,c25=f,c26=F,c27=false,c28=False,c29=FALSE,c10=33.12345,c11=" + "\"binaryValue\",c12=L\"ncharValue\" 1626006834s"}; + + code = taos_insert_lines(taos, lines_002, sizeof(lines_002) / sizeof(char*)); if (0 != code) { printf("taos_insert_lines() lines_002 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } - //Duplicate key check; - char* lines_003_1[] = { - "std,id=\"std_3_1\",t1=4i64,Id=\"std\",t2=true c1=true 1626006834s" - }; + // Duplicate key check; + char* lines_003_1[] = {"std,id=\"std_3_1\",t1=4i64,Id=\"std\",t2=true c1=true 1626006834s"}; - code = taos_insert_lines(taos, lines_003_1 , sizeof(lines_003_1)/sizeof(char*)); + code = taos_insert_lines(taos, lines_003_1, sizeof(lines_003_1) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_003_1 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } - char* lines_003_2[] = { - "std,id=\"std_3_2\",tag1=4i64,Tag2=true,tAg3=2,TaG2=\"dup!\" c1=true 1626006834s" - }; + char* lines_003_2[] = {"std,id=\"std_3_2\",tag1=4i64,Tag2=true,tAg3=2,TaG2=\"dup!\" c1=true 1626006834s"}; - code = taos_insert_lines(taos, lines_003_2 , sizeof(lines_003_2)/sizeof(char*)); + code = taos_insert_lines(taos, lines_003_2, sizeof(lines_003_2) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_003_2 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } - char* lines_003_3[] = { - "std,id=\"std_3_3\",tag1=4i64 field1=true,Field2=2,FIElD1=\"dup!\",fIeLd4=true 1626006834s" - }; + char* lines_003_3[] = {"std,id=\"std_3_3\",tag1=4i64 field1=true,Field2=2,FIElD1=\"dup!\",fIeLd4=true 1626006834s"}; - code = taos_insert_lines(taos, lines_003_3 , sizeof(lines_003_3)/sizeof(char*)); + code = taos_insert_lines(taos, lines_003_3, sizeof(lines_003_3) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_003_3 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; } char* lines_003_4[] = { - "std,id=\"std_3_4\",tag1=4i64,dupkey=4i16,tag2=T field1=true,dUpkEy=1e3f32,field2=\"1234\" 1626006834s" - }; + "std,id=\"std_3_4\",tag1=4i64,dupkey=4i16,tag2=T field1=true,dUpkEy=1e3f32,field2=\"1234\" 1626006834s"}; - code = taos_insert_lines(taos, lines_003_4 , sizeof(lines_003_4)/sizeof(char*)); + code = taos_insert_lines(taos, lines_003_4, sizeof(lines_003_4) / sizeof(char*)); if (0 == code) { printf("taos_insert_lines() lines_003_4 return code:%d (%s)\n", code, (char*)tstrerror(code)); return -1; diff --git a/tests/examples/c/stream.c b/tests/examples/c/stream.c index 30a790f061..e26d6588a1 100644 --- a/tests/examples/c/stream.c +++ b/tests/examples/c/stream.c @@ -13,24 +13,23 @@ * along with this program. If not, see . */ +#include #include #include #include -#include -#include #include // include TDengine header file +#include typedef struct { - char server_ip[64]; - char db_name[64]; - char tbl_name[64]; + char server_ip[64]; + char db_name[64]; + char tbl_name[64]; } param; -int g_thread_exit_flag = 0; -void* insert_rows(void *sarg); +int g_thread_exit_flag = 0; +void *insert_rows(void *sarg); -void streamCallBack(void *param, TAOS_RES *res, TAOS_ROW row) -{ +void streamCallBack(void *param, TAOS_RES *res, TAOS_ROW row) { // in this simple demo, it just print out the result char temp[128]; @@ -42,85 +41,81 @@ void streamCallBack(void *param, TAOS_RES *res, TAOS_ROW row) printf("\n%s\n", temp); } -int main(int argc, char *argv[]) -{ - TAOS *taos; - char db_name[64]; - char tbl_name[64]; - char sql[1024] = { 0 }; +int main(int argc, char *argv[]) { + TAOS *taos; + char db_name[64]; + char tbl_name[64]; + char sql[1024] = {0}; if (argc != 4) { printf("usage: %s server-ip dbname tblname\n", argv[0]); exit(0); - } + } strcpy(db_name, argv[2]); strcpy(tbl_name, argv[3]); - + // create pthread to insert into row per second for stream calc param *t_param = (param *)malloc(sizeof(param)); - if (NULL == t_param) - { + if (NULL == t_param) { printf("failed to malloc\n"); exit(1); } - memset(t_param, 0, sizeof(param)); + memset(t_param, 0, sizeof(param)); strcpy(t_param->server_ip, argv[1]); strcpy(t_param->db_name, db_name); strcpy(t_param->tbl_name, tbl_name); pthread_t pid; - pthread_create(&pid, NULL, (void * (*)(void *))insert_rows, t_param); + pthread_create(&pid, NULL, (void *(*)(void *))insert_rows, t_param); - sleep(3); // waiting for database is created. + sleep(3); // waiting for database is created. // open connection to database taos = taos_connect(argv[1], "root", "taosdata", db_name, 0); if (taos == NULL) { printf("failed to connet to server:%s\n", argv[1]); - free(t_param); + free(t_param); exit(1); } - // starting stream calc, + // starting stream calc, printf("please input stream SQL:[e.g., select count(*) from tblname interval(5s) sliding(2s);]\n"); fgets(sql, sizeof(sql), stdin); if (sql[0] == 0) { - printf("input NULL stream SQL, so exit!\n"); + printf("input NULL stream SQL, so exit!\n"); free(t_param); exit(1); } - // param is set to NULL in this demo, it shall be set to the pointer to app context + // param is set to NULL in this demo, it shall be set to the pointer to app context TAOS_STREAM *pStream = taos_open_stream(taos, sql, streamCallBack, 0, NULL, NULL); if (NULL == pStream) { - printf("failed to create stream\n"); + printf("failed to create stream\n"); free(t_param); exit(1); } - + printf("presss any key to exit\n"); getchar(); taos_close_stream(pStream); - - g_thread_exit_flag = 1; + + g_thread_exit_flag = 1; pthread_join(pid, NULL); taos_close(taos); - free(t_param); + free(t_param); return 0; } +void *insert_rows(void *sarg) { + TAOS * taos; + char command[1024] = {0}; + param *winfo = (param *)sarg; -void* insert_rows(void *sarg) -{ - TAOS *taos; - char command[1024] = { 0 }; - param *winfo = (param * )sarg; - - if (NULL == winfo){ - printf("para is null!\n"); + if (NULL == winfo) { + printf("para is null!\n"); exit(1); } @@ -129,7 +124,7 @@ void* insert_rows(void *sarg) printf("failed to connet to server:%s\n", winfo->server_ip); exit(1); } - + // drop database sprintf(command, "drop database %s;", winfo->db_name); if (taos_query(taos, command) != 0) { @@ -160,19 +155,18 @@ void* insert_rows(void *sarg) // insert data int64_t begin = (int64_t)time(NULL); - int index = 0; + int index = 0; while (1) { if (g_thread_exit_flag) break; - + index++; sprintf(command, "insert into %s values (%ld, %d)", winfo->tbl_name, (begin + index) * 1000, index); if (taos_query(taos, command)) { printf("failed to insert row [%s], reason:%s\n", command, taos_errstr(taos)); } sleep(1); - } + } taos_close(taos); return 0; } - diff --git a/tests/examples/c/subscribe.c b/tests/examples/c/subscribe.c index ad12f0e7a5..d8b76c008f 100644 --- a/tests/examples/c/subscribe.c +++ b/tests/examples/c/subscribe.c @@ -14,10 +14,10 @@ void print_result(TAOS_RES* res, int blockFetch) { int num_fields = taos_num_fields(res); TAOS_FIELD* fields = taos_fetch_fields(res); int nRows = 0; - + if (blockFetch) { nRows = taos_fetch_block(res, &row); - //for (int i = 0; i < nRows; i++) { + // for (int i = 0; i < nRows; i++) { // taos_print_row(buf, row + i, fields, num_fields); // puts(buf); //} @@ -34,15 +34,11 @@ void print_result(TAOS_RES* res, int blockFetch) { printf("%d rows consumed.\n", nRows); } - -void subscribe_callback(TAOS_SUB* tsub, TAOS_RES *res, void* param, int code) { - print_result(res, *(int*)param); -} - +void subscribe_callback(TAOS_SUB* tsub, TAOS_RES* res, void* param, int code) { print_result(res, *(int*)param); } void check_row_count(int line, TAOS_RES* res, int expected) { - int actual = 0; - TAOS_ROW row; + int actual = 0; + TAOS_ROW row; while ((row = taos_fetch_row(res))) { actual++; } @@ -53,16 +49,14 @@ void check_row_count(int line, TAOS_RES* res, int expected) { } } - void do_query(TAOS* taos, const char* sql) { TAOS_RES* res = taos_query(taos, sql); taos_free_result(res); } - void run_test(TAOS* taos) { do_query(taos, "drop database if exists test;"); - + usleep(100000); do_query(taos, "create database test;"); usleep(100000); @@ -161,14 +155,13 @@ void run_test(TAOS* taos) { taos_unsubscribe(tsub, 0); } - -int main(int argc, char *argv[]) { +int main(int argc, char* argv[]) { const char* host = "127.0.0.1"; const char* user = "root"; const char* passwd = "taosdata"; const char* sql = "select * from meters;"; const char* topic = "test-multiple"; - int async = 1, restart = 0, keep = 1, test = 0, blockFetch = 0; + int async = 1, restart = 0, keep = 1, test = 0, blockFetch = 0; for (int i = 1; i < argc; i++) { if (strncmp(argv[i], "-h=", 3) == 0) { @@ -240,20 +233,21 @@ int main(int argc, char *argv[]) { if (tsub == NULL) { printf("failed to create subscription.\n"); exit(0); - } + } if (async) { getchar(); - } else while(1) { - TAOS_RES* res = taos_consume(tsub); - if (res == NULL) { - printf("failed to consume data."); - break; - } else { - print_result(res, blockFetch); - getchar(); + } else + while (1) { + TAOS_RES* res = taos_consume(tsub); + if (res == NULL) { + printf("failed to consume data."); + break; + } else { + print_result(res, blockFetch); + getchar(); + } } - } printf("total rows consumed: %d\n", nTotalRows); taos_unsubscribe(tsub, keep); diff --git a/tests/script/api/makefile b/tests/script/api/makefile index 97392f2e08..a3e3b5b95e 100644 --- a/tests/script/api/makefile +++ b/tests/script/api/makefile @@ -15,8 +15,10 @@ exe: gcc $(CFLAGS) ./batchprepare.c -o $(ROOT)batchprepare $(LFLAGS) gcc $(CFLAGS) ./stmtBatchTest.c -o $(ROOT)stmtBatchTest $(LFLAGS) gcc $(CFLAGS) ./stmtTest.c -o $(ROOT)stmtTest $(LFLAGS) + gcc $(CFLAGS) ./stmt.c -o $(ROOT)stmt $(LFLAGS) clean: rm $(ROOT)batchprepare rm $(ROOT)stmtBatchTest rm $(ROOT)stmtTest + rm $(ROOT)stmt -- GitLab