You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
MCOL-523 Documentation update
This commit is contained in:
@@ -9,7 +9,7 @@ Bytestream is compiled and lives in the messageqcpp shared library. The header c
|
||||
|
||||
#include "bytestream.h"
|
||||
|
||||
For UDA(n)F you should not have to instantiate a ByteStream. However, if you implement the Complex Data Model, you will need to use the instances passed to your serialize() and unserialize() methods.
|
||||
For UDA(n)F you should not have to instantiate a ByteStream. However, if you implement :ref:`complexdatamodel`, you will need to use the instances passed to your serialize() and unserialize() methods.
|
||||
|
||||
These typedefs exist only for backwards compatibility and can be ignored:
|
||||
|
||||
|
36
utils/udfsdk/docs/source/reference/UDAFMap.rst
Normal file
36
utils/udfsdk/docs/source/reference/UDAFMap.rst
Normal file
@@ -0,0 +1,36 @@
|
||||
.. _udafmap:
|
||||
|
||||
UDAFMap
|
||||
=======
|
||||
|
||||
The UDAFMap is where we tell the system about our function. For Columnstore 1.1, you must manually place your function into this map.
|
||||
|
||||
* open mcsv1_udaf.cpp
|
||||
* add your header to the #include list
|
||||
* add a new line to the UDAFMap::getMap() function
|
||||
|
||||
::
|
||||
|
||||
#include "allnull.h"
|
||||
#include "ssq.h"
|
||||
#include "median.h"
|
||||
#include "avg_mode.h"
|
||||
UDAF_MAP& UDAFMap::getMap()
|
||||
{
|
||||
if (fm.size() > 0)
|
||||
{
|
||||
return fm;
|
||||
}
|
||||
// first: function name
|
||||
// second: Function pointer
|
||||
// please use lower case for the function name. Because the names might be
|
||||
// case-insensitive in MySQL depending on the setting. In such case,
|
||||
// the function names passed to the interface is always in lower case.
|
||||
fm["allnull"] = new allnull();
|
||||
fm["ssq"] = new ssq();
|
||||
fm["median"] = new median();
|
||||
fm["avg_mode"] = new avg_mode();
|
||||
|
||||
return fm;
|
||||
}
|
||||
|
@@ -5,9 +5,9 @@ The UserData struct is used for allocating and streaming the intermediate data n
|
||||
|
||||
There may be multiple instantiations of UserData for each UDA(n)F call. Make no assumptions about the contents except within the context of a method call.
|
||||
|
||||
Since there is no need to deal with the UserData Structure unless you are using the Complex Data Mode, the remainder of this page assumes the Complex Data Structure.
|
||||
Since there is no need to deal with the UserData Structure unless you are using :ref:`complexdatamodel`, the remainder of this page assumes :ref:`complexdatamodel`.
|
||||
|
||||
To use the Complex Data Structure, you derive a struct from UserData and override, at the least, the streaming functions.
|
||||
To use :ref:`complexdatamodel`, you derive a struct from UserData and override, at the least, the streaming functions.
|
||||
|
||||
.. rubric:: constructor
|
||||
|
||||
|
Reference in New Issue
Block a user