~ubuntu-branches/ubuntu/natty/mysql-5.1/natty

« back to all changes in this revision

Viewing changes to mysql-test/t/partition_range.test

Tags: 5.1.54-1ubuntu1
* Synchronize from Debian Experimental:
* Merge from debian unstable:
  + debian/control:
     * Update maintainer according to spec.
     * Move section from "misc" to "database".
     * Added libmysqlclient16-dev an empty transitional package. 
     * Added mysql-client-core-5.1 package.
     * Suggest mailx for mysql-server-5.1
     * Add mysql-testsuite package so you can run the testsuite seperately.
  + debian/additions/my.cnf:
    * Remove language options. Error message files are located in a different directory in Mysql
      5.0. Setting the language option to use /usr/share/mysql/english breaks Mysql 5.0. Both 5.0
      and 5.1 use a different value that works. (LP: #316974)
  + Add apparmor profile:
    + debian/apparmor-profile: apparmor-profile
    + debian/rules, debian/mysql-server-5.1.files: install apparmor profile
    + debian/mysql-server-5.1.dirs: add etc/apparmor.d/fore-complain
    + debian/mysql-server-5.1.postrm: remove symlink in force-complain/ on purge.
    + debian/mysql-server-5.1.README.Debian: add apparmor documentation.
    + debian/additions/my.cnf: Add warning about apparmor. (LP: #201799)
    + debian/mysql-server-5.1.postinst: reload apparmor profiles
  * Convert the package from sysvinit to upstart:
    + debian/mysql-server-5.1.mysql.upstart: Add upstart script.
    + debian/mysql-server-5.1.mysql.init: Dropped, unused now with upstart.
    + debian/additions/mysqld_safe_syslog.cnf: Dropped, unused now with upstart.
    + debian/additons/my.cnf: Remove pid declaration and setup error logging to /var/log/mysql since
      we're not piping anything around logger anymore.
    + debian/rules, debian/mysql-server-5.1.logcheck.ignore.{paranoid,worstation},
      debian/mysql-server-5.1.logcheck.ignore.server: : Remove references to mysqld_safe
    + debian/patches/38_scripts_mysqld_safe.sh_signals.dpatch: Dropped
  * Added -fno-strict-aliasing to CFLAGS to get around mysql testsuite build failures.
  * Add Apport hook (LP: #354188):
    + debian/mysql-server-5.1.py: apport package hook
    + debian/rules: Make it installable
  * debian/mysql-server-5.1.mysql-server.logrotate: Check to see if mysql is running before
    running logrotate. (LP: #513135)
  * Make the testsuite installable. (LP: #530752)
    + debian/mysql-server-5.1.files, debian/rules: install apport package hook
  * debian/mysql-server-5.1.preinst: Set mysql user's home directory
    to /nonexistent to protect against having the /var/lib/mysql
    user-writeable. If an attacker can trick mysqld into creating
    dot files in the home directory, he could do .rhost-like attacks
    on the system. (LP: #293258)
  * debian/control: mysql-client-5.1 should depend on mysql-core-client-5.1.
    (LP: #590952)
  * debian/mysql-server.5.1.postinst: Specify the mysql user when installing 
    the mysql databases. (LP: #591875)
  * Installing mysql_config_pic in /usr/bin so users of libmysqld-pic
    can extract the appropriate compile flags. (LP: #605021) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
846
846
select sum(count) from t2 ch where ch.defid in (50,52) and ch.day between 20070320 and 20070401 group by defid;
847
847
drop table t1, t2;
848
848
 
 
849
 
 
850
--echo #
 
851
--echo # Bug#50939: Loose Index Scan unduly relies on engine to remember range 
 
852
--echo # endpoints
 
853
--echo #
 
854
CREATE TABLE t1 (
 
855
 a INT,
 
856
 b INT,
 
857
 KEY ( a, b )
 
858
) PARTITION BY HASH (a) PARTITIONS 1;
 
859
 
 
860
CREATE TABLE t2 (
 
861
 a INT,
 
862
 b INT,
 
863
 KEY ( a, b )
 
864
);
 
865
 
 
866
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
 
867
 
 
868
INSERT INTO t1 SELECT a +  5, b +  5 FROM t1;
 
869
INSERT INTO t1 SELECT a + 10, b + 10 FROM t1;
 
870
INSERT INTO t1 SELECT a + 20, b + 20 FROM t1;
 
871
INSERT INTO t1 SELECT a + 40, b + 40 FROM t1;
 
872
 
 
873
INSERT INTO t2 SELECT * FROM t1;
 
874
 
 
875
--echo # plans should be identical
 
876
EXPLAIN SELECT a, MAX(b) FROM t1 WHERE a IN (10,100) GROUP BY a;
 
877
EXPLAIN SELECT a, MAX(b) FROM t2 WHERE a IN (10,100) GROUP BY a;
 
878
 
 
879
FLUSH status;
 
880
SELECT a, MAX(b) FROM t1 WHERE a IN (10, 100) GROUP BY a;
 
881
--echo # Should be no more than 4 reads.
 
882
SHOW status LIKE 'handler_read_key';
 
883
 
 
884
FLUSH status;
 
885
SELECT a, MAX(b) FROM t2 WHERE a IN (10, 100) GROUP BY a;
 
886
--echo # Should be no more than 4 reads.
 
887
SHOW status LIKE 'handler_read_key';
 
888
 
 
889
DROP TABLE t1, t2;