1
0
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:
David Hall
2017-09-07 17:22:31 -05:00
parent 7db0b9b0fa
commit fab8948604
8 changed files with 22 additions and 15 deletions

View File

@@ -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:

View 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;
}

View File

@@ -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