diff --git a/lib/controller/handler.py b/lib/controller/handler.py index 399a4384e..91446e6bb 100644 --- a/lib/controller/handler.py +++ b/lib/controller/handler.py @@ -20,6 +20,7 @@ from lib.core.settings import FIREBIRD_ALIASES from lib.core.settings import MAXDB_ALIASES from lib.core.settings import SYBASE_ALIASES from lib.core.settings import DB2_ALIASES +from lib.core.settings import HSQL_ALIASES from lib.utils.sqlalchemy import SQLAlchemy from plugins.dbms.mssqlserver import MSSQLServerMap @@ -42,6 +43,8 @@ from plugins.dbms.sybase import SybaseMap from plugins.dbms.sybase.connector import Connector as SybaseConn from plugins.dbms.db2 import DB2Map from plugins.dbms.db2.connector import Connector as DB2Conn +from plugins.dbms.hsql import HSQLMap +from plugins.dbms.hsql.connector import Connector as HSQLConn def setHandler(): """ @@ -60,6 +63,7 @@ def setHandler(): (DBMS.MAXDB, MAXDB_ALIASES, MaxDBMap, MaxDBConn), (DBMS.SYBASE, SYBASE_ALIASES, SybaseMap, SybaseConn), (DBMS.DB2, DB2_ALIASES, DB2Map, DB2Conn), + (DBMS.HSQL, HSQL_ALIASES, HSQLMap, HSQLConn), ] _ = max(_ if (Backend.getIdentifiedDbms() or "").lower() in _[1] else None for _ in items) diff --git a/lib/core/enums.py b/lib/core/enums.py index 204cd7919..e707ecc29 100644 --- a/lib/core/enums.py +++ b/lib/core/enums.py @@ -33,6 +33,7 @@ class DBMS: PGSQL = "PostgreSQL" SQLITE = "SQLite" SYBASE = "Sybase" + HSQL = "HyperSQL" class DBMS_DIRECTORY_NAME: ACCESS = "access" @@ -45,6 +46,7 @@ class DBMS_DIRECTORY_NAME: PGSQL = "postgresql" SQLITE = "sqlite" SYBASE = "sybase" + HSQL = "hsql" class CUSTOM_LOGGING: PAYLOAD = 9 diff --git a/plugins/generic/databases.py b/plugins/generic/databases.py index c37fad3b3..8c8c501be 100644 --- a/plugins/generic/databases.py +++ b/plugins/generic/databases.py @@ -510,7 +510,7 @@ class Databases: infoMsg += "in database '%s'" % unsafeSQLIdentificatorNaming(conf.db) logger.info(infoMsg) - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQL): query = rootQuery.inband.query % (unsafeSQLIdentificatorNaming(tbl), unsafeSQLIdentificatorNaming(conf.db)) query += condQuery elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2): @@ -522,7 +522,7 @@ class Databases: query += condQuery.replace("[DB]", conf.db) elif Backend.getIdentifiedDbms() in (DBMS.SQLITE, DBMS.FIREBIRD): query = rootQuery.inband.query % tbl - + values = inject.getValue(query, blind=False, time=False) if Backend.isDbms(DBMS.MSSQL) and isNoneValue(values): diff --git a/plugins/generic/entries.py b/plugins/generic/entries.py index b381f1e97..64a74b4c0 100644 --- a/plugins/generic/entries.py +++ b/plugins/generic/entries.py @@ -159,7 +159,7 @@ class Entries: entries = zip(*[entries[colName] for colName in colList]) else: query = rootQuery.inband.query % (colString, conf.db, tbl) - elif Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL): + elif Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQL): query = rootQuery.inband.query % (colString, conf.db, tbl, prioritySortColumns(colList)[0]) else: query = rootQuery.inband.query % (colString, conf.db, tbl)