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.
* 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