public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.Run(Query.DbCreate("test"));
     connection.Run(Query.Db("test").TableCreate("table"));
     testTable = Query.Db("test").Table <TestObjectWithDictionary>("table");
 }
 public IndexCreateQuery(ITableQuery <TTable> tableTerm, string indexName, Expression <Func <TTable, TIndexExpression> > indexExpression, bool multiIndex)
 {
     this.tableTerm       = tableTerm;
     this.indexName       = indexName;
     this.indexExpression = indexExpression;
     this.multiIndex      = multiIndex;
 }
Example #3
0
 public static MinAggregateIndexQuery <TRecord, TIndexType> Min <TRecord, TIndexType>(
     this ITableQuery <TRecord> tableQuery,
     string indexName
     )
 {
     return(new MinAggregateIndexQuery <TRecord, TIndexType>(tableQuery, indexName));
 }
Example #4
0
 public static MaxAggregateIndexQuery <TRecord, TIndexType> Max <TRecord, TIndexType>(
     this ITableQuery <TRecord> tableQuery,
     IIndex <TRecord, TIndexType> index
     )
 {
     return(new MaxAggregateIndexQuery <TRecord, TIndexType>(tableQuery, index.Name));
 }
Example #5
0
        internal QueryTranslator(ITableQuery <T> query)
        {
            Arguments.IsNotNull(query, nameof(query));

            Query            = query;
            QueryDescription = new(Query.RemoteTable.TableName) { IncludeTotalCount = query.RequestTotalCount };
        }
Example #6
0
 public static GroupByIndexQuery <TRecord, TIndexType> Group <TRecord, TIndexType>(
     // Can only use indexName on Group on a TABLE, not any arbitrary sequence
     this ITableQuery <TRecord> table,
     string indexName
     )
 {
     return(new GroupByIndexQuery <TRecord, TIndexType>(table, indexName));
 }
Example #7
0
 public static GroupByIndexQuery <TRecord, TIndexType> Group <TRecord, TIndexType>(
     // Can only use indexName on Group on a TABLE, not any arbitrary sequence
     this ITableQuery <TRecord> table,
     IIndex <TRecord, TIndexType> index
     )
 {
     return(table.Group <TRecord, TIndexType>(index.Name));
 }
Example #8
0
 public virtual void SetUp()
 {
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable = Query.Db("test").Table<TestObject>("table");
     testTable2 = Query.Db("test").Table<TestObject2>("table");
     testTable3 = Query.Db("test").Table<TestObject3>("table");
 }
Example #9
0
 public virtual void SetUp()
 {
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable  = Query.Db("test").Table <TestObject>("table");
     testTable2 = Query.Db("test").Table <TestObject2>("table");
     testTable3 = Query.Db("test").Table <TestObject3>("table");
 }
Example #10
0
 public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable = Query.Db("test").Table<TestObject>("table");
     connection.Run(testTable.IndexCreate("index1", o => o.Name));
 }
Example #11
0
 public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable = Query.Db("test").Table <TestObject>("table");
     connection.Run(testTable.IndexCreate("index1", o => o.Name));
 }
 public UserRepository(string clusterName, string dbName, string tableName)
 {
     if (!string.IsNullOrEmpty(clusterName) && !string.IsNullOrEmpty(dbName) && !string.IsNullOrEmpty(tableName))
     {
         _connectionFactory = ConfigurationAssembler.CreateConnectionFactory(clusterName);
         _db = Query.Db(dbName);
         _table = _db.Table<User>(tableName);
     }
 }
Example #13
0
 public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable = Query.Db("test").Table <TestObject>("table");
     connection.Run(testTable.IndexCreate("index1", o => o.Name));
     connection.Run(testTable.IndexWait("index1")).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed
 }
 public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.RunAsync(Query.DbCreate("test")).Wait();
     connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
     testTable = Query.Db("test").Table<TestObject>("table");
     nameIndex = testTable.IndexDefine("index1", o => o.Name);
     connection.Run(nameIndex.IndexCreate());
     connection.Run(nameIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed
 }
