Skip to content

Commit 781e00e

Browse files
committed
DatabaseConfigurationLoader
1 parent 6deaf6b commit 781e00e

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

Source/Libraries/GSF.PhasorProtocols/UI/DataModels/Phasor.cs

+5-11
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,10 @@ public static IList<int> LoadKeys(AdoDataConnection database, int deviceID, stri
282282

283283
IList<int> phasorList = new List<int>();
284284

285-
string sortClause = string.Empty;
286-
285+
DataTable phasorTable;
287286
if (!string.IsNullOrEmpty(sortMember))
288-
sortClause = $"ORDER BY {sortMember} {sortDirection}";
289-
290-
string query = database.ParameterizedQueryString($"SELECT ID From PhasorDetail WHERE DeviceID = {{0}} {sortClause}", "deviceID");
291-
DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, query, DefaultTimeout, deviceID);
287+
phasorTable = database.Connection.RetrieveData(database.AdapterType, "SELECT ID From PhasorDetail WHERE DeviceID = {0} ORDER BY {1} {2}", DefaultTimeout, deviceID, sortMember, sortDirection);
288+
else phasorTable = database.Connection.RetrieveData(database.AdapterType, "SELECT ID From PhasorDetail WHERE DeviceID = {0}", DefaultTimeout, deviceID);
292289

293290
foreach (DataRow row in phasorTable.Rows)
294291
phasorList.Add(row.ConvertField<int>("ID"));
@@ -316,17 +313,14 @@ public static ObservableCollection<Phasor> Load(AdoDataConnection database, ILis
316313
{
317314
createdConnection = CreateConnection(ref database);
318315

319-
string query;
320316
string commaSeparatedKeys;
321317

322318
Phasor[] phasorList = null;
323319

324320
if (keys is not null && keys.Count > 0)
325321
{
326322
commaSeparatedKeys = keys.Select(key => $"{key}").Aggregate((str1, str2) => $"{str1},{str2}");
327-
query = $"SELECT ID, DeviceID, Label, Type, Phase, BaseKV, DestinationPhasorID, SourceIndex, CreatedBy, CreatedOn, UpdatedBy, UpdatedOn FROM Phasor WHERE ID IN ({commaSeparatedKeys})";
328-
329-
DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, query, DefaultTimeout);
323+
DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, "SELECT ID, DeviceID, Label, Type, Phase, BaseKV, DestinationPhasorID, SourceIndex, CreatedBy, CreatedOn, UpdatedBy, UpdatedOn FROM Phasor WHERE ID IN ({0})", DefaultTimeout, commaSeparatedKeys);
330324
phasorList = new Phasor[phasorTable.Rows.Count];
331325

332326
foreach (DataRow row in phasorTable.Rows)
@@ -573,7 +567,7 @@ public static Phasor GetPhasor(AdoDataConnection database, string whereClause)
573567
try
574568
{
575569
createdConnection = CreateConnection(ref database);
576-
DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, $"SELECT * FROM PhasorDetail {whereClause}");
570+
DataTable phasorTable = database.Connection.RetrieveData(database.AdapterType, "SELECT * FROM PhasorDetail {0}", whereClause);
577571

578572
if (phasorTable.Rows.Count == 0)
579573
return null;

Source/Libraries/GSF.TimeSeries/Configuration/DatabaseConfigurationLoader.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ private void ExecuteDataOperations(ulong trackingVersion = ulong.MinValue)
365365
{
366366
string assemblyName = "", typeName = "", methodName = "";
367367

368-
foreach (DataRow row in database.Connection.RetrieveData(database.AdapterType, $"SELECT * FROM DataOperation WHERE (NodeID IS NULL OR NodeID={NodeIDQueryString}) AND Enabled <> 0 ORDER BY LoadOrder").Rows)
368+
foreach (DataRow row in database.Connection.RetrieveData(database.AdapterType, "SELECT * FROM DataOperation WHERE (NodeID IS NULL OR NodeID={0}) AND Enabled <> 0 ORDER BY LoadOrder", NodeIDQueryString).Rows)
369369
{
370370
try
371371
{
@@ -410,7 +410,7 @@ private DataTable LoadTable(DataRow entityRow)
410410
{
411411
// Load configuration entity data filtered by node ID
412412
Ticks operationStartTime = DateTime.UtcNow.Ticks;
413-
DataTable source = database.Connection.RetrieveData(database.AdapterType, $"SELECT * FROM {entityRow["SourceName"]} WHERE NodeID={NodeIDQueryString}");
413+
DataTable source = database.Connection.RetrieveData(database.AdapterType, "SELECT * FROM {0} WHERE NodeID={1}", entityRow["SourceName"], NodeIDQueryString);
414414
Time operationElapsedTime = (DateTime.UtcNow.Ticks - operationStartTime).ToSeconds();
415415

416416
// Update table name as defined in configuration entity
@@ -526,7 +526,7 @@ private bool TrackedChangesAreValid(ulong currentVersion)
526526
private DataTable GetTrackedChanges(ulong currentVersion)
527527
{
528528
DataTable table = null;
529-
Execute(database => table = database.Connection.RetrieveData(database.AdapterType, $"SELECT * FROM TrackedChange WHERE ID > {currentVersion}"));
529+
Execute(database => table = database.Connection.RetrieveData(database.AdapterType, "SELECT * FROM TrackedChange WHERE ID > {0}", currentVersion));
530530
return table;
531531
}
532532

@@ -536,8 +536,8 @@ private DataTable GetChangedRecords(string tableName, string primaryKeyColumn, u
536536

537537
Execute(database =>
538538
{
539-
string query = $"SELECT * FROM {tableName} WHERE {primaryKeyColumn} IN (SELECT PrimaryKeyValue FROM TrackedChange WHERE TableName = '{tableName}' AND ID > {currentVersion}) AND NodeID = {NodeIDQueryString}";
540-
changes = database.Connection.RetrieveData(database.AdapterType, query);
539+
changes = database.Connection.RetrieveData(database.AdapterType, "SELECT * FROM {0} WHERE {1} IN " +
540+
"(SELECT PrimaryKeyValue FROM TrackedChange WHERE TableName = '{0}' AND ID > {2}) AND NodeID = {3}", tableName, primaryKeyColumn, currentVersion, NodeIDQueryString);
541541
});
542542

543543
return changes;

0 commit comments

Comments
 (0)