# 2023 May 28 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #************************************************************************* # source [file join [file dirname [info script]] fts5_common.tcl] set testprefix fts5bigid # If SQLITE_ENABLE_FTS5 is not defined, omit this file. ifcapable !fts5 { finish_test return } set nRow 20000 proc do_ascdesc_test {tn query} { set ::lAsc [db eval { SELECT rowid FROM x1($query) }] set ::lDesc [db eval { SELECT rowid FROM x1($query) ORDER BY rowid DESC }] do_test $tn.1 { lsort -integer $::lAsc } $::lAsc do_test $tn.2 { lsort -integer -decr $::lDesc } $::lDesc do_test $tn.3 { lsort -integer $::lDesc } $::lAsc } do_execsql_test 1.0 { CREATE VIRTUAL TABLE x1 USING fts5(a); } do_test 1.1 { for {set ii 0} {$ii < $nRow} {incr ii} { db eval { REPLACE INTO x1(rowid, a) VALUES(random(), 'movement at the station'); } } } {} do_ascdesc_test 1.2 "the" do_execsql_test 1.3 { DELETE FROM x1 } do_test 1.4 { for {set ii 0} {$ii < $nRow} {incr ii} { db eval { INSERT INTO x1(rowid, a) VALUES( $ii + 0x6FFFFFFFFFFFFFFF, 'movement at the station' ); } } } {} do_ascdesc_test 1.5 "movement" finish_test