Example #15
0
        /// <summary>
        ///     Executes a query on a table.
        /// </summary>
        /// <param name="tableQuery">
        ///     A <see cref="ITableQuery" /> representing the query to execute.
        /// </param>
        /// <returns>
        ///     An enumerable collection of <see cref="T:Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity" /> objects, representing table entities returned by the query.
        /// </returns>
        public IEnumerable <DynamicTableEntity> ExecuteQuery(ITableQuery tableQuery)
        {
            var query = new TableQuery
            {
                FilterString  = tableQuery.FilterString,
                SelectColumns = tableQuery.SelectColumns,
                TakeCount     = tableQuery.TakeCount
            };

            return(_cloudTable.ExecuteQuery(query));
        }
Example #16
0
        /// <summary>
        ///     Executes a query on a table asynchronously.
        /// </summary>
        /// <param name="tableQuery">Table query.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        /// <returns>
        ///     An enumerable collection of <see cref="T:Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity" /> objects, representing table entities returned by the query.
        /// </returns>
        public Task <IEnumerable <DynamicTableEntity> > ExecuteQueryAsync(ITableQuery tableQuery, CancellationToken cancellationToken)
        {
            var query = new TableQuery
            {
                FilterString  = tableQuery.FilterString,
                SelectColumns = tableQuery.SelectColumns,
                TakeCount     = tableQuery.TakeCount
            };

            return(_cloudTable.ExecuteQueryAsync(query, cancellationToken));
        }
        /// <summary>
        ///     Executes a query on a table asynchronously.
        /// </summary>
        /// <param name="tableQuery">Table query.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        /// <returns>
        ///     An enumerable collection of <see cref="T:Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity" /> objects, representing table entities returned by the query.
        /// </returns>
        public Task<IEnumerable<DynamicTableEntity>> ExecuteQueryAsync(ITableQuery tableQuery, CancellationToken cancellationToken)
        {
            var query = new TableQuery
                {
                    FilterString = tableQuery.FilterString,
                    SelectColumns = tableQuery.SelectColumns,
                    TakeCount = tableQuery.TakeCount
                };

            return _cloudTable.ExecuteQueryAsync(query, cancellationToken);
        }
        /// <summary>
        ///     Executes a query on a table.
        /// </summary>
        /// <param name="tableQuery">
        ///     A <see cref="ITableQuery" /> representing the query to execute.
        /// </param>
        /// <returns>
        ///     An enumerable collection of <see cref="T:Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity" /> objects, representing table entities returned by the query.
        /// </returns>
        public IEnumerable<DynamicTableEntity> ExecuteQuery(ITableQuery tableQuery)
        {
            var query = new TableQuery
                {
                    FilterString = tableQuery.FilterString,
                    SelectColumns = tableQuery.SelectColumns,
                    TakeCount = tableQuery.TakeCount
                };

            return _cloudTable.ExecuteQuery(query);
        }
Example #19
0
        /// <summary>
        /// Gets the next page of items from the list.  If the <c>nextLink</c> is set, use that for
        /// the query; otherwise use the <c>query</c>
        /// </summary>
        /// <param name="query">The initial query.</param>
        /// <param name="nextLink">The next link.</param>
        /// <param name="cancellationToken">A <see cref="CancellationToken"/> to observe.</param>
        /// <returns>A task that returns a page of items when complete.</returns>
        private async Task <Page <U> > GetNextPageAsync <U>(ITableQuery <U> query, string nextLink, CancellationToken cancellationToken = default)
        {
            var page = await base.GetNextPageAsync(((TableQuery <U>)query).ToODataString(true), nextLink, cancellationToken).ConfigureAwait(false);

            return(new Page <U>
            {
                Count = page.Count,
                Items = page.Items.Select(m => Serializer.Deserialize <U>(m)).ToArray(),
                NextLink = page.NextLink
            });
        }
Example #20
0
 public virtual void SetUp()
 {
     testTable = Query.Db("test").Table <TestObject>("table");
     connection.RunAsync(testTable.Insert(new TestObject[] {
         new TestObject()
         {
             Name = "1", SomeNumber = 1
         },
         new TestObject()
         {
             Name = "1", SomeNumber = 1
         },
         new TestObject()
         {
             Name = "2", SomeNumber = 2
         },
         new TestObject()
         {
             Name = "2", SomeNumber = 200
         },
         new TestObject()
         {
             Name = "2", SomeNumber = 2
         },
         new TestObject()
         {
             Name = "3", SomeNumber = 3
         },
         new TestObject()
         {
             Name = "3", SomeNumber = 3
         },
         new TestObject()
         {
             Name = "4", SomeNumber = 4
         },
         new TestObject()
         {
             Name = "5", SomeNumber = 5
         },
         new TestObject()
         {
             Name = "6", SomeNumber = 6
         },
         new TestObject()
         {
             Name = "6", SomeNumber = 6
         },
         new TestObject()
         {
             Name = "7", SomeNumber = 7
         },
     })).Wait();
 }
