Changeset: 8fc60bea6b50 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8fc60bea6b50 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 Branch: geo Log Message:
approved test: clients diffs (truncated from 16694 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2715,13 +2715,132 @@ command batsql.round(v:bat[:oid,:bte],d: address bte_bat_round_wrap; comment round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot) -command batgeom.Contains(a:wkb,px:bat[:oid,:dbl],py:bat[:oid,:dbl]):bat[:oid,:bit] -address wkbContains_point_bat; -comment Returns true if the Geometry-BAT a 'spatially contains' Geometry-B b - -command batgeom.point(x:bat[:oid,:dbl],y:bat[:oid,:dbl]):bat[:oid,:wkb] -address wkbcreatepoint_bat; -comment Construct a point-BAT from two geometry-BATs +function batgeom.AsEWKT(w:bat[:oid,:wkb]):bat[:oid,:str]; +function batgeom.AsText(w:bat[:oid,:wkb]):bat[:oid,:str]; +command batgeom.Boundary(w:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbBoundary_bat; +command batgeom.Contains(a:bat[:oid,:wkb],b:wkb):bat[:oid,:bit] +address wkbContains_bat_geom; +command batgeom.Contains(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbContains_geom_bat; +command batgeom.Contains(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbContains_bat; +command batgeom.Distance(a:bat[:oid,:wkb],b:wkb):bat[:oid,:dbl] +address wkbDistance_bat_geom; +command batgeom.Distance(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:dbl] +address wkbDistance_geom_bat; +command batgeom.Distance(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:dbl] +address wkbDistance_bat; +command batgeom.Dimension(w:bat[:oid,:wkb]):bat[:oid,:int] +address wkbDimension_bat; +command batgeom.Filter(a:bat[:oid,:wkb],b:wkb):bat[:oid,:wkb] +address wkbFilter_bat_geom; +command batgeom.Filter(a:wkb,b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbFilter_geom_bat; +comment Filters the points in the bats according to the MBR of the other bat. + +command batgeom.FromText(wkt:bat[:oid,:str],srid:int,type:int):bat[:oid,:wkb] +address wkbFromText_bat; +command batgeom.GeometryN(w:bat[:oid,:wkb],n:int):bat[:oid,:wkb] +address wkbGeometryN_bat; +comment Returns the 1-based Nth geometry if the geometry is a GEOMETRYCOLLECTION, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE or (MULTI)POLYGON. Otherwise, return NULL + +command batgeom.GetCoordinate(w:bat[:oid,:wkb],idx:int):bat[:oid,:dbl] +address wkbGetCoordinate_bat; +comment Returns the coordinate at position idx of a point, or NULL if not available. idx=0 -> X, idx=1 -> Y, idx=2 -> Z. Input must be point + +function batgeom.GeometryType2(w:bat[:oid,:wkb]):bat[:oid,:str]; +function batgeom.GeometryType1(w:bat[:oid,:wkb]):bat[:oid,:str]; +command batgeom.GeometryType(w:bat[:oid,:wkb],flag:int):bat[:oid,:str] +address wkbGeometryType_bat; +function batgeom.GeomCollFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.GeomFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.GeomCollFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.GeomFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +command batgeom.IsValid(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsValid_bat; +command batgeom.IsRing(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsRing_bat; +command batgeom.IsSimple(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsSimple_bat; +command batgeom.IsEmpty(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsEmpty_bat; +command batgeom.IsClosed(w:bat[:oid,:wkb]):bat[:oid,:bit] +address wkbIsClosed_bat; +function batgeom.LineFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.LineFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +command batgeom.MakeLine(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbMakeLine_bat; +comment Gets two BATS of point or linestring geometries and returns a bat with linestring geometries + +command batgeom.MakeBox2D(p1:bat[:oid,:wkb],p2:bat[:oid,:wkb]):bat[:oid,:mbr] +address wkbBox2D_bat; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl],m:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePointM(x:bat[:oid,:dbl],y:bat[:oid,:dbl],m:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl]):bat[:oid,:wkb]; +function batgeom.MakePoint(x:bat[:oid,:dbl],y:bat[:oid,:dbl]):bat[:oid,:wkb]; +command batgeom.MakePointXYZM(x:bat[:oid,:dbl],y:bat[:oid,:dbl],z:bat[:oid,:dbl],m:bat[:oid,:dbl],zmFlag:int):bat[:oid,:wkb] +address wkbMakePoint_bat; +comment creates a point using the coordinates + +function batgeom.MPolyFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MLineFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MPointFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.MPolyFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.MLineFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.MPointFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.NRings(w:bat[:oid,:wkb]):bat[:oid,:int]; +function batgeom.NumInteriorRings(w:bat[:oid,:wkb]):bat[:oid,:int]; +command batgeom.NumRings(w:bat[:oid,:wkb],exterior:int):bat[:oid,:int] +address wkbNumRings_bat; +comment Returns the number of interior rings+exterior on the first polygon of the geometry + +command batgeom.NumGeometries(w:bat[:oid,:wkb]):bat[:oid,:int] +address wkbNumGeometries_bat; +comment Returns the number of geometries + +function batgeom.NPoints(w:bat[:oid,:wkb]):bat[:oid,:int]; +function batgeom.NumPoints(w:bat[:oid,:wkb]):bat[:oid,:int]; +command batgeom.PointsNum(w:bat[:oid,:wkb],check:int):bat[:oid,:int] +address wkbNumPoints_bat; +comment The number of points in the Geometry. If check=1, the geometry should be a linestring + +function batgeom.PolygonFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.PointFromText(wkt:bat[:oid,:str]):bat[:oid,:wkb]; +function batgeom.PolygonFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +function batgeom.PointFromText(wkt:bat[:oid,:str],srid:int):bat[:oid,:wkb]; +command batgeom.ToText(w:bat[:oid,:wkb],withSRID:int):bat[:oid,:str] +address wkbAsText_bat; +command batgeom.Union(a:bat[:oid,:wkb],b:bat[:oid,:wkb]):bat[:oid,:wkb] +address wkbUnion_bat; +comment Gets two BATS of geometries and returns the pairwise unions + +function batgeom.XMaxFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.XMinFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.XMaxFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.XMinFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.X(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.YMaxFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.YMinFromMBR(b:bat[:oid,:mbr]):bat[:oid,:dbl]; +function batgeom.YMaxFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.YMinFromWKB(g:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.Y(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +function batgeom.Z(w:bat[:oid,:wkb]):bat[:oid,:dbl]; +command batgeom.coordinateFromMBR(X_1:bat[:oid,:mbr],X_2:int):bat[:oid,:dbl] +address wkbCoordinateFromMBR_bat; +comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided mbr + +command batgeom.coordinateFromWKB(X_1:bat[:oid,:wkb],X_2:int):bat[:oid,:dbl] +address wkbCoordinateFromWKB_bat; +comment returns xmin (=1), ymin (=2), xmax (=3) or ymax(=4) of the provided geometry + +command batgeom.mbr(X_1:bat[:oid,:wkb]):bat[:oid,:mbr] +address wkbMBR_bat; +comment Creates the mbr for the given wkb. + +command batgeom.setSRID(w:bat[:oid,:wkb],srid:int):bat[:oid,:wkb] +address wkbSetSRID_bat; +comment Sets the Reference System ID for this Geometry. pattern batmal.multiplex(mod:str,fcn:str,a:any...):any... address MANIFOLDremapMultiplex; @@ -30874,6 +30993,10 @@ command batcalc.wrd(v:bat[:oid,:oid],dig address batnil_2num_wrd; comment cast to wrd and check for overflow +command batcalc.wkb(geo:bat[:oid,:wkb],columnType:int,columnSRID:int):bat[:oid,:wkb] +address geom_2_geom_bat; +comment Called when inserting values to a table in order to check if the inserted geometries are of the same type and srid required by the column definition + pattern batcalc.wrd_noerror(b:bat[:oid,:str],s:bat[:oid,:oid]):bat[:oid,:wrd] address CMDconvert_wrd; comment cast from str to wrd with candidates list @@ -35130,7 +35253,6 @@ command calc.blob(s:str):blob address BLOBblob_fromstr; command calc.blob(b:blob):blob address BLOBblob_blob; -unsafe function calc.curve(wkt:str):wkb; pattern calc.cmp(v1:dbl,v2:dbl):bte address CMDvarCMP; comment Return -1/0/1 if V1 </==/> V2 @@ -36101,7 +36223,6 @@ command calc.lng(v:void,digits:int):lng address nil_2num_lng; comment cast to lng and check for overflow -unsafe function calc.linestring(wkt:str):wkb; command calc.length(s:str):int address CMDstrlength; comment Length of STRING @@ -36274,11 +36395,6 @@ command calc.month_interval(v:str,ek:int address month_interval_str; comment cast str to a month_interval and check for overflow -unsafe function calc.multipolygon(wkt:str):wkb; -unsafe function calc.multisurface(wkt:str):wkb; -unsafe function calc.multilinestring(wkt:str):wkb; -unsafe function calc.multicurve(wkt:str):wkb; -unsafe function calc.multipoint(wkt:str):wkb; command calc.mbr(v:mbr):mbr address mbrFromMBR; command calc.mbr(v:str):mbr @@ -36783,8 +36899,6 @@ pattern calc.or(v1:bit,v2:bit):bit address CMDvarOR; comment Return V1 OR V2 -unsafe function calc.polygon(wkt:str):wkb; -unsafe function calc.point(wkt:str):wkb; command calc.ptr(v:ptr):ptr address CMDvarCONVERTptr; comment Cast VALUE to ptr @@ -37051,7 +37165,6 @@ command calc.second_interval(sc:int,v:bt address bte_dec2second_interval; comment cast bte decimal to a second_interval -unsafe function calc.surface(wkt:str):wkb; pattern calc.setoid(v:lng):void address CMDsetoid; pattern calc.setoid(v:oid):void @@ -37557,10 +37670,15 @@ command calc.wrd(v:void,digits:int):wrd address nil_2num_wrd; comment cast to wrd and check for overflow +function calc.wkb(wkt:str,srid:int,type:int):wkb; +command calc.wkb(geo:wkb,columnType:int,columnSRID:int):wkb +address geom_2_geom; +comment Called when inserting values to a table in order to check if the inserted geometries are of the same type and srid required by the column definition + command calc.wkb(v:wkb):wkb address wkbFromWKB; -command calc.wkb(v:str):wkb -address wkbFromString; +comment It is called when adding a new geometry column to an existing table + pattern calc.wrd(v:str):wrd address CMDvarCONVERT; comment Cast VALUE to wrd @@ -38127,151 +38245,456 @@ pattern generator.thetasubselect(b:bat[: address VLTgenerator_thetasubselect; pattern generator.thetasubselect(b:bat[:oid,:bte],low:bte,oper:str):bat[:oid,:oid] address VLTgenerator_thetasubselect; -command geom.Area(g:wkb):dbl +command geom.Area(w:wkb):dbl address wkbArea; -comment Returns the area of the geometry. - -command geom.AsText(w:wkb):str -address wkbAsText; +comment Returns the area of the surface if it is a polygon or multi-polygon + +function geom.AsEWKT(w:wkb):str; +function geom.AsText(w:wkb):str; +command geom.AsBinary(w:wkb):str +address wkbAsBinary; +comment Returns the wkb representation into HEX format + command geom.Buffer(a:wkb,distance:dbl):wkb address wkbBuffer; comment Returns a geometry that represents all points whose distance from this geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this Geometry. command geom.Boundary(w:wkb):wkb address wkbBoundary; -comment Returns the closure of the combinatorial boundary of this Geometry. - -command geom.ConvexHull(a:wkb):wkb -address wkbConvexHull; -comment Returns a geometry that represents the convex hull of this geometry. +comment Returns the closure of the combinatorial boundary of the Geometry. + +function geom.BdMPolyFromText(wkt:str,srid:int):wkb; +function geom.BdPolyFromText(wkt:str,srid:int):wkb; +command geom.Contains(a:wkb,px:bat[:oid,:dbl],py:bat[:oid,:dbl]):bat[:oid,:bit] +address wkbContains_point_bat; +comment Returns true if the Geometry-BAT a 'spatially contains' Geometry-B b command geom.Contains(a:wkb,x:dbl,y:dbl):bit address wkbContains_point; comment Returns true if the Geometry a 'spatially contains' Geometry b +command geom.CoveredBy(a:wkb,b:wkb):bit +address wkbCoveredBy; +comment Returns TRUE if no point of geometry A is outside geometry B + +command geom.Covers(a:wkb,b:wkb):bit +address wkbCovers; +comment Returns TRUE if no point of geometry B is outside geometry A + +command geom.Crosses(a:wkb,b:wkb):bit +address wkbCrosses; +comment Returns TRUE if the supplied geometries have some, but not all, interior points in common. + command geom.Contains(a:wkb,b:wkb):bit address wkbContains; -comment Returns true if the Geometry a 'spatially contains' Geometry b - -command geom.Crosses(a:wkb,b:wkb):bit -address wkbCrosses; -comment Returns true if the Geometry a 'spatially crosses' Geometry b - -unsafe function geom.CurveFromText(wkt:str,srid:sht):wkb; -command geom.Difference(a:wkb,b:wkb):wkb -address wkbDifference; -comment Returns a geometry that represents the point set difference of Geometry a with b. - -command geom.Distance(a:wkb,b:wkb):dbl -address wkbDistance; -comment Returns the shortest distance between any two points in the two geometries as calculated in the spatial reference system of this Geometries. +comment Returns true if and only if no points of B lie in the exterior of A, and at least one point of the interior of B lies in the interior of A. + +command geom.ConvexHull(w:wkb):wkb +address wkbConvexHull; +comment Returns a geometry that represents the convex hull of this geometry. The convex hull of a geometry represents the minimum convex geometry that encloses all geometries within the set. + +command geom.Centroid(w:wkb):wkb +address wkbCentroid; +comment Computes the geometric center of a geometry, or equivalently, the center of mass of the geometry as a POINT. + +command geom.CoordDim(w:wkb):int +address wkbCoordDim; +comment Return the coordinate dimension of the geometry _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list