diff options
Diffstat (limited to 'vendor/thecodingmachine/safe/generated/mysqlndQc.php')
-rw-r--r-- | vendor/thecodingmachine/safe/generated/mysqlndQc.php | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/vendor/thecodingmachine/safe/generated/mysqlndQc.php b/vendor/thecodingmachine/safe/generated/mysqlndQc.php new file mode 100644 index 000000000..9a99a379c --- /dev/null +++ b/vendor/thecodingmachine/safe/generated/mysqlndQc.php @@ -0,0 +1,103 @@ +<?php + +namespace Safe; + +use Safe\Exceptions\MysqlndQcException; + +/** + * Flush all cache contents. + * + * Flushing the cache is a storage handler responsibility. + * All built-in storage handler but the + * memcache storage + * handler support flushing the cache. The + * memcache + * storage handler cannot flush its cache contents. + * + * User-defined storage handler may or may not support the operation. + * + * @throws MysqlndQcException + * + */ +function mysqlnd_qc_clear_cache(): void +{ + error_clear_last(); + $result = \mysqlnd_qc_clear_cache(); + if ($result === false) { + throw MysqlndQcException::createFromPhpError(); + } +} + + +/** + * Installs a callback which decides whether a statement is cached. + * + * There are several ways of hinting PELC/mysqlnd_qc to cache a query. + * By default, PECL/mysqlnd_qc attempts to cache a if caching of all statements + * is enabled or the query string begins with a certain SQL hint. + * The plugin internally calls a function named is_select() + * to find out. This internal function can be replaced with a user-defined callback. + * Then, the user-defined callback is responsible to decide whether the plugin + * attempts to cache a statement. Because the internal function is replaced + * with the callback, the callback gains full control. The callback is free + * to ignore the configuration setting mysqlnd_qc.cache_by_default + * and SQL hints. + * + * The callback is invoked for every statement inspected by the plugin. + * It is given the statements string as a parameter. The callback returns + * FALSE if the statement shall not be cached. It returns TRUE to + * make the plugin attempt to cache the statements result set, if any. + * A so-created cache entry is given the default TTL set with the + * PHP configuration directive mysqlnd_qc.ttl. + * If a different TTL shall be used, the callback returns a numeric + * value to be used as the TTL. + * + * The internal is_select function is part of the internal + * cache storage handler interface. Thus, a user-defined storage handler + * offers the same capabilities. + * + * @param string $callback + * @return mixed Returns TRUE on success. + * @throws MysqlndQcException + * + */ +function mysqlnd_qc_set_is_select(string $callback) +{ + error_clear_last(); + $result = \mysqlnd_qc_set_is_select($callback); + if ($result === false) { + throw MysqlndQcException::createFromPhpError(); + } + return $result; +} + + +/** + * Sets the storage handler used by the query cache. A list of available + * storage handler can be obtained from + * mysqlnd_qc_get_available_handlers. + * Which storage are available depends on the compile time + * configuration of the query cache plugin. The + * default storage handler is always available. + * All other storage handler must be enabled explicitly when building the + * extension. + * + * @param string $handler Handler can be of type string representing the name of a + * built-in storage handler or an object of type + * mysqlnd_qc_handler_default. + * The names of the built-in storage handler are + * default, + * APC, + * MEMCACHE, + * sqlite. + * @throws MysqlndQcException + * + */ +function mysqlnd_qc_set_storage_handler(string $handler): void +{ + error_clear_last(); + $result = \mysqlnd_qc_set_storage_handler($handler); + if ($result === false) { + throw MysqlndQcException::createFromPhpError(); + } +} |