MEDIUMTEXT for maridb driver for contents column

This commit is contained in:
Martin Rotter 2025-03-27 13:52:11 +01:00
parent 81ed3f888c
commit 352e747cb5
8 changed files with 15 additions and 2 deletions

View file

@ -74,7 +74,7 @@ CREATE TABLE Messages (
url TEXT, url TEXT,
author TEXT, author TEXT,
date_created BIGINT NOT NULL CHECK (date_created >= 0), date_created BIGINT NOT NULL CHECK (date_created >= 0),
contents TEXT, contents **,
enclosures TEXT, enclosures TEXT,
score REAL NOT NULL DEFAULT 0.0 CHECK (score >= 0.0 AND score <= 100.0), score REAL NOT NULL DEFAULT 0.0 CHECK (score >= 0.0 AND score <= 100.0),
account_id INTEGER NOT NULL, account_id INTEGER NOT NULL,

View file

@ -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_NAME_PLACEHOLDER), database_name);
statements = statements.replaceInStrings(QSL(APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER), autoIncrementPrimaryKey()); 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_BLOB_PLACEHOLDER), blob());
statements = statements.replaceInStrings(QSL(APP_DB_TEXT_PLACEHOLDER), text());
return statements; return statements;
} }

View file

@ -38,6 +38,7 @@ class RSSGUARD_DLLSPEC DatabaseDriver : public QObject {
virtual DriverType driverType() const = 0; virtual DriverType driverType() const = 0;
virtual QString autoIncrementPrimaryKey() const = 0; virtual QString autoIncrementPrimaryKey() const = 0;
virtual QString blob() const = 0; virtual QString blob() const = 0;
virtual QString text() const = 0;
virtual bool vacuumDatabase() = 0; virtual bool vacuumDatabase() = 0;
virtual bool saveDatabase() = 0; virtual bool saveDatabase() = 0;
virtual void backupDatabase(const QString& backup_folder, const QString& backup_name) = 0; virtual void backupDatabase(const QString& backup_folder, const QString& backup_name) = 0;

View file

@ -274,3 +274,7 @@ QString MariaDbDriver::autoIncrementPrimaryKey() const {
QString MariaDbDriver::blob() const { QString MariaDbDriver::blob() const {
return QSL("MEDIUMBLOB"); return QSL("MEDIUMBLOB");
} }
QString MariaDbDriver::text() const {
return QSL("MEDIUMTEXT");
}

View file

@ -43,6 +43,7 @@ class MariaDbDriver : public DatabaseDriver {
DatabaseDriver::DesiredStorageType::FromSettings); DatabaseDriver::DesiredStorageType::FromSettings);
virtual QString autoIncrementPrimaryKey() const; virtual QString autoIncrementPrimaryKey() const;
virtual QString blob() const; virtual QString blob() const;
virtual QString text() const;
QString interpretErrorCode(MariaDbError error_code) const; QString interpretErrorCode(MariaDbError error_code) const;

View file

@ -406,3 +406,7 @@ QString SqliteDriver::autoIncrementPrimaryKey() const {
QString SqliteDriver::blob() const { QString SqliteDriver::blob() const {
return QSL("BLOB"); return QSL("BLOB");
} }
QString SqliteDriver::text() const {
return QSL("TEXT");
}

View file

@ -33,6 +33,7 @@ class SqliteDriver : public DatabaseDriver {
virtual void backupDatabase(const QString& backup_folder, const QString& backup_name); virtual void backupDatabase(const QString& backup_folder, const QString& backup_name);
virtual QString autoIncrementPrimaryKey() const; virtual QString autoIncrementPrimaryKey() const;
virtual QString blob() const; virtual QString blob() const;
virtual QString text() const;
private: private:
QSqlDatabase initializeDatabase(const QString& connection_name, bool in_memory); QSqlDatabase initializeDatabase(const QString& connection_name, bool in_memory);

View file

@ -237,6 +237,7 @@
#define APP_DB_NAME_PLACEHOLDER "##" #define APP_DB_NAME_PLACEHOLDER "##"
#define APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER "$$" #define APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER "$$"
#define APP_DB_BLOB_PLACEHOLDER "^^" #define APP_DB_BLOB_PLACEHOLDER "^^"
#define APP_DB_TEXT_PLACEHOLDER "**"
#define APP_CFG_PATH "config" #define APP_CFG_PATH "config"
#define APP_CFG_FILE "config.ini" #define APP_CFG_FILE "config.ini"