mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 01:26:25 +00:00
60 lines
1.5 KiB
Java
60 lines
1.5 KiB
Java
|
package SQLite;
|
||
|
|
||
|
/**
|
||
|
* Callback interface for SQLite's user defined functions.
|
||
|
* Each callback method receives a
|
||
|
* <A HREF="FunctionContext.html">FunctionContext</A> object
|
||
|
* which is used to set the function result or error code.
|
||
|
* <BR><BR>
|
||
|
* Example:<BR>
|
||
|
*
|
||
|
* <PRE>
|
||
|
* class SinFunc implements SQLite.Function {
|
||
|
* public void function(SQLite.FunctionContext fc, String args[]) {
|
||
|
* try {
|
||
|
* Double d = new Double(args[0]);
|
||
|
* fc.set_result(Math.sin(d.doubleValue()));
|
||
|
* } catch (Exception e) {
|
||
|
* fc.set_error("sin(" + args[0] + "):" + e);
|
||
|
* }
|
||
|
* }
|
||
|
* ...
|
||
|
* }
|
||
|
* SQLite.Database db = new SQLite.Database();
|
||
|
* db.open("db", 0);
|
||
|
* db.create_function("sin", 1, SinFunc);
|
||
|
* ...
|
||
|
* db.exec("select sin(1.0) from test", null);
|
||
|
* </PRE>
|
||
|
*/
|
||
|
|
||
|
public interface Function {
|
||
|
|
||
|
/**
|
||
|
* Callback for regular function.
|
||
|
*
|
||
|
* @param fc function's context for reporting result
|
||
|
* @param args String array of arguments
|
||
|
*/
|
||
|
|
||
|
public void function(FunctionContext fc, String args[]);
|
||
|
|
||
|
/**
|
||
|
* Callback for one step in aggregate function.
|
||
|
*
|
||
|
* @param fc function's context for reporting result
|
||
|
* @param args String array of arguments
|
||
|
*/
|
||
|
|
||
|
public void step(FunctionContext fc, String args[]);
|
||
|
|
||
|
/**
|
||
|
* Callback for final step in aggregate function.
|
||
|
*
|
||
|
* @param fc function's context for reporting result
|
||
|
*/
|
||
|
|
||
|
public void last_step(FunctionContext fc);
|
||
|
|
||
|
}
|