/ Check-in [ce6eaac1]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Test that if the definition of a collation sequence is changed and VACUUM run, the new database contains records sorted in the (new) correct order.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:ce6eaac10a190b26b87bfe75918e2ef58fd7a3f9
User & Date: dan 2015-04-13 14:08:27
Context
2015-04-13
14:44
Remove a faulty assert() from the btree balancing logic. check-in: d06669d9 user: drh tags: trunk
14:08
Test that if the definition of a collation sequence is changed and VACUUM run, the new database contains records sorted in the (new) correct order. check-in: ce6eaac1 user: dan tags: trunk
14:03
Remove an unreachable branch from the VACUUM logic. check-in: 65ace4b0 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to test/vacuum2.test.

    11     11   # This file implements regression tests for SQLite library.  The
    12     12   # focus of this file is testing the VACUUM statement.
    13     13   #
    14     14   # $Id: vacuum2.test,v 1.10 2009/02/18 20:31:18 drh Exp $
    15     15   
    16     16   set testdir [file dirname $argv0]
    17     17   source $testdir/tester.tcl
           18  +set testprefix vacuum2
    18     19   
    19     20   # Do not use a codec for tests in this file, as the database file is
    20     21   # manipulated directly using tcl scripts (using the [hexio_write] command).
    21     22   #
    22     23   do_not_use_codec
    23     24   
    24     25   # If the VACUUM statement is disabled in the current build, skip all
................................................................................
   223    224     db eval {SELECT a, b FROM t1 WHERE a<=10} {
   224    225       if {$a==6} { set res [catchsql VACUUM] }
   225    226       lappend res2 $a
   226    227     }
   227    228     lappend res2 $res
   228    229   } {1 2 3 4 5 6 7 8 9 10 {1 {cannot VACUUM - SQL statements in progress}}}
   229    230   
          231  +#-------------------------------------------------------------------------
          232  +# Check that if the definition of a collation sequence is changed and
          233  +# VACUUM run, records are store in the (new) correct order following the
          234  +# VACUUM. Even if the modified collation is attached to a PK of a WITHOUT
          235  +# ROWID table.
          236  +
          237  +proc cmp {lhs rhs} { string compare $lhs $rhs }
          238  +db collate cmp cmp
          239  +do_execsql_test 6.0 {
          240  +  CREATE TABLE t6(x PRIMARY KEY COLLATE cmp, y) WITHOUT ROWID;
          241  +  CREATE INDEX t6y ON t6(y);
          242  +  INSERT INTO t6 VALUES('i', 'one');
          243  +  INSERT INTO t6 VALUES('ii', 'one');
          244  +  INSERT INTO t6 VALUES('iii', 'one');
          245  +}
          246  +integrity_check 6.1
          247  +proc cmp {lhs rhs} { string compare $rhs $lhs }
          248  +do_execsql_test 6.2 VACUUM
          249  +integrity_check 6.3
   230    250   
   231    251   finish_test