0 | module Oracle.FFI.Statement
 1 |
 2 | %default total
 3 |
 4 | ||| Prepare a SQL statement.
 5 | |||
 6 | ||| Parameters:
 7 | |||
 8 | ||| * Oracle connection handle
 9 | ||| * SQL text
10 | |||
11 | ||| Returns:
12 | |||
13 | ||| * Raw dpiStmt pointer
14 | ||| * NULL on failure
15 | |||
16 | export %foreign "C:oracle_prepare_stmt,oracle-idris"
17 | prim__prepareStmt : AnyPtr -> String -> PrimIO AnyPtr
18 |
19 | ||| Release a previously prepared statement.
20 | |||
21 | ||| This ultimately calls dpiStmt_release().
22 | |||
23 | export %foreign "C:oracle_release_stmt,oracle-idris"
24 | prim__releaseStmt : AnyPtr -> PrimIO ()
25 |
26 | ||| Execute a prepared statement.
27 | |||
28 | ||| Returns:
29 | ||| * 0 on success.
30 | ||| * non-zero on failure.
31 | |||
32 | export %foreign "C:oracle_execute_stmt,oracle-idris"
33 | prim__executeStmt : AnyPtr -> PrimIO Int32
34 |
35 | ||| Fetch the next row from a query result.
36 | |||
37 | ||| Returns:
38 | ||| * 1 if a row was fetched.
39 | ||| * 0 if no rows remain.
40 | ||| * negative value on error.
41 | |||
42 | export %foreign "C:oracle_fetch,oracle-idris"
43 | prim__fetch : AnyPtr -> PrimIO Int32
44 |
45 | ||| Retrieve the number of columns in the statement result set.
46 | |||
47 | export %foreign "C:oracle_column_count,oracle-idris"
48 | prim__columnCount : AnyPtr -> PrimIO Int32
49 |
50 | ||| Retrieve the current row value for a column.
51 | |||
52 | ||| This interface is not sufficient for a production-quality Oracle driver.
53 | ||| Oracle values should be marshalled through type-specific accessors instead.
54 | |||
55 | export %foreign "C:oracle_column_value,oracle-idris"
56 | prim__columnValue : AnyPtr -> Int32 -> PrimIO AnyPtr
57 |