You've already forked mariadb-columnstore-engine
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:
@ -1,3 +1,5 @@
|
||||
.. _bytestream:
|
||||
|
||||
ByteStream
|
||||
==========
|
||||
|
||||
|
@ -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.
|
||||
|
Reference in New Issue
Block a user