@@ -816,7 +816,7 @@ ST_GEOHASH(180,NULL,10)
816
816
NULL
817
817
SELECT ST_GEOHASH(180,90,NULL);
818
818
ST_GEOHASH(180,90,NULL)
819
- zzzzzzzzzzzzzzzzzzzzzz
819
+ NULL
820
820
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10);
821
821
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10)
822
822
s000000000
@@ -894,7 +894,7 @@ ST_GEOHASH(NULL,100)
894
894
NULL
895
895
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL);
896
896
ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-0.0001 -0.0001)'),NULL)
897
- 7zzzzzzzmtm7mzm00yd7z00s0y30g60000000000000000000000000000000000000000000000000000000000000000000000
897
+ NULL
898
898
SELECT ST_GEOHASH(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(0 0)')),20) c;
899
899
c
900
900
zzzzzzzzzzzzzzzzzzzz
@@ -957,15 +957,15 @@ ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoH
957
957
SELECT ST_GEOHASH(-180,-90.0000000000001,10);
958
958
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
959
959
SELECT ST_GEOHASH(180,90,0);
960
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
960
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
961
961
SELECT ST_GEOHASH(-180,90,-1);
962
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
962
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
963
963
SELECT ST_GEOHASH(180,-90,-100);
964
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
964
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
965
965
SELECT ST_GEOHASH(-180,-90,101);
966
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
966
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
967
967
SELECT ST_GEOHASH(0,90,1000);
968
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
968
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
969
969
SELECT ST_GEOHASH("181",90,20);
970
970
ERROR HY000: Out of range error: Longitude should be [-180,180] in function ST_GeoHash.
971
971
SELECT ST_GEOHASH("-181",90,20);
@@ -975,19 +975,19 @@ ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoH
975
975
SELECT ST_GEOHASH(180,"-91",20);
976
976
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
977
977
SELECT ST_GEOHASH(180,90,"0");
978
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
978
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
979
979
SELECT ST_GEOHASH(180,90,"-1");
980
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
980
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
981
981
SELECT ST_GEOHASH(180,90,"-100");
982
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
982
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
983
983
SELECT ST_GEOHASH(180,90,"101");
984
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
984
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
985
985
SELECT ST_GEOHASH(180,90,"1000");
986
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
986
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
987
987
SELECT ST_GEOHASH(180,90,"");
988
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
988
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
989
989
SELECT ST_GEOHASH(180,90,"****");
990
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
990
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
991
991
SELECT ST_GEOHASH();
992
992
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH'
993
993
SELECT ST_GEOHASH(1);
@@ -1039,29 +1039,29 @@ ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoH
1039
1039
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90.0000000000001)'),10);
1040
1040
ERROR HY000: Out of range error: Latitude should be [-90,90] in function ST_GeoHash.
1041
1041
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),0);
1042
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1042
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1043
1043
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 -90)'),-1);
1044
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1044
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1045
1045
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 90)'),-100);
1046
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1046
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1047
1047
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(-180 -90)'),101);
1048
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1048
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1049
1049
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),10000);
1050
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1050
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1051
1051
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 90)'))),"0");
1052
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1052
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1053
1053
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(180 -90)'))),"-1");
1054
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1054
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1055
1055
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 90)'))),"-100");
1056
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1056
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1057
1057
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(-180 -90)'))),"101");
1058
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1058
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1059
1059
SELECT ST_GEOHASH(ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('POINT(0 0)'))),"10000");
1060
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1060
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1061
1061
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)')," ");
1062
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1062
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1063
1063
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'),"***");
1064
- ERROR HY000: Out of range error: max geohash length value in function ST_GeoHash.
1064
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1065
1065
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(0 0)'));
1066
1066
ERROR 42000: Incorrect parameter count in the call to native function 'ST_GEOHASH'
1067
1067
SELECT ST_GEOHASH(ST_GEOMFROMTEXT(),20);
@@ -1085,9 +1085,9 @@ ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1085
1085
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))'),10);
1086
1086
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1087
1087
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),20.0001);
1088
- ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1088
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1089
1089
SELECT ST_GEOHASH(ST_GEOMFROMTEXT('POINT(180 90)'),(CAST(10 AS DATE)));
1090
- ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1090
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1091
1091
SELECT ST_GEOHASH(ST_INTERSECTION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(1 1)')),20);
1092
1092
ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1093
1093
SELECT ST_GEOHASH(ST_UNION(ST_GEOMFROMTEXT('POINT(180 90)'),ST_GEOMFROMTEXT('POINT(-180 -90)')),20);
@@ -1516,7 +1516,7 @@ ST_GeoHash(POINT(10, 10), @maxlen)
1516
1516
s1z
1517
1517
SELECT ST_GeoHash(POINT(10, 10), @null);
1518
1518
ST_GeoHash(POINT(10, 10), @null)
1519
- s1z0gs3y0zh7w1z0gs3y0zw
1519
+ NULL
1520
1520
SET @point = POINT(10, 10);
1521
1521
PREPARE stmt FROM "SELECT ST_GeoHash(?, 10)";
1522
1522
EXECUTE stmt USING @point;
@@ -1565,7 +1565,7 @@ SELECT ST_GeoHash(@double, @double, 10);
1565
1565
ST_GeoHash(@double, @double, 10)
1566
1566
s60tmsgy0s
1567
1567
SELECT ST_GeoHash(POINT(10, 10), @double);
1568
- ERROR 22023: Invalid GIS data provided to function ST_GeoHash.
1568
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1569
1569
SELECT ST_POINTFROMGEOHASH("00", @double);
1570
1570
ERROR 22023: Invalid GIS data provided to function ST_PointFromGeoHash.
1571
1571
DROP TABLE IF EXISTS t1;
@@ -1661,3 +1661,19 @@ SELECT ST_LatFromGeoHash("ї");
1661
1661
ERROR HY000: Incorrect geohash value: '\0457' for function st_latfromgeohash
1662
1662
SELECT ST_LongFromGeoHash("ї");
1663
1663
ERROR HY000: Incorrect geohash value: '\0457' for function st_longfromgeohash
1664
+ #
1665
+ # MDEV-34158 st_geohash error reporting and null handling
1666
+ #
1667
+ SELECT ST_GeoHash(( POINTFROMTEXT(' POINT( 4 1 ) ') ), 1e0);
1668
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1669
+ SELECT ST_GeoHash(( POINTFROMTEXT(' POINT( 4 1 ) ') ), 0);
1670
+ ERROR HY000: Out of range error: max_length parameter should be an integer in the range [1, 100] in function ST_GeoHash.
1671
+ SELECT ST_GeoHash(45,-20,null);
1672
+ ST_GeoHash(45,-20,null)
1673
+ NULL
1674
+ SELECT ST_GeoHash(0,-20,null);
1675
+ ST_GeoHash(0,-20,null)
1676
+ NULL
1677
+ SELECT ST_GeoHash(( POINTFROMTEXT(' POINT( 4 1 ) ') ), NULL);
1678
+ ST_GeoHash(( POINTFROMTEXT(' POINT( 4 1 ) ') ), NULL)
1679
+ NULL
0 commit comments