summaryrefslogtreecommitdiffstats
path: root/sql/src/main/java/SQLite/FunctionContext.java
blob: d0b5182346b139e629c7d86c2b52be7d9086ca3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package SQLite;

/**
 * Context for execution of SQLite's user defined functions.
 * A reference to an instance of this class is passed to
 * user defined functions.
 */

public class FunctionContext {

    /**
     * Internal handle for the native SQLite API.
     */

    private long handle = 0;

    /**
     * Set function result from string.
     *
     * @param r result string
     */

    public native void set_result(String r);

    /**
     * Set function result from integer.
     *
     * @param r result integer
     */

    public native void set_result(int r);

    /**
     * Set function result from double.
     *
     * @param r result double
     */

    public native void set_result(double r);

    /**
     * Set function result from error message.
     *
     * @param r result string (error message)
     */

    public native void set_error(String r);

    /**
     * Set function result from byte array.
     * Only provided by SQLite3 databases.
     *
     * @param r result byte array
     */

    public native void set_result(byte[] r);

    /**
     * Set function result as empty blob given size.
     * Only provided by SQLite3 databases.
     *
     * @param n size for empty blob
     */

    public native void set_result_zeroblob(int n);

    /**
     * Retrieve number of rows for aggregate function.
     */

    public native int count();

    /**
     * Internal native initializer.
     */

    private static native void internal_init();

    static {
    internal_init();
    }
}