Compile() 공개 메소드

public Compile ( string query ) : ICompiledQuery
query string
리턴 ICompiledQuery
예제 #1
0
파일: CompilerTests.cs 프로젝트: hudl/qupid
        public void Select_CaseInsensitive_SameResult()
        {
            var compiler = new Compiler(new TestCollectionFinder());

            const string query1 = @"SELECT Foo.FooId
                                    FROM Foo
                                    WHERE Foo.FooId = 123";
            var result1 = compiler.Compile(query1).GetMongoQuery();
            const string query2 = @"select Foo.FooId
                                    from Foo
                                    where Foo.FooId = 123";
            var result2 = compiler.Compile(query2).GetMongoQuery();

            Assert.Equal(result1, result2);
        }
예제 #2
0
파일: CompilerTests.cs 프로젝트: hudl/qupid
        public void Select_WhereByDate_DoubleQuotes_Success()
        {
            const string query = @"SELECT Foo.FooId
                                    FROM Foo
                                    WHERE Foo.DateCreated > ""2013-04-11""";
            var compiler = new Compiler(new TestCollectionFinder());
            var compiledQuery = compiler.Compile(query);
            var cleanedStatement = Regex.Replace(compiledQuery.GetMongoQuery(), "\\s+", " ").Trim();

            Assert.False(compiledQuery.HasErrors());
            Assert.Equal("{ aggregate:'foo', pipeline: [ {$match: {'dc':{$gt:new Date(\"2013-04-11\")}}}, {$project:{ '_id':1 }}, ] }", cleanedStatement);
        }
예제 #3
0
파일: CompilerTests.cs 프로젝트: hudl/qupid
        public void SelectWithWhereGroupAndWithClauses_Success()
        {
            const string query = @"select Foo.Name, Foo.COUNT
                                  from Foo
                                  where Foo.FooId <> '521d67620e281a036092ea7e'
                                  group by Foo.Name";
            var compiler = new Compiler(new TestCollectionFinder());
            var compiledQuery = compiler.Compile(query);
            var cleanedStatement = Regex.Replace(compiledQuery.GetMongoQuery(), "\\s+", " ").Trim();

            Assert.False(compiledQuery.HasErrors());
            Assert.Equal("{ aggregate:'foo', pipeline: [ {$match: {'_id':{$ne:ObjectId('521d67620e281a036092ea7e')}}}, { $group: { _id:'$n', Foo_count: {$sum:1}} }, ] }", cleanedStatement);
        }