Commit Graph

292 Commits

Author SHA1 Message Date
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
wangmm0220 8c1c2a2f97 fix:add grammar support 2023-05-23 17:47:17 +08:00
wangjiaming0909 789b0c7178 fix: select <expr1>, <expr1##sth else> from ... return error data when strlen(expr1) > TSDB_COL_NAME_LEN 2023-05-16 15:42:30 +08:00
dapan1121 cf7b4593e7 feat: add drop dnode unsafe command 2023-05-16 09:50:10 +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
kailixu 2d4dd64584 chore: more code 2023-04-24 20:21:28 +08:00
Xiaoyu Wang dc5235eb92 feat: add pause/resume stream statement 2023-04-24 14:48:33 +08:00
dapan1121 176f7740c3 fix: memory leak issue 2023-04-21 16:41:39 +08:00
dapan1121 3c2fc48e74 feat: support new table_prefix/table_suffix mode 2023-04-21 14:17:07 +08:00
Xiaoyu Wang 4c04b155d5 merge main 2023-04-11 15:56:28 +08:00
Xiaoyu Wang cc7485812a feat: add 'or replace' clause to 'create function' statement 2023-04-04 17:45:18 +08:00
Xiaoyu Wang daaf4871ac feat: table level privilege syntax 2023-03-28 18:43:58 +08:00
Xiaoyu Wang eb79046a70 merge 3.0 2023-03-22 11:42:02 +08:00
cadem ea35f0ae11 feat/balance vgroup leader 2023-03-22 09:36:59 +08:00
Xiaoyu Wang 58ebd3539d feat: alter database wal_retention_period/wal_retention_size 2023-03-21 16:45:19 +08:00
Xiaoyu Wang 4c8bab7e58 merge main 2023-03-08 10:59:33 +08:00
Xiaoyu Wang df0d200f59 feat: the compact command adds 'start with end with' clause 2023-03-07 15:24:04 +08:00
Xiaoyu Wang 599967d39f feat: add language clause for create function 2023-03-04 11:08:50 +08:00
Xiaoyu Wang 9305b0efd0 fix: create stream syntax check 2023-03-03 16:57:13 +08:00
54liuyao fe4123e814 feat:window close && ignore expired 2023-02-28 18:20:58 +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 a52371959e feat: add ignore update option for create stream 2023-02-07 19:31:08 +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 c0a16094ab fix: merge from 3.0 2022-12-30 19:02:48 +08:00
Xiaoyu Wang bc2fa58280 Merge remote-tracking branch 'origin/3.0' into enh/3.0_planner_optimize 2022-12-30 10:14:47 +08:00
Xiaoyu Wang de418e8c8d feat: support writing streams to existing tables 2022-12-30 10:11:41 +08:00
Alex Duan 0c422345b3 feat: support show cluster alive; and show db.alive; 2022-12-29 18:07:57 +08:00
Xiaoyu Wang e0ca1affdf fix: escape error in create topic/stream 2022-12-29 14:39:02 +08:00
Hongze Cheng de6be90cb5 Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/vnode_compact 2022-12-29 10:00:47 +08:00
Shengliang Guan 78c14a2c88 Merge remote-tracking branch 'origin/3.0' into merge/mainto3.0_1228 2022-12-28 14:59:02 +08:00
Xiaoyu Wang eddaaf24e4 fix: escape error in create topic 2022-12-28 10:22:13 +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 e62315c244 fix: keepColumnName parameter changes the user alias 2022-12-23 15:12:53 +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 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 4e8acca2eb feat: sql command 'show user privileges' 2022-11-30 19:24:15 +08:00
dapan1121 65adb259ff enh: support multiple groups in exchange operator 2022-11-28 18:44:59 +08:00
Xiaoyu Wang 38f20ec32d enh: show table tags command extension 2022-11-10 17:22:13 +08:00
Xiaoyu Wang ae4354c277 enh: add sql command 'drop dnode id force' 2022-10-31 10:30:54 +08:00
Xiaoyu Wang 02ac6fa552 enh: add unit test and delete useless code 2022-10-26 17:01:55 +08:00
Xiaoyu Wang 0fdce91b5a fix: wrong permissions of 'show variables' command 2022-10-24 16:34:10 +08:00
Xiaoyu Wang 9a946541a2 enh: do coverity scan 2022-10-13 18:14:44 +08:00
Xiaoyu Wang 7a19119dc7 Merge remote-tracking branch 'origin/3.0' into enh/3.0_planner_optimize 2022-10-13 16:44:41 +08:00
Xiaoyu Wang 3cce178721 enh: do coverity scan 2022-10-13 16:43:56 +08:00
Xiaoyu Wang 947e9d6458 fix: some problems of parser 2022-10-12 10:16:29 +08:00
Xiaoyu Wang 73642ac3a2 feat: sql command 'show table tags from table_name' 2022-09-29 16:16:49 +08:00
Xiaoyu Wang 1d62834e5c feat(stream): tag and child table name improvement 2022-09-26 18:39:47 +08:00
Xiaoyu Wang 50ebcb5006 feat: case when expression 2022-09-22 19:20:21 +08:00
Xiaoyu Wang 8a010a58f3 enh: added memory allocators for parser and planner 2022-09-20 16:13:08 +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 d585c20aa3 enh: count(tbname) optimize 2022-09-13 18:58:56 +08:00
Xiaoyu Wang 6cf578f299 feat: database option 'tsdb_pagesize' 2022-09-13 14:19:50 +08:00
Xiaoyu Wang ccaf6f8a78 feat: add database option 'table_prefix' and 'table_suffix' 2022-09-03 11:22:36 +08:00
Shengliang Guan 441514d5ea
Merge pull request #16583 from taosdata/enh/3.0_planner_optimize
feat: sql command 'show vnodes' and database option 'sst_trigger'
2022-09-01 19:59:44 +08:00
Xiaoyu Wang 594e4b376e feat: sql command 'show vnodes' and database option 'sst_trigger' 2022-09-01 19:01:37 +08:00
Shengliang Guan c49bb4533f
Merge pull request #16575 from taosdata/enh/3.0_planner_optimize
enh: the default values of wal related parameters are different in si…
2022-09-01 16:50:19 +08:00
Xiaoyu Wang c06503d865 enh: the default values of wal related parameters are different in single-replica and multi-replica 2022-09-01 15:52:03 +08:00
Xiaoyu Wang af8fe3ada8 fix: a privilege problem of show tables 2022-09-01 11:15:03 +08:00
Xiaoyu Wang dd33c0a3f6 enh: create stream options adjust 2022-08-12 16:40:49 +08:00
Xiaoyu Wang 04a2e8e541 fix: the default value of wal-related database parameters is incorrect 2022-08-09 11:20:02 +08:00
Xiaoyu Wang 0f3a7e314e fix: plan problem of create stream statement 2022-08-05 17:37:58 +08:00
Xiaoyu Wang bd8de1e8fd fix: timeline function validity check 2022-08-03 16:59:27 +08:00
Xiaoyu Wang f33959bd9b fix: some problems of parser 2022-08-02 20:20:44 +08:00
Xiaoyu Wang 5c9fbbd2e1 fix: some problems of parser and planner 2022-08-01 15:54:53 +08:00
Xiaoyu Wang b08a28d559 fix: some problems of planner 2022-07-30 13:14:44 +08:00
Xiaoyu Wang 1ddbff0acf feat: add db options of wal 2022-07-25 21:09:06 +08:00
Xiaoyu Wang 8bb432c348 feat: super table order by primary key optimization 2022-07-25 16:45:23 +08:00
Xiaoyu Wang bf18385e00 merge szhou/fix/udf 2022-07-25 15:34:58 +08:00
Xiaoyu Wang 8af30d11c9 fix: semantic check when last(*) and column are together 2022-07-23 13:36:49 +08:00
Xiaoyu Wang 37ec05a715 fix: memory leak problems of parser and planner 2022-07-20 17:20:29 +08:00
Xiaoyu Wang 1ad25d9e98 feat: sql command 'show tags from table_name' 2022-07-19 16:25:45 +08:00
Xiaoyu Wang 5988fc0e4a feat: sql command 'show tags from table_name' 2022-07-19 15:31:44 +08:00
Xiaoyu Wang 7c585d8ed9 fix: database options 'strict' and 'cachelast' syntax adjustments 2022-07-16 11:47:26 +08:00
Xiaoyu Wang 4830b7d9d3 feat: support pseudo columns such as _qstart, _qend and _qduration 2022-07-13 18:12:02 +08:00
Xiaoyu Wang 43b5ca1efe feat: support pseudo columns such as _qstart, _qend and _qduration 2022-07-13 15:13:01 +08:00
Shengliang Guan 6bc68021ba
Merge pull request #14745 from taosdata/fix/valgrind
refactor: adjust threads number
2022-07-11 16:59:18 +08:00
Shengliang Guan a846bb9381 refactor: rename cacheLastRow to cacheLast 2022-07-11 15:45:40 +08:00
Xiaoyu Wang 6a845b746c fix: some problems of parser 2022-07-11 15:15:39 +08:00
Xiaoyu Wang 0bc700eb82 feat: sql command 'trim database' 2022-07-11 10:53:06 +08:00
Xiaoyu Wang 5708d497ce fix: syntax issue with '(select ... limit) statement' 2022-07-11 10:07:11 +08:00
Xiaoyu Wang 0bf399a67e merge 3.0 2022-07-06 18:53:54 +08:00
Xiaoyu Wang 025b7782e1 feat: add db option 'cachelastsize' 2022-07-06 18:47:33 +08:00
Minglei Jin d843a8ac89
Merge pull request #14486 from taosdata/feat/tsdb_refact
Feat/tsdb refact
2022-07-06 17:43:22 +08:00
Xiaoyu Wang c1eef9911b feat: sql command 'insert ... select' 2022-07-06 16:16:54 +08:00
Haojun Liao 916dbebb00 other: merge 3.0 2022-07-06 13:49:39 +08:00
Xiaoyu Wang c8508248e2 feat: sql command 'insert ... select' 2022-07-05 21:12:10 +08:00
Haojun Liao 15d8ae0fee other: merge 3.0 2022-07-05 19:22:50 +08:00
Xiaoyu Wang 5b14444ca2 fix: a problem of unique function with ts 2022-07-05 18:00:07 +08:00
Xiaoyu Wang 24d0fc4515 fix: adjust parsing of negative numbers 2022-07-05 15:38:39 +08:00
Haojun Liao 6bfe5df94a other: merge 3.0 2022-07-05 09:47:39 +08:00
Hongze Cheng ddb198de23 Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/tsdb_refact 2022-07-04 03:42:50 +00:00
Xiaoyu Wang 988cffcce6 fix: some problems of parser and planner 2022-07-02 18:19:10 +08:00
Xiaoyu Wang 8a8939f99c fix: csum/diff/mavg support subquery 2022-07-01 13:31:22 +08:00