[Commits] Rev 3499: Merge fix for MDEV-3997. in file:///data0/psergey/dev2/10.0-r2/

Sergey Petrunya psergey at askmonty.org
Mon Feb 4 08:15:52 EET 2013


At file:///data0/psergey/dev2/10.0-r2/

------------------------------------------------------------
revno: 3499 [merge]
revision-id: psergey at askmonty.org-20130204061552-lyk9ajqsszt7li3p
parent: sanja at askmonty.org-20130204100429-hf83opzhcpwvx9m1
parent: psergey at askmonty.org-20130204061420-xq39drhjw0hrj6i2
committer: Sergey Petrunya <psergey at askmonty.org>
branch nick: 10.0-r2
timestamp: Mon 2013-02-04 10:15:52 +0400
message:
  Merge fix for MDEV-3997.
added:
  mysql-test/suite/plugins/r/cassandra_qcache.result cassandra_qcache.res-20130204061351-u92ztrcfv3t0ptum-1
  mysql-test/suite/plugins/t/cassandra_qcache.opt cassandra_qcache.opt-20130204061351-u92ztrcfv3t0ptum-2
  mysql-test/suite/plugins/t/cassandra_qcache.test cassandra_qcache.tes-20130204061351-u92ztrcfv3t0ptum-3
modified:
  mysql-test/suite/plugins/suite.pm suite.pm-20111202100054-hiao31ghw1z100mc-1
  storage/cassandra/ha_cassandra.h ha_cassandra.h-20120817171124-84utxwmji2nsmv9l-1
=== added file 'mysql-test/suite/plugins/r/cassandra_qcache.result'
--- a/mysql-test/suite/plugins/r/cassandra_qcache.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/plugins/r/cassandra_qcache.result	2013-02-04 06:14:20 +0000
@@ -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;

=== modified file 'mysql-test/suite/plugins/suite.pm'
--- a/mysql-test/suite/plugins/suite.pm	2013-01-31 12:19:53 +0000
+++ b/mysql-test/suite/plugins/suite.pm	2013-02-04 05:22:29 +0000
@@ -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; 
 } 

=== added file 'mysql-test/suite/plugins/t/cassandra_qcache.opt'
--- a/mysql-test/suite/plugins/t/cassandra_qcache.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/plugins/t/cassandra_qcache.opt	2013-02-04 06:14:20 +0000
@@ -0,0 +1,1 @@
+--plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on

=== added file 'mysql-test/suite/plugins/t/cassandra_qcache.test'
--- a/mysql-test/suite/plugins/t/cassandra_qcache.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/plugins/t/cassandra_qcache.test	2013-02-04 06:14:20 +0000
@@ -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;

=== modified file 'storage/cassandra/ha_cassandra.h'
--- a/storage/cassandra/ha_cassandra.h	2013-01-31 08:48:19 +0000
+++ b/storage/cassandra/ha_cassandra.h	2013-02-04 06:14:20 +0000
@@ -272,4 +272,18 @@
 
   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;
+  }
 };



More information about the commits mailing list