Example #21
0
        /// <summary>
        ///		Executes the current <paramref name="query"/>
        ///		and enumerates it to a list.
        /// </summary>
        /// <remarks>
        ///		Warning. This method could cause serious performance
        ///		implications and should only be used for limited sets of data.
        /// </remarks>
        public static ICollection <T> WithChildren <T>(this ITableQuery <T> query, params string[] relationshipPropertyNames) where T : new()
        {
            List <T> results = query.ToList();

            // ReSharper disable once CompareNonConstrainedGenericWithNull
            if (results.Count == 0)
            {
                return(results);
            }

            query.Connection.SetChildren(results);

            return(results);
        }
Example #22
0
        /// <summary>Initializes a new instance of the <see cref="TableQueryAsync{T}" /> class.</summary>
        /// <param name="innerQuery">The inner query.</param>
        /// <param name="db">Database instance.</param>
        /// <param name="taskScheduler">
        ///   If null this parameter will be TaskScheduler.Default (evaluated
        ///   when used in each method, not in ctor)
        /// </param>
        /// <param name="taskCreationOptions">Defaults to DenyChildAttach</param>
        /// <exception cref="System.ArgumentNullException">innerQuery is NULL.</exception>
        public TableQueryAsync(
            ITableQuery <T> innerQuery, IDatabase db, TaskScheduler taskScheduler = null,
            TaskCreationOptions taskCreationOptions = TaskCreationOptions.None)
        {
            if (innerQuery == null)
            {
                throw new ArgumentNullException("innerQuery");
            }

            _innerQuery          = innerQuery;
            _db                  = db;
            _taskScheduler       = taskScheduler;
            _taskCreationOptions = taskCreationOptions;
        }
        private void ValidateQuery <T>(IQueryable <T> query)
        {
            ITableQuery tableQuery = query as ITableQuery;

            if (tableQuery == null)
            {
                throw new ArgumentException("Query is not an NMemory query.", "query");
            }

            if (tableQuery.Database != this.Database)
            {
                throw new ArgumentException("Query does not belong to this database.", "query");
            }
        }
Example #24
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();

            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
            testTable = Query.Db("test").Table<TestObject>("table");

            // Insert more than 1000 objects to test the enumerable loading additional chunks of the sequence
            var objectList = new List<TestObject>();
            for (int i = 0; i < 1005; i++)
                objectList.Add(new TestObject() { Name = "Object #" + i });
            connection.RunAsync(testTable.Insert(objectList)).Wait();
        }
        /// <summary>
        /// Construct a sink posting to the specified database.
        /// </summary>
        /// <param name="connectionFactory">The connection factory for connecting to RethinkDB.</param>
        /// <param name="batchSizeLimit">The maximum number of events to post in a single batch.</param>
        /// <param name="period">The time to wait between checking for event batches.</param>
        /// <param name="databaseName">Name of the RethinkDB database to use for the log.</param>
        /// <param name="tableName">Name of the RethinkDB collection to use for the log. Default is "log".</param>
        public RethinkDBSink(IConnectionFactory connectionFactory, string databaseName, string tableName, int batchSizeLimit, TimeSpan period)
            : base(batchSizeLimit, period)
        {
            if (connectionFactory == null)
            {
                throw new ArgumentNullException("connectionFactory");
            }

            _connectionFactory = connectionFactory;

            _db    = Query.Db(databaseName);
            _table = _db.Table <RethinkDBLogEvent>(tableName);

            EnsureDbCreated(databaseName, tableName);
        }
Example #26
0
 ITableQuery <TResult> ITableQuery <T> .Join <TInner, TKey, TResult>(
     ITableQuery <TInner> inner, Expression <Func <T, TKey> > outerKeySelector,
     Expression <Func <TInner, TKey> > innerKeySelector,
     Expression <Func <T, TInner, TResult> > resultSelector)
 {
     return(new TableQueryBridge <TResult>(
                _sqlitePlatform, Connection, Connection.GetMapping(typeof(TResult)))
     {
         _joinOuter = this,
         _joinOuterKeySelector = outerKeySelector,
         _joinInner = inner as TableQueryBridge <TInner>,
         _joinInnerKeySelector = innerKeySelector,
         _joinSelector = resultSelector
     });
 }
