WordPress / WordPress/sqlite-database-integration

DB issue when using mailpoet

Open
#422 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
363
Forks
67
Avg merge
2d 15h
Merged PRs (30d)
7

Description

hi guys/gals/thembies/furries,

please excuse my ignorance, but I've been running sqlite dbs on my sites for a while now and it's been fantastic. Measurable performance improvements and overall top marks 😄

however, recently I encountered an issue with mailpoet (mailer sending plugin) which seems to throw a sqlite error.

Initially I reported it to mailpoet staff who have taken note but pointed out this might be worth reporting here too, so here I am.

I'm not expecting anything, just reporting this in the hope that it's useful information to someone.

As of version 5.28 of mailpoet i have been seeing the following error at the top of the admin dashboard (below).

Hopefully it makes more sense to y'all than it does me.

Thank you for your work so far. The SQLite integration has been awesome and hopefully this helps in improving compatibility.

best wishes,

Plus8


Migration "MailPoet\Migrations\Db\Migration_20260504_120000_Db" failed. Details: An exception occurred while executing a query:

MySQL query:

SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'wp_mailpoet_subscribers'
AND COLUMN_NAME = 'source'

Queries made or created this session were:

Executing: BEGIN | (no parameters)

Executing: SELECT COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = :param0
AND COLUMN_NAME = :param1 | parameters: wp_mailpoet_subscribers, source

Executing: ROLLBACK | (no parameters)

Error occurred at line 4229 in Function handle_error. Error message was: SQLSTATE[HY000]: General error: 1 no such table: INFORMATION_SCHEMA.COLUMNS.

Backtrace:

#0 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(549): WP_SQLite_Translator->get_error_message()

#1 /var/www/plus8/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(455): WP_SQLite_DB->_do_query()
#2 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(115): WP_SQLite_DB->query()
#3 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Connection.php(35): MailPoet\Doctrine\WPDB\Connection->runQuery()
#4 /var/www/plus8/wp-content/plugins/mailpoet/lib/Doctrine/WPDB/Statement.php(71): MailPoet\Doctrine\WPDB\Connection->query()
#5 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Connection.php(418): MailPoet\Doctrine\WPDB\Statement->execute()
#6 /var/www/plus8/wp-content/plugins/mailpoet/vendor-prefixed/doctrine/dbal/src/Connection.php(257): MailPoetVendor\Doctrine\DBAL\Connection->executeQuery()
#7 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrations/Db/Migration_20260504_120000_Db.php(21): MailPoetVendor\Doctrine\DBAL\Connection->fetchOne()
#8 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Runner.php(35): MailPoet\Migrations\Db\Migration_20260504_120000_Db->run()
#9 /var/www/plus8/wp-content/plugins/mailpoet/lib/Migrator/Migrator.php(53): MailPoet\Migrator\Runner->runMigration()
#10 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(85): MailPoet\Migrator\Migrator->run()
#11 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Activator.php(67): MailPoet\Config\Activator->processActivate()
#12 /var/www/plus8/wp-content/plugins/mailpoet/lib/Config/Initializer.php(493): MailPoet\Config\Activator->activate()
#13 /var/www/plus8/wp-includes/class-wp-hook.php(341): MailPoet\Config\Initializer->maybeRunActivator()
#14 /var/www/plus8/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#15 /var/www/plus8/wp-includes/plugin.php(522): WP_Hook->do_action()
#16 /var/www/plus8/wp-settings.php(771): do_action()
#17 /var/www/plus8/wp-config.php(103): require_once('...')
#18 /var/www/plus8/wp-load.php(50): require_once('...')
#19 /var/www/plus8/wp-admin/admin.php(35): require_once('...')
#20 /var/www/plus8/wp-admin/index.php(10): require_once('...')
#21 {main}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with wp-includes/sqlite/class-wp-sqlite-db.php and the MailPoet migration shown in the backtrace, lib/Migrations/Db/Migration_20260504_120000_Db.php. Trace how the INFORMATION_SCHEMA.COLUMNS query is handled by the SQLite integration and use the reported migration failure as the reproduction case. Done means the MailPoet migration no longer fails with a missing INFORMATION_SCHEMA.COLUMNS table.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, sqlite
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.