private static PB.ReturnContent EncodeReturnContent(DataModel.ReturnType returnType, List <string> returnColumnNames)
        {
            PB.ReturnContent.Builder builder = PB.ReturnContent.CreateBuilder();
            builder.SetReturnType(ToPBReturnType(returnType));

            if (returnColumnNames != null)
            {
                foreach (var item in returnColumnNames)
                {
                    builder.AddReturnColumnNames(item);
                }
            }

            return(builder.Build());
        }
        private static PB.ReturnType ToPBReturnType(DataModel.ReturnType returnType)
        {
            switch (returnType)
            {
            case DataModel.ReturnType.RT_NONE:
                return(PB.ReturnType.RT_NONE);

            case DataModel.ReturnType.RT_PK:
                return(PB.ReturnType.RT_PK);

            case DataModel.ReturnType.RT_AFTER_MODIFY:
                return(PB.ReturnType.RT_AFTER_MODIFY);

            default:
                throw new ArgumentException("Invalid return type: " + returnType);
            }
        }