I have used the (dot) .output call in conjunction with a both a file and
name pipe on Linux with Sqlite 3.13 installed.  With a file this functions
successfully  and completes.  When using a named pipe this functions locks
up sqlite and it must be aborted for termination.

I have observed that the file write mode of this function when using the
same file name a second time will delete the previous data in the file.
This is most likely accomplished by deleting the file and recreating a new
one.  if so then this explains why the .output function locks up when using
a named pipe as the pipe is not responding to a delete command.

Pipes are files and the ability to launch an application and place a
pending read on the pipe is such that the system will block the read and
the application will hang on the read statement until something shows up.
In the case of a file this is not true.

I believe this command needs to be modified so that it performs a "stat" to
determine if the target is a file or named pipe.  If a named pipe then omit
the call to delete it.  This function should additionally check to make
sure the target is a file and not a directory too as user typos will most
certainly lead to unknown results.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to