--TEST-- sqlite3 --INI-- psi.directory={PWD}:{PWD}/../../psi.d psi.blacklist.decls="sqlite3_str*,sqlite3_*serialize,sqlite3_stmt_scanstatus*,sqlite3_snapshot*,sqlite3_win32*" --SKIPIF-- --FILE-- ===TEST=== row = $context->row ?? 0; for ($i = 0; $i < $argc; ++$i) { printf("%d: %s = %s\n", $context->row, $cols[$i], $argv[$i] ?? ""); } printf("\n"); ++$context->row; } $rc = sqlite3\exec($db, "SELECT * FROM test", "callback", new stdClass, $error); if ($rc) { printf("%s: '%s'\n", sqlite3\errstr($rc), $error); } $rc = sqlite3\exec($db, "INSERT INTO test VALUES (3,'three')", "callback", new stdClass, $error); if ($rc) { printf("%s: '%s'\n", sqlite3\errstr($rc), $error); } $rc = sqlite3\exec($db, "SELECT * FROM test", "callback", new stdClass, $error); if ($rc) { printf("%s: '%s'\n", sqlite3\errstr($rc), $error); } $rc = sqlite3\exec($db, "SELECT *", "callback", new stdClass, $error); if ($rc) { printf("%s: '%s'\n", sqlite3\errstr($rc), $error); } sqlite3\close($db); $rc = sqlite3\exec($db, "SELECT *", "callback", new stdClass, $error); if ($rc) { printf("%s: '%s'\n", sqlite3\errstr($rc), $error); } ?> ===DONE=== --EXPECTF-- ===TEST=== string(%d) "3.%d.%s" 0: id = 1 0: data = one 1: id = 2 1: data = two 0: id = 1 0: data = one 1: id = 2 1: data = two 2: id = 3 2: data = three SQL logic error%s %s: '' ===DONE=== --CLEAN--