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 |   | OracleBinaryFloat  Double
18 |   | OracleBinaryDouble Double
19 |   | OracleBool         Bool        -- BOOLEAN
20 |   | OracleRaw          ByteString  -- RAW
21 |   | OracleClob         String      -- Character large object (CLOB)
22 |   | OracleBlob         ByteString  -- Binary large object (BLOB)
23 |   | OracleDate         OracleDate
24 |   | OracleTimestamp    OracleTimestamp
25 |   | OracleTimestampTZ  OracleTimestampTZ
26 |   | OracleIntervalYM   OracleIntervalYM
27 |   | OracleIntervalDS   OracleIntervalDS
28 |
29 | %runElab derive "OracleValue" [Eq,Ord,Show]
30 |