Test output for sql-de-lite [ok]

Testing time: 1s

'/usr/home/chicken/salmonella/build/salmonella-run-publish/chicken/bin/csi' -script run.scm < /dev/null 2>&1

-- testing autocommit --------------------------------------------------------
autocommit? reports #t outside transaction ........................... [ PASS]
autocommit? reports #f during transaction ............................ [ PASS]
2 tests completed in 9/500 seconds.
2 out of 2 (100%) tests passed.
-- done testing autocommit ---------------------------------------------------


-- testing rollback ----------------------------------------------------------
Open read queries do not prevent SQL ROLLBACK ........................ [ PASS]
Open read queries ok with SQL COMMIT ................................. [ PASS]
(rollback) resets open cached queries ................................ [ PASS]
(rollback) resets open transient queries (and warns) ................. [ PASS]
with-transaction rollback resets open queries ........................ [ PASS]
5 tests completed in 7/500 seconds.
5 out of 5 (100%) tests passed.
-- done testing rollback -----------------------------------------------------


-- testing reset -------------------------------------------------------------
fetch after query is illegal (normal exit) ........................... [ PASS]
fetch after query is illegal (error exit) ............................ [ PASS]
fetch after exec is illegal .......................................... [ PASS]
query finalizes statement -- cache on ................................ [ PASS]
query finalizes statement -- cache off ............................... [ PASS]
exec finalizes statement -- cache on ................................. [ PASS]
exec finalizes statement -- cache off ................................ [ PASS]
exec resets even when column count = 0 ............................... [ PASS]
8 tests completed in 1/200 seconds.
8 out of 8 (100%) tests passed.
-- done testing reset --------------------------------------------------------


-- testing fetch -------------------------------------------------------------
fetch first row via fetch ............................................ [ PASS]
fetch first row via exec ............................................. [ PASS]
fetch first row via (query fetch ...) ................................ [ PASS]
fetch all rows twice via fetch-all + reset + fetch-all ............... [ PASS]
fetch all rows twice via (query fetch-all ...) x 2 ................... [ PASS]
fetch-all reads remaining rows mid-query ............................. [ PASS]
6 tests completed in 1/500 seconds.
6 out of 6 (100%) tests passed.
-- done testing fetch --------------------------------------------------------

Finalizing previously finalized statement OK even after DB is closed . [ PASS]
step after db closed raises exception ................................ [ PASS]
Open transient statements closed after call/db ....................... [ PASS]
Prepared stmts FINALIZED? after QUERY bind error (cache disabled) .... [ PASS]
Prepared stmts FINALIZED? after EXEC bind error (cache disabled) ..... [ PASS]
sql/transient statements are initially finalized ..................... [ PASS]
sql/transient statements are finalized after QUERY error ............. [ PASS]
Cached statements are finalized on error in call-with-database ....... [ PASS]
query* on non-statement does not enter infinite loop ................. [ PASS]
Reset cached statement may be pulled from cache ...................... [ PASS]
Identical (text-wise) running nested SQL statements are allowed ...... [ PASS]
create / insert one row via execute-sql .............................. [ PASS]
empty SQL is illegal ................................................. [ PASS]
whitespace SQL is illegal ............................................ [ PASS]
comment-only SQL is illegal .......................................... [ PASS]

-- testing finalization ------------------------------------------------------
exec after finalize succeeds (statement resurrected) ................. [ PASS]
reset after finalize ok .............................................. [ PASS]
Exec prepared statement fails after database close (cache enabled) ... [ PASS]
Exec prepared statement fails after database close (cache disabled) .. [ PASS]
Operating on transient statement fails after database close .......... [ PASS]
Resurrected transient statement is still transient ................... [ PASS]
6 tests completed in 1/500 seconds.
6 out of 6 (100%) tests passed.
-- done testing finalization -------------------------------------------------

Successful rollback outside transaction .............................. [ PASS]
Successful commit outside transaction ................................ [ PASS]
insert ... select executes in one step ............................... [ PASS]
cached statement may be exec'ed multiple times ....................... [ PASS]

-- testing open-database -----------------------------------------------------
open in-memory database using 'memory ................................ [ PASS]
open temp database using 'temp ....................................... [ PASS]
open temp database using 'temporary .................................. [ PASS]
3 tests completed in 0 seconds.
3 out of 3 (100%) tests passed.
-- done testing open-database ------------------------------------------------


-- testing statement traversal -----------------------------------------------
map-rows ............................................................. [ PASS]
map-rows* ............................................................ [ PASS]
for-each-row ......................................................... [ PASS]
for-each-row* ........................................................ [ PASS]
fold-rows ............................................................ [ PASS]
fold-rows* ........................................................... [ PASS]
6 tests completed in 1/1000 seconds.
6 out of 6 (100%) tests passed.
-- done testing statement traversal ------------------------------------------


-- testing large integers ----------------------------------------------------
last-insert-rowid on int64 rowid (fails w/ numbers) 1234567890125 .... [ PASS]
retrieve row containing int64 rowid (fails w/ numbers) 1234567890125 . [ PASS]
last-insert-rowid on int64 rowid (numbers ok) 1234567890125 .......... [ PASS]
retrieve row containing int64 rowid (numbers ok) 1234567890125 ....... [ PASS]
4 tests completed in 1/1000 seconds.
4 out of 4 (100%) tests passed.
-- done testing large integers -----------------------------------------------


-- testing binding types -----------------------------------------------------
insert short blob value .............................................. [ PASS]
select short blob value .............................................. [ PASS]
invalid bound parameter type (procedure) throws error ................ [ PASS]
select null blob value ............................................... [ PASS]
4 tests completed in 1/1000 seconds.
4 out of 4 (100%) tests passed.
-- done testing binding types ------------------------------------------------


-- testing named parameters --------------------------------------------------
?,? (1 2) -> (1 2) ................................................... [ PASS]
?1,?2 (3 4) -> (3 4) ................................................. [ PASS]
?2,?1 (6 5) -> (5 6) ................................................. [ PASS]
:foo,:bar (foo: 7 bar: 8) -> (7 8) ................................... [ PASS]
:bar,:foo (foo: 10 bar: 9) -> (9 10) ................................. [ PASS]
?3,?1 (12 13 11) -> (11 12) .......................................... [ PASS]
:foo,:bar (foo: 30) -> error ......................................... [ PASS]
:foo,:bar (fuu: 30 bar: 31) -> error ................................. [ PASS]

    -- testing mixed named and positional ------------------------------------
    :foo,? (foo: 13 14) -> (13 14) ................................... [ PASS]
    :foo,? (15 foo: 16) -> (16 ()) ................................... [ PASS]
    ?,:foo (17 foo: 18) -> (17 18) ................................... [ PASS]
    :foo,?1 (100) -> (100 100) ....................................... [ PASS]
    ?1,:foo (101) -> error ........................................... [ PASS]
    ?1,:foo (foo: 102) -> error ...................................... [ PASS]
    :foo,:bar (foo: 103 104) -> (103 104) ............................ [ PASS]
    :foo,:bar (103 104) -> (103 104) ................................. [ PASS]
    ?3,:foo (1 2 3 4) -> (3 4) ....................................... [ PASS]
    ?3,:foo (foo: 1 2 3 4) -> (3 4) .................................. [ PASS]
    10 tests completed in 1/1000 seconds.
    10 out of 10 (100%) tests passed.
    -- done testing mixed named and positional -------------------------------


    -- testing known issues --------------------------------------------------
    :foo,:bar (foo: 0 foo: 0) -> (0 ()) .............................. [ PASS]
    :foo,:bar (foo: 1 bar: 2 bar: 3) -> error ........................ [ PASS]
    2 tests completed in 0 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing known issues ---------------------------------------------

8 tests and 2 subgroups completed in 1/250 seconds.
8 out of 8 (100%) tests passed.
2 out of 2 (100%) subgroups passed.
-- done testing named parameters ---------------------------------------------


-- testing schema changes ----------------------------------------------------
Baseline: Initial table setup ........................................ [ PASS]
Existing statements recognize new column after ALTER TABLE ADD COLUMN  [ PASS]
Existing statements recognize column changes after table copy ........ [ PASS]
Existing statements recognize column changes after table copy (2) .... [ PASS]
Baseline: Column changes take effect if cache bypassed ............... [ PASS]
Baseline: Column changes take effect after cache flush ............... [ PASS]
Baseline: Test column count of prepared statement .................... [ PASS]
Baseline: Test column names of prepared statement .................... [ PASS]
Column count of idle statement does not reflect ADD COLUMN ........... [ PASS]
Column names of idle statement do not reflect ADD COLUMN ............. [ PASS]
Column count of running statement reflects ADD COLUMN ................ [ PASS]
Column names of running statement reflects ADD COLUMN ................ [ PASS]
Column count of reset statement reflects ADD COLUMN .................. [ PASS]
Column count of reset statement reflects ADD COLUMN .................. [ PASS]
14 tests completed in 3/500 seconds.
14 out of 14 (100%) tests passed.
-- done testing schema changes -----------------------------------------------


-- testing user defined functions --------------------------------------------

    -- testing scalar functions ----------------------------------------------
    pass int, receive int ............................................ [ PASS]
    pass double, receive double ...................................... [ PASS]
    pass null, receive null .......................................... [ PASS]
    pass string, receive string ...................................... [ PASS]
    pass null blob, receive null blob ................................ [ PASS]
    pass blob, receive blob .......................................... [ PASS]
    pass 2 args ...................................................... [ PASS]
    pass multiple args ............................................... [ PASS]
    overload argument count .......................................... [ PASS]
    unregister overloaded function ................................... [ PASS]
    sum multiple columns ............................................. [ PASS]
    raise error in function .......................................... [ PASS]
    12 tests completed in 1/500 seconds.
    12 out of 12 (100%) tests passed.
    -- done testing scalar functions -----------------------------------------


    -- testing aggregate functions -------------------------------------------
    sum one column ................................................... [ PASS]
    sum multiple columns ............................................. [ PASS]
    raise error in step function ..................................... [ PASS]
    raise error in final function .................................... [ PASS]
    active statements prevent unregister ............................. [ PASS]
    overload and unregister .......................................... [ PASS]
    varargs overload and unregister .................................. [ PASS]
    7 tests completed in 3/1000 seconds.
    7 out of 7 (100%) tests passed.
    -- done testing aggregate functions --------------------------------------

2 subgroups completed in 1/200 seconds.
2 out of 2 (100%) subgroups passed.
-- done testing user defined functions ---------------------------------------


-- testing multiple connections ----------------------------------------------
select step in db1 ................................................... [ PASS]
insert step in db2 during select in db1 returns busy ................. [ PASS]
retry the busy insert, expecting busy again .......................... [ PASS]
different insert in db2 also returns busy ............................ [ PASS]
another step in db1 .................................................. [ PASS]
another step in db1 .................................................. [ PASS]
reset and restep read in db1 ok, insert lock was reset ............... [ PASS]
preparing statement with same SQL text as executing statement works .. [ PASS]
rollback of immediate trans. releases write lock ..................... [ PASS]
9 tests completed in 7/200 seconds.
9 out of 9 (100%) tests passed.
-- done testing multiple connections -----------------------------------------


-- testing sql/transient for long running statement --------------------------
with enough cache for all non-transient statements ................... [ PASS]
with enough cache for running non-transient statements ............... [ PASS]
2 tests completed in 1/250 seconds.
2 out of 2 (100%) tests passed.
-- done testing sql/transient for long running statement ---------------------


-- testing sql for long running statement ------------------------------------
with enough cache for all statements ................................. [ PASS]
with enough cache for running statements ............................. [ PASS]
with insufficient cache .............................................. [ PASS]
3 tests completed in 11/1000 seconds.
3 out of 3 (100%) tests passed.
-- done testing sql for long running statement -------------------------------


-- testing cache -------------------------------------------------------------

    -- testing add/remove ----------------------------------------------------
    add .............................................................. [ PASS]
    remove ........................................................... [ PASS]
    2 tests completed in 0 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing add/remove -----------------------------------------------


    -- testing flush ---------------------------------------------------------
    add .............................................................. [ PASS]
    flush ............................................................ [ PASS]
    2 tests completed in 0 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing flush ----------------------------------------------------


    -- testing multi ---------------------------------------------------------
    add .............................................................. [ PASS]
    remove ........................................................... [ PASS]
    2 tests completed in 0 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing multi ----------------------------------------------------

3 subgroups completed in 0 seconds.
3 out of 3 (100%) subgroups passed.
-- done testing cache --------------------------------------------------------