mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge fix for MDEV-3997.
This commit is contained in:
commit
3c8b9ed6fb
5 changed files with 93 additions and 1 deletions
16
mysql-test/suite/plugins/r/cassandra_qcache.result
Normal file
16
mysql-test/suite/plugins/r/cassandra_qcache.result
Normal file
|
@ -0,0 +1,16 @@
|
|||
drop table if exists t1, t2;
|
||||
create table t1 (rowkey int primary key, a int) engine=cassandra
|
||||
thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
|
||||
create table t2 like t1;
|
||||
set global query_cache_size=1024*1024;
|
||||
select * from t1;
|
||||
rowkey a
|
||||
insert into t2 values (1,1);
|
||||
select * from t1;
|
||||
rowkey a
|
||||
1 1
|
||||
select sql_no_cache * from t1;
|
||||
rowkey a
|
||||
1 1
|
||||
drop table t1,t2;
|
||||
set global QUERY_CACHE_SIZE=0;
|
|
@ -1,9 +1,11 @@
|
|||
package My::Suite::Plugins;
|
||||
|
||||
use My::Platform;
|
||||
|
||||
@ISA = qw(My::Suite);
|
||||
|
||||
sub cassandra_running() {
|
||||
return 0 if IS_WINDOW;
|
||||
return 0 if IS_WINDOWS;
|
||||
system 'echo show version | cqlsh -3 2>/dev/null >/dev/null';
|
||||
return $? == 0;
|
||||
}
|
||||
|
|
1
mysql-test/suite/plugins/t/cassandra_qcache.opt
Normal file
1
mysql-test/suite/plugins/t/cassandra_qcache.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on
|
59
mysql-test/suite/plugins/t/cassandra_qcache.test
Normal file
59
mysql-test/suite/plugins/t/cassandra_qcache.test
Normal file
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# Tests for cassandra storage engine
|
||||
#
|
||||
-- source include/have_query_cache.inc
|
||||
|
||||
if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'cassandra' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
|
||||
{
|
||||
--skip Test requires Cassandra.
|
||||
}
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
############################################################################
|
||||
## Cassandra initialization
|
||||
############################################################################
|
||||
|
||||
# Step 1: remove the keyspace that could be left over from the previous test
|
||||
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
|
||||
--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
|
||||
drop keyspace mariadbtest2;
|
||||
EOF
|
||||
--error 0,1,2
|
||||
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
|
||||
|
||||
# Step 2: create new keyspace and test column families
|
||||
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
|
||||
--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
|
||||
|
||||
CREATE KEYSPACE mariadbtest2
|
||||
WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
|
||||
AND strategy_options:replication_factor='1';
|
||||
|
||||
USE mariadbtest2;
|
||||
create columnfamily cf1 ( rowkey int primary key, a int );
|
||||
EOF
|
||||
|
||||
--error 0,1,2
|
||||
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
|
||||
|
||||
############################################################################
|
||||
## The test itsef:
|
||||
############################################################################
|
||||
|
||||
create table t1 (rowkey int primary key, a int) engine=cassandra
|
||||
thrift_host='localhost' keyspace='mariadbtest2' column_family='cf1';
|
||||
create table t2 like t1;
|
||||
|
||||
set global query_cache_size=1024*1024;
|
||||
|
||||
select * from t1;
|
||||
insert into t2 values (1,1);
|
||||
|
||||
select * from t1;
|
||||
select sql_no_cache * from t1;
|
||||
|
||||
drop table t1,t2;
|
||||
set global QUERY_CACHE_SIZE=0;
|
|
@ -272,4 +272,18 @@ public:
|
|||
|
||||
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
|
||||
enum thr_lock_type lock_type); ///< required
|
||||
|
||||
my_bool register_query_cache_table(THD *thd, char *table_key,
|
||||
uint key_length,
|
||||
qc_engine_callback
|
||||
*engine_callback,
|
||||
ulonglong *engine_data)
|
||||
{
|
||||
/*
|
||||
Do not put data from Cassandra tables into query cache (because there
|
||||
is no way to tell whether the data in cassandra cluster has changed or
|
||||
not)
|
||||
*/
|
||||
return FALSE;
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue