Skip to main content

Module render

Module render 

Source
Expand description

The output modes: how a row becomes the text a person or a script reads.

Invariant: a mode decides layout and nothing else. Every mode is handed the same values, and none of them converts one - a blob prints as its bytes in list and as an x'...' literal in quote because those are two ways of writing the same value, not two values. The conversions themselves belong to the engine, which is why nothing in this file parses or casts anything.

The default is SQLite’s: list mode, | between columns, headers off, and NULL as the empty string. That last one is a genuinely bad default and it is kept anyway, because a script written against sqlite3 and pointed at this shell has to see the same bytes.

Structs§

Layout
Everything a mode needs that is not the rows themselves.

Enums§

Mode
How rows are laid out.

Functions§

literal
Returns the SQL literal a value would be written as.
render
Renders a result set into the lines that should be printed.