From 67202d27f7c9e874cbf25b6c1c6a7c8e72e60761 Mon Sep 17 00:00:00 2001
From: flashwave <me@flash.moe>
Date: Tue, 29 Apr 2025 22:14:51 +0000
Subject: [PATCH] Fixes

---
 SharpChat.MariaDB/MariaDBConnection.cs | 3 +++
 SharpChat.SQLite/SQLiteConnection.cs   | 3 +++
 SharpChat/Program.cs                   | 5 +----
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/SharpChat.MariaDB/MariaDBConnection.cs b/SharpChat.MariaDB/MariaDBConnection.cs
index 9ae565c..8f0e052 100644
--- a/SharpChat.MariaDB/MariaDBConnection.cs
+++ b/SharpChat.MariaDB/MariaDBConnection.cs
@@ -8,6 +8,7 @@ public class MariaDBConnection(MySqlConnection conn) : IDisposable {
 
     public async Task<int> RunCommand(string command, params MySqlParameter[] parameters) {
         using MySqlCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
@@ -16,6 +17,7 @@ public class MariaDBConnection(MySqlConnection conn) : IDisposable {
 
     public async Task<MySqlDataReader?> RunQuery(string command, params MySqlParameter[] parameters) {
         using MySqlCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
@@ -25,6 +27,7 @@ public class MariaDBConnection(MySqlConnection conn) : IDisposable {
     public async Task<T> RunQueryValue<T>(string command, params MySqlParameter[] parameters)
         where T : struct {
         using MySqlCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
diff --git a/SharpChat.SQLite/SQLiteConnection.cs b/SharpChat.SQLite/SQLiteConnection.cs
index fbad246..cae13dd 100644
--- a/SharpChat.SQLite/SQLiteConnection.cs
+++ b/SharpChat.SQLite/SQLiteConnection.cs
@@ -9,6 +9,7 @@ public class SQLiteConnection(NativeSQLiteConnection conn) : IDisposable {
 
     public async Task<int> RunCommand(string command, params SQLiteParameter[] parameters) {
         using SQLiteCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
@@ -17,6 +18,7 @@ public class SQLiteConnection(NativeSQLiteConnection conn) : IDisposable {
 
     public async Task<DbDataReader?> RunQuery(string command, params SQLiteParameter[] parameters) {
         using SQLiteCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
@@ -26,6 +28,7 @@ public class SQLiteConnection(NativeSQLiteConnection conn) : IDisposable {
     public async Task<T> RunQueryValue<T>(string command, params SQLiteParameter[] parameters)
         where T : struct {
         using SQLiteCommand cmd = Connection.CreateCommand();
+        cmd.Parameters.Clear();
         if(parameters?.Length > 0)
             cmd.Parameters.AddRange(parameters);
         cmd.CommandText = command;
diff --git a/SharpChat/Program.cs b/SharpChat/Program.cs
index c130d80..c7a2a00 100644
--- a/SharpChat/Program.cs
+++ b/SharpChat/Program.cs
@@ -1,12 +1,9 @@
 using Microsoft.Extensions.Logging;
-using MySqlConnector;
 using SharpChat;
 using SharpChat.Configuration;
 using SharpChat.Flashii;
 using SharpChat.MariaDB;
 using SharpChat.SQLite;
-using System.Data.SQLite;
-using System.Reflection.PortableExecutable;
 using System.Text;
 using ZLogger;
 using ZLogger.Providers;
@@ -157,7 +154,7 @@ if(cts.IsCancellationRequested) return;
 if(args.Contains("--migrate-storage") || args.Contains("--convert-db")) {
     MariaDBStorage mariadb = new(logFactory.CreateLogger("mariadb"), MariaDBStorage.BuildConnectionString(config.ScopeTo("mariadb")));
     using SQLiteStorage sqlite = new(logFactory.CreateLogger("sqlite"), SQLiteStorage.BuildConnectionString(config.ScopeTo("sqlite"), false));
-    await new StorageMigrator(logFactory.CreateLogger("migrate"), mariadb, sqlite).Migrate(cts.Token);
+    await new StorageMigrator(logFactory.CreateLogger("migrate"), sqlite, mariadb).Migrate(cts.Token);
     return;
 }