Example #27
0
        /// <summary>
        /// Runs a query on all routines.
        /// </summary>
        public void RunQueryAll(ITableQuery inQuery, ITableOperation inOperation)
        {
            int totalLeft   = m_ActiveCount;
            int currentNode = m_ActiveHead;

            while (currentNode != -1 && totalLeft-- > 0)
            {
                Entry e = m_Entries[currentNode];
                currentNode = e.NextIndex;
                if (inQuery.Validate(e.Fiber))
                {
                    inOperation.Execute(e.Fiber);
                }
            }
        }
Example #28
0
        /// <summary>
        /// Runs a query and returns the first routine to pass.
        /// </summary>
        public Routine RunQueryFirst(ITableQuery inQuery, ITableOperation inOperation)
        {
            int totalLeft   = m_ActiveCount;
            int currentNode = m_ActiveHead;

            while (currentNode != -1 && totalLeft-- > 0)
            {
                Entry e = m_Entries[currentNode];
                currentNode = e.NextIndex;
                if (inQuery.Validate(e.Fiber))
                {
                    inOperation.Execute(e.Fiber);
                    return(e.Fiber.GetHandle());
                }
            }
            return(Routine.Null);
        }
Example #29
0
        /// <summary>
        /// Gets all the items from the list of items returned.
        /// </summary>
        /// <returns></returns>
        private async Task <List <ClientMovie> > GetAllItems(ITableQuery <ClientMovie> query = null, IOfflineTable <ClientMovie> table = null, long?nItems = null)
        {
            table ??= base.table;
            query ??= table.CreateQuery();
            List <ClientMovie> items = new();
            var pageable             = table.GetAsyncItems(query) as AsyncPageable <ClientMovie>;

            await foreach (var item in pageable)
            {
                if (nItems != null)
                {
                    Assert.Equal(nItems !, pageable.Count);
                }
                items.Add(item);
            }
            return(items);
        }
Example #30
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table1")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table2")).Wait();

            testTable        = Query.Db("test").Table <TestObject>("table1");
            anotherTestTable = Query.Db("test").Table <AnotherTestObject>("table2");

            firstNameIndex = anotherTestTable.IndexDefine("index1", o => o.FirstName);
            connection.Run(firstNameIndex.IndexCreate());
            connection.Run(firstNameIndex.IndexWait());

            tagsIndex = testTable.IndexDefineMulti("indexTags", o => o.Tags);
            connection.Run(tagsIndex.IndexCreate());
            connection.Run(tagsIndex.IndexWait());
        }
Example #31
0
 public virtual void SetUp()
 {
     testTable = Query.Db("test").Table<TestObject>("table");
     connection.RunAsync(testTable.Insert(new TestObject[] {
         new TestObject() { Name = "1", SomeNumber = 1 },
         new TestObject() { Name = "1", SomeNumber = 1 },
         new TestObject() { Name = "2", SomeNumber = 2 },
         new TestObject() { Name = "2", SomeNumber = 200 },
         new TestObject() { Name = "2", SomeNumber = 2 },
         new TestObject() { Name = "3", SomeNumber = 3 },
         new TestObject() { Name = "3", SomeNumber = 3 },
         new TestObject() { Name = "4", SomeNumber = 4 },
         new TestObject() { Name = "5", SomeNumber = 5 },
         new TestObject() { Name = "6", SomeNumber = 6 },
         new TestObject() { Name = "6", SomeNumber = 6 },
         new TestObject() { Name = "7", SomeNumber = 7 },
     })).Wait();
 }
