From 5f99e129ee6740f10c798088db18fc3f95818dbe Mon Sep 17 00:00:00 2001 From: DeathGOD7 <36422471+DeathGOD7@users.noreply.github.com> Date: Sun, 14 Apr 2024 04:14:14 +0545 Subject: [PATCH] fixed the varchar prim key bug plus added `....` to query --- .../deathgod7/SE7ENLib/database/dbtype/mysql/MySQL.java | 4 ++-- .../deathgod7/SE7ENLib/database/dbtype/sqlite/SQLite.java | 3 ++- .../deathgod7/SE7ENLib/database/handler/SQLOperations.java | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/mysql/MySQL.java b/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/mysql/MySQL.java index b34ce68..50fac23 100644 --- a/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/mysql/MySQL.java +++ b/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/mysql/MySQL.java @@ -77,7 +77,7 @@ private Connection connectMySQL() { config.setJdbcUrl("jdbc:mysql://" + cleanedUrl + "/" + this.dbName); config.setUsername(this.username); config.setPassword(this.password); - config.setDriverClassName("com.mysql.cj.jdbc.Driver"); + //config.setDriverClassName("com.mysql.cj.jdbc.Driver"); config.addDataSourceProperty("cachePrepStmts", "true"); config.addDataSourceProperty("prepStmtCacheSize", "250"); config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); @@ -115,7 +115,7 @@ public void loadMysqlTables() { } public Table loadTable(String tablename) { // query all the column name and its type - String query = "SHOW COLUMNS FROM " + tablename + ";"; + String query = "SHOW COLUMNS FROM `" + tablename + "`;"; LinkedHashMap columns = new LinkedHashMap<>(); String primarykey = ""; diff --git a/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/sqlite/SQLite.java b/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/sqlite/SQLite.java index 25bc964..cd69ffe 100644 --- a/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/sqlite/SQLite.java +++ b/src/main/java/io/github/deathgod7/SE7ENLib/database/dbtype/sqlite/SQLite.java @@ -148,7 +148,8 @@ public void loadSqliteTables() { // sqlite based querys public Table loadTable(String tablename) { // query all the column name and its type - String query = "SELECT * FROM pragma_table_info('" + tablename +"');"; + // String query = "SELECT * FROM pragma_table_info('" + tablename +"');"; + String query = "PRAGMA table_info(`" + tablename + "`);"; LinkedHashMap columns = new LinkedHashMap<>(); String primarykey = ""; diff --git a/src/main/java/io/github/deathgod7/SE7ENLib/database/handler/SQLOperations.java b/src/main/java/io/github/deathgod7/SE7ENLib/database/handler/SQLOperations.java index ea033da..73cd83c 100644 --- a/src/main/java/io/github/deathgod7/SE7ENLib/database/handler/SQLOperations.java +++ b/src/main/java/io/github/deathgod7/SE7ENLib/database/handler/SQLOperations.java @@ -113,6 +113,7 @@ public boolean createTable(Table table, DatabaseType dbtype) { // primary key columns query.append("`").append(table.getPrimaryKey().getName()).append("` "); query.append(this.parseInputDataType(table.getPrimaryKey().getDataType())); + query.append(table.getPrimaryKey().getLimit() > 0 ? " (" + table.getPrimaryKey().getLimit() + ")" : ""); query.append(" PRIMARY KEY"); if (dbtype == DatabaseType.SQLite && table.getPrimaryKey().isAutoIncrement()) { query.append(" AUTOINCREMENT"); @@ -125,8 +126,8 @@ else if (dbtype == DatabaseType.MySQL && table.getPrimaryKey().isAutoIncrement() for (Column column : table.getColumns()) { query.append("`").append(column.getName()).append("` "); query.append(this.parseInputDataType(column.getDataType())); - query.append(column.getLimit() > 0 ? " (" + column.getLimit() + ") " : ""); - query.append(column.getDefaultValue() != null ? " DEFAULT '" + column.getDefaultValue() + "' " : ""); + query.append(column.getLimit() > 0 ? " (" + column.getLimit() + ")" : ""); + query.append(column.getDefaultValue() != null ? " DEFAULT '" + column.getDefaultValue() + "'" : ""); query.append(!column.isNullable() ? " NOT NULL, " : ", "); } // end closing