public override IDataValue Evaluate(string expression, DataParams paramsValue)
        {
            NativeParam[] localParamsValue = NativeMarshal.DataParamsToNativeParams(ServerProcess, paramsValue);
            NativeResult  result           = _nativeCLISession.Execute(expression, localParamsValue);

            NativeMarshal.SetDataOutputParams(ServerProcess, paramsValue, result.Params);
            return(NativeMarshal.NativeValueToDataValue(ServerProcess, result.Value));
        }
        public override Schema.TableVar PrepareTableVar(Plan plan, string expression, DataParams paramsValue)
        {
            NativeParam[] localParamsValue = NativeMarshal.DataParamsToNativeParams(ServerProcess, paramsValue);
            NativeResult  result           = _nativeCLISession.Execute(expression, localParamsValue, NativeExecutionOptions.SchemaOnly);

            if (result.Value is NativeTableValue)
            {
                return(NativeMarshal.NativeTableToTableVar(plan, (NativeTableValue)result.Value));
            }
            throw new CompilerException(CompilerException.Codes.TableExpressionExpected);
        }
 public override void Execute(string statement, DataParams paramsValue)
 {
     NativeParam[] localParamsValue = NativeMarshal.DataParamsToNativeParams(ServerProcess, paramsValue);
     _nativeCLISession.Execute(statement, localParamsValue);
     NativeMarshal.SetDataOutputParams(ServerProcess, paramsValue, localParamsValue);
 }