Example #32
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table1")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table2")).Wait();

            testTable = Query.Db("test").Table<TestObject>("table1");
            anotherTestTable = Query.Db("test").Table<AnotherTestObject>("table2");

            firstNameIndex = anotherTestTable.IndexDefine("index1", o => o.FirstName);
            connection.Run(firstNameIndex.IndexCreate());
            connection.Run(firstNameIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed

            tagsIndex = testTable.IndexDefineMulti("indexTags", o => o.Tags);
            connection.Run(tagsIndex.IndexCreate());
            connection.Run(tagsIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed
        }
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table1")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table2")).Wait();

            testTable        = Query.Db("test").Table <TestObject>("table1");
            anotherTestTable = Query.Db("test").Table <AnotherTestObject>("table2");

            firstNameIndex = anotherTestTable.IndexDefine("index1", o => o.FirstName);
            connection.Run(firstNameIndex.IndexCreate());
            connection.Run(firstNameIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed

            tagsIndex = testTable.IndexDefineMulti("indexTags", o => o.Tags);
            connection.Run(tagsIndex.IndexCreate());
            connection.Run(tagsIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed
        }
Example #34
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table1")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table2")).Wait();

            testTable = Query.Db("test").Table<TestObject>("table1");
            anotherTestTable = Query.Db("test").Table<AnotherTestObject>("table2");

            firstNameIndex = anotherTestTable.IndexDefine("index1", o => o.FirstName);
            connection.Run(firstNameIndex.IndexCreate());
            connection.Run(firstNameIndex.IndexWait());

            tagsIndex = testTable.IndexDefineMulti("indexTags", o => o.Tags);
            connection.Run(tagsIndex.IndexCreate());
            connection.Run(tagsIndex.IndexWait());
        }
Example #35
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();

            connection.RunAsync(Query.DbCreate("test")).Wait();
            connection.RunAsync(Query.Db("test").TableCreate("table")).Wait();
            testTable = Query.Db("test").Table <TestObject>("table");

            // Insert more than 1000 objects to test the enumerable loading additional chunks of the sequence
            var objectList = new List <TestObject>();

            for (int i = 0; i < 1005; i++)
            {
                objectList.Add(new TestObject()
                {
                    Name = "Object #" + i
                });
            }
            connection.RunAsync(testTable.Insert(objectList)).Wait();
        }
Example #36
0
        public TableView(ITableQuery query, string name, IEnumerable<IColumn> columns, int throttleTime, IConstituentRowRepository currentRows)
        {
            #region Guards
            if (query == null) throw new ArgumentNullException("query", "query cannot be null");
            if (string.IsNullOrEmpty(name)) throw new ArgumentNullException("name", "name cannot be null or empty");
            #endregion

            TableQuery = query;
            Name = name;
            this.throttleTime = throttleTime;

            Columns = new ObservableCollection<IColumn>();
            ((ObservableCollection<IColumn>)Columns).CollectionChanged += OnColumnsChanged;

            if (columns != null)
                foreach (var column in columns)
                    Columns.Add(column);

            Data = new RowBinding(Columns, currentRows.AttachView(this));
        }
Example #37
0
        /// <summary>
        /// Runs a query on all routines.
        /// </summary>
        public void RunQueryAll(ITableQuery inQuery, ITableOperation inOperation, ref ICollection <Routine> ioRoutines)
        {
            int totalLeft   = m_ActiveCount;
            int currentNode = m_ActiveHead;

            while (currentNode != -1 && totalLeft-- > 0)
            {
                Entry e = m_Entries[currentNode];
                currentNode = e.NextIndex;

                if (inQuery.Validate(e.Fiber))
                {
                    inOperation.Execute(e.Fiber);
                    if (ioRoutines == null)
                    {
                        ioRoutines = new List <Routine>();
                    }
                    ioRoutines.Add(e.Fiber.GetHandle());
                }
            }
        }
Example #38
0
 public static ICompoundIndex <TRecord, T1, T2, T3> IndexDefine <TRecord, T1, T2, T3>(this ITableQuery <TRecord> table, string name,
                                                                                      Expression <Func <TRecord, T1> > indexAccessor1,
                                                                                      Expression <Func <TRecord, T2> > indexAccessor2,
                                                                                      Expression <Func <TRecord, T3> > indexAccessor3)
 {
     return(new CompoundIndex <TRecord, T1, T2, T3>(table, name, indexAccessor1, indexAccessor2, indexAccessor3));
 }
Example #39
0
 public static IndexDropQuery <T> IndexDrop <T>(this ITableQuery <T> target, string indexName)
 {
     return(new IndexDropQuery <T>(target, indexName));
 }
Example #40
0
 public static IIndex <TRecord, TIndex> IndexDefine <TRecord, TIndex>(this ITableQuery <TRecord> table, string name, Expression <Func <TRecord, TIndex> > indexAccessor)
 {
     return(new Index <TRecord, TIndex>(table, name, indexAccessor));
 }
