Commit Graph

310 Commits

Author SHA1 Message Date
Jinqing Kuang 647066c4f9 enh(query)[TD-32652]: enable AVX implementation with CPU dispatching
Extract AVX implementation of specific functions into separate files.
The CPU dispatching mechanism will now check the machine's instruction
set at runtime to determine whether to use the AVX implementation or
fallback to the naive version.

This enhancement improves performance on most machines while ensuring
compatibility with older hardwares.
2024-11-01 12:44:59 +08:00
Jing Sima 5f7dbde47f enh:[TD-32459] Abstract function properties into a struct. 2024-10-24 16:39:12 +08:00
Jing Sima c26ab17f19 enh:[TD-32459] Abstract function properties into a struct. 2024-10-24 15:08:56 +08:00
Shengliang Guan 3003e7286e feat: data analysis 2024-10-15 10:00:38 +08:00
Shengliang Guan 9f05ca5ee8 revert: data analysis 2024-10-14 23:27:11 +08:00
Jing Sima 6231d46cc5 enh:[TD-32189] Add validation to prevent changes to resultinfo structure. 2024-10-12 15:14:59 +08:00
Shengliang Guan 4dc0c2f47e feat: data analysis 2024-10-09 17:09:43 +08:00
Jing Sima 122b707ac8 enh:[TD-32158] Free memory allocated in function setup. 2024-09-24 11:35:36 +08:00
Jing Sima 64bb49e0db fix:[TS-5839] Fix crash when use last function on a column with all null value with partition subclause. 2024-09-11 13:49:06 +08:00
Jing Sima 4a8bbc36bd feat:[TS-4893] refactor of rand function. 2024-09-09 18:48:24 +08:00
Jing Sima a249bef104 feat:[TS-4893] Add random and support use min/max on string column. 2024-09-09 18:48:24 +08:00
Jing Sima 02dd9c9160 fix:[TD-31818] fix memory leak allocated by mode function. 2024-09-03 17:34:23 +08:00
sima 5fb431aff4 enh:[TD-31525] Remove ASSERT in libs/function. 2024-08-19 16:58:13 +08:00
sima a54019211f feat:[TS-4893] Support MYSQL functions.
Add more functions:
 - Numeric Functions: PI(),ROUND(),TRUNC(),EXP(),LN(),SIGN(),DEGREES(),RADIANS().
 - String Functions: CHAR(),ASCII(),POSITION(),TRIM(),REPLACE(),REPEAT().
 - Date and Time Functions: WEEKDAY(),DAYOFWEEK(),WEEK(),WEEKOFYEAR().
 - Aggregate Functions: VAR_POP().
Modify some functions:
 - ROUND(): support round to given decimal places.
 - CHAR_LENGTH(): support calculate multi-byte character's length.
 - TIMEDIFF(): result will be negative when expr1 < expr2.
 - STDDEV(): add alias name STDDEV_POP().
 - SUBSTR(): add alias name SUBSTRING().
             support new syntax SUBSTRING/SUBSTR(expr FROM pos [FOR len]).
2024-08-14 09:19:25 +08:00
xsren 911e6380b9 return value: udf 2024-07-27 18:33:08 +08:00
Hongze Cheng eaa3634764 enh: refactor error code 2024-07-25 08:51:19 +08:00
sima ed892e5061 enh:[TD-31043] Handling return value in thistogram.c 2024-07-23 15:37:17 +08:00
sima 6a9441528a enh:[TD-31043] Handling return value in builtinsimpl.c 2024-07-23 15:37:17 +08:00
xsren 2a675ccf6b group const value func 2024-07-22 11:19:11 +08:00
xsren b72792e20e unuesd code 2024-07-22 08:48:26 +08:00
xsren ebe0074da4 fix: interp crash 2024-07-22 00:06:47 +08:00
dapan1121 e4c624f286
Merge pull request #26489 from taosdata/fix/3.0/TD-30819
feat:[TD-30819] Reduce memory usage when use percentile with interval.
2024-07-11 13:35:39 +08:00
sima f17c535ca0 feat:[TD-30819] Reduce memory usage when using percentile with interval. 2024-07-10 19:43:19 +08:00
factosea 5f0ac46029 diff 2024-07-04 11:04:59 +08:00
wangjiaming0909 fa85d1caa7 support other tsma funcs 2024-04-16 14:23:25 +08:00
wangjiaming0909 cc9550f45e add tsma funcs 2024-04-16 14:20:59 +08:00
wangjiaming0909 ef47fd57d6 support tsma catalog cache 2024-04-16 14:14:34 +08:00
dapan1121 55d118d17c Merge remote-tracking branch 'origin/3.0' into feat/TD-27337 2024-04-16 09:12:04 +08:00
dapan1121 8407eb3791 enh: outer join performance optimization 2024-04-09 09:48:38 +08:00
slzhou 5fe03fe3f4 feat: irate support pk 2024-03-26 09:18:45 +08:00
slzhou 4d3eb6824c feat: add pk support for last/first/last_row dynDataRequired 2024-03-25 13:38:34 +08:00
shenglian zhou cee96e2048 feat: begin coding function 2024-03-19 13:57:12 +08:00
wangmm0220 7246fedfef Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/ly_multi_marks 2024-01-18 19:08:35 +08:00
dapan1121 eed1095dc1
Merge pull request #24479 from taosdata/szhou/fix/td-28271
fix: add input ignore group to project
2024-01-18 08:49:31 +08:00
slzhou 8e1039a07d fix: when input ignore group, split from scan 2024-01-17 10:30:07 +08:00
wangmm0220 2ab54a1335 fix:conflicts from 3.0 2024-01-15 16:54:52 +08:00
54liuyao 52d8811bdc code coverage 2024-01-12 13:49:32 +08:00
fullhonest 0a0f1a9d22 Fix TD-27989 2023-12-29 11:33:47 +08:00
wangmm0220 eac86f72b3 fix:partical func parameters for middle interval[checkStreamSTable1.sim] 2023-12-22 18:30:22 +08:00
Alex Duan a71fabb24f coverage: remove tfunctionInt.c 2023-12-22 17:50:55 +08:00
wangjiaming0909 1e53e6cfeb optimize count()/last() + partition by tbname/tag 2023-09-19 14:56:02 +08:00
Ganlin Zhao 01a7dfbc34 feat: add irate distributed execution 2023-08-15 12:59:30 +08:00
dapan1121 4dae9f4eff merge main to 3.0 2023-06-26 18:43:00 +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
kailixu e976fcb91d Merge branch '3.0' into enh/TD-21161-3.0 2023-04-07 17:51:35 +08:00
Xiaoyu Wang e9d7a099cc merge main 2023-04-04 14:50:58 +08:00
kailixu 37bc1bca36 enh: column/row max length support up to 64K 2023-04-03 17:00:52 +08:00
54liuyao ffa59f69aa fix:add combine function for groupKey 2023-03-23 15:20:45 +08:00
slzhou f611a6d467 fix: udf can return varchar 2023-03-10 12:36:58 +08:00
Ganlin Zhao eae188b445 fix: fix no available disk error 2023-01-06 16:19:41 +08:00