public ParsedRequest(bool forCache)
        {
            Select = SelectStatementData.Create();
            BaseDataset = BaseDatasetData.Create();
            Modify = InsertUpdateDeleteStatementData.Create();
            BulkInput = BulkInputData.Create();
            Params = ParametersData.Create();
            SpecialCommand = SpecialCommandData.Create();

            Bulk = forCache ? null : new BufferedReaderStream(84980);
        }
        public ParsedRequest(bool forCache)
        {
            Select         = SelectStatementData.Create();
            BaseDataset    = BaseDatasetData.Create();
            Modify         = InsertUpdateDeleteStatementData.Create();
            BulkInput      = BulkInputData.Create();
            Params         = ParametersData.Create();
            SpecialCommand = SpecialCommandData.Create();

            Bulk = forCache ? null : new BufferedReaderStream(84980);
        }
            public void WriteTo(ref InsertUpdateDeleteStatementData dest)
            {
                dest.InsertUpdateSetClauses.Clear();
                foreach (var item in InsertUpdateSetClauses)
                {
                    dest.InsertUpdateSetClauses.Add(item);
                }

                dest.ModifiedFields.Clear();
                foreach (var item in ModifiedFields)
                {
                    dest.ModifiedFields.Add(item);
                }

                dest.UpdateAssignments.Clear();
                foreach (var item in UpdateAssignments)
                {
                    dest.UpdateAssignments.Add(item);
                }
            }
            public void WriteTo(ref InsertUpdateDeleteStatementData dest)
            {
                dest.InsertUpdateSetClauses.Clear();
                foreach (var item in InsertUpdateSetClauses)
                {
                    dest.InsertUpdateSetClauses.Add(item);
                }

                dest.ModifiedFields.Clear();
                foreach (var item in ModifiedFields)
                {
                    dest.ModifiedFields.Add(item);
                }

                dest.UpdateAssignments.Clear();
                foreach (var item in UpdateAssignments)
                {
                    dest.UpdateAssignments.Add(item);
                }
            }