1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-523 documentation part 3

This commit is contained in:
David Hall
2017-09-05 17:35:20 -05:00
parent bb21c79e87
commit ce51b9c5e2
5 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,5 @@
.. _bytestream:
ByteStream
==========

View File

@ -1,3 +1,5 @@
.. _ mcsv1_udaf:
mcsv1_UDAF
==========
@ -76,6 +78,8 @@ Destructor
Callback Methods
----------------
.. _init:
.. c:function:: ReturnCode init(mcsv1Context* context, COL_TYPES& colTypes);
:param context: The context object for this call.
@ -98,6 +102,8 @@ Callback Methods
All flags, return type, Window Frame, etc. set in the context object here will be propogated to any copies made and will be streamed to the various modules. You are guaranteed that these settings will be correct for each callback.
.. _reset:
.. c:function:: ReturnCode reset(mcsv1Context* context);
:param context: The context object for this call.
@ -108,6 +114,8 @@ Callback Methods
Use context->getUserData() and type cast it to your UserData type or Simple Data Model stuct.
.. _nextvalue:
.. c:function:: ReturnCode nextValue(mcsv1Context* context, std::vector<ColumnDatum>& valsIn);
:param context: The context object for this call
@ -128,6 +136,8 @@ Callback Methods
Since this is called for every row, it is important that this method be efficient.
.. _subevaluate:
.. c:function:: ReturnCode subEvaluate(mcsv1Context* context, const UserData* userDataIn);
:param context: The context object for this call
@ -142,6 +152,8 @@ Callback Methods
Each call to subEvaluate should aggregate the values from userDataIn into the context's UserData struct.
.. _evaluate:
.. c:function:: ReturnCode evaluate(mcsv1Context* context, static_any::any& valOut);
:param context: The context object for this call
@ -158,6 +170,8 @@ Callback Methods
Set your aggregated value into valOut. The type you set should be compatible with the type defined in the context's result type. The framework will do it's best to do any conversions if required.
.. _dropvalue:
.. c:function:: ReturnCode dropValue(mcsv1Context* context, std::vector<ColumnDatum>& valsDropped);
:param context: The context object for this call
@ -182,6 +196,8 @@ Callback Methods
Subtract the value from accumulator
decrement row count
.. _createuserdata:
.. c:function:: ReturnCode createUserData(UserData*& userdata, int32_t& length);
:param userData [out]: A pointer to be allocated by the function.