Saxonite - various

This commit is contained in:
2021-06-04 14:04:03 +01:00
parent 19be985731
commit 8d3aa5ec03
31 changed files with 390 additions and 170 deletions
@@ -14,10 +14,10 @@ namespace Sarand.Net.Standard.Dbas.Data
{
//-------------------------------------------------------------------
// Data members.
private class Data
private class DataMembers
{
// Construction.
public Data (ISacsDatabase database, String query)
public DataMembers (ISacsDatabase database, String query)
{
Database = database;
Query = query;
@@ -43,14 +43,14 @@ namespace Sarand.Net.Standard.Dbas.Data
}
}
}
private readonly Data data;
private readonly DataMembers data;
//-------------------------------------------------------------------
// Construction.
[Obsolete("Constructor is deprecated. Use ExecuteQuery[Async] instead.")]
public DbResultSet_DataReader (SacsDatabase database, String query)
{
data = new Data(database, query);
data = new DataMembers(database, query);
String fn = GetType().Name + ".CTR";
try
{
@@ -64,7 +64,7 @@ namespace Sarand.Net.Standard.Dbas.Data
}
}
/// <summary>Private construction - created from ExecuteQuery{Async].</summary>
private DbResultSet_DataReader (Data data)
private DbResultSet_DataReader (DataMembers data)
{
this.data = data;
}
@@ -77,7 +77,7 @@ namespace Sarand.Net.Standard.Dbas.Data
// Execute query.
public static DbResultSet_DataReader ExecuteQuery (ISacsDatabase database, String query)
{
Data data = new Data(database, query);
DataMembers data = new DataMembers(database, query);
String fn = typeof(DbResultSet_DataReader).Name + ".ExecuteQuery";
String errorState = "";
try
@@ -96,7 +96,7 @@ namespace Sarand.Net.Standard.Dbas.Data
}
public static async Task<DbResultSet_DataReader> ExecuteQueryAsync (SacsDatabase database, String query)
{
Data data = new Data(database, query);
DataMembers data = new DataMembers(database, query);
String fn = typeof(DbResultSet_DataReader).Name + ".ExecuteQueryAsync";
String errorState = "";
try
@@ -134,7 +134,7 @@ namespace Sarand.Net.Standard.Dbas.Data
//-------------------------------------------------------------------
// Execute query.
private static void ExecuteQuery_Internal (Data data)
private static void ExecuteQuery_Internal (DataMembers data)
{
data.DbConnection = data.Database.CreateConnection();
data.DbCommand = data.DbConnection.CreateCommand();
@@ -363,10 +363,10 @@ namespace Sarand.Net.Standard.Dbas.Data
//-------------------------------------------------------------------
// NB Always use ODBC connection for querying schema.
// eg. SQL Connection GetSchema('Indices') doesn't return index columns.
public override List<String> GetTableNames ()
public override List<String> GetTableNames (bool refresh = false)
{
// Only populate table names if not previously done.
if (tables.Count < 1)
if (tables.Count < 1 || refresh)
{
using (DbConnection dbConnection = CreateConnection(true))
{
@@ -388,7 +388,7 @@ namespace Sarand.Net.Standard.Dbas.Data
dbConnection.Open();
if (tables.Count < 1)
PopulateTableNames(dbConnection);
foreach (DbDfnTable table in tables)
foreach (DbDfnTable table in tables.ToList())
{
if (!table.HasColumns())
{
@@ -398,7 +398,7 @@ namespace Sarand.Net.Standard.Dbas.Data
}
}
}
return new List<DbDfnTable>(tables);
return tables.ToList();
}
public void ClearTableDfns ()
{
@@ -488,7 +488,7 @@ namespace Sarand.Net.Standard.Dbas.Data
}
}
}
List<DbDfnTable> tablesUnsorted = new List<DbDfnTable>(tables);
List<DbDfnTable> tablesUnsorted = tables.ToList();
tables.Clear();
tables.AddRange(tablesUnsorted.OrderBy(item => item.Name).ToList());
}