private static async Task <JMXSchema> GetSchemaInternalAsync(MdbContext mdb, string areaName, string objectName, int syncState) { string sortDirrect = syncState == 0 ? "" : "desc"; string sql = $@" select ID ,ObjectSchema ,SyncState from V_SysSchemas where SchemaName = '{areaName}' and (ObjectName = '{objectName}' or DbObjectName = '{objectName}') and SyncState >= {syncState} order by SyncState {sortDirrect} limit 1" ; using (var dr = await mdb.GetReaderAsync(sql)) { if (!dr.Read()) { //object schema not found in database throw new InvalidOperationException(string.Format(Properties.Strings.S031_MetaStack_Core_SysCat_SysCatManager_getSchema_2, $"{areaName}.{objectName}", syncState)); } var schema = JMXSchema.Parse((string)dr["ObjectSchema"]); schema.ID = Convert.ToInt32(dr["ID"]); schema.SyncState = (int)dr["SyncState"]; return(schema); } }
private void SpeedGetHashCodeTest() { using (MdbContext mdb = new MdbContext(_ci)) { //string s1 = mdb.Execute<string>("SysCat.Get_TableSchema_xml", // new MdbParameter("@table_name", "dbo.OrderDetails")); //_logger.Debug(s1); //_logger.Debug(JMXSchema.ParseXml(s1).ToString()); //s1 = mdb.Execute<string>("SysCat.Get_TableSchema", // new MdbParameter("@table_name", "dbo.Orders")); //_logger.Debug(s1); //_logger.Debug("Start speed test for SysCat.Get_TableSchema_xml"); //for (int i = 0; i < 100; i++) //{ // s1 = mdb.Execute<string>("SysCat.Get_TableSchema_xml", // new MdbParameter("@table_name", "dbo.OrderDetails")); // var schema = JMXSchema.ParseXml(s1); //} //_logger.Debug("End speed test for SysCat.Get_TableSchema_xml"); _logger.LogDebug("Start speed test for SysCat.Get_TableSchema"); for (int i = 0; i < 100; i++) { var s1 = mdb.Execute <string>("SysCat.Get_TableSchema", new MdbParameter("@table_name", "dbo.OrderDetails")); var schema = JMXSchema.Parse(s1); } _logger.LogDebug("End speed test for SysCat.Get_TableSchema"); } }
private void GetParameters(ActionInfo ai, DataPackage dp) { _connectionName = ai.GetContext() .Services .GetRequiredService <IConfiguration>()["appSettings:SysCatConnection"]; if (dp.Read()) { _schemaSource = JMXSchema.Parse((string)dp["ObjectName"]); } }
static JMXSchema[] GetTestSchemas() { List <JMXSchema> l = new List <JMXSchema>(); var rm = Resources.TestSchemas.ResourceManager; foreach (JMXObjectName item in getTestNames()) { l.Add(JMXSchema.Parse(rm.GetObject(item.ObjectName) as string)); } return(l.ToArray()); }
private static JMXSchema[] GetTestSchemas() { List <JMXSchema> l = new List <JMXSchema>(); var rm = Resources.TestSchemas.ResourceManager; foreach (JMXObjectName item in GetTestNames()) { var path = $@"..\..\..\orm\Resources\TestSchemas\{item.ObjectName}.json"; l.Add(JMXSchema.Parse(File.ReadAllText(path))); } return(l.ToArray()); }
public override async Task <JMXSchema> GetObjectSchemaAsync(string objectName) { var mdb = Factory.GetMdbContext(); string s = await mdb.ExecuteAsync <string>( (await SqlServerHelper.IsSql17(mdb))?SqlServer.GetTableSchema : SqlServer.GetTableSchema_12, new MdbParameter("@table_name", objectName)); if (s != null) { return(JMXSchema.Parse(s)); } return(null); }
private void SaveTestData() { //foreach (var s in GetTestSchemas()) // System.IO.File.WriteAllText($"d:\\testData\\{s.ObjectName}.json", s.ToString()); //foreach (var f in new DirectoryInfo("d:\\testData").GetFiles("*.json", SearchOption.AllDirectories)) //{ // string s = File.ReadAllText(f.FullName); // File.WriteAllText(f.FullName, s, Encoding.UTF8); //} var s = CreateTestSchema(); _logger.LogDebug(s.ToString()); var s1 = JMXSchema.Parse(s.ToString()); Assert.Equal(s.ToString(), s1.ToString()); _logger.LogDebug(s1.ToString()); }
private void SerializeTest() { using (FileLog _logger = new FileLog("ORMSchemaTest", new FileLogSettings() { DateFolderMask = "yyyy-MM-dd" })) { var str = _sourceJsonString; _logger.Debug($"Start perfomance parse string test"); int i; DateTime t = DateTime.Now; JsonObject j = null; for (i = 0; i < 1_000; i++) { j = (JsonObject) new S031.MetaStack.Json.JsonReader(str).Read(); } _logger.Debug($"Finish perfomance parse string test. Time={(DateTime.Now - t).Milliseconds} ms, loop count={i}"); _logger.Debug($"Start perfomance parse string schema test"); t = DateTime.Now; for (i = 0; i < 1_000; i++) { var schema = JMXSchema.Parse(str); } _logger.Debug($"Finish perfomance parse string schema test. Time={(DateTime.Now - t).Milliseconds} ms, loop count={i}"); //str = JSONExtensions.SerializeObject(JMXSchema.Parse(str)); //_logger.Debug($"Start perfomance parse string schema MessagePack test"); //t = DateTime.Now; //for (i = 0; i < 1_000; i++) //{ // var schema = JSONExtensions.DeserializeObject<JMXSchema>(str); //} //_logger.Debug($"Finish perfomance parse string schema MessagePack test. Time={(DateTime.Now - t).Milliseconds} ms, loop count={i}"); var s = JMXSchema.Parse(str); str = s.ToString(); var str2 = JMXSchema.Parse(str).ToString(); Assert.Equal(str, str2); _logger.Debug(JMXSchema.Parse(str)); _logger.Debug(JMXSchema.Parse(str2)); } }
public void saveTestData() { //foreach (var s in GetTestSchemas()) // System.IO.File.WriteAllText($"d:\\testData\\{s.ObjectName}.json", s.ToString()); //foreach (var f in new DirectoryInfo("d:\\testData").GetFiles("*.json", SearchOption.AllDirectories)) //{ // string s = File.ReadAllText(f.FullName); // File.WriteAllText(f.FullName, s, Encoding.UTF8); //} using (FileLogger _logger = new FileLogger("ORMDBTest", new FileLogSettings() { DateFolderMask = "yyyy-MM-dd" })) { var s = creaateTestSchema(); _logger.Debug(s.ToString()); var s1 = JMXSchema.Parse(s.ToString()); Assert.AreEqual(s.ToString(), s1.ToString()); _logger.Debug(s1.ToString()); } }
public static JMXSchema GetObjectSchema(string objectName) { if (!_schemaCache.TryGetValue(objectName, out JMXSchema schema)) { using (var p = new DataPackage( new string[] { "ObjectName" }, new object[] { objectName })) using (var r = ClientGate.Execute("Sys.GetSchema", p)) { r.GoDataTop(); if (r.Read()) { schema = JMXSchema.Parse((string)r["ObjectSchema"]); _schemaCache.TryAdd(objectName, schema); } else { return(null); } } } return(schema); }
public void speedGetHashCodeTest() { using (FileLogger _logger = new FileLogger("ORMDBTest", new FileLogSettings() { DateFolderMask = "yyyy-MM-dd" })) { using (MdbContext mdb = new MdbContext(_cn)) { string s1 = mdb.Execute <string>("SysCat.Get_TableSchema_xml", new MdbParameter("@table_name", "dbo.OrderDetails")); _logger.Debug(s1); _logger.Debug(JMXSchema.ParseXml(s1).ToString()); s1 = mdb.Execute <string>("SysCat.Get_TableSchema", new MdbParameter("@table_name", "dbo.Orders")); _logger.Debug(s1); _logger.Debug("Start speed test for SysCat.Get_TableSchema_xml"); for (int i = 0; i < 100; i++) { s1 = mdb.Execute <string>("SysCat.Get_TableSchema_xml", new MdbParameter("@table_name", "dbo.OrderDetails")); var schema = JMXSchema.ParseXml(s1); } _logger.Debug("End speed test for SysCat.Get_TableSchema_xml"); _logger.Debug("Start speed test for SysCat.Get_TableSchema"); for (int i = 0; i < 100; i++) { s1 = mdb.Execute <string>("SysCat.Get_TableSchema", new MdbParameter("@table_name", "dbo.OrderDetails")); var schema = JMXSchema.Parse(s1); } _logger.Debug("End speed test for SysCat.Get_TableSchema"); } } }