> SMB keeps its cache on the computer which hosts the file. So if a file is > opened locally the cache is on the only computer concerned. If computer A > opens a file on computer B, the file-system cache is on computer B, where > all file requests pass through it. > > Of course a badly written program could keep a local cache too. But > that's the programmer's fault and SQLite certainly doesn't have its own > cache at that level.
The SQLite page cache is local to the application running SQLite, obviously. It cannot be located on the remote filesystem server since the remote server is not running SQLite. Of course, what you *really* mean is that client's view of the dataset must be consistent with the servers' view for the dataset and that the mechanisms to maintain that consistency must work across the network, just as they work for a local file on a local filesystem. There is no difference between a file opened over the network and one opened locally, except that in the network open case the network filesystem does not maintain consistency between the client view of the file and the server view of that same file, because doing so takes time and the network filesystem designer decided to trade off in favour of speed over consistency, usually without provision of a knob to change this decision.

