Commit graph

2594 commits

Author SHA1 Message Date
Jinqing Kuang
ac23a4fc55
feat(stream): support stream processing for virtual tables (#30144)
* enh: add client processing

* enh: add mnode vtables processing

* enh: add mnode vtable processing

* enh: add normal child vtable support

* fix: compile issues

* fix: compile issues

* fix: create stream issues

* fix: multi stream scan issue

* fix: remove debug info

* fix: agg task and task level issues

* fix: correct task output type

* fix: split vtablescan from agg

* fix: memory leak issues

* fix: add limitations

* Update 09-error-code.md

* Update 09-error-code.md

* fix: remove usless case

* feat(stream): extract original table data in source scan task

Implemented functionality in the source task to extract data
corresponding to the virtual table from the original table using WAL.
The extracted data is then sent to the downstream merge task for further
processing.

* feat(stream): multi-way merge using loser tree in virtual merge task

Implemented multi-way merge in the merge task using a loser tree to
combine data from multiple original table into a single virtual table.
The merged virtual table data is then pushed downstream for further
processing.  Introduced memory limit handling during the merge process
with configurable behavior when the memory limit is reached.

* fix(test): remove useless cases

---------

Co-authored-by: dapan1121 <wpan@taosdata.com>
Co-authored-by: Pan Wei <72057773+dapan1121@users.noreply.github.com>
2025-03-15 17:06:48 +08:00
Jing Sima
410324746b
feat:[TS-4897] virtual table (#30098)
* feat: [TS-4897] Support create/drop/alter/show/describe vtable

* feat: [TS-4897] Support vtable's query

* feat: [TS-4897] Support create virtual supertable

* feat: [TS-4897] Support explain analyze / where / count(*) and only select ts of vtable.

* feat: [TS-4897] Add create test and fix bugs

* feat: [TS-4897] Add alter/drop test and fix bugs

* feat: [TS-4897] Add describe/show test and fix bugs

* feat: [TS-4897] Add auth test and fix bugs

* feat: [TS-4897] Fix meta/catalog/cache bugs

* feat: [TS-4897] Support select tag from virtual child table

* feat: [TS-4897] Add select test and fix plenty of bugs

* feat: [TS-4897] Add optimize rule for vtable scan / support create vtable cross database / remove enterprise constraint / fix bugs.

* feat: [TS-4897] Fix 'schema is old'

* feat: [TS-4897] Support virtual stable query

* feat: [TS-4897] Add tests and Fix bugs

* feat: [TS-4897] resolve conflict.
2025-03-15 14:10:46 +08:00
wangjiaming
f50fcb85b8
feat(decimal): support decimal data type (#30060)
* decimal: create table

* decimal: add test case decimal.py

* decimal: add decimal.c

* support input decimal

* decimal test

* refactor svalue

* fix test cases

* add decimal unit test

* add decimal test cmake

* support insert and query decimal type

* define wide integer, support decimal128

* support decimal128 divide

* set decimal type expr res types

* scalar decimal

* convert to decimal

* fix decimal64/128 from str and to str

* fix decimal from str and decimal to str

* decimal simple conversion

* unit test for decimal

* decimal conversion and unit tests

* decimal + - * /

* decimal scalar ops and comparision

* start to refactor GET_TYPED_DATA

* support decimal max func, cast func

* refactor GET_TYPED_DATA interface

* decimal scalar comparision

* start to implement sum for decimal

* support sum and avg for decimal type

* decimal tests

* add decimal test

* decimal add test cases

* decimal use int256/int128

* decimal testing

* fix decimal table meta and add tests for decimal col streams

* fix create stream and create tsma

* test insert decimal values

* decimal from str

* test decimal input

* test parse decimal from string

* add taos_fetch_field_e api

* decimal insert tests

* test decimal operators

* decimal operator test

* feat:support decimal in raw block

* decimal operator tests

* decimal test

* feat:support decimal in raw block

* feat:support decimal in raw block

* feat:add schemaExt to SMqDataRsp

* feat:remove add schemaExt to SMqDataRsp

* feat:remove add schemaExt to SMqDataRsp

* feat:remove add schemaExt to SMqDataRsp

* decimal test operators

* decimal operator test

* test decimal operators

* test decimal compare operators

* decimal unary operator test

* decimal col with decimal col oper test

* test decimal col filtering

* fix decimal float operator test

* decimal test where filtering

* fix decimal filtering

* fix decimal order by

* fix decimal op test

* test decimal agg funcs

* test decimal functions

* remove assert

* fix ci build for ret check

* fix decimal windows build

* fix ci ret check

* skip decimal ret check

* skip decimal ret check

* fix decimal tests

* fix decimal ci test

* decimal test

* fix(tmq): heap user after free

* fix(tmq): double free

* fix(tmq): double free

* fix decimal tests

* fix(decimal): decimal test ci build

* fix(decimal): windows build

* fix(decimal): decimal test build

* fix(decimal): fix decimal build and tests

* fix(decimal): fix decimal tests

* fix(decimal): fix taos_fetch_fields_e api

* fix(decimal): fix decimal taos_fetch_fields_e api

* fix(decimal): rebase 3.0

* fix(decimal): fix decimal functions

* fix(decimal): fix decimal test case memory leak

* fix(decimal): fix decimal tests

* fix(decimal): fix decimal test case

* fix(decimal): fix decimal tests

* feat(decimal): fix unit tests

* feat(decimal): fix deicmal unit test

---------

Co-authored-by: wangmm0220 <wangmm0220@gmail.com>
Co-authored-by: yihaoDeng <yhdeng@taosdata.com>
2025-03-14 18:08:07 +08:00
WANG MINGMING
3d053e2c9b
feat(stream): optimize client logic of creating stream if with history (#30059)
* feat:[TS-5617]use last_row cache mode if creating stream in fill_history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* feat(stream): optimize client logic of creating stream if with history

* fix: heap use after free

* feat: add log

* fix: ci case error

* fix: compile error in windows

* fix: ci case error

* fix: heap user after free

* fix: memory leak

* fix: ci case error

* fix: ci case error

* fix: ci case error

---------

Co-authored-by: yihaoDeng <yhdeng@taosdata.com>
2025-03-14 13:55:52 +08:00
Kaili Xu
13f9bddf3d
feat: support customized taos/taosd (#29736)
* feat: support TDAcoreOS

* chore: cmake options for TD_ACORE

* chore: disable lemon for TD_ACORE

* chore: add lzma2 and msvcregex

* chore: cmake for lzma2

* chore: adapt for TD_ACORE

* chore: adapt strcasecmp for TD_ACORE

* chore: adapt for geos/threadName

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE termio

* chore: refact transComm.h for TD_ACORE

* chore: refact transportInt.h for TD_ACORE

* chore: refact trans.c for TD_ACORE

* chore: refact trpc.h for TD_ACORE

* chore: refact transCli.c/transComm.c/transSvr.c for TD_ACORE

* chore: refact uv.h for TD_ACORE

* chore: refact geosWrapper.h for TD_ACORE

* chore: refact token/builtins/udf for TD_ACORE

* chore: refact rocks for TD_ACORE

* chore: refact tsdbCache.c for TD_ACORE, use LRU cache for last/last_row, not use rocksdb

* chore: refact FAIL to _ERR to solve conflicts for TD_ACORE

* chore: restore lemon.c/lempar.c

* chore: support build lemon for TD_ACORE

* chore: refact trpc and siginfo_t for TD_ACORE

* chore: refact timezone for TD_ACORE

* chore: refact lz4 for TD_ACORE

* chore: refact TD_ACORE to make compile pass

* chore: code optimization for TD_ASTRA

* feat: support run taos with taosd integrated

* feat: support invoke taos shell

* feat: support invoke taos shell

* feat: support invoke taos shell

* chore: code optimization

* chore: fix undefined reference problem os TD_ASTRA

* chore: resolve compile problem for TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix getpid

* chore: fix typo

* chore: set stack size and ajust min pack size for TD_ASTRA

* chore: fix pthread create parameters

* chore: chmod adapt for TD_ASTRA

* chore: fix trans compile problem

* chore: adapt chmod for TD_ASTRA

* chore: byte alignment for TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: byte alignment for TD_ASTRA

* chore: conditional compile option

* chore: adapt for TD_ASTRA

* chore: adjust taosPId and msvcregex for TD_ASTRA

* chore: log dir separator for wal build name

* chore: fix type of pointer parameter

* chore: fix compile problem of tsdbGetS3Size

* enh: get last ver from wal log for TD_ASTRA

* enh: refact wal meta ver

* enh: refact wal meta ver

* fix: typo of taosUcs4Compare

* enh: process return value of CI

* chore: more code for TD_ASTRA adaption

* chore: return value of taosCloseFile in walMeta.c

* chore: fix compile problem

* chore: fix compile problem of TD_ASTRA

* fix: update macro for tq and stream task

* chore: code optimization for TD_ASTRA

* chore: restore create log and init cfg interface

* chore: restore strncasecmp and strcasecmp

* fix: adjust the field position of SDataBlockInfo

* fix: pragma pack min size

* fix: pragma pack min size

* chore: more code for TD_ASTRA adaption

* fix: type of parameters

* chore: adapt strncasecmp and strcasecmp for TD_ASTRA

* chore: restore interface of init log

* enh: pack push optimization

* fix: taos init cfg

* add astra support

* fix: fetch the value of suid

* chore: switch of  build with udf

* add temp code

* chore: more code for TD_ASTRA adaption

* chore: add macro ERRNO to replace errno

* chore: bytes align for TD_ASTRA

* fix: remove obsolete codes

* enh: support USE_UDF macro

* fix compile error

* fix: resolve redefinition problem

* fix: compile problem of log.cpp

* fix: compile problem of osTimezone

* fix: resolve compile problem of udf

* fix: pragma definition on windows

* fix: ucs4 and stpncpy for TD_ASTRA

* fix: memory align problem for TD_ASTRA

* enh: solve memory leak for TD_ASTRA_RPC

* fix: compile problem of taosSetInt64Aligned

* fix: restore mndSubscribe.c

* fix: scalar for udf

* chore: code adaption for TD_ASTRA

* chore: code optimization for TD_ASTRA

* fix: typo of add definition

* fix: typo of macro in tudf.h

* chore: remove void to make CI pass

* enh: move macro from cmake.platform to cmake.options

* enh: byte align for hash node and error code

* chore: restore the size for lru cache

* enh: restore some code about pack push

* chore: restore the pack push in tmsg.h

* fix: add macro of pack pop for windows

---------

Co-authored-by: yihaoDeng <luomoxyz@126.com>
2025-03-14 13:32:13 +08:00
dapan1121
30a98ddcab fix: add document error code description 2025-03-13 13:54:34 +08:00
dapan1121
d997c144a1 Merge remote-tracking branch 'origin/3.0' into feat/TS-5992 2025-03-12 14:16:22 +08:00
dapan1121
a4ed19b36d enh: add left join cases 2025-03-11 11:29:49 +08:00
xinsheng Ren
4edddd6038
Merge branch '3.0' into enh/TS-5650/showLike 2025-03-07 10:29:35 +08:00
Simon Guan
c00d772492
Merge pull request #29649 from taosdata/feat/TS-5927-long-password
feat:[TS-5927]long-password
2025-03-06 17:25:48 +08:00
Simon Guan
9023f2f505
Merge pull request #30022 from taosdata/merge/mainto3.0
merge: from main to 3.0 branch
2025-03-05 19:44:38 +08:00
Simon Guan
393f49141f
Merge pull request #29989 from taosdata/ehn-TD-33933-decouple-send-heartbeat
ehn:TD-33933-decouple-send-heartbeat
2025-03-05 18:55:09 +08:00
Simon Guan
34120a38c5 Merge branch '3.0' into merge/mainto3.0 2025-03-05 18:12:55 +08:00
Simon Guan
292b0cb317 Merge branch 'main' into merge/mainto3.0 2025-03-05 18:10:31 +08:00
dongming chen
e5fb75797a
Merge branch '3.0' into feat/TS-5927-long-password 2025-03-05 12:15:12 +08:00
Simon Guan
1a9f75e663 Merge branch '3.0' into fix/internal 2025-03-04 13:47:03 +08:00
dmchen
1d435faaa2 ehn:TD-33933-decouple-send-heartbeat 2025-03-03 17:42:19 +08:00
Haojun Liao
ac667164ed refactor: do some internal refactor. 2025-03-03 16:20:58 +08:00
Simon Guan
6826edf5e0 Merge branch 'main' into merge/mainto3.0 2025-03-03 14:01:43 +08:00
factosea
e91014f807 feat: show variables like 2025-03-02 22:48:05 +08:00
Simon Guan
b91dd10846 enh: add log level to each log entry 2025-02-27 09:55:11 +08:00
Haojun Liao
45b0e47a19 refactor(stream): add long exec stream queue for history tasks in step1 and re-calculate task execution. 2025-02-27 00:15:03 +08:00
dapan1121
4224d55b39 feat: support const ts as primary cond 2025-02-25 19:26:52 +08:00
Shengliang Guan
4ed932aa81
Merge pull request #29845 from taosdata/enh/TD-33783-3.0
enh: grant support TDgpt
2025-02-24 16:56:11 +08:00
Shengliang Guan
5ad05a662a Merge branch '3.0' into feat/TS-5470-3.0 2025-02-24 16:12:47 +08:00
Shengliang Guan
8fccf318ab
Merge pull request #29902 from taosdata/merge/mainto3.0
merge: from main to 3.0 branch
2025-02-24 15:47:21 +08:00
Shengliang Guan
3a1d06f4d7
Merge pull request #29354 from taosdata/enh/TS-5255/colsFunc2
enh: ts5255/cols func2
2025-02-24 14:19:37 +08:00
Jinqing Kuang
51ffff2079 feat(query)[TS-5470]: add syntax to specify minimum duration for event and state windows
Introduce the `true for` syntax to allow users to specify the minimum
duration for event and state windows. Add corresponding tests to
validate the feature. Updated the user manual with usage instructions.
2025-02-24 08:02:48 +08:00
Shengliang Guan
3a739beaa5 Merge branch 'main' into merge/mainto3.0 2025-02-22 20:07:40 +08:00
Haojun Liao
ecc667c22b
Revert "refactor(stream): drop task in async ways" 2025-02-21 01:10:18 +08:00
Shengliang Guan
2bee60a41a Merge branch 'main' into merge/mainto3.0 2025-02-20 18:12:02 +08:00
Shengliang Guan
0a9f5086f0
Merge pull request #29775 from taosdata/fix/analysis
refactor(stream): drop task in async ways
2025-02-20 13:38:53 +08:00
kailixu
80183ad8f3 enh: grant support TDgpt 2025-02-20 11:11:27 +08:00
Shengliang Guan
d13f9448eb
Merge pull request #29730 from taosdata/feat/3.0/TS-5584
Feat(sync):Add restore progress to the "show vnodes" command, and add…
2025-02-19 16:30:27 +08:00
facetosea
4a3343a667 enh: cols in having clause 2025-02-19 13:15:25 +08:00
Shengliang Guan
8bee0e7030
Merge pull request #29666 from taosdata/feat/TS-5776
fix:[TS-5776]add raw type from consumer
2025-02-18 17:53:52 +08:00
Zhixiao Bao
05112546fd
Merge branch '3.0' into feat/3.0/TS-5584 2025-02-18 16:07:47 +08:00
Shengliang Guan
92eb6038e2
Merge pull request #29762 from taosdata/feat/TS-5469-3.0
feat(stream)[TS-5469]: add more stream event notifications
2025-02-18 15:14:58 +08:00
xiao-77
d071f40328 Fix review errors. 2025-02-18 09:31:15 +08:00
wangmm0220
6f2ccfc3b2 Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/TS-5776 2025-02-17 17:41:25 +08:00
Jinqing Kuang
fc2d2672b9 feat(stream)[TS-5469]: add more stream event notifications
- Add event notifications for all window types
- Implement window invalidation notifications
- Add statistics for event notification delivery
2025-02-16 11:07:16 +08:00
Haojun Liao
25cdfa5ee9 refactor(stream): add long exec stream queue for history tasks in step1 and re-calculate task execution. 2025-02-14 18:34:20 +08:00
wangmm0220
d67de02a31 fix:[TS-5776]add raw type from consumer 2025-02-14 15:09:32 +08:00
Alex Duan
d3e1e53569 fix: adjust oem name only with cus_name.h define 2025-02-13 14:12:34 +08:00
Alex Duan
8d9539f86e fix: adjust ci case for four lines version output 2025-02-13 13:33:38 +08:00
Alex Duan
22ca66b25c fix: restore cur_name.h 2025-02-13 13:16:39 +08:00
Alex Duan
400254820c fix: remove cur_name.h content to tdef.h and del cur_name.h 2025-02-13 13:00:46 +08:00
xiao-77
359399f1cd feat rename some names. 2025-02-12 14:49:59 +08:00
xiao-77
b62d8d37b1 Feat(sync):Use remaining time to replace progress. 2025-02-11 15:51:05 +08:00
facetosea
3c0121ef1a unused code 2025-02-11 07:38:12 +00:00