Commit Graph

143 Commits

Author SHA1 Message Date
wangjiaming0909 1d7515213b feat: 1. add limit for diskBasedBuf
2. use referenced tuple before actually pushing into pq
3. use limitInfo instead of maxRows in sort pyhsical node
2023-07-11 14:16:20 +08:00
wangjiaming0909 57ddb3437d feature: optimize order by limit using priority queue 2023-06-27 17:50:50 +08:00
wangjiaming0909 fb4f174fbc feature: add input, output ts order for execution plans 2023-06-16 10:26:09 +08:00
dapan1121 ddd3a53e56 Merge remote-tracking branch 'origin/3.0' into fix/TD-24001 2023-06-02 13:57:34 +08:00
Haojun Liao 5301c5756a other: merge main into 3.0. 2023-06-01 09:29:18 +08:00
Dingle Zhang 984211f3b4
Feature/3.0 geometry (#21037)
* Add GEOMETRY data type and make sql.c able to parse it. The GEMETRY works like BINARY so far.

* add GEOMETRY type into gConvertTypes to fix some issues like DELETE calling

* change some test cases to make sure no same timestamp is inserted, and add my smoketest.sh

* Add a function MakePoint() and introduce a lib geometry

* implement sql functions GeomFromText() and AsText()

* Use GEOS *_r funcions instead for thread safety

* Handle with TSDB_DATA_TYPE_GEOMETRY when INSERT geometry data by converting WKT.
Add geosWrapper to wrap the basic GEOS functions for TDEngine.

* refactor AsText and MakePoint functions to be like GeomFromText

* Show WKT when print geometry data in screen
Dump hex data when dump geometry data in a file

* define TYPE_BYTES item for TSDB_DATA_TYPE_GEOMETRY, which casued some strange issues.

* set number of decimals of WKT to 6

* Implement SQL function Intersects()

* refactor geometry sql functions

* Add geosErrMsgeHandler() to get the GEOS error detail

* use threadlocal to instantiate SGeosContext
call destroyGeosContext() only if the thread exists

* remove SGeosContext *context param for all geometry functions since we use thread local one,
so that all caller do not need to know the context.

* Modify Intersects() to call PreparedIntersects() when one of param is a constant, which has higher performance.

* rename prepareFn() to initCtxFn() to avoid confusion with PreparedFn

* Add prefix "ST_" for all geometry functions

* move getThreadLocalGeosCtx() and destroyThreadLocalGeosCtx() into util,
so that all unit test tools can compile

* Add unit test for geometry lib, only test MakePoint so far

* refactor and enhance existing cases in geomFuncTest

* implement NULL type and NULL value test for geomFuncTest

* add test on geomFromText()

* add unit test on AsText() in geomFuncTest

* combine some makePointFunction test items

* add intersectsFunctionTwoColumns test
refactor on callGeomFromTextWrapper functions

* enhance intersectsFunction test to add cases like input constant , NULL type, NULL value, or wrong content

* add more cases into intersectsFunction test

* Add basic test on geometry in system test

* Add ST_GeomFromText and ST_AsText function test in system test on geometry

* add ST_Intersects function test in system test on geometry

* support to check expectedErrno in system test on geometry

* adjust geomTest unit test and geometry system test

* add geometry data type and functions in doc english version

* implement touchesFunction() in geometry lib
refactor geometry relation functions model

* separate gemFuncTest into several src files

* add unit test on touchesFunction

* support sql function ST_Touches()
add system test on ST_Touches

* add docs for ST_Touches()

* Add ST_Contains()

* Add ST_Covers()

* Add ST_Equals()

* add swapAllowed param for geomRelationFunction()
read geom2 earlier intead of at doGeosRelation()

* Add ST_ContainsProperly()

* build on windows

* Merge from 3.0 to 3.0_geometry

* change macro definition TSDB_DATA_TYPE_GEOMETRY as the last one for compatibility

* change '\\NULL' to 'NULL' back in shellDumpFieldToFile()

* add /usr/local/include into include directory

* add /usr/local/inlcude and /usr/local/lib in cmake.platform for DARWIN
2023-05-24 15:36:46 +08:00
slzhou f9da4abdcb fix: change more variable names 2023-05-19 15:38:52 +08:00
shenglian zhou f36b0be17d fix: join eq conditions not only for tag 2023-05-19 14:32:03 +08:00
shenglian zhou 629ab2b85f fix: extract tag equal condition 2023-05-15 16:10:11 +08:00
dapan1121 7ea23a33bc enh: optimize time line function validation 2023-05-09 16:37:08 +08:00
dapan1121 a1eefd25ea fix: count wrong group number issue 2023-05-09 11:33:47 +08:00
Xiaoyu Wang 5b7ec8ade5 fix: invalid write memory when query policy is 4 2023-02-28 10:41:13 +08:00
Haojun Liao 22aa03307c fix(query): fix syntax errors on centos. 2023-02-24 11:38:54 +08:00
Xiaoyu Wang 3382a24a69 merge main 2023-02-10 18:03:11 +08:00
Xiaoyu Wang 57ffc1b540 feat: add ignore update option for create stream 2023-02-08 18:55:42 +08:00
Xiaoyu Wang 98e2fa2d7b feat: add ignore update option for create stream 2023-02-08 18:46:12 +08:00
Xiaoyu Wang fdde287ca9 merge main 2023-01-04 11:43:20 +08:00
Ganlin Zhao b55af6372c fix(query): fix count/hyperloglog return additional row in group by
when queryPolicy is set to 3.
2022-12-28 17:28:40 +08:00
Shengliang Guan 664dcb6b4e Merge branch 'main' into merge/mainto3.0_1226 2022-12-26 09:26:54 +08:00
dapan1121 978d45ffc1 enh: optimize converting timestamp at client side 2022-12-15 16:56:35 +08:00
Xiaoyu Wang 2f9753c540 event window query 2022-12-13 14:18:03 +08:00
Xiaoyu Wang bc36bc188e feat: event window 2022-12-08 09:36:37 +08:00
Xiaoyu Wang bc413b8fff feat: add stream option 'delete_mark' 2022-12-06 16:07:11 +08:00
Xiaoyu Wang 70164f9f20 enh: group by tbname optimize 2022-11-24 15:16:38 +08:00
dapan1121 f3919c4450 Merge remote-tracking branch 'origin/3.0' into feat/caseWhen 2022-10-14 09:14:01 +08:00
Xiaoyu Wang d6374a726a fix: some problems of parser 2022-10-12 16:32:29 +08:00
dapan1121 55a26990da feat: support case when cases 2022-10-08 19:07:43 +08:00
Xiaoyu Wang 1d62834e5c feat(stream): tag and child table name improvement 2022-09-26 18:39:47 +08:00
dapan1121 dc0e36f742
Merge branch '3.0' into enh/clientPolicy 2022-09-23 16:41:18 +08:00
Shengliang Guan 778aa44fc2
Merge pull request #17018 from taosdata/fix/3.0_bugfix_wxy
fix: subplans under set operator use different group ids
2022-09-23 14:03:05 +08:00
dapan1121 3fb3aa7bea Merge remote-tracking branch 'origin/3.0' into enh/clientPolicy 2022-09-23 13:33:11 +08:00
Xiaoyu Wang ee9190e9c0 fix: subplans under set operator use different group ids 2022-09-23 11:26:03 +08:00
Xiaoyu Wang 50ebcb5006 feat: case when expression 2022-09-22 19:20:21 +08:00
dapan1121 4048c99282 Merge remote-tracking branch 'origin/3.0' into enh/clientPolicy 2022-09-15 14:50:35 +08:00
Xiaoyu Wang e2586979eb enh: the delete physical plan increases the timestamp interval of the actual deleted data 2022-09-14 17:51:21 +08:00
dapan1121 1427a8f3b0 enh: support client query policy 2022-09-09 19:03:42 +08:00
54liuyao 83e62c3849 feat(stream):stream partition by column 2022-09-01 15:05:24 +08:00
Xiaoyu Wang 99490c063e feat: system table visible permission 2022-08-24 17:36:10 +08:00
Haojun Liao dc991a9040 other:merge 3.0 2022-08-12 14:51:52 +08:00
Xiaoyu Wang 4345631d3c fix: project adds whether to ignore the field of group id 2022-08-08 18:32:04 +08:00
Xiaoyu Wang f8bd778979 enh: the fill physical scheme distinguishes between interpolated and non-interpolated expressions 2022-08-02 16:18:53 +08:00
Xiaoyu Wang 547ab7028b enh: last function optimize 2022-07-29 13:38:24 +08:00
wangmm0220 2ba6ac5fba feat:add ts,table name from SDeleterRes 2022-07-27 17:11:57 +08:00
Xiaoyu Wang 58514862e6 feat: delete sink node add ts column name attribute 2022-07-27 15:25:57 +08:00
Xiaoyu Wang 8bb432c348 feat: super table order by primary key optimization 2022-07-25 16:45:23 +08:00
Xiaoyu Wang 1979801c93 fix: the problem of data loss when interval is used for outer query 2022-07-21 19:21:15 +08:00
Xiaoyu Wang 4830b7d9d3 feat: support pseudo columns such as _qstart, _qend and _qduration 2022-07-13 18:12:02 +08:00
dapan1121 82dbf54719 Merge branch 'fix/dnode' of github.com:taosdata/TDengine into fix/dnode 2022-07-06 20:34:07 +08:00
dapan1121 a3bf5b96c4 fix: fix query redirect issue 2022-07-06 20:33:23 +08:00
Xiaoyu Wang c1eef9911b feat: sql command 'insert ... select' 2022-07-06 16:16:54 +08:00