xref: /netbsd-src/external/public-domain/sqlite/man/sqlite3_overload_function.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE3_OVERLOAD_FUNCTION 3
3.Os
4.Sh NAME
5.Nm sqlite3_overload_function
6.Nd overload a function for a virtual table
7.Sh SYNOPSIS
8.In sqlite3.h
9.Ft int
10.Fo sqlite3_overload_function
11.Fa "sqlite3*"
12.Fa "const char *zFuncName"
13.Fa "int nArg"
14.Fc
15.Sh DESCRIPTION
16Virtual tables can provide alternative implementations of functions
17using the xFindFunction method of the virtual table module.
18But global versions of those functions must exist in order to be overloaded.
19.Pp
20This API makes sure a global version of a function with a particular
21name and number of parameters exists.
22If no such function exists before this API is called, a new function
23is created.
24The implementation of the new function always causes an exception to
25be thrown.
26So the new function is not good for anything by itself.
27Its only purpose is to be a placeholder function that can be overloaded
28by a virtual table.
29.Sh IMPLEMENTATION NOTES
30These declarations were extracted from the
31interface documentation at line 7650.
32.Bd -literal
33SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg);
34.Ed
35.Sh SEE ALSO
36.Xr sqlite3_module 3
37