0 | module Oracle.Types.Value
 1 |
 2 | import Data.ByteString
 3 | import Derive.Prelude
 4 | import Oracle.Types.DateTime
 5 |
 6 | %language ElabReflection
 7 |
 8 | ||| Represents a value exchanged with Oracle.
 9 | |||
10 | ||| Used for bind parameters and query results.
11 | |||
12 | public export
13 | data OracleValue
14 |   = OracleNull          
15 |   | OracleString      String      -- VARCHAR2, CHAR, NVARCHAR2, etc.
16 |   | OracleNumber      Double      -- NUMBER
17 |   | OracleBool        Bool        -- BOOLEAN
18 |   | OracleClob        String      -- Character large object (CLOB)
19 |   | OracleBlob        ByteString  -- Binary large object (BLOB)
20 |   | OracleTimestamp   OracleTimestamp
21 |   | OracleTimestampTZ OracleTimestampTZ
22 |   | OracleIntervalYM  OracleIntervalYM
23 |   | OracleIntervalDS  OracleIntervalDS
24 |
25 | %runElab derive "OracleValue" [Eq,Ord,Show]
26 |