Server IP : 185.86.78.101 / Your IP : 216.73.216.213 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/include/ |
Upload File : |
--source include/have_geometry.inc # # Spatial objects with keys # # # Bug #30825: Problems when putting a non-spatial index on a GIS column # CREATE TABLE t1 (p POINT); CREATE TABLE t2 (p POINT, INDEX(p)); INSERT INTO t1 VALUES (ST_POINTFROMTEXT('POINT(1 2)')); INSERT INTO t2 VALUES (ST_POINTFROMTEXT('POINT(1 2)')); # no index, returns 1 as expected SELECT COUNT(*) FROM t1 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); # with index, returns 1 as expected # EXPLAIN shows that the index is not used though # due to the "most rows covered anyway, so a scan is more effective" rule EXPLAIN SELECT COUNT(*) FROM t2 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); SELECT COUNT(*) FROM t2 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); # adding another row to the table so that # the "most rows covered" rule doesn't kick in anymore # now EXPLAIN shows the index used on the table # and we're getting the wrong result again INSERT INTO t1 VALUES (ST_POINTFROMTEXT('POINT(1 2)')); INSERT INTO t2 VALUES (ST_POINTFROMTEXT('POINT(1 2)')); EXPLAIN SELECT COUNT(*) FROM t1 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); SELECT COUNT(*) FROM t1 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); EXPLAIN SELECT COUNT(*) FROM t2 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); SELECT COUNT(*) FROM t2 WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); EXPLAIN SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=ST_POINTFROMTEXT('POINT(1 2)'); DROP TABLE t1, t2; --echo End of 5.0 tests --echo # --echo # Test for bug #58650 "Failing assertion: primary_key_no == -1 || --echo # primary_key_no == 0". --echo # --disable_warnings drop table if exists t1; --enable_warnings --echo # The minimal test case. create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a)); drop table t1; --echo # The original test case. create table t1 (a int not null, b linestring not null, unique key b (b(12))); create unique index a on t1(a); drop table t1;