Browse Source
MDEV-34158: Implement the GIS function ST_Geohash
MDEV-34158: Implement the GIS function ST_Geohash
The function returns the geohash corresponding to the input values. The GIS function ST_GeoHash takes as input: (longitude, latitude, max_length), OR (point, max_length) The longitue parameter is a numeric value in the interval [180, -180], the latitude is a numeric value in the interval [90, -90]. In the case of point, the x coordinate is treated as the latitude and the y coordinate is treated as the latitude. Even in the case of a point, the same constraints apply. The max_length parameter is the upper limit on the resulting string size and cannot exceed 100. Author: StefanoPetrilli <stefanop_1999@hotmail.it> Co-authored-by: kevincheng2 <chengyf112@gmail.com> Co-authored-by: Catalin Besleaga <catalin.besleaga@oracle.com> Co-authored-by: Gleb Shchepa <gleb.shchepa@oracle.com> Co-authored-by: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com> Co-authored-by: Martin Hansson <martin.hansson@oracle.com> Co-authored-by: Deepa Dixit <deepa.dixit@oracle.com> Co-authored-by: Hans H Melby <hans.h.melby@oracle.com> Co-authored-by: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com> Co-authored-by: Erlend Dahl <erlend.dahl@oracle.com> Co-authored-by: Norvald H. Ryeng <norvald.ryeng@oracle.com> Co-authored-by: BennyWang <benny.wang@oracle.com> Co-authored-by: David.Zhao <david.zhao@oracle.com> Co-authored-by: Erik Froseth <erik.froseth@oracle.com>pull/4005/head
committed by
Dave Gosselin
4 changed files with 1033 additions and 0 deletions
-
364mysql-test/main/spatial_utility_function_geohash.result
-
408mysql-test/main/spatial_utility_function_geohash.test
-
229sql/item_geofunc.cc
-
32sql/item_geofunc.h
@ -0,0 +1,364 @@ |
|||
# valid inputs |
|||
SELECT ST_GEOHASH(0,0,1); |
|||
ST_GEOHASH(0,0,1) |
|||
s |
|||
SELECT ST_GEOHASH(180,0,20); |
|||
ST_GEOHASH(180,0,20) |
|||
xbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(-180,0,20); |
|||
ST_GEOHASH(-180,0,20) |
|||
80000000000000000000 |
|||
SELECT ST_GEOHASH(0,90,20); |
|||
ST_GEOHASH(0,90,20) |
|||
upbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(0,-90,20); |
|||
ST_GEOHASH(0,-90,20) |
|||
h0000000000000000000 |
|||
SELECT ST_GEOHASH(180,90,20); |
|||
ST_GEOHASH(180,90,20) |
|||
zzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH(180,-90,20); |
|||
ST_GEOHASH(180,-90,20) |
|||
pbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(-180,90,20); |
|||
ST_GEOHASH(-180,90,20) |
|||
bpbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(-180,-90,20); |
|||
ST_GEOHASH(-180,-90,20) |
|||
00000000000000000000 |
|||
SELECT ST_GEOHASH(100,45,5); |
|||
ST_GEOHASH(100,45,5) |
|||
y0p05 |
|||
SELECT ST_GEOHASH(100,-45,10); |
|||
ST_GEOHASH(100,-45,10) |
|||
q0p0581b0b |
|||
SELECT ST_GEOHASH(-100,45,+50); |
|||
ST_GEOHASH(-100,45,+50) |
|||
cb0bh2n0p0581b0bh2n0p8 |
|||
SELECT ST_GEOHASH(0.0001,0.0001,10); |
|||
ST_GEOHASH(0.0001,0.0001,10) |
|||
s0000000d6 |
|||
SELECT ST_GEOHASH(0.0001,-0.0001,30); |
|||
ST_GEOHASH(0.0001,-0.0001,30) |
|||
kpbpbpbp6m6e6p6bpntebbpkpnqbuf |
|||
SELECT ST_GEOHASH(-0.0001,0.0001,90); |
|||
ST_GEOHASH(-0.0001,0.0001,90) |
|||
ebpbpbpbtdtktbtpbc6kppbebc9p5q000000000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(-0.0001,-0.0001,100); |
|||
ST_GEOHASH(-0.0001,-0.0001,100) |
|||
7zzzzzzzmtm7mzm00yd7z00s0y30g60000000000000000000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH("",90,10); |
|||
ST_GEOHASH("",90,10) |
|||
upbpbpbpbp |
|||
SELECT ST_GEOHASH(0,"90",10); |
|||
ST_GEOHASH(0,"90",10) |
|||
upbpbpbpbp |
|||
SELECT ST_GEOHASH("0","0",10); |
|||
ST_GEOHASH("0","0",10) |
|||
s000000000 |
|||
SELECT ST_GEOHASH(180,90,"20"); |
|||
ST_GEOHASH(180,90,"20") |
|||
zzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH("180","90","20"); |
|||
ST_GEOHASH("180","90","20") |
|||
zzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH("***",90,"20"); |
|||
ST_GEOHASH("***",90,"20") |
|||
upbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(180,"***",20); |
|||
ST_GEOHASH(180,"***",20) |
|||
xbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH("abcd",90,20); |
|||
ST_GEOHASH("abcd",90,20) |
|||
upbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(180,"abcd",25-5); |
|||
ST_GEOHASH(180,"abcd",25-5) |
|||
xbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(NULL,90,10); |
|||
ST_GEOHASH(NULL,90,10) |
|||
NULL |
|||
SELECT ST_GEOHASH(180,NULL,10); |
|||
ST_GEOHASH(180,NULL,10) |
|||
NULL |
|||
SELECT ST_GEOHASH(180,90,NULL); |
|||
ST_GEOHASH(180,90,NULL) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10) |
|||
s000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 0)'),20); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 0)'),20) |
|||
xbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 0)'),25); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 0)'),25) |
|||
8000000000000000000002pbp |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 90)'),30); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 90)'),30) |
|||
upbpbpbpbpbpbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -90)'),35); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -90)'),35) |
|||
h000000000000000000001bpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),40); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),40) |
|||
zzzzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),45); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),45) |
|||
pbpbpbpbpbpbpbpbpbpbpc |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),50); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),50) |
|||
bpbpbpbpbpbpbpbpbpbpbr |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),55); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),55) |
|||
0000000000000000000003 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 45)'),60); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 45)'),60) |
|||
y0p0581b0bh2n0p0581b0b |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 -45)'),65); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 -45)'),65) |
|||
q0p0581b0bh2n0p0581b0b |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 45)'),70); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 45)'),70) |
|||
cb0bh2n0p0581b0bh2n0p8 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 -45)'),75); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 -45)'),75) |
|||
3b0bh2n0p0581b0bh2n0p8 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 0.0001)'))),80); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 0.0001)'))),80) |
|||
s0000000d6dsd0dzz1ms0zz7z1wzhy00000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 -0.0001)'))),85); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 -0.0001)'))),85) |
|||
kpbpbpbp6m6e6p6bpntebbpkpnqbuf0000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 0.0001)'))),90); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 0.0001)'))),90) |
|||
ebpbpbpbtdtktbtpbc6kppbebc9p5q000000000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'))),100); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'))),100) |
|||
7zzzzzzzmtm7mzm00yd7z00s0y30g60000000000000000000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066400000000000805640),20); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066400000000000805640),20) |
|||
zzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066C00000000000805640),20); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066C00000000000805640),20) |
|||
bpbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x00000000014066800000000000C056800000000000),20); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(0x00000000014066800000000000C056800000000000),20) |
|||
pbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x0000000001C066800000000000C056800000000000),20); |
|||
ST_GEOHASH(ST_GEOMFROMWKB(0x0000000001C066800000000000C056800000000000),20) |
|||
00000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"1"); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"1") |
|||
s |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," 10 "); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," 10 ") |
|||
s000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"+100"); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"+100") |
|||
s000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |
|||
SELECT ST_GEOHASH(NULL,100); |
|||
ST_GEOHASH(NULL,100) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20); |
|||
ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20) |
|||
zzzzzzzzzzzzzzzzzzzz |
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(-180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')),20); |
|||
ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(-180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')),20) |
|||
bpbpbpbpbpbpbpbpbpbp |
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 -90)'),ST_GEOMFROMTEXT('POINT(180 -90)')),20); |
|||
ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 -90)'),ST_GEOMFROMTEXT('POINT(180 -90)')),20) |
|||
pbpbpbpbpbpbpbpbpbpb |
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(-180 -90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20); |
|||
ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(-180 -90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20) |
|||
00000000000000000000 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS BINARY))); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS BINARY))) |
|||
zzzzzzzzzz |
|||
SELECT ST_GEOHASH((CAST(10 AS BINARY)),20,1); |
|||
ST_GEOHASH((CAST(10 AS BINARY)),20,1) |
|||
s |
|||
SELECT ST_GEOHASH(10,(CAST(20 AS BINARY)),1); |
|||
ST_GEOHASH(10,(CAST(20 AS BINARY)),1) |
|||
s |
|||
SELECT ST_GEOHASH((CAST(10 AS BINARY)),(CAST(20 AS BINARY)),1); |
|||
ST_GEOHASH((CAST(10 AS BINARY)),(CAST(20 AS BINARY)),1) |
|||
s |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT()'),20); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT()'),20) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1)'),20); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1)'),20) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1 a)'),20); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1 a)'),20) |
|||
NULL |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180,90)'),20); |
|||
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180,90)'),20) |
|||
NULL |
|||
# invalid inputs |
|||
SELECT ST_GEOHASH(181,0,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(1000,90,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180.0000000000001,-90,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-181,0,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-1000,90,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-180.0000000000001,-90,10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(0,91,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,500,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-180,90.0000000000001,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(0,-91,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,-500,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-180,-90.0000000000001,10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,0); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-180,90,-1); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,-90,-100); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(-180,-90,101); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(0,90,1000); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH("181",90,20); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH("-181",90,20); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,"91",20); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,"-91",20); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"0"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"-1"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"-100"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"101"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"1000"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,""); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,90,"****"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(); |
|||
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH' |
|||
SELECT ST_GEOHASH(1); |
|||
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH' |
|||
SELECT ST_GEOHASH(1,2); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(, ,); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' ,)' at line 1 |
|||
SELECT ST_GEOHASH(1,2,); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1 |
|||
SELECT ST_GEOHASH(*,0,10); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '*,0,10)' at line 1 |
|||
SELECT ST_GEOHASH(0,*,10); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '*,10)' at line 1 |
|||
SELECT ST_GEOHASH(0,0,*); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '*)' at line 1 |
|||
SELECT ST_GEOHASH(a,90,10); |
|||
ERROR 42S22: Unknown column 'a' in 'field list' |
|||
SELECT ST_GEOHASH(180,p,10); |
|||
ERROR 42S22: Unknown column 'p' in 'field list' |
|||
SELECT ST_GEOHASH(180,90,z); |
|||
ERROR 42S22: Unknown column 'z' in 'field list' |
|||
SELECT ST_GEOHASH((CAST(180 AS DATE)),90,10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(180,(CAST(90 AS DATE)),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(181 0)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1000 90)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180.0000000000001 -90)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-181 0)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-1000 90)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180.0000000000001 -90)'),10); |
|||
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 91)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 500)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90.0000000000001)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -91)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -500)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90.0000000000001)'),10); |
|||
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),0); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),-1); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),-100); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),101); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10000); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 90)'))),"0"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 -90)'))),"-1"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 90)'))),"-100"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 -90)'))),"101"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0 0)'))),"10000"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," "); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"***"); |
|||
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')); |
|||
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH' |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT(),20); |
|||
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOMFROMTEXT' |
|||
SELECT ST_GEOHASH((ST_GEOMFROMTEXT('POINT(0 0)'),); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1 |
|||
SELECT ST_GEOHASH(,10); |
|||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '10)' at line 1 |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),a); |
|||
ERROR 42S22: Unknown column 'a' in 'field list' |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0))'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTIPOINT(0 0,10 10)'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(20 20,30 30))'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))'),10); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),20.0001); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS DATE))); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(1 1)')),20); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_UNION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,180 90)')),20); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
SELECT ST_GEOHASH(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20); |
|||
ERROR 22023: Invalid GIS data provided to function ST_GeoHash. |
|||
@ -0,0 +1,408 @@ |
|||
|
|||
# Copyright (c) 2014, Oracle and/or its affiliates |
|||
# Copyright (c) 2024, MariaDB Corporation. |
|||
# |
|||
# This program is free software; you can redistribute it and/or modify |
|||
# it under the terms of the GNU General Public License as published by |
|||
# the Free Software Foundation; version 2 of the License. |
|||
# |
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
# GNU General Public License for more details. |
|||
# |
|||
# You should have received a copy of the GNU General Public License |
|||
# along with this program; if not, write to the Free Software |
|||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA |
|||
|
|||
-- disable_warnings |
|||
|
|||
##################################################################### |
|||
# ST_GEOHASH() |
|||
##################################################################### |
|||
|
|||
# Check for all valid inputs |
|||
--echo # valid inputs |
|||
SELECT ST_GEOHASH(0,0,1); |
|||
|
|||
SELECT ST_GEOHASH(180,0,20); |
|||
|
|||
SELECT ST_GEOHASH(-180,0,20); |
|||
|
|||
SELECT ST_GEOHASH(0,90,20); |
|||
|
|||
SELECT ST_GEOHASH(0,-90,20); |
|||
|
|||
SELECT ST_GEOHASH(180,90,20); |
|||
|
|||
SELECT ST_GEOHASH(180,-90,20); |
|||
|
|||
SELECT ST_GEOHASH(-180,90,20); |
|||
|
|||
SELECT ST_GEOHASH(-180,-90,20); |
|||
|
|||
SELECT ST_GEOHASH(100,45,5); |
|||
|
|||
SELECT ST_GEOHASH(100,-45,10); |
|||
|
|||
SELECT ST_GEOHASH(-100,45,+50); |
|||
|
|||
SELECT ST_GEOHASH(0.0001,0.0001,10); |
|||
|
|||
SELECT ST_GEOHASH(0.0001,-0.0001,30); |
|||
|
|||
SELECT ST_GEOHASH(-0.0001,0.0001,90); |
|||
|
|||
SELECT ST_GEOHASH(-0.0001,-0.0001,100); |
|||
|
|||
SELECT ST_GEOHASH("",90,10); |
|||
|
|||
SELECT ST_GEOHASH(0,"90",10); |
|||
|
|||
SELECT ST_GEOHASH("0","0",10); |
|||
|
|||
SELECT ST_GEOHASH(180,90,"20"); |
|||
|
|||
SELECT ST_GEOHASH("180","90","20"); |
|||
|
|||
SELECT ST_GEOHASH("***",90,"20"); |
|||
|
|||
SELECT ST_GEOHASH(180,"***",20); |
|||
|
|||
SELECT ST_GEOHASH("abcd",90,20); |
|||
|
|||
SELECT ST_GEOHASH(180,"abcd",25-5); |
|||
|
|||
SELECT ST_GEOHASH(NULL,90,10); |
|||
|
|||
SELECT ST_GEOHASH(180,NULL,10); |
|||
|
|||
SELECT ST_GEOHASH(180,90,NULL); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 0)'),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 0)'),25); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 90)'),30); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -90)'),35); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),40); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),45); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),50); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),55); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 45)'),60); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 -45)'),65); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 45)'),70); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 -45)'),75); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 0.0001)'))),80); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 -0.0001)'))),85); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 0.0001)'))),90); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'))),100); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066400000000000805640),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066C00000000000805640),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x00000000014066800000000000C056800000000000),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x0000000001C066800000000000C056800000000000),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"1"); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," 10 "); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"+100"); |
|||
|
|||
SELECT ST_GEOHASH(NULL,100); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL); |
|||
|
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(-180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 -90)'),ST_GEOMFROMTEXT('POINT(180 -90)')),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(-180 -90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS BINARY))); |
|||
|
|||
SELECT ST_GEOHASH((CAST(10 AS BINARY)),20,1); |
|||
|
|||
SELECT ST_GEOHASH(10,(CAST(20 AS BINARY)),1); |
|||
|
|||
SELECT ST_GEOHASH((CAST(10 AS BINARY)),(CAST(20 AS BINARY)),1); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT()'),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1)'),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1 a)'),20); |
|||
|
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180,90)'),20); |
|||
|
|||
# Invalid inputs |
|||
--echo # invalid inputs |
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(181,0,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(1000,90,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180.0000000000001,-90,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-181,0,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-1000,90,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-180.0000000000001,-90,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(0,91,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,500,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-180,90.0000000000001,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(0,-91,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,-500,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-180,-90.0000000000001,10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,0); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-180,90,-1); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,-90,-100); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(-180,-90,101); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(0,90,1000); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH("181",90,20); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH("-181",90,20); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,"91",20); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,"-91",20); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"0"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"-1"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"-100"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"101"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"1000"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,""); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(180,90,"****"); |
|||
|
|||
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT |
|||
SELECT ST_GEOHASH(); |
|||
|
|||
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT |
|||
SELECT ST_GEOHASH(1); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(1,2); |
|||
|
|||
# --error ER_GIS_INVALID_DATA |
|||
# SELECT ST_GEOHASH(-100,-45,100.1); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(, ,); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(1,2,); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(*,0,10); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(0,*,10); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(0,0,*); |
|||
|
|||
--error ER_BAD_FIELD_ERROR |
|||
SELECT ST_GEOHASH(a,90,10); |
|||
|
|||
--error ER_BAD_FIELD_ERROR |
|||
SELECT ST_GEOHASH(180,p,10); |
|||
|
|||
--error ER_BAD_FIELD_ERROR |
|||
SELECT ST_GEOHASH(180,90,z); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH((CAST(180 AS DATE)),90,10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(180,(CAST(90 AS DATE)),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(181 0)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1000 90)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180.0000000000001 -90)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-181 0)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-1000 90)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180.0000000000001 -90)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 91)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 500)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90.0000000000001)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -91)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -500)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90.0000000000001)'),10); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),0); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),-1); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),-100); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),101); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10000); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 90)'))),"0"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 -90)'))),"-1"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 90)'))),"-100"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 -90)'))),"101"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0 0)'))),"10000"); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," "); |
|||
|
|||
--error ER_STD_OUT_OF_RANGE_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"***"); |
|||
|
|||
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')); |
|||
|
|||
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT(),20); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH((ST_GEOMFROMTEXT('POINT(0 0)'),); |
|||
|
|||
--error ER_PARSE_ERROR |
|||
SELECT ST_GEOHASH(,10); |
|||
|
|||
--error ER_BAD_FIELD_ERROR |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),a); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0))'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTIPOINT(0 0,10 10)'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(20 20,30 30))'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))'),10); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),20.0001); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS DATE))); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(1 1)')),20); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_UNION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,180 90)')),20); |
|||
|
|||
--error ER_GIS_INVALID_DATA |
|||
SELECT ST_GEOHASH(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20); |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue