• Resolved callistodig

    (@callistodig)


    I have replication running on my database server(s) which requires a primary key on all tables. It looks like your cleantalk_sfw table does not have a primary key defined. It is possible to add a primary key to this table?

    When I activate the plugin I get the following:

    ArrayObject Object
    (
    [storage:ArrayObject:private] => Array
    (
    [21:41:02_ACTION_activate_cleantalk-spam-protect/cleantalk.php_FUNCTION_] => Array
    (
    [0] => Failed.
    Query: CREATE TABLE IF NOT EXISTS wp_XXXXXXXXXX_cleantalk_sfw (
    network int(11) unsigned NOT NULL,
    mask int(11) unsigned NOT NULL,
    status TINYINT(1) NOT NULL DEFAULT 0,
    INDEX ( network , mask )
    );
    Error: Unable to create or change a table without a primary key, when the system variable ‘sql_require_primary_key’ is set. Add a primary key to the table or unset this variable to avoid this message. Note that tables without a primary key can cause performance problems in row-based replication, so please consult your DBA before changing this setting.
    )

    )

    )

Viewing 15 replies - 1 through 15 (of 15 total)
  • Plugin Author alexandergull

    (@alexandergull)

    Hello.

    I transfer this info to the development group.

    We will contact you within 2-3 workdays.

    Be well,

    Thread Starter callistodig

    (@callistodig)

    Hi,

    Just wanted to check-in on this.

    Thanks!

    Plugin Author alexandergull

    (@alexandergull)

    Unfortunately, we can not solve the issue on the specified date.
    We need an additional 3 workdays to fix it.
    All the best,

    Thread Starter callistodig

    (@callistodig)

    Hi, any news? I’d really like to be able to activate and use the plugin on this site.

    Plugin Support sergecleantalk

    (@sergecleantalk)

    Hello,

    We still working on this. We will contact you by the end of this week.

    Plugin Support Safronik

    (@safronik)

    Hello,

    Thank you for the feedback! We have added the primary key to the PREFIX_cleantalk_sfw table.

    Please, reinstall the plugin. ( Download link: https://github.com/CleanTalk/wordpress-antispam/releases/download/dev-version/cleantalk-spam-protect.zip )

    Here is an instruction:

    1. Go to WordPress Administrator Panel —> Plugins.
    2. Find the plugin “Spam Protection by CleanTalk” —> Deactivate.
    3. After the automatic page refresh find the plugin again “Spam Protection by CleanTalk” —> Delete. Confirm “Yes, delete these files”.
    5. Go to Plugins —> Add New —> Upload Plugin.
    4. Download the plugin archive from the link above.
    6. Choose the downloaded archive and press “Install Now”.

    Contact us if you have any questions.

    Thread Starter callistodig

    (@callistodig)

    Hi,

    First I went into Settings > Anti-Spam by CleanTalk and clicked “Drop debug data” to be sure no previous errors remained in the database. Then I followed your directions. However, I still receive the following after activating the plugin:

    ArrayObject Object
    (
    [storage:ArrayObject:private] => Array
    (
    [02:23:06_ACTION_activate_cleantalk-spam-protect/cleantalk.php_FUNCTION_] => Array
    (
    [0] => Failed.
    Query: CREATE TABLE IF NOT EXISTS wp_XXXXXXXXXX_cleantalk_sfw (
    network int(11) unsigned NOT NULL,
    mask int(11) unsigned NOT NULL,
    status TINYINT(1) NOT NULL DEFAULT 0,
    INDEX ( network , mask )
    );
    Error: Unable to create or change a table without a primary key, when the system variable ‘sql_require_primary_key’ is set. Add a primary key to the table or unset this variable to avoid this message. Note that tables without a primary key can cause performance problems in row-based replication, so please consult your DBA before changing this setting.
    )

    )

    )

    The function apbct_activation does not reflect it is trying to create the table with a primary key:

    $sqls[] = ‘CREATE TABLE IF NOT EXISTS %scleantalk_sfw (
    network int(11) unsigned NOT NULL,
    mask int(11) unsigned NOT NULL,
    status TINYINT(1) NOT NULL DEFAULT 0,
    INDEX ( network , mask )
    );’;

    Plugin Support Safronik

    (@safronik)

    Hello,

    Fixed. Please, try to re-install plugin again by using the instruction above.

    Contact us if you have questions.

    p.s.: Link to the archive is the same.

    • This reply was modified 3 years, 6 months ago by Safronik.
    Thread Starter callistodig

    (@callistodig)

    Confirmed, thank you! Installed and activated successfully. I assume this will be rolled up into the next update?

    Plugin Support SergeM

    (@serge00)

    Yes, of course. All changes will be included in the next plugin releases.

    Thank you.

    Thread Starter callistodig

    (@callistodig)

    Thank you! Really appreciate the fix!

    Plugin Support SergeM

    (@serge00)

    You are welcome!

    Thread Starter callistodig

    (@callistodig)

    On this dev version, I am getting many entries to my error_log looking like:

    [03-Oct-2020 23:53:50 UTC] WordPress database error Unknown column ‘status’ in ‘field list’ for query SELECT
    network, mask, status
    FROM wp_XXXXXXXX_cleantalk_sfw
    WHERE network IN (587202560,595591168,599785472,601882624,602931200,603193344,603258880,603267072,603267200,603267264,603267272,603267276,603267278)
    AND network = 603267278 & mask made by require(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), include_once(‘/plugins/cleantalk-spam-protect/cleantalk.php’), apbct_sfw__check, Cleantalk\Common\Firewall->run, Cleantalk\ApbctWP\Firewall\SFW->check, Cleantalk\ApbctWP\DB->fetch_all

    Plugin Support sergecleantalk

    (@sergecleantalk)

    We will discuss this with our developers.

    Hello,

    It was fixed, you can re-download archive by the link above, or just wait for the next stable release (on this week).

Viewing 15 replies - 1 through 15 (of 15 total)
  • The topic ‘No Primary Key on Table’ is closed to new replies.