2 | ||| Describes a single expression selected by a Query.
3 | |||
4 | ||| `Column` selects the expression exactly as provided.
5 | |||
6 | ||| `JSONColumn` selects the expression after wrapping it in `JSON_SERIALIZE(... RETURNING CLOB)`.
7 | |||
8 | ||| JSON columns are therefore returned to Idris as CLOB-backed text, allowing them to be decoded as ordinary String values or passed to a `FromJSON` implementation.
9 | |||
10 | ||| For example:
11 | |||
12 | ||| JSONColumn "profile"
13 | |||
14 | ||| renders as:
15 | |||
16 | ||| JSON_SERIALIZE(profile RETURNING CLOB)
17 | |||