Exemplo n.º 1
0
        public static IList <StormResult> ToResults(StormDataSet data,
                                                    SchemaNavigator navigator,
                                                    List <Origin> requests,
                                                    OriginTree fromTree)
        {
            var root        = navigator.GetEntity(data.root);
            var ranges      = data.ObjectRanges;
            var primaryKeys = data.IdentityIndexes;
            var items       = new Dictionary <EntityPath, Dictionary <object, StormResult> >();
            var results     = new List <StormResult>();

            for (int i = 0; i < data.Count(); i++)
            {
                var ctx = new RecCtx()
                {
                    Data        = data,
                    Index       = i,
                    PrimaryKeys = primaryKeys,
                    Ranges      = ranges,
                    Root        = root
                };

                var(pk, r) = CreateResult(fromTree.root, ctx);

                if (!results.Any(x => x.PrimaryKey == pk))
                {
                    results.Add(r);
                }

                r = results.First(x => x.PrimaryKey == pk);
                CreateResultRelations(ctx, requests.Where(x => x.FullPath != fromTree.root.FullPath).ToList(), r);
            }

            return(results);
        }
Exemplo n.º 2
0
        internal DeleteCommand(SchemaNavigator navigator, String from) : base(navigator, from)
        {
            this.from = new OriginTree()
            {
                navigator = navigator,
                root      = new Origin()
                {
                    Alias    = "",
                    FullPath = new EntityPath(from, ""),
                    Edge     = null,
                    Entity   = navigator.GetEntity(from),
                    children = new List <Origin>()
                }
            };

            ((BaseCommand)this).CommandLog(LogLevel.Info, "DeleteCommand", $"{{\"Action\":\"Delete\", \"Entity\":\"{from}\"}}");
        }
Exemplo n.º 3
0
 public SQLFromParser(OriginTree fromTree, SchemaNavigator schemaNavigator, Query query) : base(schemaNavigator, query)
 {
     this.fromTree = fromTree;
 }
Exemplo n.º 4
0
 public SQLWhereParser(OriginTree fromTree, Filter filter, SchemaNavigator schemaNavigator, Query query) : base(schemaNavigator, query)
 {
     this.fromTree = fromTree;
     this.filter   = filter;
 }
Exemplo n.º 5
0
 public SQLJoinParser(Origin sourceNode, Origin targetNode, OriginTree fromTree, Filter join, SchemaNavigator schemaNavigator, Query query) : base(fromTree, join, schemaNavigator, query)
 {
     this.sourceNode = sourceNode;
     this.targetNode = targetNode;
 }