# Packages
No description provided by the author
# Functions
NewConnectionPool creates a new connection pool
Using the zero value is not recommended and might lead to a SIGSEGV.
NewPlugin creates a new plugin.
# Constants
ColumnTypeBlob represents a BLOB column.
ColumnTypeBool represents is an alias for ColumnTypeInt.
ColumnTypeFloat represents a REAL column.
ColumnTypeInt represents an INTEGER column.
ColumnTypeString represents a TEXT column.
No description provided by the author
No description provided by the author
OperatorEqual is the equal operator =.
OperatorGlob is the glob operator.
OperatorGreater is the greater than operator >.
OperatorGreaterOrEqual is the greater than or equal operator >=.
OperatorIS is the IS operator
Note: will be converted to OperatorEqual.
OperatorISNOT is the IS NOT operator
Note: will be converted to OperatorNotEqual.
OperatorISNOTNULL is the IS NOT NULL operator
Note: will be converted to OperatorNotEqual with value nil.
OperatorISNULL is the IS NULL operator
Note: will be converted to OperatorEqual with value nil.
OperatorLess is the less than operator <.
OperatorLessOrEqual is the less than or equal operator <=.
OperatorLike is the like operator.
OperatorLimit is the LIMIT statement in a SQL query.
OperatorMatch is the match operator.
OperatorNotEqual is the not equal operator !=.
OperatorOFFSET is the OFFSET statement in a SQL query.
OperatorRegexp is the regexp operator.
No description provided by the author
# Structs
No description provided by the author
ConnectionPool is a struct that holds the connections to the plugins It allows using the same executable for multiple connections
It is not intended to be used by plugins but by the main program.
DatabaseSchema holds the schema of the database
It must stay the same throughout the lifetime of the plugin and for every cursor opened.
No description provided by the author
No description provided by the author
InitializeArgs is a struct that holds the arguments for the Initialize method
It's necessary to define this struct because the arguments for the RPC methods are passed as a single argument.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Plugin represents a plugin that can be loaded by anyquery.
No description provided by the author
PluginManifest is a struct that holds the metadata of the plugin
It is often represented as a JSON file in the plugin directory.
PluginRPCClient is a struct that holds the RPC client that will be called from the main program.
PluginRPCServer is a struct that holds the RPC server that will be runned by the plugin for the main program.
QueryArgs is a struct that holds the arguments for the Query method (see InitializeArgs).
QueryConstraint is a struct that holds the constraints for a SELECT query
It specifies the WHERE conditions in the Columns field, the LIMIT and OFFSET in the Limit and Offset fields, and the ORDER BY clause in the OrderBy field.
No description provided by the author
Args passed to the TableCreator function
Implementation details: args are passed as a struct so that if we add more arguments in the future, old plugins will still work.
No description provided by the author
# Interfaces
InternalExchangeInterface is an interface that defines the methods that a plugin must implement to communicate with the main program
This part should be handled by the plugin library and should not be implemented by the user.
ReaderInterface is an interface that must be implemented by the plugin
It maps the methods required by anyquery to work.
Represents a table in the plugin
If your table doesn't support insert, update or delete, you should specify it in the schema and the according methods will not be called.
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
ColumnType is an enum that represents the type of a column.
No description provided by the author
PluginConfig is a struct that holds the configuration for the plugin
It is mostly used to specify user-defined configuration and is passed to the plugin during initialization.
TableCreator is a function that creates a new table interface and returns the schema of the table.