• D
    Feature/3.0 geometry (#21037) · 984211f3
    Dingle Zhang 提交于
    * 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
    984211f3
geosWrapper.h 2.4 KB