RX0239

Domain: Execution

Error message

%s names a sql binary with no driver: %s

In the message, %s marks a value that the engine fills in when it raises the error.

The story

Your manifest names a SQL program, but rush does not know how to talk to it yet. Let's see why that matters. Rush never builds SQL text out of your values. Instead, for each known database program, it has one fixed driver: a small, careful translator that sends only statements the engine generated itself, passes every value as a separate parameter, and starts the program with an empty environment and fixed arguments. That design shuts the door on injection attacks. Today the first driver is for sqlite three, chosen by the program's file name. If you name some other binary, rush has no driver for it, and it will not improvise a protocol, because an improvised one could be unsafe. It also will not quietly keep your data somewhere else. It stops, naming the holder, and the second slot lists the binary you named and the drivers that exist. The fix is to switch your manifest to one of the supported programs, or wait until a driver is ruled for yours. Safe first, flexible later.

Text from the Rush engine's error catalogue.