internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor).ConfigureAwait(false); await CreateIndexAsync("ListUserLID", "ListId", false).ConfigureAwait(false); await CreateIndexAsync("ListUserUID", "UserId", false).ConfigureAwait(false); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor).ConfigureAwait(false); await CreateIndexAsync(_tableName + "_SID", "StatusId", false).ConfigureAwait(false); await CreateIndexAsync(_tableName + "_UID", "UserId", false).ConfigureAwait(false); }
internal static Task <int> ExecuteAsync(this IDatabaseConnectionDescriptor descriptor, string query, object param) { return(descriptor .GetTaskFactory(true) .StartNew(() => { using (descriptor.AcquireWriteLock()) { try { // System.Diagnostics.Debug.WriteLine("EXECUTE: " + query); using (var con = descriptor.GetConnection()) using (var tr = con.BeginTransaction(DefaultIsolationLevel)) { var result = con.Execute(query, param, tr); tr.Commit(); return result; } } catch (Exception ex) { throw WrapException(ex, "ExecuteAsyncWithParam", query); } } })); }
internal static Task ExecuteAllAsync(this IDatabaseConnectionDescriptor descriptor, IEnumerable <Tuple <string, object> > queryAndParams) { var qnp = queryAndParams.Memoize(); return(descriptor .GetTaskFactory(true) .StartNew(() => { using (descriptor.AcquireWriteLock()) { try { using (var con = descriptor.GetConnection()) using (var tr = con.BeginTransaction(DefaultIsolationLevel)) { foreach (var tuple in qnp) { // tuple := (query, param) // System.Diagnostics.Debug.WriteLine("EXECUTE: " + qap.Item1); con.Execute(tuple.Item1, tuple.Item2, tr); } tr.Commit(); } } catch (Exception ex) { throw WrapException(ex, "ExecuteAllAsync", qnp.Select(q => q.Item1).JoinString(Environment.NewLine)); } } })); }
internal static Task <int> ExecuteAsync(this IDatabaseConnectionDescriptor descriptor, string query) { return(descriptor .GetTaskFactory(true) .StartNew(() => { using (descriptor.AcquireWriteLock()) { try { using (var con = descriptor.GetConnection()) using (var tr = con.BeginTransaction(DefaultIsolationLevel)) { var result = con.Execute(query, transaction: tr); tr.Commit(); return result; } } catch (Exception ex) { throw WrapException(ex, "ExecuteAsync", query); } } })); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor).ConfigureAwait(false); await CreateIndexAsync("ST_UID", "UserId", false).ConfigureAwait(false); await CreateIndexAsync("ST_ROID", "RetweetOriginalId", false).ConfigureAwait(false); await CreateIndexAsync("ST_IRSID", "InReplyToStatusId", false).ConfigureAwait(false); }
public Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { return(Task.WhenAll( _followings.InitializeAsync(descriptor), _followers.InitializeAsync(descriptor), _blockings.InitializeAsync(descriptor), _noRetweets.InitializeAsync(descriptor), _mutes.InitializeAsync(descriptor))); }
public async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await Task.WhenAll( this._followings.InitializeAsync(descriptor), this._followers.InitializeAsync(descriptor), this._blockings.InitializeAsync(descriptor), this._noRetweets.InitializeAsync(descriptor), this._mutes.InitializeAsync(descriptor)); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor); await this.CreateIndexAsync("ListFName", "FullName", false); await this.CreateIndexAsync("ListUID", "UserId", false); await this.CreateIndexAsync("ListSlug", "Slug", false); }
public static void Initialize(IDatabaseConnectionDescriptor descriptor) { System.Diagnostics.Debug.WriteLine("Krile DB Initializing..."); if (_isInitialized) { throw new InvalidOperationException("Database core is already initialized."); } _isInitialized = true; _descriptor = descriptor; // register sqlite functions var asm = Assembly.GetExecutingAssembly(); asm.DefinedTypes.Where(t => t.IsClass && !t.IsAbstract && t.IsSubclassOf(typeof(SQLiteFunction))) .Where(t => t.GetCustomAttribute <SQLiteFunctionAttribute>() != null) .ForEach(t => { try { SQLiteFunction.RegisterFunction(t); } catch { } }); // initialize tables var tasks = new Task[] { }; Task.WaitAll(Task.Factory.StartNew(() => { tasks = new[] { AccountInfoCrud.InitializeAsync(descriptor), StatusCrud.InitializeAsync(descriptor), StatusEntityCrud.InitializeAsync(descriptor), UserCrud.InitializeAsync(descriptor), UserDescriptionEntityCrud.InitializeAsync(descriptor), UserUrlEntityCrud.InitializeAsync(descriptor), ListCrud.InitializeAsync(descriptor), ListUserCrud.InitializeAsync(descriptor), FavoritesCrud.InitializeAsync(descriptor), RetweetsCrud.InitializeAsync(descriptor), RelationCrud.InitializeAsync(descriptor), ManagementCrud.InitializeAsync(descriptor) }; })); Task.WaitAll(tasks); }
internal static Task <IEnumerable <T> > QueryAsync <T>(this IDatabaseConnectionDescriptor descriptor, string query, object param) { // System.Diagnostics.Debug.WriteLine("QUERY: " + query); return(descriptor .GetTaskFactory(false) .StartNew(() => { using (descriptor.AcquireReadLock()) { try { using (var con = descriptor.GetConnection()) { return con.Query <T>(query, param); } } catch (Exception ex) { throw WrapException(ex, "QueryAsync", query); } } })); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor); await this.CreateIndexAsync("UT_SN", "ScreenName", true); }
internal virtual Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { // initialize descriptor _descriptor = descriptor; return(Descriptor.ExecuteAsync(TableCreator)); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor); await CreateIndexAsync(TableName + "_IDX_UID", "UserId", false); }
internal override async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { await base.InitializeAsync(descriptor); await this.CreateIndexAsync(IndexPrefix + "_PID", "ParentId", false); }
internal virtual async Task InitializeAsync(IDatabaseConnectionDescriptor descriptor) { // initialize descriptor _descriptor = descriptor; await Descriptor.ExecuteAsync(TableCreator); }