         [ db get sqlite-close ] [ ] cleanup
     ] with-scope ;
 
+: with-tmp-db ( quot -- )
+  ".db" [
+      swap with-sqlite
+  ] with-tmpfile ;

  #! Bind the text to the parameterized value in the statement.  
  dup length SQLITE_TRANSIENT sqlite3_bind_text sqlite-check-result ;

: sqlite-bind-parameter-index ( statement name -- index )
  sqlite3_bind_parameter_index ;

: sqlite-bind-text-by-name ( statement name text -- )
  >r dupd sqlite-bind-parameter-index r> sqlite-bind-text ;

: sqlite-finalize ( statement -- )
  #! Clean up all resources related to a statement. Once called

  #! Return the value of the given column, indexed
  #! from zero, as a string.
  sqlite3_column_text ;

: column-int ( statement index -- int )
  sqlite3_column_int ;

: step-complete? ( step-result -- bool )
  #! Return true if the result of a sqlite3_step is