Example #41
0
 public static IndexListQuery <T> IndexList <T>(this ITableQuery <T> target)
 {
     return(new IndexListQuery <T>(target));
 }
Example #42
0
 public virtual void SetUp()
 {
     testTable = Query.Db("test").Table<TestObject>("table");
     DoInsert().Wait();
 }
Example #43
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.Run(Query.DbCreate("test"));
            connection.Run(Query.Db("test").TableCreate("table"));

            testTable = Query.Db("test").Table<TestObject>("table");
            connection.Run(testTable.Insert(new TestObject[]
            {
                new TestObject() { Name = "1", SomeNumber = 1 },
                new TestObject() { Name = "1", SomeNumber = 1 },
                new TestObject() { Name = "2", SomeNumber = 2, Tags = new string[] { "A", "B" } },
                new TestObject() { Name = "2", SomeNumber = 200 },
                new TestObject() { Name = "2", SomeNumber = 2, Tags = new string[] { "A", "C" } },
                new TestObject() { Name = "3", SomeNumber = 3 },
                new TestObject() { Name = "3", SomeNumber = 3 },
                new TestObject() { Name = "4", SomeNumber = 4 },
                new TestObject() { Name = "5", SomeNumber = 5 },
                new TestObject() { Name = "6", SomeNumber = 6 },
                new TestObject() { Name = "6", SomeNumber = 6 },
                new TestObject() { Name = "7", SomeNumber = 7 },
            }));

            nameIndex = testTable.IndexDefine("name", to => to.Name);
            connection.Run(nameIndex.IndexCreate());
            connection.Run(nameIndex.IndexWait()).ToArray(); // ToArray ensures that the IEnumerable is actually evaluated completely and the wait is completed
        }
 public override void TestFixtureSetUp()
 {
     base.TestFixtureSetUp();
     connection.Run(Query.DbCreate("test"));
     connection.Run(Query.Db("test").TableCreate("table"));
     testTable = Query.Db("test").Table<TestObjectWithDictionary>("table");
 }
Example #45
0
        public override void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();
            connection.Run(Query.DbCreate("test"));
            connection.Run(Query.Db("test").TableCreate("table"));

            testTable = Query.Db("test").Table<TestObject>("table");
            connection.Run(testTable.Insert(new TestObject[]
            {
                new TestObject() { Name = "1", SomeNumber = 1 },
                new TestObject() { Name = "1", SomeNumber = 1 },
                new TestObject() { Name = "2", SomeNumber = 2, Tags = new string[] { "A", "B" } },
                new TestObject() { Name = "2", SomeNumber = 200 },
                new TestObject() { Name = "2", SomeNumber = 2, Tags = new string[] { "A", "C" } },
                new TestObject() { Name = "3", SomeNumber = 3 },
                new TestObject() { Name = "3", SomeNumber = 3 },
                new TestObject() { Name = "4", SomeNumber = 4 },
                new TestObject() { Name = "5", SomeNumber = 5 },
                new TestObject() { Name = "6", SomeNumber = 6 },
                new TestObject() { Name = "6", SomeNumber = 6 },
                new TestObject() { Name = "7", SomeNumber = 7 },
            }));

            nameIndex = testTable.IndexDefine("name", to => to.Name);
            connection.Run(nameIndex.IndexCreate());
            connection.Run(nameIndex.IndexWait());
        }
Example #46
0
 /// <summary>
 /// Create a new view of data
 /// </summary>
 /// <param name="query">Row Query</param>
 /// <param name="name">Friendly name</param>
 /// <param name="throttleTime">Minimum delay in milliseconds</param>
 /// <returns>New table view</returns>
 public ITableView CreateView(ITableQuery query, string name, int throttleTime)
 {
     return CreateView(query, name, null, throttleTime);
 }
Example #47
0
        /// <summary>
        /// Create a view with a predetermined set of of columns
        /// </summary>
        /// <param name="query">Row Query</param>
        /// <param name="name">Friendly name</param>
        /// <param name="columns">Set of columns</param>
        /// <param name="throttleTime">Minimum delay in milliseconds</param>
        /// <returns>New table view</returns>
        public ITableView CreateView(ITableQuery query, string name, IList<IColumn> columns, int throttleTime)
        {
            ITableView view;
            if (views.TryGetValue(name, out view)) return view;

            view = new TableView(query, name, columns, throttleTime, RowRepository);
            views.Add(name, view);

            return view;
        }