---
name: "Wiki::Toolkit::Store::MySQL"
section: "3pm"
platform: "linux"
package: "libwiki-toolkit-perl"
version: "0.86-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Wiki::Toolkit::Store::MySQL"
---

# Wiki::Toolkit::Store::MySQL(3pm)

MySQL storage backend for Wiki::Toolkit

## NAME

Wiki::Toolkit::Store::MySQL - MySQL storage backend for Wiki::Toolkit

## REQUIRES

Subclasses Wiki::Toolkit::Store::Database.

## SYNOPSIS

See Wiki::Toolkit::Store::Database

## METHODS

- **check\_and\_write\_node**

  ```
    $store->check_and_write_node( node     => $node,
                  checksum => $checksum,
                                  %other_args );
  ```

  Locks the node, verifies the checksum, calls `"write_node_post_locking"` with all supplied arguments, unlocks the node. Returns the version of the updated node on successful writing, 0 if checksum doesn't match, -1 if the change was not applied, croaks on error.

  Note:  Uses MySQL's user level locking, so any locks are released when the database handle disconnects.  Doing it like this because I can't seem to get it to work properly with transactions.
