CoolFace
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
shrink.test56 linesDownload Raw Back to test
1# 2011 November 162#3# The author disclaims copyright to this source code.  In place of4# a legal notice, here is a blessing:5#6#    May you do good and not evil.7#    May you find forgiveness for yourself and forgive others.8#    May you share freely, never taking more than you give.9#10#***********************************************************************11#12# This file contains test cases for sqlite3_db_release_memory and13# the PRAGMA shrink_memory statement.14#15 16set testdir [file dirname $argv0]17source $testdir/tester.tcl18test_set_config_pagecache 0 019 20if {[sqlite3_memory_used]==0} {21  # SQLITE_DEFAULT_MEMSTATUS=0 build.22  finish_test23  return24}25 26 27unset -nocomplain baseline28do_test shrink-1.1 {29  db eval {30    PRAGMA cache_size = 2000;31    CREATE TABLE t1(x,y);32    INSERT INTO t1 VALUES(randomblob(1000000),1);33  }34  set ::baseline [sqlite3_memory_used]35  # EVIDENCE-OF: R-58814-63508 The sqlite3_db_release_memory(D) interface36  # attempts to free as much heap memory as possible from database37  # connection D.38  sqlite3_db_release_memory db39  expr {$::baseline > [sqlite3_memory_used]+500000}40} {1}41do_test shrink-1.2 {42  set baseline [sqlite3_memory_used]43  db eval {44    UPDATE t1 SET y=y+1;45  }46  expr {$::baseline+500000 < [sqlite3_memory_used]}47} {1}48do_test shrink-1.3 {49  set baseline [sqlite3_memory_used]50  db eval {PRAGMA shrink_memory}51  expr {$::baseline > [sqlite3_memory_used]+500000}52} {1}53 54test_restore_config_pagecache55finish_test56