Commit Graph

241 Commits

Author SHA1 Message Date
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
dapan1121 cf7b4593e7 feat: add drop dnode unsafe command 2023-05-16 09:50:10 +08:00
shenglian zhou 629ab2b85f fix: extract tag equal condition 2023-05-15 16:10:11 +08:00
Haojun Liao 99148d6719 other: merge 3.0 2023-05-13 20:02:48 +08:00
yihaoDeng 5708fcb5cb Merge branch 'enh/3.0' into enh/rocksdbSstateMerge 2023-05-10 08:02:16 +00:00
dapan1121 a8c65cd25a feat: support restore dnode clause 2023-05-09 19:19:14 +08:00
dapan1121 a1eefd25ea fix: count wrong group number issue 2023-05-09 11:33:47 +08:00
Xiaoyu Wang dc5235eb92 feat: add pause/resume stream statement 2023-04-24 14:48:33 +08:00
cadem ea35f0ae11 feat/balance vgroup leader 2023-03-22 09:36:59 +08:00
Xiaoyu Wang 5b7ec8ade5 fix: invalid write memory when query policy is 4 2023-02-28 10:41:13 +08:00
Xiaoyu Wang 3382a24a69 merge main 2023-02-10 18:03:11 +08:00
Xiaoyu Wang 98e2fa2d7b feat: add ignore update option for create stream 2023-02-08 18:46:12 +08:00
Hongze Cheng 5a56e39613 Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/vnode_compact 2023-02-08 11:15:51 +08:00
Xiaoyu Wang 8b6a50d970 feat: add explain test case 2023-02-07 18:35:42 +08:00
Xiaoyu Wang 9df6f69371 merge 3.0 2023-01-04 15:02:31 +08:00
Xiaoyu Wang fdde287ca9 merge main 2023-01-04 11:43:20 +08:00
Alex Duan 0c422345b3 feat: support show cluster alive; and show db.alive; 2022-12-29 18:07:57 +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
Xiaoyu Wang b52ebb6fd5 feat: sql command 'compact database' 2022-12-27 11:11:02 +08:00
Shengliang Guan 664dcb6b4e Merge branch 'main' into merge/mainto3.0_1226 2022-12-26 09:26:54 +08:00
Xiaoyu Wang 72fe37888f enh: improve unit tests 2022-12-21 17:24:54 +08:00
Xiaoyu Wang aecd05cf34 enh: improve unit tests 2022-12-21 13:51:06 +08:00
Xiaoyu Wang ad7f9b274b enh: improve unit tests 2022-12-20 16:53:08 +08:00
Xiaoyu Wang c6701221d6 enh: improve unit tests 2022-12-20 12:46:26 +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 cfbcf92c1f Merge remote-tracking branch 'origin/3.0' into enh/3.0_planner_optimize 2022-11-30 14:29:34 +08:00
Xiaoyu Wang f3681433c6 fix: stream plan error 2022-11-29 16:43:12 +08:00
Xiaoyu Wang 555f2cb981 merge 3.0 2022-11-29 13:16:54 +08:00
Xiaoyu Wang 70164f9f20 enh: group by tbname optimize 2022-11-24 15:16:38 +08:00
Xiaoyu Wang bc180e39c9 enh: ins_tables optimize 2022-11-22 16:39:30 +08:00
Xiaoyu Wang 40c7562470 enh: optimize statement for querying the number of sub tables of the super table 2022-11-15 16:38:51 +08:00
Xiaoyu Wang e8c0515dce enh: flag of whether the subplan is added as a show statement 2022-10-28 10:46:04 +08:00
Xiaoyu Wang 02ac6fa552 enh: add unit test and delete useless code 2022-10-26 17:01:55 +08:00
dapan1121 55a26990da feat: support case when cases 2022-10-08 19:07:43 +08:00
54liuyao 747297bd28 feat(stream): stream fill 2022-09-27 18:11:44 +08:00
Xiaoyu Wang 1d62834e5c feat(stream): tag and child table name improvement 2022-09-26 18:39:47 +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
Shengliang Guan f80068bbe6
Merge pull request #17011 from taosdata/feat/3.0_parser_planner
feat: case when expression
2022-09-23 11:41:57 +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
Xiaoyu Wang 0321b8c088 fix: avg function data scan optimization 2022-09-22 15:08:07 +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
Xiaoyu Wang 983ac86a49 enh: add binary serialization method to node structure 2022-09-06 13:40:43 +08:00
54liuyao 83e62c3849 feat(stream):stream partition by column 2022-09-01 15:05:24 +08:00