From 352e747cb5faed1b735f2a1442fd9e0183e0e3f9 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 27 Mar 2025 13:52:11 +0100 Subject: [PATCH] MEDIUMTEXT for maridb driver for contents column --- resources/sql/db_init_sqlite.sql | 4 ++-- src/librssguard/database/databasedriver.cpp | 1 + src/librssguard/database/databasedriver.h | 1 + src/librssguard/database/mariadbdriver.cpp | 4 ++++ src/librssguard/database/mariadbdriver.h | 1 + src/librssguard/database/sqlitedriver.cpp | 4 ++++ src/librssguard/database/sqlitedriver.h | 1 + src/librssguard/definitions/definitions.h | 1 + 8 files changed, 15 insertions(+), 2 deletions(-) diff --git a/resources/sql/db_init_sqlite.sql b/resources/sql/db_init_sqlite.sql index 62af2450c..ac503d9ae 100644 --- a/resources/sql/db_init_sqlite.sql +++ b/resources/sql/db_init_sqlite.sql @@ -74,7 +74,7 @@ CREATE TABLE Messages ( url TEXT, author TEXT, date_created BIGINT NOT NULL CHECK (date_created >= 0), - contents TEXT, + contents **, enclosures TEXT, score REAL NOT NULL DEFAULT 0.0 CHECK (score >= 0.0 AND score <= 100.0), account_id INTEGER NOT NULL, @@ -118,4 +118,4 @@ CREATE TABLE Probes ( account_id INTEGER NOT NULL, FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE -); \ No newline at end of file +); diff --git a/src/librssguard/database/databasedriver.cpp b/src/librssguard/database/databasedriver.cpp index 3134b716e..00fd016c7 100644 --- a/src/librssguard/database/databasedriver.cpp +++ b/src/librssguard/database/databasedriver.cpp @@ -103,6 +103,7 @@ QStringList DatabaseDriver::prepareScript(const QString& base_sql_folder, statements = statements.replaceInStrings(QSL(APP_DB_NAME_PLACEHOLDER), database_name); statements = statements.replaceInStrings(QSL(APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER), autoIncrementPrimaryKey()); statements = statements.replaceInStrings(QSL(APP_DB_BLOB_PLACEHOLDER), blob()); + statements = statements.replaceInStrings(QSL(APP_DB_TEXT_PLACEHOLDER), text()); return statements; } diff --git a/src/librssguard/database/databasedriver.h b/src/librssguard/database/databasedriver.h index 2c7abcf9f..481523e37 100644 --- a/src/librssguard/database/databasedriver.h +++ b/src/librssguard/database/databasedriver.h @@ -38,6 +38,7 @@ class RSSGUARD_DLLSPEC DatabaseDriver : public QObject { virtual DriverType driverType() const = 0; virtual QString autoIncrementPrimaryKey() const = 0; virtual QString blob() const = 0; + virtual QString text() const = 0; virtual bool vacuumDatabase() = 0; virtual bool saveDatabase() = 0; virtual void backupDatabase(const QString& backup_folder, const QString& backup_name) = 0; diff --git a/src/librssguard/database/mariadbdriver.cpp b/src/librssguard/database/mariadbdriver.cpp index c36d9636b..d62b65833 100644 --- a/src/librssguard/database/mariadbdriver.cpp +++ b/src/librssguard/database/mariadbdriver.cpp @@ -274,3 +274,7 @@ QString MariaDbDriver::autoIncrementPrimaryKey() const { QString MariaDbDriver::blob() const { return QSL("MEDIUMBLOB"); } + +QString MariaDbDriver::text() const { + return QSL("MEDIUMTEXT"); +} diff --git a/src/librssguard/database/mariadbdriver.h b/src/librssguard/database/mariadbdriver.h index 799839a77..bb69ce759 100644 --- a/src/librssguard/database/mariadbdriver.h +++ b/src/librssguard/database/mariadbdriver.h @@ -43,6 +43,7 @@ class MariaDbDriver : public DatabaseDriver { DatabaseDriver::DesiredStorageType::FromSettings); virtual QString autoIncrementPrimaryKey() const; virtual QString blob() const; + virtual QString text() const; QString interpretErrorCode(MariaDbError error_code) const; diff --git a/src/librssguard/database/sqlitedriver.cpp b/src/librssguard/database/sqlitedriver.cpp index 00e7b95b8..9baf58038 100644 --- a/src/librssguard/database/sqlitedriver.cpp +++ b/src/librssguard/database/sqlitedriver.cpp @@ -406,3 +406,7 @@ QString SqliteDriver::autoIncrementPrimaryKey() const { QString SqliteDriver::blob() const { return QSL("BLOB"); } + +QString SqliteDriver::text() const { + return QSL("TEXT"); +} diff --git a/src/librssguard/database/sqlitedriver.h b/src/librssguard/database/sqlitedriver.h index 66d777157..c1d4409b1 100644 --- a/src/librssguard/database/sqlitedriver.h +++ b/src/librssguard/database/sqlitedriver.h @@ -33,6 +33,7 @@ class SqliteDriver : public DatabaseDriver { virtual void backupDatabase(const QString& backup_folder, const QString& backup_name); virtual QString autoIncrementPrimaryKey() const; virtual QString blob() const; + virtual QString text() const; private: QSqlDatabase initializeDatabase(const QString& connection_name, bool in_memory); diff --git a/src/librssguard/definitions/definitions.h b/src/librssguard/definitions/definitions.h index 4c5227138..536d2135f 100644 --- a/src/librssguard/definitions/definitions.h +++ b/src/librssguard/definitions/definitions.h @@ -237,6 +237,7 @@ #define APP_DB_NAME_PLACEHOLDER "##" #define APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER "$$" #define APP_DB_BLOB_PLACEHOLDER "^^" +#define APP_DB_TEXT_PLACEHOLDER "**" #define APP_CFG_PATH "config" #define APP_CFG_FILE "config.ini"