mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-3934 Assertion `((keypart_map+1) & keypart_map) == 0' failed in _mi_pack_key with an index on a POINT column
sel_arg_range_seq_next(): set keypart map also for GEOM_FLAG keys
This commit is contained in:
parent
cc74bb3178
commit
7caa80c481
3 changed files with 32 additions and 0 deletions
14
mysql-test/r/gis2.result
Normal file
14
mysql-test/r/gis2.result
Normal file
|
@ -0,0 +1,14 @@
|
|||
CREATE TABLE t1 (
|
||||
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
point_data POINT NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_point_data(point_data)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT t1 (point_data) VALUES
|
||||
(GeomFromText('Point(37.0248492 23.8512726)')),
|
||||
(GeomFromText('Point(38.0248492 23.8512726)'));
|
||||
SELECT id FROM t1
|
||||
WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)'));
|
||||
id
|
||||
2
|
||||
DROP TABLE t1;
|
17
mysql-test/t/gis2.test
Normal file
17
mysql-test/t/gis2.test
Normal file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# MDEV-3934 Assertion `((keypart_map+1) & keypart_map) == 0' failed in _mi_pack_key with an index on a POINT column
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
point_data POINT NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_point_data(point_data)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT t1 (point_data) VALUES
|
||||
(GeomFromText('Point(37.0248492 23.8512726)')),
|
||||
(GeomFromText('Point(38.0248492 23.8512726)'));
|
||||
SELECT id FROM t1
|
||||
WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)'));
|
||||
DROP TABLE t1;
|
||||
|
|
@ -248,6 +248,7 @@ walk_up_n_right:
|
|||
/* Here minimum contains also function code bits, and maximum is +inf */
|
||||
range->start_key.key= seq->param->min_key;
|
||||
range->start_key.length= min_key_length;
|
||||
range->start_key.keypart_map= make_prev_keypart_map(cur->min_key_parts);
|
||||
range->start_key.flag= (ha_rkey_function) (cur->min_key_flag ^ GEOM_FLAG);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue