Server IP : 185.86.78.101 / Your IP : 216.73.216.124 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/t/ |
Upload File : |
# Some of the queries give different set of warnings with --ps-protocol if (`SELECT $PS_PROTOCOL + $CURSOR_PROTOCOL > 0`) { --skip Need normal protocol } --source include/not_embedded.inc -- source include/have_query_cache.inc # # QUERY CACHE options for VIEWs # --disable_warnings drop table if exists t1,t2,v1,v2,v3; drop view if exists t1,t2,v1,v2,v3; --enable_warnings set GLOBAL query_cache_size=1355776; flush status; create table t1 (a int, b int); # queries with following views should not be in query cache create view v1 (c,d) as select sql_no_cache a,b from t1; create view v2 (c,d) as select a+rand(),b from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; select * from v2; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; select * from v2; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop view v1,v2; # SQL_CACHE option set query_cache_type=demand; flush status; # query with view will be cached, but direct acess to table will not create view v1 (c,d) as select sql_cache a,b from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop view v1; set query_cache_type=default; drop table t1; # # invalidation of view # create table t1 (a int); insert into t1 values (1), (2), (3); create view v1 as select a from t1 where a > 1; select * from v1; alter view v1 as select a from t1 where a > 2; select * from v1; drop view v1; -- error 1146 select * from v1; drop table t1; # # join view with QC # create table t1 (a int, primary key (a), b int); create table t2 (a int, primary key (a), b int); insert into t2 values (1000, 2000); create view v3 (a,b) as select t1.a as a, t2.a as b from t1, t2; select * from v3; drop view v3; drop table t1, t2; # # Bug #13424 locking view with query cache enabled crashes server # create table t1(f1 int); insert into t1 values(1),(2),(3); create view v1 as select * from t1; set query_cache_wlock_invalidate=1; lock tables v1 read /*!32311 local */; unlock tables; set query_cache_wlock_invalidate=default; drop view v1; drop table t1; # # BUG#15119: returning temptable view from the query cache. # flush status; create table t1 (a int, b int); create algorithm=temptable view v1 as select * from t1; select * from v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; insert into t1 values (1,1); show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from v1; select * from v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop view v1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop table t1; --echo # --echo # Bug46615 Assertion in Query_cache::invalidate in INSERT in a VIEW of a MERGE table --echo # CREATE TABLE t1 (c1 INT, c2 INT); CREATE TABLE t2 LIKE t1; SET AUTOCOMMIT=OFF; CREATE VIEW t1_view AS SELECT c1 FROM t1 NATURAL JOIN t2 ; # Before the bug patch the below INSERT stmt used to # crash when other fields than the ones listed in the # view definition were used. --error ER_BAD_FIELD_ERROR INSERT INTO t1_view (c1, c2) SELECT c1, c2 FROM t1; DROP TABLE t1; DROP TABLE t2; DROP VIEW t1_view; SET AUTOCOMMIT=DEFAULT; # Reset default environment. set GLOBAL query_cache_size=default;