public Int64 DeleteRow(Int64 queryId, Int64 sessionId, string rowHash) { using (OpenCloseConnectionWrapper wrapper = this.Connection.OpenWrapper()) { return(ImplementDeleteRow(queryId, sessionId, rowHash, wrapper.Connection)); } }
/// <summary> /// It's fast and not a thread-safety version of ReplaceRows method. /// TODO: remove it after sqlite thread-safety refactoring. /// </summary> /// <param name="rows"></param> /// <returns></returns> public Int64 ReplaceRowsTrans(IEnumerable <ITableRow> rows) { Int64 result = 0L; using (OpenCloseConnectionWrapper wrapper = this.Connection.OpenWrapper()) { using (SQLiteTransaction transaction = wrapper.Connection.BeginTransaction()) { ReplaceCommand replaceCommand = new ReplaceCommand( wrapper.Connection, this.TableDefinition, transaction ); foreach (ITableRow row in rows) { replaceCommand.AddRowForReplacing(row); } result = replaceCommand.Execute(100); transaction.Commit(); } } return(result); }
public Int64 UpdateRowOrderByHash( Int64 queryId, Int64 sessionId, string rowHash, Int64 rowId ) { using (OpenCloseConnectionWrapper wrapper = this.Connection.OpenWrapper()) { // var updateCommand = new RowUpdateByHashCommand(this.Connection, this.TableDefinition); // var clause = CommonRowFiller.GetIdentClause(); // var parameters = CommonRowFiller.GetIdentParameters(queryId, sessionId); // // var rowIdParam = new SQLiteParameter("@rowid", DbType.Int64) // { // Value = rowId // }; // // var newrowIdParam = new SQLiteParameter("@rowhash", DbType.String) // { // Value = rowHash // }; // // clause += " and [" + CommonRowFiller.RowHashFieldName + "] = @rowhash"; // parameters.Add(rowIdParam); // parameters.Add(newrowIdParam); // // updateCommand.SetCommandConstraints(clause, parameters, "[" + CommonRowFiller.RowOrderFieldName + "] = @rowid", false, null); // // return updateCommand.Execute(); return(ImplementUpdateRowOrderByHash(queryId, sessionId, rowHash, rowId, wrapper.Connection)); } }
internal Int64 UpdateRowByHash( long queryId, long sessionId, string hashOld, ITableRow dataRow ) { using (OpenCloseConnectionWrapper wrapper = this.Connection.OpenWrapper()) { return(ImplementUpdateRow( queryId, sessionId, hashOld, dataRow, wrapper.Connection )); } }
private Int64 BulkOperation <T>( List <T> values, Func <SQLiteTransaction, SQLiteConnection, T, Int64> executeCommandFunc ) where T : class { Int64 itemsProcessed = 0L; using (OpenCloseConnectionWrapper wrapper = Connection.OpenWrapper()) { using (SQLiteTransaction transaction = wrapper.Connection.BeginTransaction()) { itemsProcessed += values.Sum(val => executeCommandFunc(transaction, wrapper.Connection, val) ); transaction.Commit(); } } return(itemsProcessed); }