Remix.run Logo
ori_b 3 hours ago

Typically, if you were writing your hypothetical sql client in rc shell, you'd implement an interface that looks something like:

    <>/mnt/sql/clone{
        echo 'SELECT * from ...' >[1=0]
        cat /mnt/sql/^`{read}^/data # or awk, or whatever
    }
This is also roughly how webfs works. Making network connections from the shell follows the same pattern. So, for that matter, does making network connections from C, just the file descriptor management is in C.
moron4hire an hour ago | parent [-]

This is... I don't know. I don't get why I would care to sling SQL over a file system versus a network socket.

I mean, Postgres could offer an SSH interface as a dumb pipe to psql to just have you push text SQL queries in your application. But it doesn't, it offers a binary protocol over a network socket. All the database engines have had the same decision point and have basically gone down the same path of implementing a wire protocol over a persistent socket connection.

So yeah, I don't get what doing things this way would give me as either a service provider or a service consumer. It looks like video game achievements for OS development nerds, "unlocked 'everything is a file'." But it doesn't look like it actually enables anything meaningful.