diff --git a/cmake/define.inc b/cmake/define.inc index 68f889cd4473b71491af4e8cd8588ae7db81e3a0..10134a94d2e5d40b7528af1ca205105d3235c6d2 100755 --- a/cmake/define.inc +++ b/cmake/define.inc @@ -125,8 +125,13 @@ IF (TD_APLHINE) ENDIF () IF (TD_LINUX) - IF (TD_BUILD_HTTP) + IF (TD_ARM_32) + SET(TD_BUILD_HTTP TRUE) ADD_DEFINITIONS(-DHTTP_EMBEDDED) + ELSE () + IF (TD_BUILD_HTTP) + ADD_DEFINITIONS(-DHTTP_EMBEDDED) + ENDIF () ENDIF () ELSE () SET(TD_BUILD_HTTP TRUE) diff --git a/documentation20/cn/08.connector/docs.md b/documentation20/cn/08.connector/docs.md index 8cf3a889ceedb6cedcb5b7f1e581297b61986bcd..bbac768316e47e34ea56107eed81416f518cd42a 100644 --- a/documentation20/cn/08.connector/docs.md +++ b/documentation20/cn/08.connector/docs.md @@ -407,9 +407,9 @@ typedef struct TAOS_MULTI_BIND { 除了使用 SQL 方式或者使用参数绑定 API 写入数据外,还可以使用 Schemaless 的方式完成写入。Schemaless 可以免于预先创建超级表/数据子表的数据结构,而是可以直接写入数据,TDengine 系统会根据写入的数据内容自动创建和维护所需要的表结构。Schemaless 的使用方式详见 [Schemaless 写入](https://www.taosdata.com/cn/documentation/insert#schemaless) 章节,这里介绍与之配套使用的 C/C++ API。 +2.2.0.0版本接口: - `int taos_insert_lines(TAOS* taos, char* lines[], int numLines)` - (2.2.0.0 版本新增) 以 Schemaless 格式写入多行数据。其中: * taos:调用 taos_connect 返回的数据库连接。 * lines:由 char 字符串指针组成的数组,指向本次想要写入数据库的多行数据。 @@ -421,6 +421,65 @@ typedef struct TAOS_MULTI_BIND { 1. 此接口是一个同步阻塞式接口,使用时机与 `taos_query()` 一致。 2. 在调用此接口之前,必须先调用 `taos_select_db()` 来确定目前是在向哪个 DB 来写入。 +2.3.0.0版本接口: +- `int taos_schemaless_insert(TAOS* taos, const char* lines[], int numLines, int protocol, const char* precision, int* affectedRows, char* msg, int msgBufLen)` + **参数说明** + taos: 数据库连接,通过taos_connect 函数建立的数据库连接。 + lines:文本数据。满足解析格式要求的无模式文本字符串。 + numLines:文本数据的行数,不能为 0 。 + protocol: 行协议类型,用于标识文本数据格式。 + precision:文本数据中的时间戳精度字符串。 + affectedRows:插入操作完成以后,正确写入到数据库中的记录行数。 + msg: 如果出现错误(函数返回值不为 0)情况下,错误提示信息。该参数是输入参数,需要用户指定消息输出缓冲区,如果不指定该缓冲区(输入为NULL),即使出现错误也不会得到错误提示信息。 + msgBufLen: 缓冲区的长度,避免错误提示消息越界。 + + **返回值** + 0:无错误发生。 + 非 0 值:发生了错误。此时可以通过msg获取错误信息的提示。该返回值含义可以参考taoserror.h文件中的错误码定义。 + + **说明** + 协议类型是枚举类型,包含以下三种格式: + SML_LINE_PROTOCOL:InfluxDB行协议(Line Protocol) + SML_TELNET_PROTOCOL: OpenTSDB文本行协议 + SML_JSON_PROTOCOL: OpenTSDB Json协议格式 + + 时间戳分辨率的说明使用如下字符串:“h“ (小时)、”m“(分钟)、”s“ (秒) ”ms“(毫秒)、”u“ (微秒)、”ns”(纳秒),不区分大小写。需要注意的是,时间戳分辨率参数只在协议类型为 SML_LINE_PROTOCOL 的时候生效。对于 OpenTSDB的文本协议,时间戳的解析遵循其官方解析规则 — 按照时间戳包含的字符的数量来确认时间精度。 + +```c +#include +#include +#include + +int main() { + const char* host = "127.0.0.1"; + const char* user = "root"; + const char* passwd = "taosdata"; + + // error message buffer + char msg[512] = {0}; + + // connect to server + TAOS* taos = taos_connect(host, user, passwd, "test", 0); + + // prepare the line string + char* lines1[] = { + "stg,t1=3i64,t2=4f64,t3=\"t3\" c1=3i64,c3=L\"passit\",c2=false,c4=4f64 1626006833639000000", + "stg,t1=4i64,t3=\"t4\",t2=5f64,t4=5f64 c1=3i64,c3=L\"passitagin\",c2=true,c4=5f64,c5=5f64 1626006833641000000" + }; + + // schema-less insert + int code = taos_schemaless_insert(taos, lines1, 2, SML_LINE_PROTOCOL, "ns", msg, sizeof(msg)/sizeof(msg[0])); + if (code != 0) { + printf("failed to insert schema-less data, reason: %s\n", msg); + } + + // close the connection + taos_close(taos); + return (code); +} +``` +**注**:后续2.2.0.0版本也更新成2.3.0.0版本的接口。 + ### 连续查询接口 TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时间段,对一张或多张数据库的表(数据流)进行各种实时聚合计算操作。操作简单,仅有打开、关闭流的API。具体如下: diff --git a/documentation20/cn/12.taos-sql/docs.md b/documentation20/cn/12.taos-sql/docs.md index 8e62ab1ae5b10f4f1bd43a98c7eaaa2c97349f40..ebf344ca94200d37585cc9af57b91cccaedc3a5c 100644 --- a/documentation20/cn/12.taos-sql/docs.md +++ b/documentation20/cn/12.taos-sql/docs.md @@ -1472,6 +1472,39 @@ Query OK, 1 row(s) in set (0.001238s) Query OK, 1 row(s) in set (0.000836s) ``` +- **CEIL** + ```mysql + SELECT CEIL(field_name) FROM { tb_name | stb_name } [WHERE clause]; + ``` + 功能说明:获得指定列的向上取整数的结果。 + + 返回结果类型:与指定列的原始数据类型一致。例如,如果指定列的原始数据类型为 Float,那么返回的数据类型也为 Float;如果指定列的原始数据类型为 Double,那么返回的数据类型也为 Double。 + + 适用数据类型:不能应用在 timestamp、binary、nchar、bool 类型字段上;在超级表查询中使用时,不能应用在 tag 列,无论 tag 列的类型是什么类型。 + + 嵌套子查询支持:适用于内层查询和外层查询。 + + 说明: + 支持 +、-、*、/ 运算,如 ceil(col1) + ceil(col2)。 + 只能与普通列,选择(Selection)、投影(Projection)函数一起使用,不能与聚合(Aggregation)函数一起使用。 + 该函数可以应用在普通表和超级表上。 + + 支持版本:指定计算算法的功能从 2.2.0.x 版本开始,2.2.0.0 之前的版本不支持指定使用算法的功能。 + +- **FLOOR** + ```mysql + SELECT FLOOR(field_name) FROM { tb_name | stb_name } [WHERE clause]; + ``` + 功能说明:获得指定列的向下取整数的结果。 + 其他使用说明参见CEIL函数描述。 + +- **ROUND** + ```mysql + SELECT ROUND(field_name) FROM { tb_name | stb_name } [WHERE clause]; + ``` + 功能说明:获得指定列的四舍五入的结果。 + 其他使用说明参见CEIL函数描述。 + - **四则运算** ```mysql