I took that the .open command could be issued as ".open" to open a new in-memory database and ".open ''" (followed by a pair of single quotes) to open a new unnamed temporary file database.
I wonder what is going on here: After issuing a short combination of these commands with/without putting anything into the databases, or saving them, it ends up printing an error "unable to open database <gibberish>; unable to open file."? Would the printing of gibberish mean is trying to read a file name where there isn't one, i.e., reading a memory address that wasn't previously written to? To reproduce, save the following as a script and invoke the shell with the init clause to call the script.? If you see no error, quit the shell and try again, you should soon see it.? Notice it's not a problem of the init clause since the same happens if I type this interactively. .open '' .open .open create table x(y); .open '' .open '' .open .open This would not be a problem unless someone could potentially write a function as part of an API that would attempt to reset the database prior to doing some other work, a reset sometimes unnecessarily but not expected to be harmful.? Then repeated calls to a db open command that normally doesn't cause a problem on its own could cause the above problem.