/// <summary>
        /// This method queries items in the cache on which index was defined using NCache Manager.
        /// </summary>
        private static void QueryItemsUsingDefinedIndex()
        {
            //  Query can only be applied to C# Primitive data types:
            //  and for those non primitive data types whose indexes are defined in NCache manager

            string query = "SELECT $Value$ FROM Alachisoft.NCache.Sample.Data.Product WHERE UnitPrice > ?";


            QueryCommand queryCommand = new QueryCommand(query);

            queryCommand.Parameters.Add("UnitPrice", Convert.ToDecimal(100));
            ICacheReader reader = _cache.SearchService.ExecuteReader(queryCommand);

            int counter = 0;

            if (reader.FieldCount > 0)
            {
                while (reader.Read())
                {
                    var product = reader.GetValue <Product>(1);
                    PrintProductDetails(product);
                    counter++;
                }
            }

            Console.WriteLine("{0} cache items fetched from cache using query on unit price.\n", counter);
        }
Exemple #2
0
        protected NCacheOqlEnumerator(ICacheReader cacheReader)
        {
            Logger.Log(
                "Running " + GetType().Name + " enumerator.",
                Microsoft.Extensions.Logging.LogLevel.Debug
                );

            reader = cacheReader;
        }
Exemple #3
0
        public void Initialize()
        {
            header = GetHeader();

            cacheWriter = SharedCacheFactory.Instance.CacheWriter;
            cacheWriter.RegisterHeader(header);

            cacheReader = SharedCacheFactory.Instance.CacheReader;
            cacheReader.RegisterHeader(header);
        }
