📄 btree3.test
字号:
# 2001 November 22## 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.##***********************************************************************# This file implements regression tests for SQLite library. The# focus of this script is btree database backend## In particular, this file tests a small part of the Delete logic# for the BTree backend. When a row is deleted from a table, the# cursor is suppose to be left pointing at either the previous or# next entry in that table. If the cursor is left pointing at the# next entry, then the next Next operation is ignored. So the # sequence of operations (Delete, Next) should always leave the# cursor pointing at the first entry past the one that was deleted.# This test is designed to verify that behavior.## $Id: btree3.test,v 1.2 2002/12/04 13:40:27 drh Exp $set testdir [file dirname $argv0]source $testdir/tester.tclif {[info commands btree_open]!=""} {# Open a test database.#file delete -force test1.btfile delete -force test1.bt-journalset b1 [btree_open test1.bt]btree_begin_transaction $::b1# Insert a few one records#set data {abcdefghijklmnopqrstuvwxyz0123456789}append data $dataappend data $dataappend data $dataappend data $datafor {set k 2} {$k<=10} {incr k} { for {set j 1} {$j<=$k} {incr j} { set jkey [format %02d $j] btree_clear_table $::b1 2 set ::c1 [btree_cursor $::b1 2 1] for {set i 1} {$i<=$k} {incr i} { set key [format %02d $i] do_test btree3-$k.$j.1.$i { btree_insert $::c1 $::key $::data } {} # btree_tree_dump $::b1 2 } do_test btree3-$k.$j.2 { btree_move_to $::c1 $::jkey btree_key $::c1 } $::jkey do_test btree3-$k.$j.3 { btree_delete $::c1 } {} if {$j<$k} { do_test btree3-$k.$j.4 { btree_next $::c1 btree_key $::c1 } [format %02d [expr $j+1]] } if {$j>1} { do_test btree3-$k.$j.5 { btree_prev $::c1 btree_key $::c1 } [format %02d [expr $j-1]] } btree_close_cursor $::c1 }}btree_rollback $::b1 btree_pager_ref_dump $::b1btree_close $::b1} ;# end if( not mem: and has pager_open command );finish_test
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -