Skip to content

Commit 47ed8c0

Browse files
StefanoPetrillikevincheng2Catalin BesleagaGlebShchepaTatiana Azundris Nuernberg
authored andcommitted
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>
1 parent f8bc40e commit 47ed8c0

File tree

4 files changed

+1033
-0
lines changed

4 files changed

+1033
-0
lines changed
Lines changed: 364 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,364 @@
1+
# valid inputs
2+
SELECT ST_GEOHASH(0,0,1);
3+
ST_GEOHASH(0,0,1)
4+
s
5+
SELECT ST_GEOHASH(180,0,20);
6+
ST_GEOHASH(180,0,20)
7+
xbpbpbpbpbpbpbpbpbpb
8+
SELECT ST_GEOHASH(-180,0,20);
9+
ST_GEOHASH(-180,0,20)
10+
80000000000000000000
11+
SELECT ST_GEOHASH(0,90,20);
12+
ST_GEOHASH(0,90,20)
13+
upbpbpbpbpbpbpbpbpbp
14+
SELECT ST_GEOHASH(0,-90,20);
15+
ST_GEOHASH(0,-90,20)
16+
h0000000000000000000
17+
SELECT ST_GEOHASH(180,90,20);
18+
ST_GEOHASH(180,90,20)
19+
zzzzzzzzzzzzzzzzzzzz
20+
SELECT ST_GEOHASH(180,-90,20);
21+
ST_GEOHASH(180,-90,20)
22+
pbpbpbpbpbpbpbpbpbpb
23+
SELECT ST_GEOHASH(-180,90,20);
24+
ST_GEOHASH(-180,90,20)
25+
bpbpbpbpbpbpbpbpbpbp
26+
SELECT ST_GEOHASH(-180,-90,20);
27+
ST_GEOHASH(-180,-90,20)
28+
00000000000000000000
29+
SELECT ST_GEOHASH(100,45,5);
30+
ST_GEOHASH(100,45,5)
31+
y0p05
32+
SELECT ST_GEOHASH(100,-45,10);
33+
ST_GEOHASH(100,-45,10)
34+
q0p0581b0b
35+
SELECT ST_GEOHASH(-100,45,+50);
36+
ST_GEOHASH(-100,45,+50)
37+
cb0bh2n0p0581b0bh2n0p8
38+
SELECT ST_GEOHASH(0.0001,0.0001,10);
39+
ST_GEOHASH(0.0001,0.0001,10)
40+
s0000000d6
41+
SELECT ST_GEOHASH(0.0001,-0.0001,30);
42+
ST_GEOHASH(0.0001,-0.0001,30)
43+
kpbpbpbp6m6e6p6bpntebbpkpnqbuf
44+
SELECT ST_GEOHASH(-0.0001,0.0001,90);
45+
ST_GEOHASH(-0.0001,0.0001,90)
46+
ebpbpbpbtdtktbtpbc6kppbebc9p5q000000000000000000000000000000000000000000000000000000000000
47+
SELECT ST_GEOHASH(-0.0001,-0.0001,100);
48+
ST_GEOHASH(-0.0001,-0.0001,100)
49+
7zzzzzzzmtm7mzm00yd7z00s0y30g60000000000000000000000000000000000000000000000000000000000000000000000
50+
SELECT ST_GEOHASH("",90,10);
51+
ST_GEOHASH("",90,10)
52+
upbpbpbpbp
53+
SELECT ST_GEOHASH(0,"90",10);
54+
ST_GEOHASH(0,"90",10)
55+
upbpbpbpbp
56+
SELECT ST_GEOHASH("0","0",10);
57+
ST_GEOHASH("0","0",10)
58+
s000000000
59+
SELECT ST_GEOHASH(180,90,"20");
60+
ST_GEOHASH(180,90,"20")
61+
zzzzzzzzzzzzzzzzzzzz
62+
SELECT ST_GEOHASH("180","90","20");
63+
ST_GEOHASH("180","90","20")
64+
zzzzzzzzzzzzzzzzzzzz
65+
SELECT ST_GEOHASH("***",90,"20");
66+
ST_GEOHASH("***",90,"20")
67+
upbpbpbpbpbpbpbpbpbp
68+
SELECT ST_GEOHASH(180,"***",20);
69+
ST_GEOHASH(180,"***",20)
70+
xbpbpbpbpbpbpbpbpbpb
71+
SELECT ST_GEOHASH("abcd",90,20);
72+
ST_GEOHASH("abcd",90,20)
73+
upbpbpbpbpbpbpbpbpbp
74+
SELECT ST_GEOHASH(180,"abcd",25-5);
75+
ST_GEOHASH(180,"abcd",25-5)
76+
xbpbpbpbpbpbpbpbpbpb
77+
SELECT ST_GEOHASH(NULL,90,10);
78+
ST_GEOHASH(NULL,90,10)
79+
NULL
80+
SELECT ST_GEOHASH(180,NULL,10);
81+
ST_GEOHASH(180,NULL,10)
82+
NULL
83+
SELECT ST_GEOHASH(180,90,NULL);
84+
ST_GEOHASH(180,90,NULL)
85+
NULL
86+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10);
87+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10)
88+
s000000000
89+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 0)'),20);
90+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 0)'),20)
91+
xbpbpbpbpbpbpbpbpbpb
92+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 0)'),25);
93+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 0)'),25)
94+
8000000000000000000002pbp
95+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 90)'),30);
96+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 90)'),30)
97+
upbpbpbpbpbpbpbpbpbpbpbpbpbpbp
98+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -90)'),35);
99+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -90)'),35)
100+
h000000000000000000001bpbpbpbpbpbpb
101+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),40);
102+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),40)
103+
zzzzzzzzzzzzzzzzzzzzzz
104+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),45);
105+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),45)
106+
pbpbpbpbpbpbpbpbpbpbpc
107+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),50);
108+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),50)
109+
bpbpbpbpbpbpbpbpbpbpbr
110+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),55);
111+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),55)
112+
0000000000000000000003
113+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 45)'),60);
114+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 45)'),60)
115+
y0p0581b0bh2n0p0581b0b
116+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 -45)'),65);
117+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(100 -45)'),65)
118+
q0p0581b0bh2n0p0581b0b
119+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 45)'),70);
120+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 45)'),70)
121+
cb0bh2n0p0581b0bh2n0p8
122+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 -45)'),75);
123+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-100 -45)'),75)
124+
3b0bh2n0p0581b0bh2n0p8
125+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 0.0001)'))),80);
126+
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 0.0001)'))),80)
127+
s0000000d6dsd0dzz1ms0zz7z1wzhy00000000000000000000000000000000000000000000000000
128+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 -0.0001)'))),85);
129+
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0.0001 -0.0001)'))),85)
130+
kpbpbpbp6m6e6p6bpntebbpkpnqbuf0000000000000000000000000000000000000000000000000000000
131+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 0.0001)'))),90);
132+
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 0.0001)'))),90)
133+
ebpbpbpbtdtktbtpbc6kppbebc9p5q000000000000000000000000000000000000000000000000000000000000
134+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'))),100);
135+
ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'))),100)
136+
7zzzzzzzmtm7mzm00yd7z00s0y30g60000000000000000000000000000000000000000000000000000000000000000000000
137+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066400000000000805640),20);
138+
ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066400000000000805640),20)
139+
zzzzzzzzzzzzzzzzzzzz
140+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066C00000000000805640),20);
141+
ST_GEOHASH(ST_GEOMFROMWKB(0x010100000000000000008066C00000000000805640),20)
142+
bpbpbpbpbpbpbpbpbpbp
143+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x00000000014066800000000000C056800000000000),20);
144+
ST_GEOHASH(ST_GEOMFROMWKB(0x00000000014066800000000000C056800000000000),20)
145+
pbpbpbpbpbpbpbpbpbpb
146+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(0x0000000001C066800000000000C056800000000000),20);
147+
ST_GEOHASH(ST_GEOMFROMWKB(0x0000000001C066800000000000C056800000000000),20)
148+
00000000000000000000
149+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"1");
150+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"1")
151+
s
152+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," 10 ");
153+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," 10 ")
154+
s000000000
155+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"+100");
156+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"+100")
157+
s000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
158+
SELECT ST_GEOHASH(NULL,100);
159+
ST_GEOHASH(NULL,100)
160+
NULL
161+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL);
162+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL)
163+
NULL
164+
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20);
165+
ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20)
166+
zzzzzzzzzzzzzzzzzzzz
167+
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(-180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')),20);
168+
ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(-180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')),20)
169+
bpbpbpbpbpbpbpbpbpbp
170+
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 -90)'),ST_GEOMFROMTEXT('POINT(180 -90)')),20);
171+
ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 -90)'),ST_GEOMFROMTEXT('POINT(180 -90)')),20)
172+
pbpbpbpbpbpbpbpbpbpb
173+
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(-180 -90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20);
174+
ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(-180 -90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20)
175+
00000000000000000000
176+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS BINARY)));
177+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS BINARY)))
178+
zzzzzzzzzz
179+
SELECT ST_GEOHASH((CAST(10 AS BINARY)),20,1);
180+
ST_GEOHASH((CAST(10 AS BINARY)),20,1)
181+
s
182+
SELECT ST_GEOHASH(10,(CAST(20 AS BINARY)),1);
183+
ST_GEOHASH(10,(CAST(20 AS BINARY)),1)
184+
s
185+
SELECT ST_GEOHASH((CAST(10 AS BINARY)),(CAST(20 AS BINARY)),1);
186+
ST_GEOHASH((CAST(10 AS BINARY)),(CAST(20 AS BINARY)),1)
187+
s
188+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT()'),20);
189+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT()'),20)
190+
NULL
191+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1)'),20);
192+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1)'),20)
193+
NULL
194+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1 a)'),20);
195+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1 a)'),20)
196+
NULL
197+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180,90)'),20);
198+
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180,90)'),20)
199+
NULL
200+
# invalid inputs
201+
SELECT ST_GEOHASH(181,0,10);
202+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
203+
SELECT ST_GEOHASH(1000,90,10);
204+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
205+
SELECT ST_GEOHASH(180.0000000000001,-90,10);
206+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
207+
SELECT ST_GEOHASH(-181,0,10);
208+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
209+
SELECT ST_GEOHASH(-1000,90,10);
210+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
211+
SELECT ST_GEOHASH(-180.0000000000001,-90,10);
212+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
213+
SELECT ST_GEOHASH(0,91,10);
214+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
215+
SELECT ST_GEOHASH(180,500,10);
216+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
217+
SELECT ST_GEOHASH(-180,90.0000000000001,10);
218+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
219+
SELECT ST_GEOHASH(0,-91,10);
220+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
221+
SELECT ST_GEOHASH(180,-500,10);
222+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
223+
SELECT ST_GEOHASH(-180,-90.0000000000001,10);
224+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
225+
SELECT ST_GEOHASH(180,90,0);
226+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
227+
SELECT ST_GEOHASH(-180,90,-1);
228+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
229+
SELECT ST_GEOHASH(180,-90,-100);
230+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
231+
SELECT ST_GEOHASH(-180,-90,101);
232+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
233+
SELECT ST_GEOHASH(0,90,1000);
234+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
235+
SELECT ST_GEOHASH("181",90,20);
236+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
237+
SELECT ST_GEOHASH("-181",90,20);
238+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
239+
SELECT ST_GEOHASH(180,"91",20);
240+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
241+
SELECT ST_GEOHASH(180,"-91",20);
242+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
243+
SELECT ST_GEOHASH(180,90,"0");
244+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
245+
SELECT ST_GEOHASH(180,90,"-1");
246+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
247+
SELECT ST_GEOHASH(180,90,"-100");
248+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
249+
SELECT ST_GEOHASH(180,90,"101");
250+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
251+
SELECT ST_GEOHASH(180,90,"1000");
252+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
253+
SELECT ST_GEOHASH(180,90,"");
254+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
255+
SELECT ST_GEOHASH(180,90,"****");
256+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
257+
SELECT ST_GEOHASH();
258+
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH'
259+
SELECT ST_GEOHASH(1);
260+
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH'
261+
SELECT ST_GEOHASH(1,2);
262+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
263+
SELECT ST_GEOHASH(, ,);
264+
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
265+
SELECT ST_GEOHASH(1,2,);
266+
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
267+
SELECT ST_GEOHASH(*,0,10);
268+
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
269+
SELECT ST_GEOHASH(0,*,10);
270+
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
271+
SELECT ST_GEOHASH(0,0,*);
272+
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
273+
SELECT ST_GEOHASH(a,90,10);
274+
ERROR 42S22: Unknown column 'a' in 'field list'
275+
SELECT ST_GEOHASH(180,p,10);
276+
ERROR 42S22: Unknown column 'p' in 'field list'
277+
SELECT ST_GEOHASH(180,90,z);
278+
ERROR 42S22: Unknown column 'z' in 'field list'
279+
SELECT ST_GEOHASH((CAST(180 AS DATE)),90,10);
280+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
281+
SELECT ST_GEOHASH(180,(CAST(90 AS DATE)),10);
282+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
283+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(181 0)'),10);
284+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
285+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(1000 90)'),10);
286+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
287+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180.0000000000001 -90)'),10);
288+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
289+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-181 0)'),10);
290+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
291+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-1000 90)'),10);
292+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
293+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180.0000000000001 -90)'),10);
294+
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
295+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 91)'),10);
296+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
297+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 500)'),10);
298+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
299+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90.0000000000001)'),10);
300+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
301+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 -91)'),10);
302+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
303+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -500)'),10);
304+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
305+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90.0000000000001)'),10);
306+
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
307+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),0);
308+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
309+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),-1);
310+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
311+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),-100);
312+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
313+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),101);
314+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
315+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10000);
316+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
317+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 90)'))),"0");
318+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
319+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 -90)'))),"-1");
320+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
321+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 90)'))),"-100");
322+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
323+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 -90)'))),"101");
324+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
325+
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0 0)'))),"10000");
326+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
327+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," ");
328+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
329+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"***");
330+
ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
331+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'));
332+
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH'
333+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT(),20);
334+
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOMFROMTEXT'
335+
SELECT ST_GEOHASH((ST_GEOMFROMTEXT('POINT(0 0)'),);
336+
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
337+
SELECT ST_GEOHASH(,10);
338+
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
339+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),a);
340+
ERROR 42S22: Unknown column 'a' in 'field list'
341+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),10);
342+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
343+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0))'),10);
344+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
345+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTIPOINT(0 0,10 10)'),10);
346+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
347+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(20 20,30 30))'),10);
348+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
349+
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);
350+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
351+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))'),10);
352+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
353+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),20.0001);
354+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
355+
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS DATE)));
356+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
357+
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(1 1)')),20);
358+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
359+
SELECT ST_GEOHASH(ST_UNION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20);
360+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
361+
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('MULTIPOINT(0 0,180 90)')),20);
362+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
363+
SELECT ST_GEOHASH(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20);
364+
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.

0 commit comments

Comments
 (0)