Exemple #4
0
        internal NCacheOqlEnumerable(EnumerableType type, ICacheReader cacheReader)
        {
            switch (type)
            {
            case EnumerableType.Normal:
                enumeratorWrapper = new NCacheOqlEnumeratorNormal <T>(cacheReader);
                break;

            case EnumerableType.Deferred:
                enumeratorWrapper = new NCacheOqlEnumeratorDeferred <T>(cacheReader);
                break;
            }
        }
        /// <summary>
        /// This method fetches items from the cache using named tags.
        /// </summary>
        private static void GetItems()
        {
            string query = "SELECT Alachisoft.NCache.Sample.Data.Order WHERE this.Category = ? AND this.ProductName = ?";

            Hashtable values = new Hashtable();

            values["Category"]    = "Beverages";
            values["ProductName"] = "Coke";

            ICacheReader result = _cache.ExecuteReader(query, values);

            if (!result.IsClosed)
            {
                while (result.Read())
                {
                    Console.WriteLine(result[0].ToString());
                }
            }
        }
        /// <summary>
        /// This method queries cached data
        /// </summary>
        /// <param name="customer"> Instance of registered continuous query to query cached items</param>
        private static void QueryDataInCache(ContinuousQuery continuousQuery)
        {
            // Getting key-value pair via query
            // Much faster way ... avoids round trip to cache
            ICacheReader cacheReader = _cache.ExecuteReaderCQ(continuousQuery, true);

            if (!cacheReader.IsClosed)
            {
                // Print output on console
                Console.WriteLine("\nFollowing items are fetched with Continuous Query.");

                while (cacheReader.Read())
                {
                    var      asd           = cacheReader[0];
                    Customer customerFound = (Customer)cacheReader[1];
                    PrintCustomerDetails(customerFound);
                }
            }
        }
        /// <summary>
        /// This method fetches items from the cache using named tags.
        /// </summary>
        private static void GetItems()
        {
            string query = "SELECT Alachisoft.NCache.Sample.Data.Order WHERE this.Category = ? AND this.ProductName = ?";

            QueryCommand itemQuery = new QueryCommand(query);

            itemQuery.Parameters.Add("Category", "Beverages");
            itemQuery.Parameters.Add("ProductName", "Coke");

            ICacheReader result = _cache.SearchService.ExecuteReader(itemQuery, true);

            if (!result.IsClosed)
            {
                while (result.Read())
                {
                    Console.WriteLine(result.GetString(0));
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// This method queries cached data
        /// </summary>
        /// <param name="customer"> Instance of registered continuous query to query cached items</param>
        private static void QueryDataInCache(QueryCommand queryCommand)
        {
            // Getting keyvalue pair via query
            // Much faster way ... avoids round trip to cache
            //ICacheReader cacheReader = _cache.ExecuteReaderCQ(continuousQuery, true);
            ICacheReader cacheReader = _cache.SearchService.ExecuteReader(queryCommand, true);

            if (!cacheReader.IsClosed)
            {
                // Print output on console
                Console.WriteLine("\nFollowing items are fetched with Continuous Query.");

                while (cacheReader.Read())
                {
                    var      asd           = cacheReader.GetValue <object>(0);
                    Customer customerFound = cacheReader.GetValue <Customer>(1);
                    PrintCustomerDetails(customerFound);
                }
            }
        }
        /// <summary>
        /// This method queries Items from NCache using named tags.
        /// </summary>
        private static void QueryItemsUsingNamedTags()
        {
            // Defining Searching criteria
            Hashtable criteria = new Hashtable();

            criteria["Employee"] = "DavidBrown";

            string query = "SELECT System.String WHERE this.Employee = ?";

            ICacheReader result = _cache.ExecuteReader(query, criteria);

            if (!result.IsClosed)
            {
                while (result.Read())
                {
                    Console.WriteLine(result[0].ToString());
                }
            }

            Console.WriteLine();
        }
        /// <summary>
        /// This method queries items from the cache using both named tags and pre-defined index.
        /// </summary>
        private static void QueryItemsUsingNamedTagsAndIndex()
        {
            string query = "SELECT Alachisoft.NCache.Sample.Data.Product Where this.ProductName = ?";

            var criteria = new Hashtable();

            criteria["ProductName"] = "HTCPhone";

            ICacheReader result = _cache.ExecuteReader(query, criteria);

            if (!result.IsClosed)
            {
                while (result.Read())
                {
                    Product productFound = (Product)result[1];
                    PrintProductDetails(productFound);
                }
            }

            Console.WriteLine();
        }
        /// <summary>
        /// This method queries cached keys
        /// </summary>
        /// <param name="customer"> Instance of registered continuous query to query cached items</param>
        private static void QueryKeysInCache(ContinuousQuery continuousQuery)
        {
            // Getting keys via query
            ICacheReader cacheReader = _cache.ExecuteReaderCQ(continuousQuery, false);

            if (!cacheReader.IsClosed)
            {
                // Print output on console
                Console.WriteLine("\nFollowing keys are fetched with Continuous Query.");

                while (cacheReader.Read())
                {
                    string key = (string)cacheReader[0];

                    Console.WriteLine("Key: " + key);

                    // A second call to cache to fetch the customer
                    //Customer cachedCustomer = (Customer)_cache.Get(key);
                }
            }
        }
Exemple #12
0
        /// <summary>
        /// This method queries cached keys
        /// </summary>
        /// <param name="customer"> Instance of Query Command to query cached items</param>
        private static void QueryKeysInCache(QueryCommand queryCommand)
        {
            // Getting keys via query
            //ICacheReader cacheReader = _cache.ExecuteReaderCQ(continuousQuery, false);
            ICacheReader cacheReader = _cache.SearchService.ExecuteReader(queryCommand, false);

            if (!cacheReader.IsClosed)
            {
                // Print output on console
                Console.WriteLine("\nFollowing keys are fetched with Continuous Query.");

                while (cacheReader.Read())
                {
                    string key = cacheReader.GetValue <string>(0);

                    Console.WriteLine("Key: " + key);

                    // A second call to cache to fetch the customer
                    //Customer cachedCustomer = (Customer)_cache.Get(key);
                }
            }
        }
        /// <summary>
        /// This method queries Items from NCache using named tags.
        /// </summary>
        private static void QueryItemsUsingNamedTags()
        {
            string       query        = "SELECT $Value$ FROM Alachisoft.NCache.Sample.Data.Product WHERE Supplier = ?";
            QueryCommand queryCommand = new QueryCommand(query);

            // Defining Searching criteria
            queryCommand.Parameters.Add("Supplier", "Tokyo Traders");
            ICacheReader reader = _cache.SearchService.ExecuteReader(queryCommand);

            int counter = 0;

            if (reader.FieldCount > 0)
            {
                while (reader.Read())
                {
                    var product = reader.GetValue <Product>(1);
                    PrintProductDetails(product);
                    counter++;
                }
            }

            Console.WriteLine("{0} cache items fetched from cache using query on named tags.\n", counter);
        }
        /// <summary>
        /// This method queries items in the cache on which index was defined using NCache Manager.
        /// </summary>
        private static void QueryItemsUsingPreDefinedIndex()
        {
            //  Query can only be applied to C# Primitive data types:
            //  and for those non primitive data types whose indexes are defined in NCache manager

            string query    = "SELECT Alachisoft.NCache.Sample.Data.Product Where this.Id = ?";
            var    criteria = new Hashtable();

            criteria["Id"] = 1;

            ICacheReader result = _cache.ExecuteReader(query, criteria);

            if (!result.IsClosed)
            {
                while (result.Read())
                {
                    Product productFound = (Product)result[1];
                    PrintProductDetails(productFound);
                }
            }

            Console.WriteLine();
        }
        /// <summary>
        /// This method queries items from the cache using projection attributes.
        /// </summary>
        private static void QueryItemsUsingProjection()
        {
            string query = "SELECT Name, Supplier FROM Alachisoft.NCache.Sample.Data.Product WHERE UnitPrice > ?";

            QueryCommand queryCommand = new QueryCommand(query);

            queryCommand.Parameters.Add("UnitPrice", Convert.ToDecimal(100));
            ICacheReader reader = _cache.SearchService.ExecuteReader(queryCommand);

            int counter = 0;

            if (reader.FieldCount > 0)
            {
                while (reader.Read())
                {
                    Console.WriteLine("Name:      " + reader.GetValue <string>("Name"));
                    Console.WriteLine("Supplier:  " + reader.GetValue <string>("Supplier"));
                    Console.WriteLine();
                    counter++;
                }
            }

            Console.WriteLine("{0} cache items fetched from cache using projection query on unit price.\n", counter);
        }
Exemple #16
0
 internal NCacheOqlEnumeratorNormal(ICacheReader cacheReader) : base(cacheReader)
 {
 }
Exemple #17
0
 public TypeResolver(ICacheReader cache)
 {
     _cache = cache;
 }
Exemple #18
0
 public TypeResolver(ICacheReader cache)
 {
     _cache = cache;
 }
Exemple #19
0
 public SequenceKeyedCaching(CacheHeaderInfo header, ICacheWriter cacheWriter, ICacheReader cacheReader)
 {
     this.header      = header;
     this.cacheWriter = cacheWriter;
     this.cacheReader = cacheReader;
 }
Exemple #20
0
 internal NCacheOqlEnumeratorDeferred(ICacheReader cacheReader) : base(cacheReader)
 {
     key          = 0;
     genericTypes = typeof(TSource2).GetGenericArguments();
 }