/// <summary> /// This method executes the workflow for the session. /// </summary> public void Execute( ulong rowsNumber, void **data, int **strLenOrNullMap, ushort *outputSchemaColumnsNumber) { Logging.Trace("CSharpSession::Execute"); _inputDataSet.AddColumns(rowsNumber, data, strLenOrNullMap); _userDll.UserExecutor = _userDll.InstantiateUserExecutor(); if (_userDll.UserExecutor != null) { _outputDataSet.CSharpDataFrame = _userDll.UserExecutor.Execute(_inputDataSet.CSharpDataFrame, _paramContainer.UserParams); } if (_outputDataSet.CSharpDataFrame != null) { _outputDataSet.ColumnsNumber = (ushort)_outputDataSet.CSharpDataFrame.Columns.Count; _outputDataSet.ExtractColumns(_outputDataSet.CSharpDataFrame); *outputSchemaColumnsNumber = _outputDataSet.ColumnsNumber; } else { *outputSchemaColumnsNumber = 0; } }