Exemplo n.º 1
0
        public void Update_TypeCast()
        {
            var expression = CeqlUtils.GetPropertySelectionExpression <Customer>("CreationDate");
            var sql        = new UpdateStatement <Customer>(expression).Values("2019-01-01").Sql;

            Assert.IsTrue(sql == "UPDATE `CEQL_TEST`.`CUSTOMER` T0 SET T0.CREATION_DT = '2019-01-01'");
        }
Exemplo n.º 2
0
 public FromClause(FromClause parent, Expression <BooleanExpression <T1, T2, T3, T4> > join)
 {
     this.Parent = parent;
     JoinExpression.Add(new ExpressionAggregator()
     {
         Expression             = join,
         ExpressionBoundClauses = CeqlUtils.GetStatementList(this)
     });
 }
Exemplo n.º 3
0
 public WhereClause(FromClause <T1, T2, T3, T4> fromClause, Expression <BooleanExpression <T1, T2, T3, T4> > filter)
 {
     this.FromClause = fromClause;
     this.FilterExpression.Add(
         new ExpressionAggregator()
     {
         Expression             = filter,
         ExpressionBoundClauses = CeqlUtils.GetStatementList(fromClause)
     }
         );
 }
Exemplo n.º 4
0
 private void AddExpression(Expression <BooleanExpression <T> > filter, EBooleanOperator op)
 {
     this.FilterExpression.Add(
         new ExpressionAggregator()
     {
         Expression             = filter,
         Operator               = op,
         ExpressionBoundClauses = CeqlUtils.GetStatementList(this.FromClause)
     }
         );
 }
Exemplo n.º 5
0
        /// <summary>
        /// Performs cache entry lookup for cacheable queries only
        /// </summary>
        /// <param name="select"></param>
        /// <returns>IVirtualDataReader object</returns>
        public IVirtualDataReader GetReader(SelectStatement select)
        {
            //process reader
            if (!select.IsCacheable)
            {
                return(new VirtualDbReader(select));
            }

            //find cache entry
            var key = CeqlUtils.GetCacheKey(select.Sql);

            //no key found
            if (!_cacheMap.ContainsKey(key))
            {
                lock (_cacheLck)
                {
                    if (!_cacheMap.ContainsKey(key))
                    {
                        var newEntry = new DataSourceCacheEntry()
                        {
                            Key = key
                        };
                        _cacheMap.Add(key, newEntry);
                        return(new VirtualDbCacheableReader(newEntry, select));
                    }
                }
            }

            //return cached data reader
            var entry = _cacheMap[key];

            if (entry.State == ECacheState.Ready)
            {
                return(entry.Store.DataReader);
            }

            //return default reader
            return(new VirtualDbReader(select));
        }