public static async Task <Issue[]> GetAllIssues() { using (var box = await Box.Connect( "operator:123123@localhost:3301")) { var issues = new List <Issue>(); try { var primaryIndex = box.GetSchema()["issues"]["primary_id"]; var data = await primaryIndex.Select <TarantoolTuple <string>, TarantoolTuple <string, string> >( TarantoolTuple.Create(string.Empty), new SelectOptions { Iterator = Iterator.All }); issues.AddRange(data.Data.Select(tuple => new Issue { Id = tuple.Item1, Name = tuple.Item2 })); } catch (ArgumentException) { } return(issues.ToArray()); } }
public async Task ClearDataAsync(params string[] spaceNames) { using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7("admin:adminPassword"))) { await tarantoolClient.Call("clear_data", TarantoolTuple.Create(spaceNames)); } }
public async Task <T[]> GetAllAsync <T>() where T : BaseEntity { var primaryIndex = _schema[TypeName(typeof(T))]["primary_id"]; var response = await primaryIndex.Select <TarantoolTuple <long>, T>(TarantoolTuple.Create(0L), new SelectOptions { Iterator = Iterator.All }); return(response.Data.ToArray()); }
public async Task <T> GetAsync <T>(long?id) where T : BaseEntity { var primaryIndex = _schema[TypeName(typeof(T))]["primary_id"]; var response = await primaryIndex.Select <TarantoolTuple <long?>, T>(TarantoolTuple.Create(id), new SelectOptions { Iterator = Iterator.Eq }); return(response.Data.First()); }
public async Task evaluate_call_function() { using (var tarantoolClient = await Client.Box.Connect(await ConnectionStringFactory.GetReplicationSource_1_7())) { var result = await tarantoolClient.Eval <TarantoolTuple <int, int, int>, TarantoolTuple <int, int> >("return return_tuple()", TarantoolTuple.Create(1, 2, 3)); result.Data.ShouldBe(new[] { TarantoolTuple.Create(1, 2) }); } }
public async Task return_int_v1_6_should_not_throw() { using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7())) { var result = await tarantoolClient.Call_1_6 <TarantoolTuple <int> >("return_scalar"); result.Data.ShouldBe(new[] { TarantoolTuple.Create(1) }); } }
public async Task return_tuple_with_null_should_not_throw() { using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7())) { var result = await tarantoolClient.Call <TarantoolTuple <string> >("return_tuple_with_null"); result.Data.ShouldBe(new[] { TarantoolTuple.Create(default(string)) }); } }
public Task <long> Add(MessageData @object, CancellationToken token) { async Task <long> Func() { var response = await this._space.Insert(TarantoolTuple.Create(@object.Id, this._jsonService.Serialize(@object))); var x = response.Data[0].Item1; return(x); } return(MeasureIt(Func)); }
public async Task SerialTest() { for (var i = 0; i < 1000; i++) { var result = await _tarantoolClient.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >( "math.sqrt", TarantoolTuple.Create(1.3)); var diff = Math.Abs(result.Data.Single().Item1 - Math.Sqrt(1.3)); diff.ShouldBeLessThan(double.Epsilon); } }
static async Task DoWork() { using (var box = await Box.Connect( "operator:123123@localhost:3301")) { var schema = box.GetSchema(); var space = await schema.GetSpace("users"); var primaryIndex = await space.GetIndex("primary_id"); //await space.Insert(TarantoolTuple.Create(Guid.NewGuid().ToString(), //"Vladimir Vladimirov", "vvladimirov", "*****@*****.**", 10L)); var updatedData = await space.Update <TarantoolTuple <string>, TarantoolTuple <string, string, string, string, long> >( TarantoolTuple.Create("600ca93b-10dc-4ebe-8c78-95f4d5384426"), new UpdateOperation[] { UpdateOperation.CreateAssign(4, 47L) }); var data = await primaryIndex.Select <TarantoolTuple <string>, TarantoolTuple <string, string, string, string, long> >( TarantoolTuple.Create(String.Empty), new SelectOptions { Iterator = Iterator.All }); var loginIndex = await space.GetIndex("secondary_login"); var users = await loginIndex.Select <TarantoolTuple <string>, TarantoolTuple <string, string, string, string, long> >( TarantoolTuple.Create("petrov")); var petrov = users.Data; var ratingIndex = await space.GetIndex("secondary_rating"); var ratingUsers = await ratingIndex.Select <TarantoolTuple <long>, TarantoolTuple <string, string, string, string, long> >( TarantoolTuple.Create(15L), new SelectOptions { Iterator = Iterator.Ge }); await box.Call("update_rating"); foreach (var item in data.Data) { Console.WriteLine(item); } } }
public async Task <ViewResult> Index() { var allDogs = await _primaryIndex.Select <TarantoolTuple <long>, Dog>(TarantoolTuple.Create(-1L), new SelectOptions { Iterator = Iterator.All }); var seniorDogs = await _secondaryIndex.Select <TarantoolTuple <long>, Dog>(TarantoolTuple.Create(5L), new SelectOptions { Iterator = Iterator.Ge }); var juniorDogs = await _secondaryIndex.Select <TarantoolTuple <long>, Dog>(TarantoolTuple.Create(5L), new SelectOptions { Iterator = Iterator.Le }); return(View(new [] { allDogs.Data, seniorDogs.Data, juniorDogs.Data })); }
public async Task Smoke() { const string spaceName = "with_scalar_index"; await ClearDataAsync(spaceName); var clientOptions = new ClientOptions(ConnectionStringFactory.GetReplicationSource_1_7()); using (var tarantoolClient = new Client.Box(clientOptions)) { await tarantoolClient.Connect(); var schema = tarantoolClient.GetSchema(); var space = schema[spaceName]; await space.Insert(TarantoolTuple.Create(2f, new[] { 1, 2, 3 })); await space.Insert(TarantoolTuple.Create(true, "Music")); await space.Insert(TarantoolTuple.Create(1u, 2f)); await space.Insert(TarantoolTuple.Create("false", (string)null)); var index = space[0]; var result = await index.Select <TarantoolTuple <bool>, TarantoolTuple <MsgPackToken, MsgPackToken> >( TarantoolTuple.Create(false), new SelectOptions { Iterator = Model.Enums.Iterator.All }); result.Data.ShouldNotBeNull(); var data = result.Data; ((bool)data[0].Item1).ShouldBe(true); ((string)data[0].Item2).ShouldBe("Music"); ((ulong)data[1].Item1).ShouldBe(1u); ((double)data[1].Item2).ShouldBe(2f); ((double)data[2].Item1).ShouldBe(2f); ((MsgPackToken[])data[2].Item2).Select(t => (int)t).ToArray().ShouldBe(new[] { 1, 2, 3 }); ((string)data[3].Item1).ShouldBe("false"); ((MsgPackToken[])data[3].Item2).ShouldBe(null); } }
private async Task StartImpl() { for (uint i = 0; i < OperationsCount; i++) { var operationId = _id * OperationsCount + i + 1000; var existing = await _index.Select <TarantoolTuple <uint>, TarantoolTuple <uint, string> >(TarantoolTuple.Create(operationId)); if (existing.Data.Any()) { await _index.Delete <TarantoolTuple <uint>, TarantoolTuple <uint, string> >(TarantoolTuple.Create(operationId)); } await _index.Insert(TarantoolTuple.Create(operationId, $"Insert operation {operationId}")); await _index.Select <TarantoolTuple <uint>, TarantoolTuple <uint, string> >(TarantoolTuple.Create(operationId)); } }
public static async Task SaveIssue(Issue issue) { using (var box = await Box.Connect( "operator:123123@localhost:3301")) { try { var primaryIndex = box.GetSchema()["issues"]["primary_id"]; var rnd = new Random(); var num = rnd.Next(3, 10000); await primaryIndex.Insert(TarantoolTuple.Create(num.ToString(), issue.Name)); } catch (ArgumentException) { } } }
public async Task ParallelTest() { var tasks = new Task[1000]; for (var i = 0; i < tasks.Length; i++) { tasks[i] = _tarantoolClient.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >( "math.sqrt", TarantoolTuple.Create(1.3)) .ContinueWith(x => { var result = x.Result; var diff = Math.Abs(result.Data.Single().Item1 - Math.Sqrt(1.3)); diff.ShouldBeLessThan(double.Epsilon); }); } await Task.WhenAll(tasks); }
static async Task DoWork() { using (var box = await Box.Connect("operator:123123@localhost:3301")) { var schema = box.GetSchema(); var space = await schema.GetSpace("users"); var primaryIndex = await space.GetIndex("primary_id"); var data = await primaryIndex.Select <TarantoolTuple <string>, TarantoolTuple <string, string, string, string, long> >( TarantoolTuple.Create(String.Empty), new SelectOptions { Iterator = Iterator.All }); foreach (var item in data.Data) { Console.WriteLine(item); } } }
public async Task <bool> OldUpdateAsync <T>(T entity) where T : BaseEntity { var props = entity.GetType().GetProperties(); var operations = new UpdateOperation[props.Length]; for (var i = 0; i < props.Length; i++) { var propValue = props[i].GetValue(entity); var genericTypeOperation = typeof(UpdateOperation) .GetMethods() .Single(x => x.Name == "CreateAssign") .MakeGenericMethod(propValue.GetType()) .Invoke(null, new[] { i, propValue }); operations[i] = (UpdateOperation)genericTypeOperation; } await _schema[TypeName(typeof(T))]["primary_id"] .Update <T, TarantoolTuple <long?> >(TarantoolTuple.Create(entity.Id), operations); return(true); }
public async Task do_nothing_if_already_connected() { using (var box = await Client.Box.Connect(await ConnectionStringFactory.GetReplicationSource_1_7("operator:operator"))) { var result = await box.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >("math.sqrt", TarantoolTuple.Create(1.3)); var diff = Math.Abs(result.Data.Single().Item1 - Math.Sqrt(1.3)); diff.ShouldBeLessThan(double.Epsilon); await box.Connect(); var result2 = await box.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >("math.sqrt", TarantoolTuple.Create(1.3)); var diff2 = Math.Abs(result2.Data.Single().Item1 - Math.Sqrt(1.3)); diff2.ShouldBeLessThan(double.Epsilon); } }
public async Task <bool> DeleteAsync <T>(long?id) where T : BaseEntity { await _schema[TypeName(typeof(T))]["primary_id"].Delete <TarantoolTuple <long?>, T>(TarantoolTuple.Create(id)); return(true); }
public async Task call_method() { using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7())) { var result = await tarantoolClient.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >("math.sqrt", TarantoolTuple.Create(1.3)); var diff = Math.Abs(result.Data.Single().Item1 - Math.Sqrt(1.3)); diff.ShouldBeLessThan(double.Epsilon); } }
public async Task evaluate_expression() { using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7())) { var result = await tarantoolClient.Eval <TarantoolTuple <int, int, int>, int>("return ...", TarantoolTuple.Create(1, 2, 3)); result.Data.ShouldBe(new[] { 1, 2, 3 }); } }
async Task RequestAllCategories() { using (var box = await Box.Connect("localhost:3301")) { Console.WriteLine("Подключение к базе"); categories.Clear(); var schema = box.GetSchema(); var space = await schema.GetSpace("categories"); var primaryIndex = await space.GetIndex("id"); var data = await primaryIndex.Select <TarantoolTuple <int>, TarantoolTuple <int, string> >(TarantoolTuple.Create <int>(1), new SelectOptions { Iterator = Iterator.All }); if (categories.Count == 0) { categories = new List <Category>(); foreach (var item in data.Data) { Console.WriteLine("{0} - {1}", item.Item1, item.Item2); categories.Add(new Category { id = item.Item1, Name = item.Item2 }); } } } }
public async Task TreeIndexMethods() { const string spaceName = "space_TreeIndexMethods"; await ClearDataAsync(spaceName); using (var tarantoolClient = await Client.Box.Connect(ConnectionStringFactory.GetReplicationSource_1_7())) { var schema = tarantoolClient.GetSchema(); var space = schema[spaceName]; var index = space["treeIndex"]; var min2 = await index.Min <TarantoolTuple <int, int, int>, TarantoolTuple <int> >(TarantoolTuple.Create(3)); min2.ShouldBe(null); var min = await index.Min <TarantoolTuple <int, string, double> >(); min.ShouldBe(null); var max = await index.Max <TarantoolTuple <int, int, int> >(); max.ShouldBe(min2); var max2 = await index.Max <TarantoolTuple <int, string, double>, TarantoolTuple <int> >(TarantoolTuple.Create(1)); max2.ShouldBe(min); } }
public async Task <double> TestMethod() { var result = await _box.Call_1_6 <TarantoolTuple <double>, TarantoolTuple <double> >("math.sqrt", TarantoolTuple.Create(1.3)); return(result.Data.Single().Item1); }
static async Task Test() { using (var box = await Box.Connect("localhost:3301")) { var schema = box.GetSchema(); var space = await schema.GetSpace("categories"); var primaryIndex = await space.GetIndex("id"); var data = await primaryIndex.Select <TarantoolTuple <int>, TarantoolTuple <int, string> >(TarantoolTuple.Create <int>(1), new SelectOptions { Iterator = Iterator.Eq }); foreach (var item in data.Data) { Console.WriteLine(item); } Console.ReadKey(); } }