public void TestScript() { SaveFile(); if (fileName != null) { /* * string strCmdText; * strCmdText = this.fileName; * System.Diagnostics.Process.Start("python.exe", strCmdText); */ scriptEngine.SetSource(edScript.Text); scriptEngine.Execute(); } }
public QueryRoot HandleQuery(string db, string query, IDbManagement dbm) { var root = new QueryRoot(); var result = new QueryResult(); var serie = new QuerySerie(); if (query.ToLower().StartsWith("show measurements")) { serie.name = "measurements"; serie.columns.Add("name"); var myDb = dbm.GetDb(db); serie.values.AddRange(myDb.GetMeasurementNames().Select(i => new List <object> { i })); result.series.Add(serie); root.results.Add(result); return(root); } var dbInstance = dbm.GetDb(db); var queries = query.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries); foreach (var subQuery in queries) { var scriptingEngine = new ScriptingEngine(dbInstance, subQuery); var res = scriptingEngine.Execute(); foreach (var s in res.Result.Series.OrderByDescending(i => i.FullName)) { QuerySerie querySerie = new QuerySerie(); CreateSingleResult(querySerie, s, result); } } root.results.Add(result); return(root); }
public void ReadItemsPerScripting() { var measurement = _unitUnderTest.CreateMeasurement(TestMeasName, typeof(float)); var numberOfRows = 100000; measurement.AppendDataPoints(CreateFloatRows(numberOfRows)); var time = Stopwatch.StartNew(); //All (without dates) var scriptingEngine = new ScriptingEngine(_unitUnderTest, $@"db.GetSerie<float>(""{TestMeasName}"", null)"); var data = scriptingEngine.Execute().Result; var allItems = data.Series.First().Rows; allItems.Count.Should().Be(numberOfRows); data.Series.First().StartTime.Should().Be(null); data.Series.First().EndTime.Should().Be(null); //var dateTime2000 = new DateTime(2000, 1, 1); //data = measurement.GetDataPoints<float>(dateTime2000); //allItems = data.Rows; //allItems.Count().Should().Be(numberOfRows); //data.StartTime.Should().Be(dateTime2000); //data.EndTime.Should().Be(null); //var dateTime2200 = new DateTime(2200, 1, 1); //data = measurement.GetDataPoints<float>(dateTime2000, dateTime2200); //allItems = data.Rows; //allItems.Count().Should().Be(numberOfRows); //data.StartTime.Should().Be(dateTime2000); //data.EndTime.Should().Be(dateTime2200); //var singleItems = measurement.GetDataPoints<float>(dateTime2000, dateTime2200).Rows; //singleItems.Count().Should().Be(allItems.Count()); //var time = Stopwatch.StartNew(); //var dateTimeStart = new DateTime(2000, 1, 7); //var dateTime200012 = new DateTime(2000, 1, 21); ////From begin to middle //data = measurement.GetDataPoints<float>(null, dateTime200012); //var items = data.Rows; //items[0].Key.Should().BeAfter(dateTime2000); //items.Last().Key.Should().BeOnOrBefore(dateTime200012); //data.PreviousRow.Should().Be(null); //data.NextRow.Key.Should().BeAfter(dateTime200012); //time.Stop(); ////From middle to end //data = measurement.GetDataPoints<float>(dateTime200012, dateTime2200); //items = data.Rows; //items[0].Key.Should().BeOnOrAfter(dateTime200012); //items.Last().Key.Should().BeOnOrBefore(dateTime2200); //data.PreviousRow.Key.Should().BeBefore(dateTime200012); //data.NextRow.Should().Be(null); //time = Stopwatch.StartNew(); ////From middle to middle //data = measurement.GetDataPoints<float>(dateTimeStart, dateTime200012); //items = data.Rows; //items[0].Key.Should().BeOnOrAfter(dateTimeStart); //items.Last().Key.Should().BeOnOrBefore(dateTime200012); //data.PreviousRow.Key.Should().BeBefore(dateTimeStart); //data.NextRow.Key.Should().BeAfter(dateTime200012); time.Stop(); }