Esempio n. 1
0
 public void VisitSubPartition(SubPartitionModel item)
 {
     if (this._filter(item))
     {
         _items.Add(item);
     }
 }
Esempio n. 2
0
 public void VisitSubPartition(SubPartitionModel item)
 {
 }
        public override List <SubPartitionsDto> Resolve(DbContextOracle context, Action <SubPartitionsDto> action)
        {
            List <SubPartitionsDto> List = new List <SubPartitionsDto>();
            var db = context.Database;

            this.OracleContext = context;

            if (action == null)
            {
                action =
                    t =>
                {
                    var partition = db.Partitions[t.PartitionName];

                    if (partition != null)
                    {
                        if (partition.SubPartitions.Contains(t.SubpartitionName))
                        {
                            var sub = new SubPartitionModel()
                            {
                                Name                 = t.SubpartitionName,
                                HighValue            = t.HighValue,
                                HighValueLength      = t.HighValueLength,
                                SubpartitionPosition = t.SubpartitionPosition,
                                MaxSize              = t.MaxSize,
                                Compression          = t.Compression,
                                CompressFor          = t.CompressFor,
                                NumRows              = t.NumRows,
                                Blocks               = t.Blocks,
                                EmptyBlocks          = t.EmptyBlocks,
                                //AvgSpace = t.AvgSpace,
                                ChainCnt = t.ChainCnt,
                                //AvgRowLen = t.AvgRowLen,
                                //SampleSize = t.SampleSize,
                                //LastAnalyzed = t.LastAnalyzed,
                                BufferPool     = t.BufferPool,
                                FlashCache     = t.FlashCache,
                                CellFlashCache = t.CellFlashCache,
                                GlobalStats    = t.GlobalStats.ToBoolean(),
                                UserStats      = t.UserStats.ToBoolean(),
                                Interval       = t.Interval.ToBoolean(),
                                SegmentCreated = t.SegmentCreated.ToBoolean(),
                            };

                            sub.PhysicalAttributes.Logging        = t.Logging;
                            sub.PhysicalAttributes.PctIncrease    = t.PctIncrease;
                            sub.PhysicalAttributes.Freelists      = t.Freelists;
                            sub.PhysicalAttributes.FreelistGroups = t.FreelistGroups;
                            sub.PhysicalAttributes.PctFree        = t.PctFree;
                            sub.PhysicalAttributes.PctUsed        = t.PctUsed;
                            sub.PhysicalAttributes.IniTrans       = t.IniTrans;
                            sub.PhysicalAttributes.MaxTrans       = t.MaxTrans;
                            sub.PhysicalAttributes.InitialExtent  = t.InitialExtent;
                            sub.PhysicalAttributes.NextExtent     = t.NextExtent;
                            sub.PhysicalAttributes.MinExtent      = t.MinExtent;
                            sub.PhysicalAttributes.MaxExtent      = t.MaxExtent;

                            sub.PhysicalAttributes.Tablespace.Name = t.TablespaceName;

                            partition.SubPartitions.Add(sub);
                        }
                    }
                }
            }
            ;

            SubPartitionsQueryDescriptor SubPartitions = new SubPartitionsQueryDescriptor(context.Manager.ConnectionString);

            sql = string.Format(sql, TableQueryWhereCondition("l", "TABLE_OWNER"));

            using (var reader = context.Manager.ExecuteReader(CommandType.Text, sql, QueryBase.DbParams.ToArray()))
            {
                List = SubPartitions.ReadAll(reader, action).ToList();
            }

            return(List);
        }
    }