Reverts SQL query identifier escaping to simplify queries and improves overall readability by using lowercase column names.
Enhances maintainability and alignment with database conventions by adopting a uniform casing scheme across all SQL operations.
Removes unnecessary complexity in query construction, streamlining the database operations performed within the application.
Improves SQL query execution by ensuring proper casing for identifiers across various database types, particularly for Postgres.
Enhances security and compatibility by using an identifier escaping method, preventing potential errors due to case sensitivity in SQL queries.
Addresses potential issues with existing queries for better reliability and consistency.
Consolidates the creation of SQL query builders across multiple classes to ensure a unified approach for database operations.
Replaces manual type checks and specific query creators with a generic method for better maintainability and to prevent errors.
Improves code readability and reduces duplication, facilitating easier updates in the future.
Implements pattern matching for easier identification of database types.
Adds support for Postgres alongside existing Sqlite and MySQL types, enhancing flexibility for database connections.
Updates enum to include Postgres type.
There is a slight change the the way QueryResult works in order to satisfy the variances in the new library.
Disposing of the command with the reader appears to solve this, and hopefully, with minimal impact to plugins.
If there's one thing I learned in this exercise, it's that letting
people add random python scripts to the repo like gpltext.py that
promise to be easier than find and replace is a bad idea.
GetSqlType() does not recognise System.Data.SQLite.Core because the type of the SQL connection class has been renamed to `SQLiteConnection` from `SqliteConnection`. This commit adds support for both, so that the DB manager classes can operate with plugins which reference the new SQLite ADO.net providers from NuGet.
-sqlite altering
-implemented mysql
Todo:
-Merge SqlTableCreator into the querybuilders or make it static
-Make all the managers use the querybuilder for making tables. (See GroupManager.cs for an example)
-Implement more datatypes (see TypesAsStrings in IQueryBuilder.cs)