From 8e2b781577f0273ef6a13ef657fefc1ce651e7d4 Mon Sep 17 00:00:00 2001 From: mikesaintsg <45922630+mikesaintsg@users.noreply.github.com> Date: Fri, 26 Mar 2021 10:44:30 -0400 Subject: [PATCH 001/444] Update swoole-async-readfile.xml Grammar correction, "read" is the correct past tense. Closes GH-504. Signed-off-by: Christoph M. Becker --- reference/swoole/functions/swoole-async-readfile.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/swoole/functions/swoole-async-readfile.xml b/reference/swoole/functions/swoole-async-readfile.xml index 659e1b8ee2..410f9f3e0c 100644 --- a/reference/swoole/functions/swoole-async-readfile.xml +++ b/reference/swoole/functions/swoole-async-readfile.xml @@ -52,7 +52,7 @@ content - The content readed from the file. + The content read from the file. From d6cd01d707f065e852e9495061da6b923d7f3422 Mon Sep 17 00:00:00 2001 From: Samuel Gfeller <31797204+samuelgfeller@users.noreply.github.com> Date: Tue, 30 Mar 2021 12:06:21 +0200 Subject: [PATCH 002/444] Added empty string case to is_numeric code example doc Closes GH-508. Signed-off-by: Christoph M. Becker --- reference/var/functions/is-numeric.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reference/var/functions/is-numeric.xml b/reference/var/functions/is-numeric.xml index f9d8235bd7..9ec8eb36d3 100644 --- a/reference/var/functions/is-numeric.xml +++ b/reference/var/functions/is-numeric.xml @@ -67,7 +67,8 @@ $tests = array( "not numeric", array(), 9.1, - null + null, + '', ); foreach ($tests as $element) { @@ -98,6 +99,7 @@ array ( ) is NOT numeric 9.1 is numeric NULL is NOT numeric +'' is NOT numeric ]]> From 34f991853507ec328336f0fb79b839faa043e92a Mon Sep 17 00:00:00 2001 From: Deleu Date: Wed, 3 Mar 2021 19:10:08 +0100 Subject: [PATCH 003/444] Update documentation related to PHP Tokens Co-authored-by: Christoph M. Becker Closes GH-474. Signed-off-by: Christoph M. Becker --- appendices/tokens.xml | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/appendices/tokens.xml b/appendices/tokens.xml index f22474a11d..a6f0e15e1e 100644 --- a/appendices/tokens.xml +++ b/appendices/tokens.xml @@ -4,30 +4,40 @@ List of Parser Tokens - Various parts of the PHP language are represented internally by types like - T_SR. PHP outputs identifiers like this one in parse errors, like - "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." + Various parts of the PHP language are represented internally by tokens. + A code snippet that contains an invalid sequence of tokens may lead to errors like + Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10." + where token == is internally represented by T_IS_EQUAL. + - You're supposed to know what T_SR means. For everybody who doesn't - know that, here is a table with those identifiers, PHP-syntax and - references to the appropriate places in the manual. + The following table lists all tokens. They are also available as PHP constants. Usage of T_* constants - All tokens listed below are also defined as PHP constants. Their value is - automatically generated based on PHP's underlying parser infrastructure. + T_* constants values are automatically generated based on PHP's underlying parser infrastructure. This means that the concrete value of a token may change between two PHP versions. For example the T_FILE constant is 365 in PHP 5.3, while the same value refers now to T_TRAIT in PHP 5.4 and the value of T_FILE is 369. This means that your code should never rely directly on the original T_* values taken from PHP version X.Y.Z, to provide some compatibility - across multiple PHP versions. Instead your code should utilize custom values - (using big numbers like 10000) and an appropriate strategy that - will work with both PHP versions and T_* values. + across multiple PHP versions. + + + + To make use of T_* constants across multiple PHP versions, undefined constants + may be defined by the user (using big numbers like 10000) with an + appropriate strategy that will work with both PHP versions and T_* values. + + + From b6c8a19a38e06d858efe505587fa90fead553a74 Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Tue, 30 Mar 2021 15:11:18 +0000 Subject: [PATCH 004/444] Document character class of wrapper scheme names --- reference/stream/functions/stream-wrapper-register.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/stream/functions/stream-wrapper-register.xml b/reference/stream/functions/stream-wrapper-register.xml index b6ecf95f65..24851ec448 100644 --- a/reference/stream/functions/stream-wrapper-register.xml +++ b/reference/stream/functions/stream-wrapper-register.xml @@ -29,6 +29,7 @@ The wrapper name to be registered. + Valid protocol names must contain alphanumerics, dots (.), plusses (+), or hyphens (-) only. From 876a785f3628c4d2bb7b6cb54760efdc57abdc00 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Wed, 31 Mar 2021 08:12:45 +0200 Subject: [PATCH 005/444] MongoDB: Document versioned API functionality --- .../mongodb/driver/manager/construct.xml | 10 + .../mongodb/mongodb/driver/serverapi.xml | 186 ++++++++++++++++++ .../driver/serverapi/bsonserialize.xml | 66 +++++++ .../mongodb/driver/serverapi/construct.xml | 52 +++++ .../mongodb/driver/serverapi/serialize.xml | 68 +++++++ .../mongodb/driver/serverapi/unserialize.xml | 80 ++++++++ reference/mongodb/versions.xml | 3 + 7 files changed, 465 insertions(+) create mode 100644 reference/mongodb/mongodb/driver/serverapi.xml create mode 100644 reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml create mode 100644 reference/mongodb/mongodb/driver/serverapi/construct.xml create mode 100644 reference/mongodb/mongodb/driver/serverapi/serialize.xml create mode 100644 reference/mongodb/mongodb/driver/serverapi/unserialize.xml diff --git a/reference/mongodb/mongodb/driver/manager/construct.xml b/reference/mongodb/mongodb/driver/manager/construct.xml index a705f10c33..16d9be1c9e 100644 --- a/reference/mongodb/mongodb/driver/manager/construct.xml +++ b/reference/mongodb/mongodb/driver/manager/construct.xml @@ -904,6 +904,16 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ + + serverApi + MongoDB\Driver\ServerApi + + + This option is used to declare a server API version for the manager. + If omitted, no API version is declared. + + + weak_cert_validation bool diff --git a/reference/mongodb/mongodb/driver/serverapi.xml b/reference/mongodb/mongodb/driver/serverapi.xml new file mode 100644 index 0000000000..7a60f15b7a --- /dev/null +++ b/reference/mongodb/mongodb/driver/serverapi.xml @@ -0,0 +1,186 @@ + + + + + + The MongoDB\Driver\ServerApi class + MongoDB\Driver\ServerApi + + + + +
+ &reftitle.intro; + + + +
+ + +
+ &reftitle.classsynopsis; + + + + MongoDB\Driver\ServerApi + + + + final + + MongoDB\Driver\ServerApi + + + MongoDB\BSON\Serializable + + + + Serializable + + + + Constants + + const + string + MongoDB\Driver\ServerAPI::V1 + "1" + + + &Methods; + + + + +
+ + +
+ &reftitle.constants; + + + + MongoDB\Driver\ServerApi::V1 + + Server API version 1. + + + + +
+ + + +
+ +
+ &reftitle.examples; + + + Declare an API version on a manager + + $v1]); + +$command = new MongoDB\Driver\Command(['buildInfo' => 1]); + +try { + $cursor = $manager->executeCommand('admin', $command); +} catch(MongoDB\Driver\Exception $e) { + echo $e->getMessage(), "\n"; + exit; +} + +/* The buildInfo command returns a single result document, so we need to access + * the first result in the cursor. */ +$buildInfo = $cursor->toArray()[0]; + +echo $buildInfo->version, "\n"; + +?> +]]> + + + &example.outputs; + + + + + + + Declare a strict API version on a manager + + The following example sets the strict flag, which + tells the server to reject any command that is not part of the declared API + version. This results in an error when running the buildInfo command. + + + $v1]); + +$command = new MongoDB\Driver\Command(['buildInfo' => 1]); + +try { + $cursor = $manager->executeCommand('admin', $command); +} catch(MongoDB\Driver\Exception $e) { + echo $e->getMessage(), "\n"; + exit; +} + +/* The buildInfo command returns a single result document, so we need to access + * the first result in the cursor. */ +$buildInfo = $cursor->toArray()[0]; + +echo $buildInfo->version, "\n"; + +?> +]]> + + + &example.outputs; + + + + +
+ + &reference.mongodb.mongodb.driver.entities.serverapi; + +
+ + diff --git a/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml b/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml new file mode 100644 index 0000000000..d8827c4aa8 --- /dev/null +++ b/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml @@ -0,0 +1,66 @@ + + + + + + MongoDB\Driver\ServerApi::bsonSerialize + Returns an object for BSON serialization + + + + &reftitle.description; + + final public objectMongoDB\Driver\ServerApi::bsonSerialize + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns an object for serializing the ServerApi as BSON. + + + + + &reftitle.errors; + + &mongodb.throws.argumentparsing; + + + + + + &reftitle.seealso; + + MongoDB\BSON\Serializable::bsonSerialize + + + + + + diff --git a/reference/mongodb/mongodb/driver/serverapi/construct.xml b/reference/mongodb/mongodb/driver/serverapi/construct.xml new file mode 100644 index 0000000000..63e7f81d09 --- /dev/null +++ b/reference/mongodb/mongodb/driver/serverapi/construct.xml @@ -0,0 +1,52 @@ + + + + + + MongoDB\Driver\ServerApi::__construct + Create a new ServerApi instance + + + + &reftitle.description; + + final public MongoDB\Driver\ServerApi::__construct + stringversion + boolstrict&null; + booldeprecationErrors&null; + + + + Creates a new MongoDB\Driver\ServerApi instance used to + declare an API version when creating a + MongoDB\Driver\Manager. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + + diff --git a/reference/mongodb/mongodb/driver/serverapi/serialize.xml b/reference/mongodb/mongodb/driver/serverapi/serialize.xml new file mode 100644 index 0000000000..fdba9e8c73 --- /dev/null +++ b/reference/mongodb/mongodb/driver/serverapi/serialize.xml @@ -0,0 +1,68 @@ + + + + + + MongoDB\Driver\ServerApi::serialize + Serialize a ServerApi + + + + &reftitle.description; + + final public stringMongoDB\Driver\ServerApi::serialize + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the serialized representation of the + MongoDB\Driver\ServerApi. + + + + + &reftitle.errors; + + &mongodb.throws.argumentparsing; + + + + + &reftitle.seealso; + + MongoDB\Driver\ServerApi::unserialize + serialize + Serializing Objects + + + + + + diff --git a/reference/mongodb/mongodb/driver/serverapi/unserialize.xml b/reference/mongodb/mongodb/driver/serverapi/unserialize.xml new file mode 100644 index 0000000000..7a2d34df6c --- /dev/null +++ b/reference/mongodb/mongodb/driver/serverapi/unserialize.xml @@ -0,0 +1,80 @@ + + + + + + MongoDB\Driver\ServerApi::unserialize + Unserialize a ServerApi + + + + &reftitle.description; + + final public voidMongoDB\Driver\ServerApi::unserialize + stringserialized + + + + + &reftitle.parameters; + + + + serialized + + + The serialized MongoDB\Driver\ServerApi. + + + + + + + + + &reftitle.returnvalues; + + Returns the unserialized MongoDB\Driver\ServerApi. + + + + + &reftitle.errors; + + &mongodb.throws.argumentparsing; + Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed). + Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values). + + + + + &reftitle.seealso; + + MongoDB\Driver\ServerApi::serialize + unserialize + Serializing Objects + + + + + + diff --git a/reference/mongodb/versions.xml b/reference/mongodb/versions.xml index d1396d0719..768bde6c35 100644 --- a/reference/mongodb/versions.xml +++ b/reference/mongodb/versions.xml @@ -112,6 +112,9 @@ + + + From e48f15d64afec9861e23aa70f49b17ce504b35b2 Mon Sep 17 00:00:00 2001 From: sy-records <52o@qq52o.cn> Date: Wed, 31 Mar 2021 02:46:26 +0200 Subject: [PATCH 006/444] Add swoole-clear-error for swoole Co-authored-by: Christoph M. Becker Signed-off-by: Christoph M. Becker Closes GH-507. --- .../swoole/functions/swoole-clear-error.xml | 53 +++++++++++++++++++ reference/swoole/versions.xml | 1 + 2 files changed, 54 insertions(+) create mode 100644 reference/swoole/functions/swoole-clear-error.xml diff --git a/reference/swoole/functions/swoole-clear-error.xml b/reference/swoole/functions/swoole-clear-error.xml new file mode 100644 index 0000000000..59262127d3 --- /dev/null +++ b/reference/swoole/functions/swoole-clear-error.xml @@ -0,0 +1,53 @@ + + + + + + swoole_clear_error + Clear errors in the socket or on the last error code + + + + &reftitle.description; + + voidswoole_clear_error + + + + Clear errors in the socket or on the last error code. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &return.void; + + + + + diff --git a/reference/swoole/versions.xml b/reference/swoole/versions.xml index 501bfcaed8..6b93cd6af6 100644 --- a/reference/swoole/versions.xml +++ b/reference/swoole/versions.xml @@ -33,6 +33,7 @@ + From f03dfae1dcaf64d695189673e6db82aa3b7659a1 Mon Sep 17 00:00:00 2001 From: sy-records <52o@qq52o.cn> Date: Wed, 31 Mar 2021 03:43:45 +0200 Subject: [PATCH 007/444] Add swoole_error_log for swoole and add respective constants Co-authored-by: Christoph M. Becker Signed-off-by: Christoph M. Becker --- reference/swoole/constants.xml | 84 +++++++++++++++++++ .../swoole/functions/swoole-error-log.xml | 77 +++++++++++++++++ reference/swoole/versions.xml | 1 + 3 files changed, 162 insertions(+) create mode 100644 reference/swoole/functions/swoole-error-log.xml diff --git a/reference/swoole/constants.xml b/reference/swoole/constants.xml index c1eae5f76f..782618020e 100644 --- a/reference/swoole/constants.xml +++ b/reference/swoole/constants.xml @@ -406,6 +406,90 @@ + + + SWOOLE_LOG_DEBUG + (int) + + + + Debug log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_TRACE + (int) + + + + Trace log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_INFO + (int) + + + + Info log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_NOTICE + (int) + + + + Notice log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_WARNING + (int) + + + + Warning log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_ERROR + (int) + + + + Error log. + Available as of swoole 2.1.2. + + + + + + SWOOLE_LOG_NONE + (int) + + + + None log. + Available as of swoole 4.3.2. + + +
diff --git a/reference/swoole/functions/swoole-error-log.xml b/reference/swoole/functions/swoole-error-log.xml new file mode 100644 index 0000000000..ec99fb9adf --- /dev/null +++ b/reference/swoole/functions/swoole-error-log.xml @@ -0,0 +1,77 @@ + + + + + + swoole_error_log + Output error messages to the log + + + + &reftitle.description; + + voidswoole_error_log + intlevel + stringmsg + + + Output error messages to the log. + + + + + &reftitle.parameters; + + + level + + + Log Level, constants can be used: SWOOLE_LOG_DEBUG, + SWOOLE_LOG_TRACE, + SWOOLE_LOG_INFO, + SWOOLE_LOG_NOTICE, + SWOOLE_LOG_WARNING, + SWOOLE_LOG_ERROR, + SWOOLE_LOG_NONE + + + + + msg + + + Message content to be written to the log. + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + diff --git a/reference/swoole/versions.xml b/reference/swoole/versions.xml index 6b93cd6af6..af3c5313e5 100644 --- a/reference/swoole/versions.xml +++ b/reference/swoole/versions.xml @@ -34,6 +34,7 @@ + From b60ee4fd0c681fa6cbf1bd0cbc549441a576ef8f Mon Sep 17 00:00:00 2001 From: Tiffany Date: Wed, 31 Mar 2021 08:12:51 -0500 Subject: [PATCH 008/444] fix miscapitalization --- reference/dom/domnode.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/dom/domnode.xml b/reference/dom/domnode.xml index e426dcf958..09b383bc42 100644 --- a/reference/dom/domnode.xml +++ b/reference/dom/domnode.xml @@ -223,7 +223,7 @@ ownerDocument - The DOMDocument object associated with this node, or &null; if this node is a DOMDOcument + The DOMDocument object associated with this node, or &null; if this node is a DOMDocument From 4b0cd817cef1d54c33ef6e130a94e6b8d9b4fa15 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 31 Mar 2021 15:16:48 +0200 Subject: [PATCH 009/444] PECL/ibase is unmaintained --- reference/ibase/book.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/ibase/book.xml b/reference/ibase/book.xml index a3885704e3..dc77431acc 100644 --- a/reference/ibase/book.xml +++ b/reference/ibase/book.xml @@ -8,6 +8,12 @@ &reftitle.intro; + + + &pecl.info.dead.git; + &url.php.git.mirror;pecl-database-interbase. + + Firebird is a relational database offering many ISO SQL-2003 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird From c73b00a6d7f799e3e5189a316efa06b7ef3c0fe6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 31 Mar 2021 15:34:59 +0200 Subject: [PATCH 010/444] Fix #63663: str_word_count does not properly handle non-latin characters Signed-off-by: Christoph M. Becker --- reference/strings/functions/str-word-count.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/strings/functions/str-word-count.xml b/reference/strings/functions/str-word-count.xml index 51875b2712..c3207d9e9c 100644 --- a/reference/strings/functions/str-word-count.xml +++ b/reference/strings/functions/str-word-count.xml @@ -28,6 +28,7 @@ For the purpose of this function, 'word' is defined as a locale dependent string containing alphabetic characters, which also may contain, but not start with "'" and "-" characters. + Note that multibyte locales are not supported. From e49940b757b35b8ef26bb64380c231eda7b49fc4 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 31 Mar 2021 16:09:52 +0200 Subject: [PATCH 011/444] Fix #73938: PHP7 foreach internal array pointer --- language/control-structures/foreach.xml | 5 +++++ reference/array/functions/current.xml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/language/control-structures/foreach.xml b/language/control-structures/foreach.xml index ea1b121fe2..30a1f6f20e 100644 --- a/language/control-structures/foreach.xml +++ b/language/control-structures/foreach.xml @@ -30,6 +30,11 @@ foreach (iterable_expression as $key => $value) The second form will additionally assign the current element's key to the $key variable on each iteration. + + Note that foreach does not modify the internal array + pointer, which is used by functions such as current + and key. + It is possible to customize object iteration. diff --git a/reference/array/functions/current.xml b/reference/array/functions/current.xml index 02bfd3f31a..b2a38e6fa9 100644 --- a/reference/array/functions/current.xml +++ b/reference/array/functions/current.xml @@ -103,7 +103,7 @@ var_dump(current($arr)); // array(0) { } and on an array, whose internal pointer points beyond the end of the elements, are indistinguishable from a bool &false; element. To properly traverse an array which may contain &false; elements, see the - foreach function. + &foreach; control structure. To still use current and properly check if the value @@ -123,6 +123,7 @@ var_dump(current($arr)); // array(0) { } prev reset next + &foreach; From 9a37893b543ee7d558ac8cbebbc6d1f0caf719f2 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 1 Apr 2021 17:33:28 +0200 Subject: [PATCH 012/444] Clarify meaning of stream_get_line() parameters Cf. . Signed-off-by: Christoph M. Becker --- reference/stream/functions/stream-get-line.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/reference/stream/functions/stream-get-line.xml b/reference/stream/functions/stream-get-line.xml index aa283fbee0..5e864209a8 100644 --- a/reference/stream/functions/stream-get-line.xml +++ b/reference/stream/functions/stream-get-line.xml @@ -11,14 +11,14 @@ stringstream_get_line resourcehandle intlength - stringending + stringending"" Gets a line from the given handle. Reading ends when length bytes have been read, when - the string specified by ending is found (which is + the non-empty string specified by ending is found (which is not included in the return value), or on EOF (whichever comes first). @@ -45,7 +45,10 @@ length - The number of bytes to read from the handle. + The maximum number of bytes to read from the handle. + Negative values are not supported. + Zero (0) means the default socket chunk size, + i.e. 8192 bytes. From 3ddc88b8364f27727a53ba6eb7c9a98f8525f3ce Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Thu, 1 Apr 2021 16:21:32 -0500 Subject: [PATCH 013/444] Note changes in how private methods inherit. (#481) --- language/oop5/final.xml | 3 +++ language/oop5/inheritance.xml | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/language/oop5/final.xml b/language/oop5/final.xml index f1b00762f5..e18231a236 100644 --- a/language/oop5/final.xml +++ b/language/oop5/final.xml @@ -64,6 +64,9 @@ class ChildClass extends BaseClass { Properties and constants cannot be declared final, only classes and methods may be declared as final. + + As of PHP 8.0.0, private methods may not be declared final except for the constructor. + + + + + The Stringable interface + Stringable + + + + +
+ &reftitle.intro; + + The Stringable interface denotes a class as + having a __toString method. Unlike most interfaces, + Stringable is implicitly present on any class that + has the magic __toString method defined, although it + can and should be declared explicitly. + + + Its primary value is to allow functions to type check against the union + type string|Stringable to accept either a string primitive + or an object that can be cast to a string. + +
+ + +
+ &reftitle.classsynopsis; + + + + Stringable + + + + + Stringable + + + + + &Methods; + + + + +
+ +
+ Stringable Examples + + + Basic Stringable Usage + +oct1 = $oct1; + $this->oct2 = $oct2; + $this->oct3 = $oct3; + $this->oct4 = $oct4; + } + + public function __toString(): string { + return "$oct1.$oct2.$oct3.$oct4"; + } +} + +function showStuff(string|Stringable $value) { + // A Stringable will get converted to a string here by calling + // __toString. + print $value; +} + +$ip = new IPv4Address('123', '234', '42', '9'); + +showStuff($ip); +?> +]]> + + &example.outputs.similar; + + + + + +
+ +
+ +
+ + From b694d83ae9bd8b7b3e7152c7c62b8f5208288ba1 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Fri, 2 Apr 2021 17:10:06 +0900 Subject: [PATCH 015/444] added Stringable version info. --- language/predefined/versions.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/language/predefined/versions.xml b/language/predefined/versions.xml index 54704bf83b..f5ac4f7881 100644 --- a/language/predefined/versions.xml +++ b/language/predefined/versions.xml @@ -103,6 +103,8 @@ + + From 1ea4e4f5769f1a173303f95074a91e8537f65133 Mon Sep 17 00:00:00 2001 From: Juliette <663378+jrfnl@users.noreply.github.com> Date: Mon, 5 Apr 2021 18:39:54 +0200 Subject: [PATCH 016/444] escapeshellcmd: add warning about spaces in paths on Windows (#511) It is a known issue that spaces are not escaped in shell commands, which can be especially problematic on Windows. This adds a warning about this behaviour to the function, including a way to solve this in userland code. Ref: https://bugs.php.net/bug.php?id=43261 (last two comments) Also see: https://github.com/squizlabs/PHP_CodeSniffer/pull/3214 Co-authored-by: jrfnl --- reference/exec/functions/escapeshellcmd.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/reference/exec/functions/escapeshellcmd.xml b/reference/exec/functions/escapeshellcmd.xml index 08a65fe8b4..53a7d0082c 100644 --- a/reference/exec/functions/escapeshellcmd.xml +++ b/reference/exec/functions/escapeshellcmd.xml @@ -86,6 +86,20 @@ system($escaped_command); escapeshellarg should be used instead. + + + Spaces will not be escaped by escapeshellcmd + which can be problematic on Windows with paths like: + C:\Program Files\ProgramName\program.exe. + This can be mitigated using the following code snippet: + + + + + From 4a21d28c5b582aa4cf20bae8702ebbc9cfe23762 Mon Sep 17 00:00:00 2001 From: Juliette <663378+jrfnl@users.noreply.github.com> Date: Mon, 5 Apr 2021 18:43:19 +0200 Subject: [PATCH 017/444] Language Ref/Traits: fix incorrect information about abstract methods (#510) As of PHP 8.0, `abstract private` methods are allowed in `trait`s. `abstract public` method were previously already supported. Co-authored-by: jrfnl --- language/oop5/traits.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml index 804b35853d..5df24346f1 100644 --- a/language/oop5/traits.xml +++ b/language/oop5/traits.xml @@ -326,7 +326,7 @@ Hello World! Traits support the use of abstract methods in order to impose requirements upon the exhibiting class. Public, protected, and private methods are supported. - Prior to PHP 8.0.0, only protected and private abstract methods were supported. + Prior to PHP 8.0.0, only public and protected abstract methods were supported. From 624ad8b8de0110bd3f84d7b4016fb3c27ef758a4 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 6 Apr 2021 16:40:17 +0200 Subject: [PATCH 018/444] Document enchant installation on Windows --- reference/enchant/configure.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/reference/enchant/configure.xml b/reference/enchant/configure.xml index 003d55340a..92c452e8e3 100644 --- a/reference/enchant/configure.xml +++ b/reference/enchant/configure.xml @@ -14,6 +14,26 @@ option when compiling PHP. + + Windows users must enable php_enchant.dll + in order to use this extension. + + + Additional setup on Windows + + &ext.windows.path.dll; + libenchant.dll, + glib-2.dll, + gmodule-2.dll. + + + Furthermore, it is necessary to copy at least one of the shipped providers in + lib/enchant/ to C:\enchant_plugins. + This path can be customized by creating the registry value + HKEY_CURRENT_USER\SOFTWARE\Enchant\Config\Module_Dir + and setting it to the desired path. + + resultProcedural style only: A result set -identifier returned by mysqli_query, mysqli_store_result -or mysqli_use_result.'> +identifier returned by mysqli_query, mysqli_store_result, +mysqli_use_result or mysqli_stmt_get_result.'> linkProcedural style only: A link identifier returned by mysqli_connect or mysqli_init diff --git a/reference/mysqli/mysqli_result/fetch-all.xml b/reference/mysqli/mysqli_result/fetch-all.xml index 0f5750d640..f067e41402 100644 --- a/reference/mysqli/mysqli_result/fetch-all.xml +++ b/reference/mysqli/mysqli_result/fetch-all.xml @@ -4,7 +4,7 @@ mysqli_result::fetch_all mysqli_fetch_all - Fetches all result rows as an associative array, a numeric array, or both + Fetch all result rows as an associative array, a numeric array, or both @@ -21,8 +21,8 @@ intmodeMYSQLI_NUM - mysqli_fetch_all fetches all result rows and returns the result - set as an associative array, a numeric array, or both. + Returns a two-dimensional array of all result rows + as an associative array, a numeric array, or both. @@ -59,18 +59,53 @@ &mysqli.available.mysqlnd; + - - As mysqli_fetch_all returns all the rows as an - array in a single step, it may consume more memory than some similar - functions such as mysqli_fetch_array, which - only returns one row at a time from the result set. Further, if you - need to iterate over the result set, you will need a looping - construct that will further impact performance. For these reasons - mysqli_fetch_all should only be used in those - situations where the fetched result set will be sent to another - layer for processing. - + + &reftitle.examples; + + <methodname>mysqli_result::fetch_all</methodname> example + &style.oop; + +query("SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3"); + +$rows = $result->fetch_all(MYSQLI_ASSOC); +foreach ($rows as $row) { + printf("%s (%s)\n", $row["Name"], $row["CountryCode"]); +} +]]> + + &style.procedural; + + + + &examples.outputs; + + + + From 5c3589b9b8175cb5d60729a7a6af51ebb74fb246 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 8 Apr 2021 11:55:16 +0100 Subject: [PATCH 022/444] Updating mysqli: bind_param (#512) * Add mysqli_stmt_prepare to the descr. * Simplify examples * Fix example title * Added new example with ... --- reference/mysqli/mysqli_stmt/bind-param.xml | 84 +++++++++++---------- 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/bind-param.xml b/reference/mysqli/mysqli_stmt/bind-param.xml index 438c2a7e3e..433de60321 100644 --- a/reference/mysqli/mysqli_stmt/bind-param.xml +++ b/reference/mysqli/mysqli_stmt/bind-param.xml @@ -25,8 +25,8 @@ mixedvars - Bind variables for the parameter markers in the SQL statement that was - passed to mysqli_prepare. + Bind variables for the parameter markers in the SQL statement prepared by + mysqli_prepare or mysqli_stmt_prepare. @@ -113,17 +113,14 @@ &reftitle.examples; - &style.oop; + <methodname>mysqli_stmt::bind_param</methodname> example + &style.oop; prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); $stmt->bind_param('sssd', $code, $language, $official, $percent); @@ -133,36 +130,22 @@ $language = 'Bavarian'; $official = "F"; $percent = 11.2; -/* execute prepared statement */ $stmt->execute(); -printf("%d Row inserted.\n", $stmt->affected_rows); - -/* close statement and connection */ -$stmt->close(); +printf("%d row inserted.\n", $stmt->affected_rows); /* Clean up table CountryLanguage */ $mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'"); -printf("%d Row deleted.\n", $mysqli->affected_rows); - -/* close connection */ -$mysqli->close(); -?> +printf("%d row deleted.\n", $mysqli->affected_rows); ]]> - - - &style.procedural; + &style.procedural; +printf("%d row deleted.\n", mysqli_affected_rows($link)); ]]> &examples.outputs; + + + + Using <literal>...</literal> to provide arguments + + The ... operator can be used to provide variable-length + argument list, e.g. in a WHERE IN clause. + + +prepare("SELECT Language FROM CountryLanguage WHERE CountryCode IN (?, ?)"); +/* Using ... to provide arguments */ +$stmt->bind_param('ss', ...['DEU', 'POL']); +$stmt->execute(); +$stmt->store_result(); + +printf("%d rows found.\n", $stmt->num_rows()); +]]> + + &examples.outputs; + + From e6be4fb01df896fe54f2c8cd050b7e428cd61b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Mon, 12 Apr 2021 19:27:17 +0800 Subject: [PATCH 023/444] Update Swoole getclientinfo (#521) --- .../swoole/swoole/server/getclientinfo.xml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/reference/swoole/swoole/server/getclientinfo.xml b/reference/swoole/swoole/server/getclientinfo.xml index a517bfc872..39a3729e26 100644 --- a/reference/swoole/swoole/server/getclientinfo.xml +++ b/reference/swoole/swoole/server/getclientinfo.xml @@ -10,9 +10,10 @@ &reftitle.description; - public ReturnTypeSwoole\Server::getClientInfo + public arraySwoole\Server::getClientInfo intfd intreactor_id + boolignore_error @@ -27,7 +28,7 @@ fd - + File descriptors. @@ -35,7 +36,16 @@ reactor_id - + The Reactor thread ID where the connection is made. + + + + + ignore_error + + + Whether to ignore errors, if set to true, + connection information will be returned even if the connection is closed. @@ -45,7 +55,7 @@ &reftitle.returnvalues; - + Returns information about the client connection. From fe18943c11c6fe9be88688574153013ff249452d Mon Sep 17 00:00:00 2001 From: Rowan Tommins Date: Mon, 12 Apr 2021 12:28:11 +0100 Subject: [PATCH 024/444] Fix half-deleted sentence about "new" and reference assignment (#520) This had a stray ")", and was left with a misleading half-sentence about "new" returning a reference, which it doesn't. --- language/references.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/language/references.xml b/language/references.xml index 6f2d3928d6..f5b58dfec6 100644 --- a/language/references.xml +++ b/language/references.xml @@ -95,10 +95,13 @@ $foo =& find_var($bar); ]]> - new - returns a reference automatically, thus it is syntactically invalid. - For more information, see Objects - and references.) + + + Using the same syntax with a function that does not + return by reference will give an error, as will using it with the result + of the new operator. + Although objects are passed around as pointers, these are not the same as references, + as explained under Objects and references. From 2f79a807765ac4cde852ce23322b0b0b9a754b1f Mon Sep 17 00:00:00 2001 From: codedokode Date: Mon, 12 Apr 2021 14:55:35 +0300 Subject: [PATCH 025/444] Fix list of falsy values (#519) There is no integer -0 (minus zero) --- language/types/boolean.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/types/boolean.xml b/language/types/boolean.xml index f4865c3d26..761220d16a 100644 --- a/language/types/boolean.xml +++ b/language/types/boolean.xml @@ -84,7 +84,7 @@ if ($show_separators) { - the integers 0 and -0 (zero) + the integer 0 (zero) From a5dd0e682470dc0353fa1e97b1a595cb64243e8e Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 12 Apr 2021 12:59:01 +0100 Subject: [PATCH 026/444] Remove mysqli::get_client_stats (#518) This method doesn't exist. --- reference/mysqli/summary.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/mysqli/summary.xml b/reference/mysqli/summary.xml index b8b0f8a09b..862648fb81 100644 --- a/reference/mysqli/summary.xml +++ b/reference/mysqli/summary.xml @@ -188,7 +188,7 @@ Returns the MySQL client version as a string - mysqli::get_client_stats + N/A mysqli_get_client_stats N/A Returns client per-process statistics. &mysqli.available.mysqlnd; From 6936064e733f39045f471aad492abdeed7c4d2c6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 12 Apr 2021 14:12:41 +0200 Subject: [PATCH 027/444] Fix #74982: strftime %P not working on Alpine Linux --- reference/datetime/functions/strftime.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/datetime/functions/strftime.xml b/reference/datetime/functions/strftime.xml index e4a3d503e2..bc28758169 100644 --- a/reference/datetime/functions/strftime.xml +++ b/reference/datetime/functions/strftime.xml @@ -332,7 +332,7 @@ - macOS only: The %P modifier + macOS and musl only: The %P modifier is not supported in the macOS implementation of this function. From 011596bcff82477d121de738e6cf83bd2b13bb40 Mon Sep 17 00:00:00 2001 From: Guilliam Xavier Date: Mon, 12 Apr 2021 14:37:34 +0200 Subject: [PATCH 028/444] Fix/update operators.precedence (#509) - explain why associativity is not applicable to unary operators - distinguish between unary and binary `+`/`-` - add some missing reference links - update the precedence of string concatenation for PHP 8 - fix "(n/a)" ("not applicable") to "non-associative" for ternary References: - https://github.com/php/php-src/blob/master/Zend/zend_ast.c (search "Operator Precedence") - https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y (search "precedence") (NOTE: in opposite order) --- language/operators.xml | 58 +++++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/language/operators.xml b/language/operators.xml index 40c5d9a5f1..7675d30185 100644 --- a/language/operators.xml +++ b/language/operators.xml @@ -54,9 +54,14 @@ Operators of equal precedence that are non-associative cannot be used next to each other, for example 1 < 2 > 1 is illegal in PHP. The expression 1 <= 1 == 1 on the - other hand is legal, because the == operator has lesser + other hand is legal, because the == operator has a lower precedence than the <= operator. + + Associativity is only meaningful for binary (and ternary) operators. + Unary operators are either prefix or postfix so this notion is not applicable. + For example !!$a can only be grouped as !(!$a). + Use of parentheses, even when not strictly necessary, can often increase readability of the code by making grouping explicit rather than relying @@ -93,6 +98,8 @@ (n/a) + + + - ++ -- ~ @@ -105,14 +112,18 @@ @ - types and increment/decrement + arithmetic (unary + and -), + increment/decrement, + bitwise, + type casting&listendand; + error control left instanceof - types + type @@ -141,8 +152,10 @@ . - arithmetic&listendand; - string + arithmetic (binary + and -), + array&listendand; + string (. prior to PHP 8.0.0) + left @@ -154,6 +167,13 @@ bitwise + + left + . + + string (as of PHP 8.0.0) + + non-associative @@ -223,10 +243,11 @@ - (n/a) + non-associative ? : ternary + (left-associative prior to PHP 8.0.0) @@ -303,7 +324,7 @@ - <literal>+</literal>, <literal>-</literal> and <literal>.</literal> have the same precedence + <literal>+</literal>, <literal>-</literal> and <literal>.</literal> have the same precedence (prior to PHP 8.0.0) + + 8.0.0 + + String concatenation (.) now has a lower precedence than + arithmetic addition/subtraction (+ and -) and + bitwise shift left/right (<< and >>); + previously it had the same precedence as + and - + and a higher precedence than << and >>. + + 8.0.0 @@ -386,6 +417,15 @@ x minus one equals 3, or so I hope previously it was left-associative. + + 7.4.0 + + Relying on the precedence of string concatenation (.) relative to + arithmetic addition/subtraction (+ or -) or + bitwise shift left/right (<< or >>), + i.e. using them together in an unparenthesized expression, is deprecated. + + 7.4.0 From 68a416eeb74a6df5b7e31b77cfa5e91a4c368844 Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Mon, 12 Apr 2021 08:35:52 -0500 Subject: [PATCH 029/444] Remove old weakref extension (#514) * Remove old weakref extension that no longer works and namespace conflicts with WeakMap in PHP 8. --- appendices/extensions.xml | 2 - language/predefined/weakreference.xml | 6 - reference/weakref/book.xml | 92 ----------- reference/weakref/setup.xml | 53 ------- reference/weakref/versions.xml | 47 ------ reference/weakref/weakmap.xml | 122 --------------- reference/weakref/weakmap/construct.xml | 56 ------- reference/weakref/weakmap/count.xml | 53 ------- reference/weakref/weakmap/current.xml | 55 ------- reference/weakref/weakmap/key.xml | 56 ------- reference/weakref/weakmap/next.xml | 55 ------- reference/weakref/weakmap/offsetexists.xml | 63 -------- reference/weakref/weakmap/offsetget.xml | 65 -------- reference/weakref/weakmap/offsetset.xml | 74 --------- reference/weakref/weakmap/offsetunset.xml | 64 -------- reference/weakref/weakmap/rewind.xml | 55 ------- reference/weakref/weakmap/valid.xml | 54 ------- reference/weakref/weakref.xml | 126 --------------- reference/weakref/weakref/acquire.xml | 170 --------------------- reference/weakref/weakref/construct.xml | 113 -------------- reference/weakref/weakref/get.xml | 62 -------- reference/weakref/weakref/release.xml | 115 -------------- reference/weakref/weakref/valid.xml | 63 -------- 23 files changed, 1621 deletions(-) delete mode 100644 reference/weakref/book.xml delete mode 100644 reference/weakref/setup.xml delete mode 100644 reference/weakref/versions.xml delete mode 100644 reference/weakref/weakmap.xml delete mode 100644 reference/weakref/weakmap/construct.xml delete mode 100644 reference/weakref/weakmap/count.xml delete mode 100644 reference/weakref/weakmap/current.xml delete mode 100644 reference/weakref/weakmap/key.xml delete mode 100644 reference/weakref/weakmap/next.xml delete mode 100644 reference/weakref/weakmap/offsetexists.xml delete mode 100644 reference/weakref/weakmap/offsetget.xml delete mode 100644 reference/weakref/weakmap/offsetset.xml delete mode 100644 reference/weakref/weakmap/offsetunset.xml delete mode 100644 reference/weakref/weakmap/rewind.xml delete mode 100644 reference/weakref/weakmap/valid.xml delete mode 100644 reference/weakref/weakref.xml delete mode 100644 reference/weakref/weakref/acquire.xml delete mode 100644 reference/weakref/weakref/construct.xml delete mode 100644 reference/weakref/weakref/get.xml delete mode 100644 reference/weakref/weakref/release.xml delete mode 100644 reference/weakref/weakref/valid.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 93533d781d..8efbc59afc 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -178,7 +178,6 @@ - @@ -393,7 +392,6 @@ - diff --git a/language/predefined/weakreference.xml b/language/predefined/weakreference.xml index 42b606d086..8ee63f2a59 100644 --- a/language/predefined/weakreference.xml +++ b/language/predefined/weakreference.xml @@ -15,12 +15,6 @@ Weak references allow the programmer to retain a reference to an object which does not prevent the object from being destroyed. They are useful for implementing cache like structures. - - - The class WeakReference is not to be confused with the class - WeakRef of the Weakref extension. - - WeakReferences cannot be serialized. diff --git a/reference/weakref/book.xml b/reference/weakref/book.xml deleted file mode 100644 index 1f297d33d8..0000000000 --- a/reference/weakref/book.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Weak References - Weakref - - - &reftitle.intro; - - Weak references provide a non-intrusive gateway to ephemeral objects. Unlike - normal (strong) references, weak references do not prevent the garbage - collector from freeing that object. For this reason, an object may be - destroyed even though a weak reference to that object still exists. In such - conditions, the weak reference seamlessly becomes invalid. - - - - - <classname>Weakref</classname> usage example - -valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} - -unset($o1); - -if ($r1->valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} -?> -]]> - - &example.outputs; - - - - - - - - &reference.weakref.setup; - &reference.weakref.weakref; - &reference.weakref.weakmap; - - - - - diff --git a/reference/weakref/setup.xml b/reference/weakref/setup.xml deleted file mode 100644 index acd55dcd16..0000000000 --- a/reference/weakref/setup.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- -
- &reftitle.install; - - &pecl.moved; - - - &pecl.info; - &url.pecl.package;weakref. - - - &pecl.windows.download; - -
- -
- &reftitle.resources; - &no.resource; -
- -
- - - diff --git a/reference/weakref/versions.xml b/reference/weakref/versions.xml deleted file mode 100644 index 2fee18ecf7..0000000000 --- a/reference/weakref/versions.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reference/weakref/weakmap.xml b/reference/weakref/weakmap.xml deleted file mode 100644 index c0728a80a9..0000000000 --- a/reference/weakref/weakmap.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - The WeakMap class - WeakMap - - - - -
- &reftitle.intro; - - - -
- - -
- &reftitle.classsynopsis; - - - - WeakMap - - - - - WeakMap - - - - Countable - - - - ArrayAccess - - - - Iterator - - - - - - &Methods; - - - - -
- -
- &reftitle.examples; - - - <classname>Weakmap</classname> usage example - - - - &example.outputs; - - - - - -
- - -
- - &reference.weakref.entities.weakmap; - -
- - diff --git a/reference/weakref/weakmap/construct.xml b/reference/weakref/weakmap/construct.xml deleted file mode 100644 index 990d994067..0000000000 --- a/reference/weakref/weakmap/construct.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - WeakMap::__construct - Constructs a new map - - - - &reftitle.description; - - public WeakMap::__construct - - - - Constructs a new map. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.void; - - - - - - - diff --git a/reference/weakref/weakmap/count.xml b/reference/weakref/weakmap/count.xml deleted file mode 100644 index e332ecb84f..0000000000 --- a/reference/weakref/weakmap/count.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - WeakMap::count - Counts the number of live entries in the map - - - - &reftitle.description; - - public intWeakMap::count - - - - Counts the number of live entries in the map. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the number of live entries in the map. - - - - - diff --git a/reference/weakref/weakmap/current.xml b/reference/weakref/weakmap/current.xml deleted file mode 100644 index f9e3e6ba44..0000000000 --- a/reference/weakref/weakmap/current.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - WeakMap::current - Returns the current value under iteration - - - - &reftitle.description; - - public mixedWeakMap::current - - - - Returns the current value being iterated on in the map. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The value currently being iterated on. - - - - - - - diff --git a/reference/weakref/weakmap/key.xml b/reference/weakref/weakmap/key.xml deleted file mode 100644 index 2c9649dbe6..0000000000 --- a/reference/weakref/weakmap/key.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - WeakMap::key - Returns the current key under iteration - - - - &reftitle.description; - - public objectWeakMap::key - - - - Returns the object serving as key in the map, at the current iterating - position. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The object key currently being iterated. - - - - - - - diff --git a/reference/weakref/weakmap/next.xml b/reference/weakref/weakmap/next.xml deleted file mode 100644 index df2baeb5d5..0000000000 --- a/reference/weakref/weakmap/next.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - WeakMap::next - Advances to the next map element - - - - &reftitle.description; - - public voidWeakMap::next - - - - Advances to the next map element. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.void; - - - - - - - diff --git a/reference/weakref/weakmap/offsetexists.xml b/reference/weakref/weakmap/offsetexists.xml deleted file mode 100644 index 28efedf360..0000000000 --- a/reference/weakref/weakmap/offsetexists.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - WeakMap::offsetExists - Checks whether a certain object is in the map - - - - &reftitle.description; - - public boolWeakMap::offsetExists - objectobject - - - Checks whether the passed object is referenced in the map. - - - - - - &reftitle.parameters; - - - object - - - Object to check for. - - - - - - - - &reftitle.returnvalues; - - Returns &true; if the object is contained in the map, &false; otherwise. - - - - - diff --git a/reference/weakref/weakmap/offsetget.xml b/reference/weakref/weakmap/offsetget.xml deleted file mode 100644 index cd39a277b8..0000000000 --- a/reference/weakref/weakmap/offsetget.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - WeakMap::offsetGet - Returns the value pointed to by a certain object - - - - &reftitle.description; - - public mixedWeakMap::offsetGet - objectobject - - - Returns the value pointed to by a certain object. - - - - - &reftitle.parameters; - - - object - - - Some object contained as key in the map. - - - - - - - - &reftitle.returnvalues; - - Returns the value associated to the object passed as argument, &null; - otherwise. - - - - - - - diff --git a/reference/weakref/weakmap/offsetset.xml b/reference/weakref/weakmap/offsetset.xml deleted file mode 100644 index a3c280cfcb..0000000000 --- a/reference/weakref/weakmap/offsetset.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - WeakMap::offsetSet - Updates the map with a new key-value pair - - - - &reftitle.description; - - public voidWeakMap::offsetSet - objectobject - mixedvalue - - - Updates the map with a new key-value pair. If the key already existed in - the map, the old value is replaced with the new. - - - - - &reftitle.parameters; - - - object - - - The object serving as key of the key-value pair. - - - - - value - - - The arbitrary data serving as value of the key-value pair. - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - - - diff --git a/reference/weakref/weakmap/offsetunset.xml b/reference/weakref/weakmap/offsetunset.xml deleted file mode 100644 index a9d1bb07d6..0000000000 --- a/reference/weakref/weakmap/offsetunset.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - WeakMap::offsetUnset - Removes an entry from the map - - - - &reftitle.description; - - public voidWeakMap::offsetUnset - objectobject - - - Removes an entry from the map. - - - - - &reftitle.parameters; - - - object - - - The key object to remove from the map. - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - - - diff --git a/reference/weakref/weakmap/rewind.xml b/reference/weakref/weakmap/rewind.xml deleted file mode 100644 index d4b3d214dd..0000000000 --- a/reference/weakref/weakmap/rewind.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - WeakMap::rewind - Rewinds the iterator to the beginning of the map - - - - &reftitle.description; - - public voidWeakMap::rewind - - - - Rewinds the iterator to the beginning of the map. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.void; - - - - - - - diff --git a/reference/weakref/weakmap/valid.xml b/reference/weakref/weakmap/valid.xml deleted file mode 100644 index f923d57ef2..0000000000 --- a/reference/weakref/weakmap/valid.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - WeakMap::valid - Returns whether the iterator is still on a valid map element - - - - &reftitle.description; - - public boolWeakMap::valid - - - - Returns whether the iterator is still on a valid map element. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the iterator is on a valid element that can be - accessed, &false; otherwise. - - - - - diff --git a/reference/weakref/weakref.xml b/reference/weakref/weakref.xml deleted file mode 100644 index 6f8c2b6de8..0000000000 --- a/reference/weakref/weakref.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - The WeakRef class - WeakRef - - - - -
- &reftitle.intro; - - The WeakRef class provides a gateway to objects without preventing the garbage collector from freeing those objects. - It also provides a way to turn a weak reference into a strong one. - - - - The class WeakRef is not to be confused with the class - WeakReference. - - -
- - -
- &reftitle.classsynopsis; - - - - WeakRef - - - - - - WeakRef - - - - - - &Methods; - - - - -
- -
- &reftitle.examples; - - - <classname>WeakRef</classname> usage example - -valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} - -unset($o1); - -if ($r1->valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} -?> -]]> - - &example.outputs; - - - - - -
- - -
- - &reference.weakref.entities.weakref; - -
- - - diff --git a/reference/weakref/weakref/acquire.xml b/reference/weakref/weakref/acquire.xml deleted file mode 100644 index 0224a6d700..0000000000 --- a/reference/weakref/weakref/acquire.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - Weakref::acquire - Acquires a strong reference on that object - - - - &reftitle.description; - - public boolWeakref::acquire - - - - Acquires a strong reference on that object, virtually turning the weak - reference into a strong one. - - - The Weakref instance maintains an internal acquired - counter to track outstanding strong references. If the call to - Weakref::acquire is successful, this counter - will be incremented by one. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the reference was valid and could be turned into a strong - reference, &false; otherwise. - - - - - &reftitle.examples; - - - <methodname>Weakref::acquire</methodname> example - -acquire(); - -echo "Unsetting o1...\n"; -unset($o1); - -$o2 = $r1->get(); - -$r1->release(); - -echo "Unsetting o2...\n"; -unset($o2); -?> -]]> - - &example.outputs; - - - - - - - - - Nested acquire/release example - -acquire(); - -echo " Unsetting...\n"; -unset($o1); - -echo " Acquiring...\n"; -$r1->acquire(); - -echo " Acquiring...\n"; -$r1->acquire(); - -echo " Releasing...\n"; -$r1->release(); - -echo " Releasing...\n"; -$r1->release(); - -echo "Releasing...\n"; -$r1->release(); - -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - Weakref::release - - - - - - - diff --git a/reference/weakref/weakref/construct.xml b/reference/weakref/weakref/construct.xml deleted file mode 100644 index 967de94054..0000000000 --- a/reference/weakref/weakref/construct.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Weakref::__construct - Constructs a new weak reference - - - - &reftitle.description; - - public Weakref::__construct - objectobject - - - Constructs a new weak reference. - - - - - &reftitle.parameters; - - - - object - - - The object to reference. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <methodname>Weakref::__construct</methodname> example - -valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} - -unset($o1); - -if ($r1->valid()) { - echo "Object still exists!\n"; - var_dump($r1->get()); -} else { - echo "Object is dead!\n"; -} -?> -]]> - - &example.outputs; - - - - - - - - - diff --git a/reference/weakref/weakref/get.xml b/reference/weakref/weakref/get.xml deleted file mode 100644 index 34c4e8834b..0000000000 --- a/reference/weakref/weakref/get.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - Weakref::get - Returns the object pointed to by the weak reference - - - - &reftitle.description; - - public objectWeakref::get - - - - Returns the object pointed to by the weak reference. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the object if the reference is still valid, &null; otherwise. - - - - - &reftitle.seealso; - - - Weakref::valid - - - - - - - diff --git a/reference/weakref/weakref/release.xml b/reference/weakref/weakref/release.xml deleted file mode 100644 index d22a47030e..0000000000 --- a/reference/weakref/weakref/release.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Weakref::release - Releases a previously acquired reference - - - - &reftitle.description; - - public boolWeakref::release - - - - Releases a previously acquired reference, potentially turning a strong - reference back into a weak reference. - - - The Weakref instance maintains an internal acquired - counter to track outstanding strong references. If the call to - Weakref::release is successful, this counter - will be decremented by one. Once this counter reaches zero, the strong - reference is turned back into a weak reference. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the reference was previously acquired and thus could be - released, &false; otherwise. - - - - - &reftitle.examples; - - - <methodname>Weakref::release</methodname> example - -acquire(); - -echo "Unsetting o1...\n"; -unset($o1); - -$o2 = $r1->get(); - -$r1->release(); - -echo "Unsetting o2...\n"; -unset($o2); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - Weakref::acquire - - - - - - - diff --git a/reference/weakref/weakref/valid.xml b/reference/weakref/weakref/valid.xml deleted file mode 100644 index 261eda270a..0000000000 --- a/reference/weakref/weakref/valid.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - Weakref::valid - Checks whether the object referenced still exists - - - - &reftitle.description; - - public boolWeakref::valid - - - - Checks whether the object referenced still exists. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the object still exists and is thus still accessible via - Weakref::get, &false; otherwise. - - - - - &reftitle.seealso; - - - Weakref::get - - - - - - - From 4138897b1260ec3601c799cf4418f30ef8b29bce Mon Sep 17 00:00:00 2001 From: Rowan Tommins Date: Mon, 12 Apr 2021 21:33:56 +0100 Subject: [PATCH 030/444] Remove or rewrite examples using implode("", file(...)) (#523) This is a weirdly inefficient way of getting a file's content into a string, and I'm not sure why anyone would think it was a good idea. --- reference/filesystem/functions/file.xml | 5 +---- reference/xml/functions/xml-parse-into-struct.xml | 4 ++-- reference/zlib/functions/gzencode.xml | 6 ++---- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/reference/filesystem/functions/file.xml b/reference/filesystem/functions/file.xml index 2be3e227fc..2bdab9c775 100644 --- a/reference/filesystem/functions/file.xml +++ b/reference/filesystem/functions/file.xml @@ -137,9 +137,6 @@ foreach ($lines as $line_num => $line) { echo "Line #{$line_num} : " . htmlspecialchars($line) . "
\n"; } -// Another example, let's get a web page into a string. See also file_get_contents(). -$html = implode('', file('http://www.example.com/')); - // Using the optional flags parameter since PHP 5 $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); ?> @@ -158,11 +155,11 @@ $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); &reftitle.seealso; + file_get_contents readfile fopen fsockopen popen - file_get_contents include stream_context_create diff --git a/reference/xml/functions/xml-parse-into-struct.xml b/reference/xml/functions/xml-parse-into-struct.xml index 8844cbb046..faac6b47a6 100644 --- a/reference/xml/functions/xml-parse-into-struct.xml +++ b/reference/xml/functions/xml-parse-into-struct.xml @@ -168,7 +168,7 @@ Array Event-driven parsing (based on the expat library) can get complicated when you have an XML document that is complex. This function does not produce a DOM style object, but it - generates structures amenable of being transversed in a tree + generates structures amenable of being traversed in a tree fashion. Thus, we can create objects representing the data in the XML file easily. Let's consider the following XML file representing a small database of aminoacids information: @@ -224,7 +224,7 @@ class AminoAcid { function readDatabase($filename) { // read the XML database of aminoacids - $data = implode("", file($filename)); + $data = file_get_contents($filename); $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); diff --git a/reference/zlib/functions/gzencode.xml b/reference/zlib/functions/gzencode.xml index d2b0c3fac5..68b0ce279f 100644 --- a/reference/zlib/functions/gzencode.xml +++ b/reference/zlib/functions/gzencode.xml @@ -88,11 +88,9 @@ ]]> From a08663f3c3af47e942fd260ae02b3c61ef9a4bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Tue, 13 Apr 2021 17:21:45 +0800 Subject: [PATCH 031/444] Update Swoole\Process::name (#525) --- reference/swoole/swoole/process/name.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/swoole/swoole/process/name.xml b/reference/swoole/swoole/process/name.xml index eac7276da3..bdd61064d1 100644 --- a/reference/swoole/swoole/process/name.xml +++ b/reference/swoole/swoole/process/name.xml @@ -10,7 +10,7 @@ &reftitle.description; - public voidSwoole\Process::name + public boolSwoole\Process::name stringprocess_name @@ -26,7 +26,7 @@ process_name - + Set name of the process. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - + &return.success; From 4d3d1ebea1eeecb7f76fb2fa8ecb55ef35d1d518 Mon Sep 17 00:00:00 2001 From: Rowan Tommins Date: Tue, 13 Apr 2021 13:49:11 +0100 Subject: [PATCH 032/444] Document and cross-reference mb_chr() and mb_ord() (#524) --- reference/intl/intlchar/chr.xml | 1 + reference/intl/intlchar/ord.xml | 7 +--- reference/mbstring/functions/mb-chr.xml | 53 ++++++++++++++++++++----- reference/mbstring/functions/mb-ord.xml | 45 ++++++++++++++++----- reference/strings/functions/chr.xml | 1 + reference/strings/functions/ord.xml | 1 + 6 files changed, 83 insertions(+), 25 deletions(-) diff --git a/reference/intl/intlchar/chr.xml b/reference/intl/intlchar/chr.xml index b6776cadfb..a63f7a5fdc 100644 --- a/reference/intl/intlchar/chr.xml +++ b/reference/intl/intlchar/chr.xml @@ -71,6 +71,7 @@ string(3) "☃" IntlChar::ord + mb_chr chr diff --git a/reference/intl/intlchar/ord.xml b/reference/intl/intlchar/ord.xml index 280d8d40bd..e57bc5021f 100644 --- a/reference/intl/intlchar/ord.xml +++ b/reference/intl/intlchar/ord.xml @@ -27,9 +27,7 @@ character - - A Unicode character. - + &intl.codepoint.parameter; @@ -70,9 +68,8 @@ int(9731) &reftitle.seealso; - IntlChar::isalnum - IntlChar::isdigit IntlChar::chr + mb_ord ord diff --git a/reference/mbstring/functions/mb-chr.xml b/reference/mbstring/functions/mb-chr.xml index 385518c105..ae5379f099 100644 --- a/reference/mbstring/functions/mb-chr.xml +++ b/reference/mbstring/functions/mb-chr.xml @@ -3,7 +3,7 @@ mb_chr - Get a specific character + Return character by Unicode code point value @@ -14,11 +14,12 @@ stringnullencoding&null; - + Returns a string containing the character specified by the Unicode code point value, + encoded in the specified encoding. + + + This function compliments mb_ord. - - &warn.undocumented.func; - @@ -28,16 +29,14 @@ codepoint - + A Unicode codepoint value, e.g. 128024 for U+1F418 ELEPHANT encoding - - - + &mbstring.encoding.parameter; @@ -46,10 +45,42 @@ &reftitle.returnvalues; - Returns a specific character&return.falseforfailure;. + A string containing the requested character, if it can be represented in the specified + encoding &return.falseforfailure;. + + &reftitle.examples; + + &intl.codepoint.example; + + +]]> + + &example.outputs; + + + + + + &reftitle.changelog; @@ -71,7 +102,9 @@ &reftitle.seealso; + mb_internal_encoding mb_ord + IntlChar::ord chr diff --git a/reference/mbstring/functions/mb-ord.xml b/reference/mbstring/functions/mb-ord.xml index a316284a30..f9b89922c4 100644 --- a/reference/mbstring/functions/mb-ord.xml +++ b/reference/mbstring/functions/mb-ord.xml @@ -3,7 +3,7 @@ mb_ord - Get code point of character + Get Unicode code point of character @@ -14,11 +14,11 @@ stringnullencoding&null; - + Returns the Unicode code point value of the given character. + + + This function compliments mb_chr. - - &warn.undocumented.func; - @@ -28,16 +28,14 @@ string - + A string encoding - - - + &mbstring.encoding.parameter; @@ -46,7 +44,32 @@ &reftitle.returnvalues; - Returns a code point of character&return.falseforfailure;. + The Unicode code point for the first character of string &return.falseforfailure;. + + + + + &reftitle.examples; + + + + +]]> + + &example.outputs; + +int(65) +int(128024) +int(128) +int(8364) + + @@ -71,7 +94,9 @@ &reftitle.seealso; + mb_internal_encoding mb_chr + IntlChar::ord ord diff --git a/reference/strings/functions/chr.xml b/reference/strings/functions/chr.xml index 8a62753f13..6e0ec18d93 100644 --- a/reference/strings/functions/chr.xml +++ b/reference/strings/functions/chr.xml @@ -146,6 +146,7 @@ echo $str; ord An ASCII-table mb_chr + IntlChar::chr diff --git a/reference/strings/functions/ord.xml b/reference/strings/functions/ord.xml index fbd4922d9c..da3931c3a8 100644 --- a/reference/strings/functions/ord.xml +++ b/reference/strings/functions/ord.xml @@ -97,6 +97,7 @@ Byte 3 of $str has value 152 chr An ASCII-table mb_ord + IntlChar::ord
From c07214dc9ca7583c3d6095e801ce122d8077c100 Mon Sep 17 00:00:00 2001 From: Kim Hallberg Date: Tue, 13 Apr 2021 18:57:58 +0200 Subject: [PATCH 033/444] Fix attributes overview example emitting E_WARNING (#522) Fix `targetDirectoryExists` method in example emits E_WARNING if `$targetDirectory` already exists. Reference: - https://www.php.net/manual/en/function.mkdir.php Co-authored-by: Kamil Tekiela --- language/attributes.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/language/attributes.xml b/language/attributes.xml index ec9aaf9a68..7c0311ac8c 100644 --- a/language/attributes.xml +++ b/language/attributes.xml @@ -68,7 +68,11 @@ class CopyFile implements ActionHandler #[SetUp] public function targetDirectoryExists() { - mkdir($this->targetDirectory); + if (!file_exists($this->targetDirectory)) { + mkdir($this->targetDirectory); + } elseif (!is_dir($this->targetDirectory)) { + throw new RuntimeException("Target directory $this->targetDirectory is not a directory"); + } } public function execute() From bf28a4ce4f994b3f9c792bd35955f5388af46fcb Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Tue, 13 Apr 2021 16:59:11 -0500 Subject: [PATCH 034/444] Describe WeakMaps (#479) Co-authored-by: Christoph M. Becker --- language/predefined/interfaces.xml | 1 + language/predefined/versions.xml | 8 ++ language/predefined/weakmap.xml | 139 +++++++++++++++++++ language/predefined/weakmap/construct.xml | 56 ++++++++ language/predefined/weakmap/count.xml | 53 +++++++ language/predefined/weakmap/getiterator.xml | 62 +++++++++ language/predefined/weakmap/offsetexists.xml | 63 +++++++++ language/predefined/weakmap/offsetget.xml | 65 +++++++++ language/predefined/weakmap/offsetset.xml | 74 ++++++++++ language/predefined/weakmap/offsetunset.xml | 64 +++++++++ 10 files changed, 585 insertions(+) create mode 100644 language/predefined/weakmap.xml create mode 100644 language/predefined/weakmap/construct.xml create mode 100644 language/predefined/weakmap/count.xml create mode 100644 language/predefined/weakmap/getiterator.xml create mode 100644 language/predefined/weakmap/offsetexists.xml create mode 100644 language/predefined/weakmap/offsetget.xml create mode 100644 language/predefined/weakmap/offsetset.xml create mode 100644 language/predefined/weakmap/offsetunset.xml diff --git a/language/predefined/interfaces.xml b/language/predefined/interfaces.xml index a5f61cc64a..46ac6fde1d 100644 --- a/language/predefined/interfaces.xml +++ b/language/predefined/interfaces.xml @@ -20,6 +20,7 @@ &language.predefined.closure; &language.predefined.generator; &language.predefined.weakreference; + &language.predefined.weakmap; &language.predefined.stringable; diff --git a/language/predefined/versions.xml b/language/predefined/versions.xml index f5ac4f7881..437562d4bd 100644 --- a/language/predefined/versions.xml +++ b/language/predefined/versions.xml @@ -102,6 +102,14 @@ + + + + + + + + diff --git a/language/predefined/weakmap.xml b/language/predefined/weakmap.xml new file mode 100644 index 0000000000..69e3950da7 --- /dev/null +++ b/language/predefined/weakmap.xml @@ -0,0 +1,139 @@ + + + + + + The WeakMap class + WeakMap + + + + +
+ &reftitle.intro; + + A WeakMap is map (or dictionary) that accepts objects as keys. However, unlike the + otherwise similar SplObjectStorage, an object in a key of WeakMap + does not contribute toward the object's reference count. That is, if at any point the only remaining reference + to an object is the key of a WeakMap, the object will be garbage collected and removed + from the WeakMap. Its primary use case is for building caches of data derived from + an object that do not need to live longer than the object. + + + WeakMap implements ArrayAccess, + Iterator, and Countable, + so in most cases it can be used in the same fashion as an associative array. + +
+ + +
+ &reftitle.classsynopsis; + + + + WeakMap + + + + + final + WeakMap + + + + Countable + + + + ArrayAccess + + + + IteratorAggregate + + + + + + &Methods; + + + + +
+ +
+ &reftitle.examples; + + + <classname>Weakmap</classname> usage example + + + + &example.outputs; + + + + + +
+ + +
+ + &language.predefined.weakmap.construct; + &language.predefined.weakmap.count; + &language.predefined.weakmap.getiterator; + &language.predefined.weakmap.offsetexists; + &language.predefined.weakmap.offsetget; + &language.predefined.weakmap.offsetset; + &language.predefined.weakmap.offsetunset; + +
+ + diff --git a/language/predefined/weakmap/construct.xml b/language/predefined/weakmap/construct.xml new file mode 100644 index 0000000000..d882fe43af --- /dev/null +++ b/language/predefined/weakmap/construct.xml @@ -0,0 +1,56 @@ + + + + + + WeakMap::__construct + Constructs a new map + + + + &reftitle.description; + + public WeakMap::__construct + + + + Constructs a new map. + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &return.void; + + + + + + + diff --git a/language/predefined/weakmap/count.xml b/language/predefined/weakmap/count.xml new file mode 100644 index 0000000000..b0bb65d7ea --- /dev/null +++ b/language/predefined/weakmap/count.xml @@ -0,0 +1,53 @@ + + + + + + WeakMap::count + Counts the number of live entries in the map + + + + &reftitle.description; + + public intWeakMap::count + + + + Counts the number of live entries in the map. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the number of live entries in the map. + + + + + diff --git a/language/predefined/weakmap/getiterator.xml b/language/predefined/weakmap/getiterator.xml new file mode 100644 index 0000000000..ef6ab397d6 --- /dev/null +++ b/language/predefined/weakmap/getiterator.xml @@ -0,0 +1,62 @@ + + + + + + WeakMap::getIterator + Retrieve an external iterator + + + + &reftitle.description; + + abstract public TraversableWeakMap::getIterator + + + + Returns an external iterator. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + An instance of an object implementing Iterator or + Traversable + + + + + &reftitle.errors; + + Throws an Exception on failure. + + + + + + diff --git a/language/predefined/weakmap/offsetexists.xml b/language/predefined/weakmap/offsetexists.xml new file mode 100644 index 0000000000..e2186d26ea --- /dev/null +++ b/language/predefined/weakmap/offsetexists.xml @@ -0,0 +1,63 @@ + + + + + + WeakMap::offsetExists + Checks whether a certain object is in the map + + + + &reftitle.description; + + public boolWeakMap::offsetExists + objectobject + + + Checks whether the passed object is referenced in the map. + + + + + + &reftitle.parameters; + + + object + + + Object to check for. + + + + + + + + &reftitle.returnvalues; + + Returns &true; if the object is contained in the map, &false; otherwise. + + + + + diff --git a/language/predefined/weakmap/offsetget.xml b/language/predefined/weakmap/offsetget.xml new file mode 100644 index 0000000000..f5eec1d26e --- /dev/null +++ b/language/predefined/weakmap/offsetget.xml @@ -0,0 +1,65 @@ + + + + + + WeakMap::offsetGet + Returns the value pointed to by a certain object + + + + &reftitle.description; + + public mixedWeakMap::offsetGet + objectobject + + + Returns the value pointed to by a certain object. + + + + + &reftitle.parameters; + + + object + + + Some object contained as key in the map. + + + + + + + + &reftitle.returnvalues; + + Returns the value associated to the object passed as argument, &null; + otherwise. + + + + + + + diff --git a/language/predefined/weakmap/offsetset.xml b/language/predefined/weakmap/offsetset.xml new file mode 100644 index 0000000000..cc3bb00dfc --- /dev/null +++ b/language/predefined/weakmap/offsetset.xml @@ -0,0 +1,74 @@ + + + + + + WeakMap::offsetSet + Updates the map with a new key-value pair + + + + &reftitle.description; + + public voidWeakMap::offsetSet + objectobject + mixedvalue + + + Updates the map with a new key-value pair. If the key already existed in + the map, the old value is replaced with the new. + + + + + &reftitle.parameters; + + + object + + + The object serving as key of the key-value pair. + + + + + value + + + The arbitrary data serving as value of the key-value pair. + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + + + diff --git a/language/predefined/weakmap/offsetunset.xml b/language/predefined/weakmap/offsetunset.xml new file mode 100644 index 0000000000..7ac95a9b29 --- /dev/null +++ b/language/predefined/weakmap/offsetunset.xml @@ -0,0 +1,64 @@ + + + + + + WeakMap::offsetUnset + Removes an entry from the map + + + + &reftitle.description; + + public voidWeakMap::offsetUnset + objectobject + + + Removes an entry from the map. + + + + + &reftitle.parameters; + + + object + + + The key object to remove from the map. + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + + + From b23076d969c72107482caa49fd5b8118eecc7712 Mon Sep 17 00:00:00 2001 From: Rowan Tommins Date: Wed, 14 Apr 2021 13:05:39 +0100 Subject: [PATCH 035/444] Expand documentation for mb_detect_encoding (#527) - People expect this function to work miracles. Add some examples of why that's not possible. Hat tip to this FAQ for the cipher comparison: https://chardet.readthedocs.io/en/latest/faq.html - The strict parameter wasn't really explained at all. I *think* this is what it actually does. - General expansion and grammar fixes (I suspect the original author didn't speak English as a first language, which makes sense since the mbstring extension originated in Japan). --- .../mbstring/functions/mb-detect-encoding.xml | 139 +++++++++++++++--- reference/mbstring/ini.xml | 3 +- 2 files changed, 120 insertions(+), 22 deletions(-) diff --git a/reference/mbstring/functions/mb-detect-encoding.xml b/reference/mbstring/functions/mb-detect-encoding.xml index 65d83db195..faa2909e31 100644 --- a/reference/mbstring/functions/mb-detect-encoding.xml +++ b/reference/mbstring/functions/mb-detect-encoding.xml @@ -5,7 +5,7 @@ mb_detect_encoding Detect character encoding - + &reftitle.description; @@ -15,7 +15,19 @@ boolstrict&false; - Detects character encoding in string string. + Detects the most likely character encoding for string string + from an ordered list of candidates. + + + Automatic detection of the intended character encoding can never be entirely reliable; + without some additional information, it is similar to decoding an encrypted string + without the key. It is always preferable to use an indication of character encoding + stored or transmitted with the data, such as a "Content-Type" HTTP header. + + + This function is most useful with multibyte encodings, where not all sequences of + bytes form a valid string. If the input string contains such a sequence, that + encoding will be be rejected, and the next encoding checked. @@ -27,7 +39,7 @@ string - The string being detected. + The string being inspected. @@ -35,13 +47,14 @@ encodings - encodings is list of character - encoding. Encoding order may be specified by array or comma - separated list string. + A list of character encodings to try, in order. The list may be specified as + an array of strings, or a single string separated by commas. If encodings is omitted or &null;, - detect_order is used. + the current detect_order (set with the + mbstring.detect_order configuration option, or mb_detect_order + function) will be used. @@ -49,21 +62,28 @@ strict - strict specifies whether to use - the strict encoding detection or not. - Default is &false;. + Controls the behaviour when string + is not valid in any of the listed encodings. + If strict is set to &false;, the closest matching + encoding will be returned; if strict is set to &true;, + &false; will be returned. + + + The default value for strict can be set + with the + mbstring.strict_detection configuration option. - + &reftitle.returnvalues; - The detected character encoding or &false; if the encoding cannot be - detected from the given string. + The detected character encoding, or &false; if the string is not valid + in any of the listed encodings. @@ -75,25 +95,102 @@ ]]> + + + Effect of <parameter>strict</parameter> parameter + + +]]> + + &example.outputs; + + + + + + + In some cases, the same sequence of bytes may form a valid string in multiple + character encodings, and it is impossible to know which interpretation was + intended. For instance, among many others, the byte sequence "\xC4\xA2" could be: + + + + + "Ä¢" (U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS followed by U+00A2 CENT SIGN) + encoded in any of ISO-8859-1, ISO-8859-15, or Windows-1252 + + + "ФЂ" (U+0424 CYRILLIC CAPITAL LETTER EF followed by U+0402 CYRILLIC CAPITAL LETTER + DJE) encoded in ISO-8859-5 + + + "Ģ" (U+0122 LATIN CAPITAL LETTER G WITH CEDILLA) encoded in UTF-8 + + + + + + Effect of order when multiple encodings match + + +]]> + + &example.outputs; + + + + + diff --git a/reference/mbstring/ini.xml b/reference/mbstring/ini.xml index 56e683222f..face53de5b 100644 --- a/reference/mbstring/ini.xml +++ b/reference/mbstring/ini.xml @@ -233,7 +233,8 @@ - Enables the strict encoding detection. + Enables strict encoding detection. See mb_detect_encoding + for a description and examples. From 2a5459cd41985a5d36809399347f816fe29805c8 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 15 Apr 2021 18:34:33 +0100 Subject: [PATCH 036/444] Fix typo with --- reference/mysqli/summary.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/mysqli/summary.xml b/reference/mysqli/summary.xml index 862648fb81..489fa3f976 100644 --- a/reference/mysqli/summary.xml +++ b/reference/mysqli/summary.xml @@ -188,7 +188,7 @@ Returns the MySQL client version as a string - N/A + N/A mysqli_get_client_stats N/A Returns client per-process statistics. &mysqli.available.mysqlnd; From f3b5475eebc9a79088559e506d90cd648404bf33 Mon Sep 17 00:00:00 2001 From: Juliette <663378+jrfnl@users.noreply.github.com> Date: Fri, 16 Apr 2021 10:44:07 +0200 Subject: [PATCH 037/444] PHP 8.0 migration/deprecated: expand on libxml_disable_entity_loader() (#528) The current text in the migration guide about the deprecation of `libxml_disable_entity_loader()` is misleading and can easily lead to the introduction of XXE vulnerable code. In select circumstances, when `LIBXML_NOENT` is used, code can still be vulnerable to XXE attacks, even on PHP 8.0. So I'm proposing to add an appropriate warning and mention the upgrade path in the migration guide. Includes fixing a typo on the `libxml_disable_entity_loader()` page. Co-authored-by: jrfnl --- appendices/migration80/deprecated.xml | 5 ++++- reference/libxml/functions/libxml-disable-entity-loader.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/appendices/migration80/deprecated.xml b/appendices/migration80/deprecated.xml index 9f3ec4b5fc..54f857a9b2 100644 --- a/appendices/migration80/deprecated.xml +++ b/appendices/migration80/deprecated.xml @@ -95,7 +95,10 @@ function test(?A $a, $b) {} // Recommended libxml_disable_entity_loader has been deprecated. As libxml 2.9.0 is now required, external entity loading is guaranteed to be disabled by default, and this function is - no longer needed to protect against XXE attacks. + no longer needed to protect against XXE attacks, unless the (still vulnerable). + LIBXML_NOENT is used. + In that case, it is recommended to refactor the code using + libxml_set_external_entity_loader to suppress loading of external entities. diff --git a/reference/libxml/functions/libxml-disable-entity-loader.xml b/reference/libxml/functions/libxml-disable-entity-loader.xml index 8deb2a16b3..8d9d4ab2e7 100644 --- a/reference/libxml/functions/libxml-disable-entity-loader.xml +++ b/reference/libxml/functions/libxml-disable-entity-loader.xml @@ -99,7 +99,7 @@ libxml_use_internal_errors libxml_set_external_entity_loader - The LIBXML_NONET constant + The LIBXML_NOENT constant From 41fde0caa4e12544f6d6da669db822354c0e37ca Mon Sep 17 00:00:00 2001 From: ctcq <39139555+ctcq@users.noreply.github.com> Date: Fri, 16 Apr 2021 16:52:30 +0200 Subject: [PATCH 038/444] Add note to FILTER_SANITIZE_STRING for encoding quotes (#530) Co-authored-by: Christopher Wiedey Co-authored-by: Kamil Tekiela --- reference/filter/filters.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reference/filter/filters.xml b/reference/filter/filters.xml index fb90bfe713..353a7f7e1b 100644 --- a/reference/filter/filters.xml +++ b/reference/filter/filters.xml @@ -335,7 +335,11 @@ FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP - Strip tags, optionally strip or encode special characters. + + Strip tags and HTML-encode double and single quotes, optionally strip + or encode special characters. Encoding quotes can be + disabled by setting FILTER_FLAG_NO_ENCODE_QUOTES. + FILTER_SANITIZE_STRIPPED From aa85e3522b727f33ecf5171b79ddcf065c234017 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Fri, 16 Apr 2021 18:19:10 -0400 Subject: [PATCH 039/444] Fix indentation in MongoDB\Driver\Manager example --- reference/mongodb/mongodb/driver/manager.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/mongodb/mongodb/driver/manager.xml b/reference/mongodb/mongodb/driver/manager.xml index 5b0de41eef..8f8a06f080 100644 --- a/reference/mongodb/mongodb/driver/manager.xml +++ b/reference/mongodb/mongodb/driver/manager.xml @@ -64,7 +64,7 @@ This can be useful to debug how the driver views your MongoDB setup, and which options are used. - + ]]> - - &example.outputs.similar; - + + &example.outputs.similar; + From bee33290e8f51645e908e4b18739be6d0c4bfc6b Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Fri, 16 Apr 2021 21:59:50 -0400 Subject: [PATCH 040/444] Various fixes for MongoDB\Driver\ServerApi Include ServerApi alongside other MongoDB\Driver classes. Nest ServerApi examples
within block. Fix character case in ServerApi method page IDs. Fix typos in ServerApi version info and add missing methods. See: php/doc-en@876a785f3628c4d2bb7b6cb54760efdc57abdc00 --- reference/mongodb/mongodb.xml | 1 + .../mongodb/mongodb/driver/serverapi.xml | 61 +++++++++---------- .../driver/serverapi/bsonserialize.xml | 2 +- .../mongodb/driver/serverapi/serialize.xml | 2 +- .../mongodb/driver/serverapi/unserialize.xml | 2 +- reference/mongodb/versions.xml | 7 ++- 6 files changed, 39 insertions(+), 36 deletions(-) diff --git a/reference/mongodb/mongodb.xml b/reference/mongodb/mongodb.xml index 5797721b40..6f42d9d8a3 100644 --- a/reference/mongodb/mongodb.xml +++ b/reference/mongodb/mongodb.xml @@ -11,6 +11,7 @@ &reference.mongodb.mongodb.driver.bulkwrite; &reference.mongodb.mongodb.driver.session; &reference.mongodb.mongodb.driver.clientencryption; + &reference.mongodb.mongodb.driver.serverapi; &reference.mongodb.mongodb.driver.writeconcern; &reference.mongodb.mongodb.driver.readpreference; diff --git a/reference/mongodb/mongodb/driver/serverapi.xml b/reference/mongodb/mongodb/driver/serverapi.xml index 7a60f15b7a..2888e796af 100644 --- a/reference/mongodb/mongodb/driver/serverapi.xml +++ b/reference/mongodb/mongodb/driver/serverapi.xml @@ -70,16 +70,13 @@
+
+ &reftitle.examples; - - -
- &reftitle.examples; - - - Declare an API version on a manager - - + Declare an API version on a manager + +version, "\n"; ?> ]]> - + - &example.outputs; - - + - - + + - - Declare a strict API version on a manager - - The following example sets the strict flag, which - tells the server to reject any command that is not part of the declared API - version. This results in an error when running the buildInfo command. - - - + Declare a strict API version on a manager + + The following example sets the strict flag, which + tells the server to reject any command that is not part of the declared API + version. This results in an error when running the buildInfo command. + + +version, "\n"; ?> ]]> - + - &example.outputs; - - + - - -
+ + +
+ + &reference.mongodb.mongodb.driver.entities.serverapi; diff --git a/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml b/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml index d8827c4aa8..c200ba2570 100644 --- a/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml +++ b/reference/mongodb/mongodb/driver/serverapi/bsonserialize.xml @@ -1,7 +1,7 @@ - + MongoDB\Driver\ServerApi::bsonSerialize Returns an object for BSON serialization diff --git a/reference/mongodb/mongodb/driver/serverapi/serialize.xml b/reference/mongodb/mongodb/driver/serverapi/serialize.xml index fdba9e8c73..1882c23bd9 100644 --- a/reference/mongodb/mongodb/driver/serverapi/serialize.xml +++ b/reference/mongodb/mongodb/driver/serverapi/serialize.xml @@ -1,7 +1,7 @@ - + MongoDB\Driver\ServerApi::serialize Serialize a ServerApi diff --git a/reference/mongodb/mongodb/driver/serverapi/unserialize.xml b/reference/mongodb/mongodb/driver/serverapi/unserialize.xml index 7a2d34df6c..2d20677860 100644 --- a/reference/mongodb/mongodb/driver/serverapi/unserialize.xml +++ b/reference/mongodb/mongodb/driver/serverapi/unserialize.xml @@ -1,7 +1,7 @@ - + MongoDB\Driver\ServerApi::unserialize Unserialize a ServerApi diff --git a/reference/mongodb/versions.xml b/reference/mongodb/versions.xml index 768bde6c35..d94ccfe29e 100644 --- a/reference/mongodb/versions.xml +++ b/reference/mongodb/versions.xml @@ -112,8 +112,11 @@ - - + + + + + From 220cd5030c881666de5315a8108f97579f7c6adb Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 18 Apr 2021 00:04:31 +0900 Subject: [PATCH 041/444] fixed typo --- reference/intl/intlchar/chr.xml | 2 +- reference/intl/intlchar/getpropertyenum.xml | 2 +- reference/intl/intlchar/getpropertyname.xml | 2 +- reference/intl/intlchar/ord.xml | 2 +- reference/mbstring/functions/mb-chr.xml | 2 +- reference/mbstring/functions/mb-ord.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/intl/intlchar/chr.xml b/reference/intl/intlchar/chr.xml index a63f7a5fdc..68ee72709b 100644 --- a/reference/intl/intlchar/chr.xml +++ b/reference/intl/intlchar/chr.xml @@ -17,7 +17,7 @@ Returns a string containing the character specified by the Unicode code point value. - This function compliments IntlChar::ord. + This function complements IntlChar::ord. diff --git a/reference/intl/intlchar/getpropertyenum.xml b/reference/intl/intlchar/getpropertyenum.xml index 63d84bc325..3451f3305d 100644 --- a/reference/intl/intlchar/getpropertyenum.xml +++ b/reference/intl/intlchar/getpropertyenum.xml @@ -22,7 +22,7 @@ IntlChar::PROPERTY_GENERAL_CATEGORY_MASK. These names are not in PropertyAliases.txt. - This function compliments IntlChar::getPropertyName. + This function complements IntlChar::getPropertyName. diff --git a/reference/intl/intlchar/getpropertyname.xml b/reference/intl/intlchar/getpropertyname.xml index c5b76b3d5a..96259e5ac2 100644 --- a/reference/intl/intlchar/getpropertyname.xml +++ b/reference/intl/intlchar/getpropertyname.xml @@ -22,7 +22,7 @@ synthetic names "gcm" / "General_Category_Mask". These names are not in PropertyAliases.txt. - This function compliments IntlChar::getPropertyEnum. + This function complements IntlChar::getPropertyEnum. diff --git a/reference/intl/intlchar/ord.xml b/reference/intl/intlchar/ord.xml index e57bc5021f..d7f9a46e63 100644 --- a/reference/intl/intlchar/ord.xml +++ b/reference/intl/intlchar/ord.xml @@ -17,7 +17,7 @@ Returns the Unicode code point value of the given character. - This function compliments IntlChar::chr. + This function complements IntlChar::chr. diff --git a/reference/mbstring/functions/mb-chr.xml b/reference/mbstring/functions/mb-chr.xml index ae5379f099..b053d8e5c5 100644 --- a/reference/mbstring/functions/mb-chr.xml +++ b/reference/mbstring/functions/mb-chr.xml @@ -18,7 +18,7 @@ encoded in the specified encoding. - This function compliments mb_ord. + This function complements mb_ord. diff --git a/reference/mbstring/functions/mb-ord.xml b/reference/mbstring/functions/mb-ord.xml index f9b89922c4..18bf3de9c6 100644 --- a/reference/mbstring/functions/mb-ord.xml +++ b/reference/mbstring/functions/mb-ord.xml @@ -17,7 +17,7 @@ Returns the Unicode code point value of the given character. - This function compliments mb_chr. + This function complements mb_chr. From 5a39a8f128d07aff65d255a17847dd67adecc052 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 18 Apr 2021 00:06:32 +0900 Subject: [PATCH 042/444] added WeakMap link to migration80. --- appendices/migration80/new-features.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/appendices/migration80/new-features.xml b/appendices/migration80/new-features.xml index fb5be958c4..5c199d90ce 100644 --- a/appendices/migration80/new-features.xml +++ b/appendices/migration80/new-features.xml @@ -71,8 +71,7 @@ - - The WeakMap class has been added. + The WeakMap class has been added. From 2693fe9dd233849973c483e8fbb458bf4486fbd7 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 16 Apr 2021 17:24:35 +0100 Subject: [PATCH 043/444] HTML-escape -> HTML-encode --- reference/filter/filters.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/filter/filters.xml b/reference/filter/filters.xml index 353a7f7e1b..bb998c2012 100644 --- a/reference/filter/filters.xml +++ b/reference/filter/filters.xml @@ -304,7 +304,7 @@ FILTER_FLAG_ENCODE_HIGH - HTML-escape '"<>& and characters with + HTML-encode '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters. From 3cfbd573de5775bc5a15dc96768a6bd9f6332e44 Mon Sep 17 00:00:00 2001 From: Ruslan Osmanov Date: Mon, 19 Apr 2021 11:02:10 +0300 Subject: [PATCH 044/444] Added a note about removal of eio_init function in the eio version 3.0.0RC1 (#536) --- reference/eio/functions/eio-init.xml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/reference/eio/functions/eio-init.xml b/reference/eio/functions/eio-init.xml index f18b8e76c8..d113190a97 100644 --- a/reference/eio/functions/eio-init.xml +++ b/reference/eio/functions/eio-init.xml @@ -16,14 +16,11 @@ eio_init (re-)initializes Eio. It allocates memory for internal structures of libeio and Eio itself. You may call eio_init before using Eio functions. Otherwise it will be called internally first time you invoke an Eio function in a process. - - - - &removed.php.future; - Since Eio 1.1.0 eio_init is deprecated. In Eio 1.0.0 because of libeio's restrictions you must call eio_init in child process, if you fork one by any means. You have to avoid using Eio in parent process, if you use it in childs. - - - + + + This function was removed in version 3.0.0RC1 of the eio extension for PHP version 8 and higher. + + From 92d0f8b9af5e3ff4cd48777f3694de8681587d3f Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 19 Apr 2021 09:30:47 +0100 Subject: [PATCH 045/444] Add FILTER_SANITIZE_ADD_SLASHES (#532) --- reference/filter/constants.xml | 4 +++- reference/filter/filters.xml | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/reference/filter/constants.xml b/reference/filter/constants.xml index 669e71730f..64e82f41c4 100644 --- a/reference/filter/constants.xml +++ b/reference/filter/constants.xml @@ -359,7 +359,9 @@ ID of "magic_quotes" filter. - (Deprecated per PHP 7.3.0, use FILTER_SANITIZE_ADD_SLASHES instead.) + (DEPRECATED as of PHP 7.3.0 and + REMOVED as of PHP 8.0.0, + use FILTER_SANITIZE_ADD_SLASHES instead.) diff --git a/reference/filter/filters.xml b/reference/filter/filters.xml index bb998c2012..d51087499b 100644 --- a/reference/filter/filters.xml +++ b/reference/filter/filters.xml @@ -271,7 +271,18 @@ FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes" - Apply addslashes. + + Apply addslashes. + (DEPRECATED as of PHP 7.3.0 and + REMOVED as of PHP 8.0.0, + use FILTER_SANITIZE_ADD_SLASHES instead.) + +
+ + FILTER_SANITIZE_ADD_SLASHES + "add_slashes" + + Apply addslashes. (Available as of PHP 7.3.0) FILTER_SANITIZE_NUMBER_FLOAT From 30ac3684e1b7fe637188be58fb5195f07760787b Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 19 Apr 2021 18:10:41 +0900 Subject: [PATCH 046/444] added missing constant tag. --- reference/filter/filters.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/filter/filters.xml b/reference/filter/filters.xml index d51087499b..a812f0bf4f 100644 --- a/reference/filter/filters.xml +++ b/reference/filter/filters.xml @@ -275,7 +275,7 @@ Apply addslashes. (DEPRECATED as of PHP 7.3.0 and REMOVED as of PHP 8.0.0, - use FILTER_SANITIZE_ADD_SLASHES instead.) + use FILTER_SANITIZE_ADD_SLASHES instead.) From 9ee27f088aefb55de20529000792c4deefc0226b Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 19 Apr 2021 10:57:59 +0100 Subject: [PATCH 047/444] Fix some common typos (#533) * accomodate -> accommodate * agressive -> aggressive * begining -> beginning * enviroment -> environment * existance -> existence * fourty -> forty * foward -> forward * futher -> further * immediatly -> immediately * occured -> occurred * occuring -> occurring * occurance, occurence -> occurrence * prefered -> preferred * publically -> publicly * seperate -> separate * compliment -> complement --- language-snippets.ent | 2 +- reference/datetime/dateperiod/construct.xml | 2 +- reference/ds/ds/map/diff.xml | 2 +- reference/ds/ds/set/diff.xml | 2 +- reference/event/event.xml | 2 +- reference/event/eventbuffer/search.xml | 4 ++-- reference/event/eventbuffer/searcheol.xml | 2 +- reference/event/eventbufferevent/sslerror.xml | 2 +- .../fann/functions/fann-get-activation-steepness.xml | 2 +- reference/fann/functions/fann-read-train-from-file.xml | 8 ++++---- .../fann/functions/fann-set-activation-steepness.xml | 2 +- reference/ibm_db2/functions/db2-prepare.xml | 2 +- reference/image/functions/imagefttext.xml | 2 +- reference/intl/intlcalendar/geterrormessage.xml | 2 +- reference/mongo/connecting.xml | 2 +- reference/mongo/mongoid.xml | 2 +- .../quickhash/quickhashintstringhash/savetofile.xml | 2 +- .../quickhash/quickhashstringinthash/savetofile.xml | 2 +- .../quickhash/quickhashstringinthash/savetostring.xml | 2 +- reference/quickhash/quickhashstringinthash/set.xml | 10 +++++----- .../snmp/functions/snmp-set-oid-output-format.xml | 2 +- reference/solr/solrquery/gethighlightregexslop.xml | 2 +- reference/spl/appenditerator/construct.xml | 2 +- reference/yaconf/book.xml | 2 +- reference/yaf/yaf_controller_abstract/forward.xml | 2 +- reference/yaf/yaf_request_abstract/getlanguage.xml | 2 +- reference/yaf/yaf_view_interface/display.xml | 2 +- 27 files changed, 35 insertions(+), 35 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index 119fd3ecb5..aa0691265f 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1348,7 +1348,7 @@ To use the Easy Connect naming method, PHP must be linked with Oracle [//]host_name[:port][/service_name]. From Oracle 11g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. -Futher options were introduced with Oracle 19c, including timeout and keep-alive +Further options were introduced with Oracle 19c, including timeout and keep-alive settings. Refer to Oracle documentation. Service names can be found by running the Oracle utility lsnrctl status on the database server machine. diff --git a/reference/datetime/dateperiod/construct.xml b/reference/datetime/dateperiod/construct.xml index 2c56c0ef42..5ec439c0ec 100644 --- a/reference/datetime/dateperiod/construct.xml +++ b/reference/datetime/dateperiod/construct.xml @@ -74,7 +74,7 @@ An ISO 8601 repeating interval specification. - Zero occurences (R0/) are not supported. + Zero occurrences (R0/) are not supported. diff --git a/reference/ds/ds/map/diff.xml b/reference/ds/ds/map/diff.xml index 83e7370d7d..07f63ee640 100644 --- a/reference/ds/ds/map/diff.xml +++ b/reference/ds/ds/map/diff.xml @@ -48,7 +48,7 @@ See Also - Compliment on Wikipedia + Complement on Wikipedia diff --git a/reference/ds/ds/set/diff.xml b/reference/ds/ds/set/diff.xml index 38c12da196..431bd9063c 100644 --- a/reference/ds/ds/set/diff.xml +++ b/reference/ds/ds/set/diff.xml @@ -46,7 +46,7 @@ See Also - Compliment on Wikipedia + Complement on Wikipedia diff --git a/reference/event/event.xml b/reference/event/event.xml index e98f6644cf..1ce039fab2 100644 --- a/reference/event/event.xml +++ b/reference/event/event.xml @@ -11,7 +11,7 @@ Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write - to(edge-triggered I/O only); a timeout expiring; a signal occuring; a + to(edge-triggered I/O only); a timeout expiring; a signal occurring; a user-triggered event. diff --git a/reference/event/eventbuffer/search.xml b/reference/event/eventbuffer/search.xml index c535e01956..bec82794ff 100644 --- a/reference/event/eventbuffer/search.xml +++ b/reference/event/eventbuffer/search.xml @@ -81,7 +81,7 @@ &reftitle.returnvalues; - Returns numeric position of the first occurance of the string in the + Returns numeric position of the first occurrence of the string in the buffer, or &false; if string is not found. &return.falseproblem; @@ -94,7 +94,7 @@ &reftitle.returnvalues; - Returns numeric position of the first occurance of end-of-line symbol in + Returns numeric position of the first occurrence of end-of-line symbol in the buffer, or &false; if not found. &return.falseproblem; diff --git a/reference/event/eventbufferevent/sslerror.xml b/reference/event/eventbufferevent/sslerror.xml index 257bbd4bcb..0ae350d82f 100644 --- a/reference/event/eventbufferevent/sslerror.xml +++ b/reference/event/eventbufferevent/sslerror.xml @@ -44,7 +44,7 @@ The steepness of an activation function says something about how fast the activation function goes - from the minimum to the maximum. A high value for the activation function will also give a more agressive training. + from the minimum to the maximum. A high value for the activation function will also give a more aggressive training. When training neural networks where the output values should be at the extremes diff --git a/reference/fann/functions/fann-read-train-from-file.xml b/reference/fann/functions/fann-read-train-from-file.xml index 562a603f3a..4780e144ed 100644 --- a/reference/fann/functions/fann-read-train-from-file.xml +++ b/reference/fann/functions/fann-read-train-from-file.xml @@ -30,15 +30,15 @@ diff --git a/reference/fann/functions/fann-set-activation-steepness.xml b/reference/fann/functions/fann-set-activation-steepness.xml index 305dd3002a..098dc48dcb 100644 --- a/reference/fann/functions/fann-set-activation-steepness.xml +++ b/reference/fann/functions/fann-set-activation-steepness.xml @@ -25,7 +25,7 @@ The steepness of an activation function says something about how fast the activation function goes from - the minimum to the maximum. A high value for the activation function will also give a more agressive training. + the minimum to the maximum. A high value for the activation function will also give a more aggressive training. When training neural networks where the output values should be at the extremes diff --git a/reference/ibm_db2/functions/db2-prepare.xml b/reference/ibm_db2/functions/db2-prepare.xml index e59f82a930..14224acfa6 100644 --- a/reference/ibm_db2/functions/db2-prepare.xml +++ b/reference/ibm_db2/functions/db2-prepare.xml @@ -155,7 +155,7 @@ if ($stmt) { In the following example, assume that the PHP script has been placed on - a publically accessible Web server and the application provides + a publicly accessible Web server and the application provides different levels of access for different users. We shall also assume that the application issues an SQL statement that updates the privilege level of a newly registered user to the lowest level, taking the user ID diff --git a/reference/image/functions/imagefttext.xml b/reference/image/functions/imagefttext.xml index 14236534aa..2d219e6e55 100644 --- a/reference/image/functions/imagefttext.xml +++ b/reference/image/functions/imagefttext.xml @@ -108,7 +108,7 @@ The error message associated with last error that occurred in a function call - on this object, or a string indicating the non-existance of an error. + on this object, or a string indicating the non-existence of an error. diff --git a/reference/mongo/connecting.xml b/reference/mongo/connecting.xml index 707240322c..386ee71172 100644 --- a/reference/mongo/connecting.xml +++ b/reference/mongo/connecting.xml @@ -237,7 +237,7 @@ $m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" = MongoId instance as its value. If the data - has a naturally occuring unique field (e.g. username or timestamp) it is + has a naturally occurring unique field (e.g. username or timestamp) it is fine to use this as the _id field instead, and it will not be replaced with a MongoId. diff --git a/reference/quickhash/quickhashintstringhash/savetofile.xml b/reference/quickhash/quickhashintstringhash/savetofile.xml index d2eaf036b9..3789fdf763 100644 --- a/reference/quickhash/quickhashintstringhash/savetofile.xml +++ b/reference/quickhash/quickhashintstringhash/savetofile.xml @@ -52,7 +52,7 @@ exists( 4 ) ); -var_dump( $hash->add( 4, "fourty three" ) ); +var_dump( $hash->add( 4, "forty three" ) ); var_dump( $hash->exists( 4 ) ); var_dump( $hash->add( 4, "fifty two" ) ); diff --git a/reference/quickhash/quickhashstringinthash/savetofile.xml b/reference/quickhash/quickhashstringinthash/savetofile.xml index 7fa64f6f7c..331efdeee2 100644 --- a/reference/quickhash/quickhashstringinthash/savetofile.xml +++ b/reference/quickhash/quickhashstringinthash/savetofile.xml @@ -51,7 +51,7 @@ add( "fourty three", 42 ) ); +var_dump( $hash->add( "forty three", 42 ) ); var_dump( $hash->add( "fifty two", 52 ) ); $hash->saveToFile( '/tmp/test.hash.string' ); diff --git a/reference/quickhash/quickhashstringinthash/savetostring.xml b/reference/quickhash/quickhashstringinthash/savetostring.xml index ecb26752d4..ef4eb785bc 100644 --- a/reference/quickhash/quickhashstringinthash/savetostring.xml +++ b/reference/quickhash/quickhashstringinthash/savetostring.xml @@ -35,7 +35,7 @@ add( "fourty three", 42 ) ); +var_dump( $hash->add( "forty three", 42 ) ); var_dump( $hash->add( "fifty two", 52 ) ); var_dump( $hash->saveToString() ); diff --git a/reference/quickhash/quickhashstringinthash/set.xml b/reference/quickhash/quickhashstringinthash/set.xml index e26a89d2a4..00795add42 100644 --- a/reference/quickhash/quickhashstringinthash/set.xml +++ b/reference/quickhash/quickhashstringinthash/set.xml @@ -69,13 +69,13 @@ $hash = new QuickHashStringIntHash( 1024 ); echo "Set->Add\n"; -var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) ); -var_dump( $hash->set( "fourty six thousand six hundred ninety two", 16091 ) ); -var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) ); +var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); +var_dump( $hash->set( "forty six thousand six hundred ninety two", 16091 ) ); +var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); echo "Set->Update\n"; -var_dump( $hash->set( "fourty six thousand six hundred ninety two", 29906 ) ); -var_dump( $hash->get( "fourty six thousand six hundred ninety two" ) ); +var_dump( $hash->set( "forty six thousand six hundred ninety two", 29906 ) ); +var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); ?> ]]> diff --git a/reference/snmp/functions/snmp-set-oid-output-format.xml b/reference/snmp/functions/snmp-set-oid-output-format.xml index de59fa3bed..442d235495 100644 --- a/reference/snmp/functions/snmp-set-oid-output-format.xml +++ b/reference/snmp/functions/snmp-set-oid-output-format.xml @@ -35,7 +35,7 @@ - Begining from PHP 5.4.0 four additional constants available: + Beginning from PHP 5.4.0 four additional constants available: <tgroup cols="2"> diff --git a/reference/solr/solrquery/gethighlightregexslop.xml b/reference/solr/solrquery/gethighlightregexslop.xml index 99c1f9d95b..99ed42a514 100644 --- a/reference/solr/solrquery/gethighlightregexslop.xml +++ b/reference/solr/solrquery/gethighlightregexslop.xml @@ -14,7 +14,7 @@ <void /> </methodsynopsis> <para> - Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accomodate the regular expression + Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accommodate the regular expression </para> </refsect1> diff --git a/reference/spl/appenditerator/construct.xml b/reference/spl/appenditerator/construct.xml index e6b1206ff0..27d9ac2801 100644 --- a/reference/spl/appenditerator/construct.xml +++ b/reference/spl/appenditerator/construct.xml @@ -114,7 +114,7 @@ while ($appendIterator->valid()) { <para> When using <function>iterator_to_array</function> to copy the values of the AppendIterator into an array, you have to set the optional <parameter>use_key</parameter> argument to - &false;. When <parameter>use_key</parameter> is not &false; any keys reoccuring in inner + &false;. When <parameter>use_key</parameter> is not &false; any keys reoccurring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys. </para> </caution> diff --git a/reference/yaconf/book.xml b/reference/yaconf/book.xml index a3273fa605..4b7072aad8 100644 --- a/reference/yaconf/book.xml +++ b/reference/yaconf/book.xml @@ -43,7 +43,7 @@ arr.0=val arr[]=val ;use PHP constants version=PHP_VERION -;use enviroment +;use environment env=${PATH} ]]> </programlisting> diff --git a/reference/yaf/yaf_controller_abstract/forward.xml b/reference/yaf/yaf_controller_abstract/forward.xml index 67621a13d9..9e0d75fd1d 100644 --- a/reference/yaf/yaf_controller_abstract/forward.xml +++ b/reference/yaf/yaf_controller_abstract/forward.xml @@ -4,7 +4,7 @@ <refentry xml:id="yaf-controller-abstract.forward" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> <refname>Yaf_Controller_Abstract::forward</refname> - <refpurpose>Foward to another action</refpurpose> + <refpurpose>Forward to another action</refpurpose> </refnamediv> <refsect1 role="description"> diff --git a/reference/yaf/yaf_request_abstract/getlanguage.xml b/reference/yaf/yaf_request_abstract/getlanguage.xml index 21b2e72182..419e299472 100644 --- a/reference/yaf/yaf_request_abstract/getlanguage.xml +++ b/reference/yaf/yaf_request_abstract/getlanguage.xml @@ -4,7 +4,7 @@ <refentry xml:id="yaf-request-abstract.getlanguage" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> <refname>Yaf_Request_Abstract::getLanguage</refname> - <refpurpose>Retrieve client's prefered language</refpurpose> + <refpurpose>Retrieve client's preferred language</refpurpose> </refnamediv> <refsect1 role="description"> diff --git a/reference/yaf/yaf_view_interface/display.xml b/reference/yaf/yaf_view_interface/display.xml index 2f482ef7e8..ef70ee354a 100644 --- a/reference/yaf/yaf_view_interface/display.xml +++ b/reference/yaf/yaf_view_interface/display.xml @@ -15,7 +15,7 @@ <methodparam choice="opt"><type>array</type><parameter>tpl_vars</parameter></methodparam> </methodsynopsis> <para> - Render a template and output the result immediatly. + Render a template and output the result immediately. </para> &warn.undocumented.func; From 058748359b6bfffc724b7d95d761f8e1167815f2 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela <tekiela246@gmail.com> Date: Mon, 19 Apr 2021 11:05:47 +0100 Subject: [PATCH 048/444] Updating mysqli: mysqli_stmt_store_result (#535) * Split up the sentence and make it easier to read * Simplify the example --- reference/mysqli/mysqli_stmt/store-result.xml | 74 +++++-------------- 1 file changed, 19 insertions(+), 55 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/store-result.xml b/reference/mysqli/mysqli_stmt/store-result.xml index ef492c390e..1eecc59966 100644 --- a/reference/mysqli/mysqli_stmt/store-result.xml +++ b/reference/mysqli/mysqli_stmt/store-result.xml @@ -4,7 +4,7 @@ <refnamediv> <refname>mysqli_stmt::store_result</refname> <refname>mysqli_stmt_store_result</refname> - <refpurpose>Transfers a result set from a prepared statement</refpurpose> + <refpurpose>Stores a result set in an internal buffer</refpurpose> </refnamediv> <refsect1 role="description"> @@ -20,10 +20,10 @@ <methodparam><type>mysqli_stmt</type><parameter>statement</parameter></methodparam> </methodsynopsis> <para> - You must call <function>mysqli_stmt_store_result</function> for every query that - successfully produces a result set (<literal>SELECT, SHOW, DESCRIBE, EXPLAIN</literal>), - if and only if you want to buffer the complete result set by the client, - so that the subsequent <function>mysqli_stmt_fetch</function> call returns buffered data. + This function should be called for queries that successfully + produce a result set (e.g. <literal>SELECT, SHOW, DESCRIBE, EXPLAIN</literal>) + only if the complete result set needs to be buffered in PHP. Each subsequent + <function>mysqli_stmt_fetch</function> call will return buffered data. </para> <note> <para> @@ -58,36 +58,18 @@ <programlisting role="php"> <![CDATA[ <?php -/* Open a connection */ + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); -/* check connection */ -if (mysqli_connect_errno()) { - printf("Connect failed: %s\n", mysqli_connect_error()); - exit(); -} - $query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; -if ($stmt = $mysqli->prepare($query)) { +$stmt = $mysqli->prepare($query); +$stmt->execute(); - /* execute query */ - $stmt->execute(); +/* store the result in an internal buffer */ +$stmt->store_result(); - /* store result */ - $stmt->store_result(); - - printf("Number of rows: %d.\n", $stmt->num_rows); - - /* free result */ - $stmt->free_result(); - - /* close statement */ - $stmt->close(); -} - -/* close connection */ -$mysqli->close(); -?> +printf("Number of rows: %d.\n", $stmt->num_rows); ]]> </programlisting> </example> @@ -96,36 +78,18 @@ $mysqli->close(); <programlisting role="php"> <![CDATA[ <?php -/* Open a connection */ + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $link = mysqli_connect("localhost", "my_user", "my_password", "world"); -/* check connection */ -if (mysqli_connect_errno()) { - printf("Connect failed: %s\n", mysqli_connect_error()); - exit(); -} - $query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; -if ($stmt = mysqli_prepare($link, $query)) { +$stmt = mysqli_prepare($link, $query); +mysqli_stmt_execute($stmt); - /* execute query */ - mysqli_stmt_execute($stmt); +/* store the result in an internal buffer */ +mysqli_stmt_store_result($stmt); - /* store result */ - mysqli_stmt_store_result($stmt); - - printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt)); - - /* free result */ - mysqli_stmt_free_result($stmt); - - /* close statement */ - mysqli_stmt_close($stmt); -} - -/* close connection */ -mysqli_close($link); -?> +printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt)); ]]> </programlisting> &examples.outputs; From 4d02fe98ddc684a0d82a3921ef189a71b98f4f04 Mon Sep 17 00:00:00 2001 From: Yurun <admin@yurunsoft.com> Date: Mon, 19 Apr 2021 18:07:44 +0800 Subject: [PATCH 049/444] Improve variable name in example (#529) --- reference/info/functions/getopt.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/info/functions/getopt.xml b/reference/info/functions/getopt.xml index 3e37392ae7..5cb030d958 100644 --- a/reference/info/functions/getopt.xml +++ b/reference/info/functions/getopt.xml @@ -262,9 +262,9 @@ array(2) { <![CDATA[ <?php // Script example.php -$optind = null; -$opts = getopt('a:b:', [], $optind); -$pos_args = array_slice($argv, $optind); +$rest_index = null; +$opts = getopt('a:b:', [], $rest_index); +$pos_args = array_slice($argv, $rest_index); var_dump($pos_args); ]]> </programlisting> From b80314ffbbc3f299b9a30331bbdd3e8015047f16 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela <tekiela246@gmail.com> Date: Mon, 19 Apr 2021 11:15:48 +0100 Subject: [PATCH 050/444] Remove PHP 5 from filter extension (#531) * Update changelog * Remove para from Overview * Remove available from * Remove paragraph about +0/-0 * Remove changelog entries --- reference/filter/configure.xml | 6 +--- reference/filter/constants.xml | 2 -- reference/filter/filters.xml | 53 +++++++++++----------------------- reference/filter/ini.xml | 4 +-- 4 files changed, 20 insertions(+), 45 deletions(-) diff --git a/reference/filter/configure.xml b/reference/filter/configure.xml index f3400942d8..1ee2e82213 100644 --- a/reference/filter/configure.xml +++ b/reference/filter/configure.xml @@ -3,12 +3,8 @@ <section xml:id="filter.installation" xmlns="http://docbook.org/ns/docbook"> &reftitle.install; <para> - The filter extension is enabled by default as of PHP 5.2.0. + The filter extension is enabled by default. To disable the filter extension, use <option role="configure">--disable-filter</option>. - </para> - <para> - Before PHP 5.2 an experimental PECL extension was used, however, the PECL version - is no longer recommended or updated. </para> </section> diff --git a/reference/filter/constants.xml b/reference/filter/constants.xml index 64e82f41c4..f38f37c6f6 100644 --- a/reference/filter/constants.xml +++ b/reference/filter/constants.xml @@ -236,7 +236,6 @@ <listitem> <simpara> ID of "validate_mac_address" filter. - (Available as of PHP 5.5.0) </simpara> </listitem> </varlistentry> @@ -440,7 +439,6 @@ <listitem> <simpara> Strips backtick characters. - (Available as of PHP 5.3.2) </simpara> </listitem> </varlistentry> diff --git a/reference/filter/filters.xml b/reference/filter/filters.xml index a812f0bf4f..30e951d925 100644 --- a/reference/filter/filters.xml +++ b/reference/filter/filters.xml @@ -172,13 +172,8 @@ </para> <note> <para> - As of PHP 5.4.11, the numbers +0 and -0 validate as both integers as well - as floats (using <constant>FILTER_VALIDATE_FLOAT</constant> and - <constant>FILTER_VALIDATE_INT</constant>). Before PHP 5.4.11 they only - validated as floats (using <constant>FILTER_VALIDATE_FLOAT</constant>). - </para> - <para> - When <parameter>default</parameter> is set to option, <parameter>default</parameter>'s value is used if value is not validated. + When <parameter>default</parameter> is set to option, + <parameter>default</parameter>'s value is used if value is not validated. </para> </note> @@ -207,20 +202,6 @@ Added <constant>FILTER_FLAG_HOSTNAME</constant> and <constant>FILTER_VALIDATE_DOMAIN</constant>. </entry> </row> - <row> - <entry>5.5.0</entry> - <entry> - Added <constant>FILTER_VALIDATE_MAC</constant>. - </entry> - </row> - <row> - <entry>5.2.1</entry> - <entry> - <constant>FILTER_VALIDATE_URL</constant> now implicitly uses - <constant>FILTER_FLAG_SCHEME_REQUIRED</constant> and - <constant>FILTER_FLAG_HOST_REQUIRED</constant>. - </entry> - </row> </tbody> </tgroup> </informaltable> @@ -418,10 +399,22 @@ filter.default_flags = 0 </thead> <tbody> <row> - <entry>5.2.11/5.3.1</entry> + <entry>8.0.0</entry> <entry> - Slashes (<literal>/</literal>) are removed by - <constant>FILTER_SANITIZE_EMAIL</constant>. Prior they were retained. + <constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> has been removed. + </entry> + </row> + <row> + <entry>7.3.0</entry> + <entry> + <constant>FILTER_SANITIZE_ADD_SLASHES</constant> was added as a + replacement for <constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> + </entry> + </row> + <row> + <entry>7.3.0</entry> + <entry> + <constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> has been deprecated. </entry> </row> </tbody> @@ -774,18 +767,6 @@ filter.default_flags = 0 <constant>FILTER_FLAG_EMAIL_UNICODE</constant> has been added. </entry> </row> - <row> - <entry>5.3.2</entry> - <entry> - <constant>FILTER_FLAG_STRIP_BACKTICK</constant> has been added. - </entry> - </row> - <row> - <entry>5.2.10</entry> - <entry> - <constant>FILTER_FLAG_NO_RES_RANGE</constant> supports also IPv6 addresses. - </entry> - </row> </tbody> </tgroup> </informaltable> diff --git a/reference/filter/ini.xml b/reference/filter/ini.xml index 771943b719..bdac02248c 100644 --- a/reference/filter/ini.xml +++ b/reference/filter/ini.xml @@ -20,13 +20,13 @@ <entry><link linkend="ini.filter.default">filter.default</link></entry> <entry>"unsafe_raw"</entry> <entry>PHP_INI_PERDIR</entry> - <entry>PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.</entry> + <entry></entry> </row> <row> <entry><link linkend="ini.filter.default-flags">filter.default_flags</link></entry> <entry>NULL</entry> <entry>PHP_INI_PERDIR</entry> - <entry>PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.</entry> + <entry></entry> </row> </tbody> </tgroup> From dd522120279a5d08a8aeeaabfaafdea235991d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=9D=A6=E7=B1=B3?= <jhdxr@php.net> Date: Tue, 20 Apr 2021 01:54:29 +0800 Subject: [PATCH 051/444] fix #80766 namespaced assert is no longer allowed --- reference/info/functions/assert.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/reference/info/functions/assert.xml b/reference/info/functions/assert.xml index 2e707157fa..e229096a40 100644 --- a/reference/info/functions/assert.xml +++ b/reference/info/functions/assert.xml @@ -224,6 +224,20 @@ </row> </thead> <tbody> + <row> + <entry>8.0.0</entry> + <entry> + Declaring a function called <literal>assert()</literal> inside a namespace is + no longer allowed, and issues <constant>E_COMPILE_ERROR</constant>. + </entry> + </row> + <row> + <entry>7.3.0</entry> + <entry> + Declaring a function called <literal>assert()</literal> inside a namespace + became deprecated. Such declaration now emits an <constant>E_DEPRECATED</constant>. + </entry> + </row> <row> <entry>7.2.0</entry> <entry> From 7a3899eea90f3df8dcfe8fd350900162f3490bed Mon Sep 17 00:00:00 2001 From: Andrew Foster <andy@sol1.com.au> Date: Tue, 20 Apr 2021 15:39:32 +1000 Subject: [PATCH 052/444] Fix double "language" (#538) --- reference/strings/functions/echo.xml | 2 +- reference/strings/functions/print.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/strings/functions/echo.xml b/reference/strings/functions/echo.xml index 12c3479026..41e5324c99 100644 --- a/reference/strings/functions/echo.xml +++ b/reference/strings/functions/echo.xml @@ -16,7 +16,7 @@ Outputs one or more expressions, with no additional newlines or spaces. </simpara> <para> - <literal>echo</literal> is not a function but a language language construct. + <literal>echo</literal> is not a function but a language construct. Its arguments are a list of expressions following the <literal>echo</literal> keyword, separated by commas, and not delimited by parentheses. Unlike some other language constructs, <literal>echo</literal> does not have diff --git a/reference/strings/functions/print.xml b/reference/strings/functions/print.xml index 3aa3e4af75..7a63aed759 100644 --- a/reference/strings/functions/print.xml +++ b/reference/strings/functions/print.xml @@ -16,7 +16,7 @@ Outputs <parameter>expression</parameter>. </para> <para> - <literal>print</literal> is not a function but a language language construct. + <literal>print</literal> is not a function but a language construct. Its argument is the expression following the <literal>print</literal> keyword, and is not delimited by parentheses. </para> From e994a8d5be2529d508f6ee45fb53ca60502a7c9e Mon Sep 17 00:00:00 2001 From: Kamil Tekiela <tekiela246@gmail.com> Date: Tue, 20 Apr 2021 09:32:36 +0100 Subject: [PATCH 053/444] Updating mysqli: mysqli_stmt_num_rows (#534) * Better title * Rewrite the description * Rewrite return value section * Simplify the example * Move up mysqli_stmt_store_result * Removed ungrammatical "or not" Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> --- reference/mysqli/mysqli_stmt/num-rows.xml | 78 +++++++---------------- 1 file changed, 24 insertions(+), 54 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/num-rows.xml b/reference/mysqli/mysqli_stmt/num-rows.xml index 66d4fdd377..f9865d8cfb 100644 --- a/reference/mysqli/mysqli_stmt/num-rows.xml +++ b/reference/mysqli/mysqli_stmt/num-rows.xml @@ -5,7 +5,7 @@ <refname>mysqli_stmt::$num_rows</refname> <refname>mysqli_stmt::num_rows</refname> <refname>mysqli_stmt_num_rows</refname> - <refpurpose>Return the number of rows in statements result set</refpurpose> + <refpurpose>Returns the number of rows fetched from the server</refpurpose> </refnamediv> <refsect1 role="description"> @@ -22,15 +22,13 @@ <methodparam><type>mysqli_stmt</type><parameter>statement</parameter></methodparam> </methodsynopsis> <para> - Returns the number of rows in the result set. - The use of <function>mysqli_stmt_num_rows</function> - depends on whether or not you used - <function>mysqli_stmt_store_result</function> to buffer the entire result - set in the statement handle. + Returns the number of rows buffered in the statement. This function will only + work after <function>mysqli_stmt_store_result</function> is called to buffer + the entire result set in the statement handle. </para> <para> - If you use <function>mysqli_stmt_store_result</function>, - <function>mysqli_stmt_num_rows</function> may be called immediately. + This function returns <literal>0</literal> unless all rows have been + fetched from the server. </para> </refsect1> @@ -46,7 +44,9 @@ <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - An integer representing the number of rows in result set. + An <type>int</type> representing the number of buffered rows. + Returns <literal>0</literal> in unbuffered mode unless all rows have been + fetched from the server. </para> </refsect1> @@ -57,33 +57,18 @@ <programlisting role="php"> <![CDATA[ <?php -/* Open a connection */ + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); -/* check connection */ -if (mysqli_connect_errno()) { - printf("Connect failed: %s\n", mysqli_connect_error()); - exit(); -} - $query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; -if ($stmt = $mysqli->prepare($query)) { +$stmt = $mysqli->prepare($query); +$stmt->execute(); - /* execute query */ - $stmt->execute(); +/* store the result in an internal buffer */ +$stmt->store_result(); - /* store result */ - $stmt->store_result(); - - printf("Number of rows: %d.\n", $stmt->num_rows); - - /* close statement */ - $stmt->close(); -} - -/* close connection */ -$mysqli->close(); -?> +printf("Number of rows: %d.\n", $stmt->num_rows); ]]> </programlisting> </example> @@ -92,33 +77,18 @@ $mysqli->close(); <programlisting role="php"> <![CDATA[ <?php -/* Open a connection */ + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $link = mysqli_connect("localhost", "my_user", "my_password", "world"); -/* check connection */ -if (mysqli_connect_errno()) { - printf("Connect failed: %s\n", mysqli_connect_error()); - exit(); -} - $query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20"; -if ($stmt = mysqli_prepare($link, $query)) { +$stmt = mysqli_prepare($link, $query); +mysqli_stmt_execute($stmt); - /* execute query */ - mysqli_stmt_execute($stmt); +/* store the result in an internal buffer */ +mysqli_stmt_store_result($stmt); - /* store result */ - mysqli_stmt_store_result($stmt); - - printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt)); - - /* close statement */ - mysqli_stmt_close($stmt); -} - -/* close connection */ -mysqli_close($link); -?> +printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt)); ]]> </programlisting> &examples.outputs; @@ -134,9 +104,9 @@ Number of rows: 20. &reftitle.seealso; <para> <simplelist> + <member><function>mysqli_stmt_store_result</function></member> <member><function>mysqli_stmt_affected_rows</function></member> <member><function>mysqli_prepare</function></member> - <member><function>mysqli_stmt_store_result</function></member> </simplelist> </para> </refsect1> From 1fb0ef23d7be0d8ecd9604fce16ee1e0842c6ef6 Mon Sep 17 00:00:00 2001 From: AllenJB <AllenJB@users.noreply.github.com> Date: Tue, 20 Apr 2021 10:28:39 +0100 Subject: [PATCH 054/444] Fix #80942: Object iteration / Iterator: Replace duplicated examples with direct links * Object iteration / Iterator: Replace duplicated examples with direct links to the appropriate sections and add cross-links. Closes GH-517. --- language/generators.xml | 10 ++ language/oop5/iterations.xml | 187 ++---------------------------- language/predefined/generator.xml | 5 + language/predefined/iterator.xml | 4 + 4 files changed, 28 insertions(+), 178 deletions(-) diff --git a/language/generators.xml b/language/generators.xml index 8741e29dd8..470a270461 100644 --- a/language/generators.xml +++ b/language/generators.xml @@ -593,6 +593,16 @@ class LineIterator implements Iterator { means that the same generator can't be iterated over multiple times: the generator will need to be rebuilt by calling the generator function again. </para> + + <simplesect role="seealso"> + &reftitle.seealso; + <para> + <simplelist> + <member><link linkend="language.oop5.iterations">Object Iteration</link></member> + </simplelist> + </para> + </simplesect> + </sect1> </chapter> diff --git a/language/oop5/iterations.xml b/language/oop5/iterations.xml index ae32600308..7266838fb1 100644 --- a/language/oop5/iterations.xml +++ b/language/oop5/iterations.xml @@ -69,187 +69,18 @@ private => private var <link linkend="language.oop5.visibility">visible</link> properties that could be accessed. </para> - <para> - To take it a step further, the <interfacename>Iterator</interfacename> - <link linkend="language.oop5.interfaces">interface</link> may be implemented. - This allows the object to dictate how it will be iterated and what values will - be available on each iteration. - </para> - - <example> - <title>Object Iteration implementing Iterator - -var = $array; - } - } - - public function rewind() - { - echo "rewinding\n"; - reset($this->var); - } - - public function current() - { - $var = current($this->var); - echo "current: $var\n"; - return $var; - } - - public function key() - { - $var = key($this->var); - echo "key: $var\n"; - return $var; - } - - public function next() - { - $var = next($this->var); - echo "next: $var\n"; - return $var; - } - - public function valid() - { - $key = key($this->var); - $var = ($key !== NULL && $key !== FALSE); - echo "valid: $var\n"; - return $var; - } - -} - -$values = array(1,2,3); -$it = new MyIterator($values); - -foreach ($it as $a => $b) { - print "$a: $b\n"; -} -?> -]]> - - &example.outputs; - - - - - + + &reftitle.seealso; - The IteratorAggregate - interface - can be used as an alternative to implementing all of the - Iterator methods. - IteratorAggregate only requires the - implementation of a single method, - IteratorAggregate::getIterator, which should return - an instance of a class implementing Iterator. + + Generators + Iterator + IteratorAggregate + SPL Iterators + - - - Object Iteration implementing IteratorAggregate - -items); - } - - public function add($value) { - $this->items[$this->count++] = $value; - } -} - -$coll = new MyCollection(); -$coll->add('value 1'); -$coll->add('value 2'); -$coll->add('value 3'); - -foreach ($coll as $key => $val) { - echo "key/value: [$key -> $val]\n\n"; -} -?> -]]> - - &example.outputs; - - value 1] - -next: value 2 -current: value 2 -valid: 1 -current: value 2 -key: 1 -key/value: [1 -> value 2] - -next: value 3 -current: value 3 -valid: 1 -current: value 3 -key: 2 -key/value: [2 -> value 3] - -next: -current: -valid: -]]> - - - - - - - For more examples of iterators, see the - SPL Extension. - - - - - - Generators provide an - alternative way of defining iterators. - - + +
+ &reftitle.seealso; + See also object iteration. +
From 16a1bdfd1c36108534b5af08dc4b751c7ac0fdaf Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Tue, 20 Apr 2021 11:54:54 +0100 Subject: [PATCH 055/444] Remove double words (#540) --- appendices/migration74/new-features.xml | 2 +- language/constants.xml | 2 +- reference/iconv/functions/iconv-mime-decode-headers.xml | 2 +- reference/ldap/constants.xml | 2 +- reference/math/functions/round.xml | 2 +- reference/mbstring/functions/mb-detect-encoding.xml | 2 +- reference/mongo/configure.xml | 2 +- reference/mongodb/configure.xml | 2 +- reference/sqlite3/sqlite3/setauthorizer.xml | 2 +- reference/win32service/functions/win32-query-service-status.xml | 2 +- reference/yaf/yaf_loader/registernamespace.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/appendices/migration74/new-features.xml b/appendices/migration74/new-features.xml index 7b0b89e796..a8f2b1d5d2 100644 --- a/appendices/migration74/new-features.xml +++ b/appendices/migration74/new-features.xml @@ -233,7 +233,7 @@ $fruits = ['banana', 'orange', ...$parts, 'watermelon']; The preg_replace_callback and preg_replace_callback_array functions now accept an additional flags argument, with support for the PREG_OFFSET_CAPTURE and PREG_UNMATCHED_AS_NULL flags. - This influences the format of the matches array passed to to the callback function. + This influences the format of the matches array passed to the callback function. diff --git a/language/constants.xml b/language/constants.xml index 2db075b422..f422f7eab5 100644 --- a/language/constants.xml +++ b/language/constants.xml @@ -76,7 +76,7 @@ define("__FOO__", "something"); As of PHP 7.1.0, class constant may declare a visibility of protected or private, making them only available in the hierarchical scope of the - class in which it is is defined. + class in which it is defined. diff --git a/reference/iconv/functions/iconv-mime-decode-headers.xml b/reference/iconv/functions/iconv-mime-decode-headers.xml index 0fc1b063ae..f17a1da41e 100644 --- a/reference/iconv/functions/iconv-mime-decode-headers.xml +++ b/reference/iconv/functions/iconv-mime-decode-headers.xml @@ -105,7 +105,7 @@ If more than one field of the same name are present, iconv_mime_decode_headers automatically incorporates them into a numerically indexed array in the order of occurrence. - Note that header names are are not case-insensitive. + Note that header names are not case-insensitive. diff --git a/reference/ldap/constants.xml b/reference/ldap/constants.xml index 600dead073..2e5863412a 100644 --- a/reference/ldap/constants.xml +++ b/reference/ldap/constants.xml @@ -395,7 +395,7 @@ - Specifies the certificate checking checking strategy. This must be one of: LDAP_OPT_X_TLS_NEVER,LDAP_OPT_X_TLS_HARD, LDAP_OPT_X_TLS_DEMAND, + Specifies the certificate checking strategy. This must be one of: LDAP_OPT_X_TLS_NEVER,LDAP_OPT_X_TLS_HARD, LDAP_OPT_X_TLS_DEMAND, LDAP_OPT_X_TLS_ALLOW, LDAP_OPT_X_TLS_TRY. (Available as of PHP 7.0.0) diff --git a/reference/math/functions/round.xml b/reference/math/functions/round.xml index 6149fd0f0e..ceb8b34ce6 100644 --- a/reference/math/functions/round.xml +++ b/reference/math/functions/round.xml @@ -106,7 +106,7 @@ PHP_ROUND_HALF_ODD Rounds val towards the nearest odd value when it is half way - there, making 1.5 into 1 and and 2.5 into 3. + there, making 1.5 into 1 and 2.5 into 3. diff --git a/reference/mbstring/functions/mb-detect-encoding.xml b/reference/mbstring/functions/mb-detect-encoding.xml index faa2909e31..24fee9940b 100644 --- a/reference/mbstring/functions/mb-detect-encoding.xml +++ b/reference/mbstring/functions/mb-detect-encoding.xml @@ -27,7 +27,7 @@ This function is most useful with multibyte encodings, where not all sequences of bytes form a valid string. If the input string contains such a sequence, that - encoding will be be rejected, and the next encoding checked. + encoding will be rejected, and the next encoding checked. diff --git a/reference/mongo/configure.xml b/reference/mongo/configure.xml index 8dece8038c..4eb26d3e8f 100644 --- a/reference/mongo/configure.xml +++ b/reference/mongo/configure.xml @@ -175,7 +175,7 @@ $ sudo pecl install mongo If your system has multiple version of PHP installed (e.g. macOS default, - Homebrew, XAMPP), note that that each + Homebrew, XAMPP), note that each version of PHP has its own pecl command and &php.ini; file. diff --git a/reference/mongodb/configure.xml b/reference/mongodb/configure.xml index b7ecc2ae99..34289717ff 100644 --- a/reference/mongodb/configure.xml +++ b/reference/mongodb/configure.xml @@ -24,7 +24,7 @@ $ sudo pecl install mongodb If your system has multiple version of PHP installed (e.g. macOS default, - Homebrew, XAMPP), note that that each + Homebrew, XAMPP), note that each version of PHP has its own pecl command and &php.ini; file. diff --git a/reference/sqlite3/sqlite3/setauthorizer.xml b/reference/sqlite3/sqlite3/setauthorizer.xml index 1c6f59449a..f46ad26ab4 100644 --- a/reference/sqlite3/sqlite3/setauthorizer.xml +++ b/reference/sqlite3/sqlite3/setauthorizer.xml @@ -98,7 +98,7 @@ If the action code is SQLite3::READ and the callback returns - SQLite3::IGNORE then the prepared statement statement is + SQLite3::IGNORE then the prepared statement is constructed to substitute a &null; value in place of the table column that would have been read if SQLite3::OK had been returned. The SQLite3::IGNORE return can be used to deny an untrusted user diff --git a/reference/win32service/functions/win32-query-service-status.xml b/reference/win32service/functions/win32-query-service-status.xml index 0c12cd4661..7fd60d518a 100644 --- a/reference/win32service/functions/win32-query-service-status.xml +++ b/reference/win32service/functions/win32-query-service-status.xml @@ -133,7 +133,7 @@ ServiceFlags - The dwServiceFlags. See Win32Service Service Service Flag Constants. + The dwServiceFlags. See Win32Service Service Flag Constants. diff --git a/reference/yaf/yaf_loader/registernamespace.xml b/reference/yaf/yaf_loader/registernamespace.xml index 8baad1211a..5f54eab3ca 100644 --- a/reference/yaf/yaf_loader/registernamespace.xml +++ b/reference/yaf/yaf_loader/registernamespace.xml @@ -44,7 +44,7 @@ path - a string of path, it it better to use abosolute path here for performance + a string of path, it is better to use abosolute path here for performance From ab1ffcd2351dff3f1a92fb5afa1415d39df27369 Mon Sep 17 00:00:00 2001 From: Landrok Date: Tue, 20 Apr 2021 22:50:15 +0200 Subject: [PATCH 056/444] Fix a typo (#541) --- appendices/ini.core.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml index c071d5ada0..9aabc47620 100644 --- a/appendices/ini.core.xml +++ b/appendices/ini.core.xml @@ -322,7 +322,7 @@ Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unk is used, both zend.multibyte and zend.script_encoding must be used. - Literal strings will be transliterated from zend.script_enconding to + Literal strings will be transliterated from zend.script_encoding to mbstring.internal_encoding, as if mb_convert_encoding would have been called. From 23e26ac6f7e0aca1eab570468709c5d420aaea31 Mon Sep 17 00:00:00 2001 From: Martin Samesch Date: Wed, 21 Apr 2021 14:26:33 +0200 Subject: [PATCH 057/444] fix section order --- reference/xmlreader/xmlreader/getattribute.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/reference/xmlreader/xmlreader/getattribute.xml b/reference/xmlreader/xmlreader/getattribute.xml index 047a6e4fa1..d29bf17304 100644 --- a/reference/xmlreader/xmlreader/getattribute.xml +++ b/reference/xmlreader/xmlreader/getattribute.xml @@ -32,6 +32,14 @@ + + &reftitle.returnvalues; + + The value of the attribute, or &null; if no attribute with the given + name is found or not positioned on an element node. + + + &reftitle.changelog; @@ -54,14 +62,6 @@ - - &reftitle.returnvalues; - - The value of the attribute, or &null; if no attribute with the given - name is found or not positioned on an element node. - - - &reftitle.seealso; From 7a59549dbba8cbf530a38ef3d168f4fc628649c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nilg=C3=BCn=20Belma=20Bug=C3=BCner?= Date: Thu, 22 Apr 2021 12:39:47 +0300 Subject: [PATCH 058/444] fixed a typo --- reference/xmlwriter/xmlwriter/startattribute.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/xmlwriter/xmlwriter/startattribute.xml b/reference/xmlwriter/xmlwriter/startattribute.xml index 2c3c24b036..93ae898863 100644 --- a/reference/xmlwriter/xmlwriter/startattribute.xml +++ b/reference/xmlwriter/xmlwriter/startattribute.xml @@ -74,7 +74,7 @@ openURI('php://output'); -$writer->startDocument('1.0', 'UTF-8');?> +$writer->startDocument('1.0', 'UTF-8'); $writer->startElement('element'); $writer->startAttribute('attribute'); $writer->text('value'); From a4ee22721ef56a4762fcfd5a655454bfdaafa7ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20H=C3=A4drich?= Date: Thu, 22 Apr 2021 16:11:14 +0200 Subject: [PATCH 059/444] Wouldn't it be more readable if we had a list? (#542) Co-authored-by: Christoph M. Becker --- language/predefined/typeerror.xml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/language/predefined/typeerror.xml b/language/predefined/typeerror.xml index 1f83b571ad..51d3509ce1 100644 --- a/language/predefined/typeerror.xml +++ b/language/predefined/typeerror.xml @@ -16,12 +16,21 @@ &reftitle.intro; There are three scenarios where a - TypeError may be thrown. The - first is where the argument type being passed to a function does not match - its corresponding declared parameter type. The second is where a value - being returned from a function does not match the declared function return - type. The third is where an invalid number of arguments are passed to a - built-in PHP function (strict mode only). + TypeError may be thrown: + + + The argument type being passed to a function does not match + its corresponding declared parameter type. + + + A value being returned from a function does not match the + declared function return type. + + + An invalid number of arguments are passed + to a built-in PHP function (strict mode only). + + From 5fabd07880ab15b0ad2cf7eb055c7c2b36d7120f Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 22 Apr 2021 17:52:58 +0300 Subject: [PATCH 060/444] Removed Changelog entries for PHP 5, PHP 7.0 (#543) --- reference/apcu/functions/apcu-dec.xml | 22 ----------- reference/apcu/functions/apcu-inc.xml | 22 ----------- reference/array/functions/array-fill.xml | 25 ------------ reference/array/functions/array-filter.xml | 8 ---- reference/datetime/dateperiod.xml | 27 ------------- reference/datetime/datetime.xml | 29 -------------- reference/datetime/datetimeinterface.xml | 8 ---- reference/datetime/datetimezone/construct.xml | 24 ------------ reference/datetime/datetimezone/getoffset.xml | 8 ---- reference/datetime/formats.xml | 9 +---- reference/dom/domdocument/schemavalidate.xml | 24 +----------- .../dom/domdocument/schemavalidatesource.xml | 24 +----------- reference/dom/domnode.xml | 25 ------------ .../functions/set-exception-handler.xml | 32 --------------- reference/filesystem/functions/fputcsv.xml | 6 --- reference/info/functions/getenv.xml | 2 +- reference/intl/collator/get-sort-key.xml | 22 ----------- reference/mcrypt/functions/mcrypt-decrypt.xml | 27 ------------- reference/mcrypt/functions/mcrypt-encrypt.xml | 27 ------------- reference/misc/functions/pack.xml | 13 ------- reference/misc/functions/unpack.xml | 35 ++++++++--------- reference/mysql/changelog.xml | 26 ------------- reference/mysql/functions/mysql-connect.xml | 25 ------------ reference/mysql/functions/mysql-db-name.xml | 25 ------------ reference/mysql/functions/mysql-pconnect.xml | 25 ------------ reference/mysql/functions/mysql-tablename.xml | 25 ------------ .../mysqlnd-uh-convert-to-mysqlnd.xml | 26 ------------- reference/pgsql/functions/pg-connect.xml | 25 ------------ reference/pgsql/functions/pg-convert.xml | 26 ------------- reference/pgsql/functions/pg-insert.xml | 39 ------------------- reference/pgsql/functions/pg-lo-seek.xml | 25 ------------ reference/pgsql/functions/pg-lo-tell.xml | 25 ------------ reference/pgsql/functions/pg-lo-truncate.xml | 25 ------------ reference/pgsql/functions/pg-meta-data.xml | 25 ------------ reference/pgsql/functions/pg-select.xml | 14 ------- .../pgsql/functions/pg-unescape-bytea.xml | 24 ------------ reference/pgsql/functions/pg-update.xml | 32 --------------- .../newinstancewithoutconstructor.xml | 25 ------------ reference/session/sessionhandler.xml | 24 ------------ .../functions/simplexml-load-file.xml | 24 ------------ .../functions/simplexml-load-string.xml | 24 ------------ .../simplexml/simplexmlelement/attributes.xml | 24 ------------ .../simplexml/simplexmlelement/construct.xml | 26 ------------- reference/spl/arrayobject.xml | 25 ------------ reference/spl/directoryiterator.xml | 26 ------------- reference/spl/filesystemiterator.xml | 24 ------------ reference/spl/recursivearrayiterator.xml | 24 ------------ reference/spl/recursivedirectoryiterator.xml | 36 ----------------- reference/spl/splfileobject.xml | 25 ------------ reference/spl/splfileobject/fputcsv.xml | 6 --- reference/spl/splfileobject/getcsvcontrol.xml | 2 +- .../functions/stream-socket-enable-crypto.xml | 30 -------------- reference/tidy/tidynode.xml | 20 ---------- reference/var/functions/unserialize.xml | 14 ------- .../xmlreader/xmlreader/getattributeno.xml | 28 +------------ .../xmlreader/xmlreader/getattributens.xml | 7 ---- 56 files changed, 22 insertions(+), 1223 deletions(-) diff --git a/reference/apcu/functions/apcu-dec.xml b/reference/apcu/functions/apcu-dec.xml index cc43e0ede1..5c3463df3c 100644 --- a/reference/apcu/functions/apcu-dec.xml +++ b/reference/apcu/functions/apcu-dec.xml @@ -68,28 +68,6 @@ - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 5.1.12 - - The ttl parameter has been added. - - - - - - - &reftitle.examples; diff --git a/reference/apcu/functions/apcu-inc.xml b/reference/apcu/functions/apcu-inc.xml index 15c5e5d0ca..ae5b6a095c 100644 --- a/reference/apcu/functions/apcu-inc.xml +++ b/reference/apcu/functions/apcu-inc.xml @@ -68,28 +68,6 @@ - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 5.1.12 - - The ttl parameter has been added. - - - - - - - &reftitle.examples; diff --git a/reference/array/functions/array-fill.xml b/reference/array/functions/array-fill.xml index 2209ac7577..08d8b8b6e2 100644 --- a/reference/array/functions/array-fill.xml +++ b/reference/array/functions/array-fill.xml @@ -81,31 +81,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - count may now be zero. Previously, - count was required to be greater than zero. - - - - - - - - &reftitle.examples; diff --git a/reference/array/functions/array-filter.xml b/reference/array/functions/array-filter.xml index 5a84b90c3d..678710e178 100644 --- a/reference/array/functions/array-filter.xml +++ b/reference/array/functions/array-filter.xml @@ -104,14 +104,6 @@ callback is nullable now. - - 5.6.0 - - Added optional mode parameter and constants - ARRAY_FILTER_USE_KEY and - ARRAY_FILTER_USE_BOTH - - diff --git a/reference/datetime/dateperiod.xml b/reference/datetime/dateperiod.xml index c8b0b062cc..11203aff92 100644 --- a/reference/datetime/dateperiod.xml +++ b/reference/datetime/dateperiod.xml @@ -168,33 +168,6 @@ -
- &reftitle.changelog; - - - -
- - &Version; - &Description; - - - - - 5.3.27, 5.4.17 - - The public properties recurrences, - include_start_date, start, - current, end and - interval have been exposed. - - - - - - - - &reference.datetime.entities.dateperiod; diff --git a/reference/datetime/datetime.xml b/reference/datetime/datetime.xml index 08bf3eb964..e92f8dc15d 100644 --- a/reference/datetime/datetime.xml +++ b/reference/datetime/datetime.xml @@ -80,35 +80,6 @@ on DateTimeInterface. - - 7.0.0 - - Added constants: DATE_RFC3339_EXTENDED and - DateTime::RFC3339_EXTENDED. - - - - 5.5.0 - - The class now implements DateTimeInterface. - - - - 5.4.24 - - The COOKIE constant was changed to reflect RFC 1036 using a four digit - year rather than a two digit year (RFC 850) as prior versions. - - - - 5.2.2 - - DateTime object comparison with the - comparison operators - changed to work as expected. Previously, all DateTime objects were - considered equal (using ==). - - diff --git a/reference/datetime/datetimeinterface.xml b/reference/datetime/datetimeinterface.xml index 6f01cb2718..8882f52db7 100644 --- a/reference/datetime/datetimeinterface.xml +++ b/reference/datetime/datetimeinterface.xml @@ -286,14 +286,6 @@ on DateTimeInterface. - - 5.5.8 - - Trying to implement DateTimeInterface raises a - fatal error now. Formerly implementing the interface didn't raise an - error, but the behavior was erroneous. - - diff --git a/reference/datetime/datetimezone/construct.xml b/reference/datetime/datetimezone/construct.xml index 527b6b9891..5b4e866951 100644 --- a/reference/datetime/datetimezone/construct.xml +++ b/reference/datetime/datetimezone/construct.xml @@ -56,30 +56,6 @@ recognised as a valid timezone. - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.10 - - The timezone parameter accepts offset values. - - - - - - - &reftitle.examples; diff --git a/reference/datetime/datetimezone/getoffset.xml b/reference/datetime/datetimezone/getoffset.xml index 7f5a3d4723..f853ec35d9 100644 --- a/reference/datetime/datetimezone/getoffset.xml +++ b/reference/datetime/datetimezone/getoffset.xml @@ -68,14 +68,6 @@ Prior to this version, &false; was returned on failure. - - 5.5.19, 5.6.3 - - datetime type changed to - DateTimeInterface. - Previously, DateTime. - - diff --git a/reference/datetime/formats.xml b/reference/datetime/formats.xml index 891edc8dd0..4341994344 100644 --- a/reference/datetime/formats.xml +++ b/reference/datetime/formats.xml @@ -956,19 +956,12 @@ - 5.6.23, 7.0.8 + 7.0.8 Weeks always start on monday. Formerly, sunday would also be considered to start a week. - - 5.3.3 - - "first day" and "last day" changed to behave has "+1 day" and "-1 day", - respectively. Previously, the behaviour was as "first day of" and "last day of". - - diff --git a/reference/dom/domdocument/schemavalidate.xml b/reference/dom/domdocument/schemavalidate.xml index ea87005edb..17ffcf8b88 100644 --- a/reference/dom/domdocument/schemavalidate.xml +++ b/reference/dom/domdocument/schemavalidate.xml @@ -48,29 +48,7 @@ &return.success; - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.2 - - Added the flags parameter - - - - - - - + &reftitle.seealso; diff --git a/reference/dom/domdocument/schemavalidatesource.xml b/reference/dom/domdocument/schemavalidatesource.xml index 8b143754d7..728df0e54e 100644 --- a/reference/dom/domdocument/schemavalidatesource.xml +++ b/reference/dom/domdocument/schemavalidatesource.xml @@ -47,29 +47,7 @@ &return.success; - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.2 - - Added the flags parameter - - - - - - - + &reftitle.seealso; diff --git a/reference/dom/domnode.xml b/reference/dom/domnode.xml index 09b383bc42..fdfc1cd1a8 100644 --- a/reference/dom/domnode.xml +++ b/reference/dom/domnode.xml @@ -270,31 +270,6 @@ -
- &reftitle.changelog; - - - -
- - &Version; - &Description; - - - - - 5.6.1 - - The textContent property has been made writable (formerly it has been - readonly). - - - - - - - -
&reftitle.seealso; diff --git a/reference/errorfunc/functions/set-exception-handler.xml b/reference/errorfunc/functions/set-exception-handler.xml index ebe96dd8fd..889f3061fa 100644 --- a/reference/errorfunc/functions/set-exception-handler.xml +++ b/reference/errorfunc/functions/set-exception-handler.xml @@ -76,38 +76,6 @@ - - &reftitle.changelog; - - - -
- - &Version; - &Description; - - - - - 7.0.0 - - The type of parameter passed into exception_handler changed - from Exception to Throwable - - - - 5.5.0 - - Previously, if &null; was passed then this function returned &true;. - It returns the previous handler since PHP 5.5.0. - - - - - - - - &reftitle.examples; diff --git a/reference/filesystem/functions/fputcsv.xml b/reference/filesystem/functions/fputcsv.xml index 145b64781c..efeef4bd0a 100644 --- a/reference/filesystem/functions/fputcsv.xml +++ b/reference/filesystem/functions/fputcsv.xml @@ -106,12 +106,6 @@ string to disable the proprietary escape mechanism. - - 5.5.4 - - The escape_char parameter was added - - diff --git a/reference/info/functions/getenv.xml b/reference/info/functions/getenv.xml index 2cfb6eea0e..ef0754b911 100644 --- a/reference/info/functions/getenv.xml +++ b/reference/info/functions/getenv.xml @@ -82,7 +82,7 @@ - 5.5.38, 5.6.24, 7.0.9 + 7.0.9 The local_only parameter has been added. diff --git a/reference/intl/collator/get-sort-key.xml b/reference/intl/collator/get-sort-key.xml index 0b5b3ccd45..1fbf215cbc 100644 --- a/reference/intl/collator/get-sort-key.xml +++ b/reference/intl/collator/get-sort-key.xml @@ -62,28 +62,6 @@ &return.falseproblem; - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 5.3.15, 5.4.5 - - Sort keys do no longer contain any NUL bytes. - - - - - - - &reftitle.examples; diff --git a/reference/mcrypt/functions/mcrypt-decrypt.xml b/reference/mcrypt/functions/mcrypt-decrypt.xml index 61df32a453..d7f0a7c970 100644 --- a/reference/mcrypt/functions/mcrypt-decrypt.xml +++ b/reference/mcrypt/functions/mcrypt-decrypt.xml @@ -73,33 +73,6 @@ Returns the decrypted data as a string &return.falseforfailure;. - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Invalid key and iv sizes - are no longer accepted. mcrypt_decrypt will now throw - a warning and return &false; if the inputs are invalid. Previously keys and - IVs were padded with '\0' bytes to the next valid size. - - - - - - - &reftitle.seealso; diff --git a/reference/mcrypt/functions/mcrypt-encrypt.xml b/reference/mcrypt/functions/mcrypt-encrypt.xml index a8b3a5520d..231d7aced4 100644 --- a/reference/mcrypt/functions/mcrypt-encrypt.xml +++ b/reference/mcrypt/functions/mcrypt-encrypt.xml @@ -80,33 +80,6 @@ Returns the encrypted data as a string &return.falseforfailure;. - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Invalid key and iv sizes - are no longer accepted. mcrypt_encrypt will now throw - a warning and return &false; if the inputs are invalid. Previously keys and - IVs were padded with '\0' bytes to the next valid size. - - - - - - - &reftitle.examples; diff --git a/reference/misc/functions/pack.xml b/reference/misc/functions/pack.xml index 55c91d0c4c..b6d4ad4c13 100644 --- a/reference/misc/functions/pack.xml +++ b/reference/misc/functions/pack.xml @@ -226,19 +226,6 @@ The "e", "E", "g" and "G" codes were added to enable byte order support for float and double. - - 5.6.3 - - The "q", "Q", "J" and "P" codes were added to enable working with 64-bit numbers. - - - - 5.5.0 - - The "Z" code was added with equivalent functionality to "a" for Perl - compatibility. - - diff --git a/reference/misc/functions/unpack.xml b/reference/misc/functions/unpack.xml index 20650f5cbf..d1619d0ade 100644 --- a/reference/misc/functions/unpack.xml +++ b/reference/misc/functions/unpack.xml @@ -25,6 +25,22 @@ then each of the array keys will have a sequence number behind the given name. + + Changes were made to bring this function into line with Perl: + + + The "a" code now retains trailing NULL bytes. + + + The "A" code now strips all trailing ASCII whitespace (spaces, tabs, + newlines, carriage returns, and NULL bytes). + + + The "Z" code was added for NULL-padded strings, and removes trailing + NULL bytes. + + + @@ -91,25 +107,6 @@ The optional offset has been added. - - 5.5.0 - - - Changes were made to bring this function into line with Perl: - - - The "a" code now retains trailing NULL bytes. - - - The "A" code now strips all trailing ASCII whitespace (spaces, tabs, - newlines, carriage returns, and NULL bytes). - - - The "Z" code was added for NULL-padded strings, and removes trailing - NULL bytes. - - - diff --git a/reference/mysql/changelog.xml b/reference/mysql/changelog.xml index 31307a45cb..cd3578b34d 100644 --- a/reference/mysql/changelog.xml +++ b/reference/mysql/changelog.xml @@ -36,32 +36,6 @@ - - 5.5.0 - - - This extension has been deprecated. Connecting to a MySQL database - via mysql_connect, - mysql_pconnect or an implicit connection via any - other mysql_* function will generate an - E_DEPRECATED error. - - - - - 5.5.0 - - - All of the old deprecated functions and aliases now emit - E_DEPRECATED errors. These functions are: - - - mysql(), mysql_fieldname(), mysql_fieldtable(), mysql_fieldlen(), mysql_fieldtype(), mysql_fieldflags(), mysql_selectdb(), - mysql_createdb(), mysql_dropdb(), mysql_freeresult(), mysql_numfields(), mysql_numrows(), mysql_listdbs(), mysql_listtables(), - mysql_listfields(), mysql_db_name(), mysql_dbname(), mysql_tablename(), and mysql_table_name(). - - - diff --git a/reference/mysql/functions/mysql-connect.xml b/reference/mysql/functions/mysql-connect.xml index 62733f7b52..e7caa35308 100644 --- a/reference/mysql/functions/mysql-connect.xml +++ b/reference/mysql/functions/mysql-connect.xml @@ -114,31 +114,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.0 - - This function will generate an E_DEPRECATED - error. - - - - - - - - &reftitle.examples; diff --git a/reference/mysql/functions/mysql-db-name.xml b/reference/mysql/functions/mysql-db-name.xml index 552590e69c..9fb771cd3c 100644 --- a/reference/mysql/functions/mysql-db-name.xml +++ b/reference/mysql/functions/mysql-db-name.xml @@ -70,31 +70,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.0 - - The mysql_list_dbs function is deprecated, - and emits an E_DEPRECATED level error. - - - - - - - - &reftitle.examples; diff --git a/reference/mysql/functions/mysql-pconnect.xml b/reference/mysql/functions/mysql-pconnect.xml index 8a1e7599a1..24bd226e57 100644 --- a/reference/mysql/functions/mysql-pconnect.xml +++ b/reference/mysql/functions/mysql-pconnect.xml @@ -121,31 +121,6 @@ failure. - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.0 - - This function will generate an E_DEPRECATED - error. - - - - - - - &reftitle.notes; diff --git a/reference/mysql/functions/mysql-tablename.xml b/reference/mysql/functions/mysql-tablename.xml index b89954b96a..f6dce07c9e 100644 --- a/reference/mysql/functions/mysql-tablename.xml +++ b/reference/mysql/functions/mysql-tablename.xml @@ -69,31 +69,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.0 - - The mysql_tablename function is deprecated, - and emits an E_DEPRECATED level error. - - - - - - - - &reftitle.examples; diff --git a/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml b/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml index 67450519bd..873cb652f8 100644 --- a/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml +++ b/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml @@ -54,32 +54,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.4.0 - - The mysql_connection parameter can now be of type - mysql, PDO_MySQL, or mysqli. - Before, only the mysqli type was allowed. - - - - - - - - &reftitle.examples; diff --git a/reference/pgsql/functions/pg-connect.xml b/reference/pgsql/functions/pg-connect.xml index 86252b0c4e..f8d12d5fe9 100644 --- a/reference/pgsql/functions/pg-connect.xml +++ b/reference/pgsql/functions/pg-connect.xml @@ -92,31 +92,6 @@ PostgreSQL connection resource on success, &false; on failure. - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Support for giving the PGSQL_CONNECT_ASYNC - constant as the connect_type was added. - - - - - - - &reftitle.examples; diff --git a/reference/pgsql/functions/pg-convert.xml b/reference/pgsql/functions/pg-convert.xml index 981894ce7d..4c5352e088 100644 --- a/reference/pgsql/functions/pg-convert.xml +++ b/reference/pgsql/functions/pg-convert.xml @@ -117,32 +117,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - No longer experimental. Boolean/NULL data types are supported. Unknown/unsupported - data types are escaped without validation. pg_convert can - be used with any data types. - - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-insert.xml b/reference/pgsql/functions/pg-insert.xml index 5406200dbd..7078d99439 100644 --- a/reference/pgsql/functions/pg-insert.xml +++ b/reference/pgsql/functions/pg-insert.xml @@ -125,45 +125,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Unless PGSQL_DML_STRING is passed, the function - now returns the connection resource instead of &true; on success. - - - - 5.6.0 - - No longer experimental. Added PGSQL_DML_ESCAPE constant, - &true;/&false; and &null; data type support. - - - - 5.5.3/5.4.19 - - Direct SQL injection to table_name and Indirect SQL - injection to identifiers are fixed. - - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-lo-seek.xml b/reference/pgsql/functions/pg-lo-seek.xml index e3a08b15d7..fcd2637ecd 100644 --- a/reference/pgsql/functions/pg-lo-seek.xml +++ b/reference/pgsql/functions/pg-lo-seek.xml @@ -92,31 +92,6 @@ - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Added PostgreSQL 9.3's 64bit large object support. Both client and server must - support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object. - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-lo-tell.xml b/reference/pgsql/functions/pg-lo-tell.xml index 99100d6abd..56e09ef647 100644 --- a/reference/pgsql/functions/pg-lo-tell.xml +++ b/reference/pgsql/functions/pg-lo-tell.xml @@ -80,31 +80,6 @@ Seek position is: 50000 - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Added PostgreSQL 9.3's 64bit large object support. Both client and server must - support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object. - - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-lo-truncate.xml b/reference/pgsql/functions/pg-lo-truncate.xml index 44daff83b7..eddf0193ed 100644 --- a/reference/pgsql/functions/pg-lo-truncate.xml +++ b/reference/pgsql/functions/pg-lo-truncate.xml @@ -79,31 +79,6 @@ - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - Added truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must - support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object. - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-meta-data.xml b/reference/pgsql/functions/pg-meta-data.xml index eff3e61921..5cf8817bff 100644 --- a/reference/pgsql/functions/pg-meta-data.xml +++ b/reference/pgsql/functions/pg-meta-data.xml @@ -131,31 +131,6 @@ array(5) { - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - No longer experimental. Added "is enum" as default attribute. - extended flag is added. - - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-select.xml b/reference/pgsql/functions/pg-select.xml index 9e59dc81ef..ebe20e3f33 100644 --- a/reference/pgsql/functions/pg-select.xml +++ b/reference/pgsql/functions/pg-select.xml @@ -144,20 +144,6 @@ The result_type parameter was added. - - 5.6.0 - - No longer experimental. Added PGSQL_DML_ESCAPE constant, - &true;/&false; and &null; data type support. - - - - 5.5.3/5.4.19 - - Direct SQL injection to table_name and Indirect SQL - injection to identifiers are fixed. - - diff --git a/reference/pgsql/functions/pg-unescape-bytea.xml b/reference/pgsql/functions/pg-unescape-bytea.xml index c9cfdc361b..9e7ec86da2 100644 --- a/reference/pgsql/functions/pg-unescape-bytea.xml +++ b/reference/pgsql/functions/pg-unescape-bytea.xml @@ -86,30 +86,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.5.1 - - A warning is thrown if the input string is invalid. - - - - - - - - &reftitle.seealso; diff --git a/reference/pgsql/functions/pg-update.xml b/reference/pgsql/functions/pg-update.xml index a1a0bd95d4..003fc5dcab 100644 --- a/reference/pgsql/functions/pg-update.xml +++ b/reference/pgsql/functions/pg-update.xml @@ -140,38 +140,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - No longer experimental. Added PGSQL_DML_ESCAPE constant, - &true;/&false; and &null; data type support. - - - - 5.5.3/5.4.19 - - Direct SQL injection to table_name and Indirect - SQL injection to identifiers are fixed. - - - - - - - - &reftitle.seealso; diff --git a/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml b/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml index 7ed357ca16..dd41951524 100644 --- a/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml +++ b/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml @@ -30,31 +30,6 @@ - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 5.6.0 - - All internal classes can now be instantiated except for those declared - final. - - - - - - - - &reftitle.errors; diff --git a/reference/session/sessionhandler.xml b/reference/session/sessionhandler.xml index 24c323182f..88fa9ac78b 100644 --- a/reference/session/sessionhandler.xml +++ b/reference/session/sessionhandler.xml @@ -93,30 +93,6 @@ -
- &reftitle.changelog; - - - -
- - &Version; - &Description; - - - - - 5.5.1 - - Added SessionHandler::create_sid. - - - - - - - -
diff --git a/reference/simplexml/functions/simplexml-load-file.xml b/reference/simplexml/functions/simplexml-load-file.xml index e97f4dee44..b880384568 100644 --- a/reference/simplexml/functions/simplexml-load-file.xml +++ b/reference/simplexml/functions/simplexml-load-file.xml @@ -109,30 +109,6 @@ </para> </tip> </refsect1><!-- }}} --> - - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.2.0</entry> - <entry> - The optional parameter <parameter>is_prefix</parameter> was added. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> <refsect1 role="examples"> &reftitle.examples; diff --git a/reference/simplexml/functions/simplexml-load-string.xml b/reference/simplexml/functions/simplexml-load-string.xml index a7913c01b1..7c0ecaee44 100644 --- a/reference/simplexml/functions/simplexml-load-string.xml +++ b/reference/simplexml/functions/simplexml-load-string.xml @@ -100,30 +100,6 @@ </tip> </refsect1><!-- }}} --> - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.2.0</entry> - <entry> - The optional parameter <parameter>is_prefix</parameter> was added. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - <refsect1 role="examples"> &reftitle.examples; <para> diff --git a/reference/simplexml/simplexmlelement/attributes.xml b/reference/simplexml/simplexmlelement/attributes.xml index 5b4de9b56a..a37f66d392 100644 --- a/reference/simplexml/simplexmlelement/attributes.xml +++ b/reference/simplexml/simplexmlelement/attributes.xml @@ -55,30 +55,6 @@ </para> </refsect1> - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.2.0</entry> - <entry> - The optional parameter <parameter>is_prefix</parameter> was added. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - <refsect1 role="examples"> &reftitle.examples; <para> diff --git a/reference/simplexml/simplexmlelement/construct.xml b/reference/simplexml/simplexmlelement/construct.xml index e336dceb6b..0f6a3a1bb9 100644 --- a/reference/simplexml/simplexmlelement/construct.xml +++ b/reference/simplexml/simplexmlelement/construct.xml @@ -107,32 +107,6 @@ </tip> </refsect1> - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.2.0</entry> - <entry>Added the <parameter>ns</parameter> and <parameter>is_prefix</parameter> parameters.</entry> - </row> - <row> - <entry>5.1.2</entry> - <entry>Added the <parameter>options</parameter> and <parameter>data_is_url</parameter> parameters.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - <refsect1 role="examples"> &reftitle.examples; <para> diff --git a/reference/spl/arrayobject.xml b/reference/spl/arrayobject.xml index c645b353ba..748c93ed6b 100644 --- a/reference/spl/arrayobject.xml +++ b/reference/spl/arrayobject.xml @@ -99,31 +99,6 @@ </variablelist> </section> </section> - - <section role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.3.0</entry> - <entry> - Implements <interfacename>Serializable</interfacename>. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section> - <!-- {{{ ArrayObject properties <section xml:id="arrayobject.props"> diff --git a/reference/spl/directoryiterator.xml b/reference/spl/directoryiterator.xml index 0795878eeb..88d1515b9f 100644 --- a/reference/spl/directoryiterator.xml +++ b/reference/spl/directoryiterator.xml @@ -71,32 +71,6 @@ </section> }}} --> - <!-- {{{ Changelog --> - <section role="changelog" xml:id="directoryiterator.changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.1.2</entry> - <entry> - <classname>DirectoryIterator</classname> extends <classname>SplFileInfo</classname>. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section> - <!-- }}} --> - </partintro> &reference.spl.entities.directoryiterator; diff --git a/reference/spl/filesystemiterator.xml b/reference/spl/filesystemiterator.xml index fc03ef6dc4..da01d199b9 100644 --- a/reference/spl/filesystemiterator.xml +++ b/reference/spl/filesystemiterator.xml @@ -199,30 +199,6 @@ </section> <!-- }}} --> - <!-- {{{ Changelog --> - <section role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.3.1</entry> - <entry>Added <constant>FilesystemIterator::FOLLOW_SYMLINKS</constant></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section> - <!-- }}} --> - </partintro> &reference.spl.entities.filesystemiterator; diff --git a/reference/spl/recursivearrayiterator.xml b/reference/spl/recursivearrayiterator.xml index 763b54f71d..9b7e246bfb 100644 --- a/reference/spl/recursivearrayiterator.xml +++ b/reference/spl/recursivearrayiterator.xml @@ -86,30 +86,6 @@ </variablelist> </section> </section> - - <section role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.3.0</entry> - <entry> - <constant>CHILD_ARRAYS_ONLY</constant> flag was added. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section> <!-- {{{ RecursiveArrayIterator properties <section xml:id="recursivearrayiterator.props"> diff --git a/reference/spl/recursivedirectoryiterator.xml b/reference/spl/recursivedirectoryiterator.xml index d5da75bc88..46bdf53b0b 100644 --- a/reference/spl/recursivedirectoryiterator.xml +++ b/reference/spl/recursivedirectoryiterator.xml @@ -81,42 +81,6 @@ </section> }}} --> - <section role="changelog"><!-- {{{ --> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.3.0</entry> - <entry> - The <classname>FilesystemIterator</classname> was introduced as - the parent class. Previously, the parent was the - <classname>DirectoryIterator</classname>. - </entry> - </row> - <row> - <entry>5.3.0</entry> - <entry> - Implements <interfacename>SeekableIterator</interfacename>. - </entry> - </row> - <row> - <entry>5.2.11, 5.3.1</entry> - <entry>Added <constant>RecursiveDirectoryIterator::FOLLOW_SYMLINKS</constant></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section><!-- }}} --> - </partintro> &reference.spl.entities.recursivedirectoryiterator; diff --git a/reference/spl/splfileobject.xml b/reference/spl/splfileobject.xml index 173ae27600..582d78febb 100644 --- a/reference/spl/splfileobject.xml +++ b/reference/spl/splfileobject.xml @@ -118,31 +118,6 @@ </section> <!-- }}} --> - <section role="changelog"><!-- {{{ --> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.3.9</entry> - <entry> - <constant>SplFileObject::SKIP_EMPTY</constant> value changed to 4. - Previously, value was 6. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section><!-- }}} --> - </partintro> &reference.spl.entities.splfileobject; diff --git a/reference/spl/splfileobject/fputcsv.xml b/reference/spl/splfileobject/fputcsv.xml index 8d4ee58c75..5f5d22fd9f 100644 --- a/reference/spl/splfileobject/fputcsv.xml +++ b/reference/spl/splfileobject/fputcsv.xml @@ -110,12 +110,6 @@ string to disable the proprietary escape mechanism. </entry> </row> - <row> - <entry>5.5.21, 5.6.5</entry> - <entry> - Added the <parameter>escape</parameter> parameter. - </entry> - </row> </tbody> </tgroup> </informaltable> diff --git a/reference/spl/splfileobject/getcsvcontrol.xml b/reference/spl/splfileobject/getcsvcontrol.xml index 8f0ee327b6..5d58974055 100644 --- a/reference/spl/splfileobject/getcsvcontrol.xml +++ b/reference/spl/splfileobject/getcsvcontrol.xml @@ -49,7 +49,7 @@ </entry> </row> <row> - <entry>5.6.25, 7.0.10</entry> + <entry>7.0.10</entry> <entry> Added the escape character to the returned array. </entry> diff --git a/reference/stream/functions/stream-socket-enable-crypto.xml b/reference/stream/functions/stream-socket-enable-crypto.xml index d1f6709287..6bd9baeb94 100644 --- a/reference/stream/functions/stream-socket-enable-crypto.xml +++ b/reference/stream/functions/stream-socket-enable-crypto.xml @@ -98,36 +98,6 @@ (only for non-blocking sockets). </para> </refsect1> - - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.6.0</entry> - <entry> - Introduce <constant>STREAM_CRYPTO_METHOD_ANY_CLIENT</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT</constant>, <constant>STREAM_CRYPTO_METHOD_ANY_SERVER</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_0_SERVER</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_1_SERVER</constant>, <constant>STREAM_CRYPTO_METHOD_TLSv1_2_SERVER</constant>. - </entry> - </row> - <row> - <entry>5.6.0</entry> - <entry> - The <parameter>crypto_type</parameter> is now optional. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> <refsect1 role="examples"><!-- {{{ --> &reftitle.examples; diff --git a/reference/tidy/tidynode.xml b/reference/tidy/tidynode.xml index 6439e59120..72df0b3ad4 100644 --- a/reference/tidy/tidynode.xml +++ b/reference/tidy/tidynode.xml @@ -122,26 +122,6 @@ </varlistentry> </variablelist> - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.1.0</entry> - <entry><varname>line</varname>, <varname>column</varname> - and <varname>proprietary</varname> were added</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </section> <!-- }}} --> </partintro> diff --git a/reference/var/functions/unserialize.xml b/reference/var/functions/unserialize.xml index 5576b300bb..a447486502 100644 --- a/reference/var/functions/unserialize.xml +++ b/reference/var/functions/unserialize.xml @@ -155,20 +155,6 @@ <constant>E_WARNING</constant>. </entry> </row> - <row> - <entry>7.0.0</entry> - <entry> - The <parameter>options</parameter> parameter has been added. - </entry> - </row> - <row> - <entry>5.6.0</entry> - <entry> - Manipulating the serialised data by replacing <literal>C:</literal> - with <literal>O:</literal> to force object instantiation without - calling the constructor will now fail. - </entry> - </row> </tbody> </tgroup> </informaltable> diff --git a/reference/xmlreader/xmlreader/getattributeno.xml b/reference/xmlreader/xmlreader/getattributeno.xml index 6ebc141bbb..ec9ec2de7d 100644 --- a/reference/xmlreader/xmlreader/getattributeno.xml +++ b/reference/xmlreader/xmlreader/getattributeno.xml @@ -37,37 +37,11 @@ <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - The value of the attribute, or an empty string (before PHP 5.6) or &null; - (from PHP 5.6 onwards) if no attribute exists at + The value of the attribute, or &null; if no attribute exists at <parameter>index</parameter> or is not positioned on the element. </para> </refsect1> - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description;</entry> - </row> - </thead> - <tbody> - <row> - <entry>5.6.0</entry> - <entry> - <methodname>XMLReader::getAttributeNo</methodname> now returns &null; - if the attribute doesn't exist. - </entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - <refsect1 role="seealso"> &reftitle.seealso; <para> diff --git a/reference/xmlreader/xmlreader/getattributens.xml b/reference/xmlreader/xmlreader/getattributens.xml index 630212c022..f5dfbbdcfd 100644 --- a/reference/xmlreader/xmlreader/getattributens.xml +++ b/reference/xmlreader/xmlreader/getattributens.xml @@ -70,13 +70,6 @@ This function can no longer return &false;. </entry> </row> - <row> - <entry>5.6.0</entry> - <entry> - <methodname>XMLReader::getAttributeNS</methodname> now returns &null; - if the attribute doesn't exist. - </entry> - </row> </tbody> </tgroup> </informaltable> From e294389da19bdb5d622e717a3f36812f3d94ae06 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka <mumumu@mumumu.org> Date: Fri, 23 Apr 2021 02:01:04 +0900 Subject: [PATCH 061/444] fixed "returnvalues" update in previous commit. https://github.com/php/doc-en/commit/5fabd07880ab15b0ad2cf7eb055c7c2b36d7120f#diff-190b056aa8511ed546365df4204a9d4ca946dac1d655933a07fb7029343f48fd --- reference/xmlreader/xmlreader/getattributens.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/xmlreader/xmlreader/getattributens.xml b/reference/xmlreader/xmlreader/getattributens.xml index f5dfbbdcfd..db4b4ab8bf 100644 --- a/reference/xmlreader/xmlreader/getattributens.xml +++ b/reference/xmlreader/xmlreader/getattributens.xml @@ -45,8 +45,7 @@ <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - The value of the attribute, or an empty string (before PHP 5.6) or &null; - (from PHP 5.6 onwards) if no attribute with the given + The value of the attribute, or &null; if no attribute with the given <parameter>name</parameter> and <parameter>namespace</parameter> is found or not positioned of element. </para> From 8d1a5d2d15df15cc5cbc7f96cdc083b8fe49366e Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka <mumumu@mumumu.org> Date: Fri, 23 Apr 2021 02:14:21 +0900 Subject: [PATCH 062/444] added WeakReference class link to migration74 guide. --- appendices/migration74/new-features.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/migration74/new-features.xml b/appendices/migration74/new-features.xml index a8f2b1d5d2..51b671cffc 100644 --- a/appendices/migration74/new-features.xml +++ b/appendices/migration74/new-features.xml @@ -142,7 +142,7 @@ $fruits = ['banana', 'orange', ...$parts, 'watermelon']; <title>Weak references - Weak references allow the programmer to retain a reference to an object + Weak references allow the programmer to retain a reference to an object that does not prevent the object from being destroyed. From aab33d644359aba597e810e2fc0c0caa0d347c9c Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 23 Apr 2021 11:35:26 +0300 Subject: [PATCH 063/444] Removed references to PHP 5, PHP 7.0 (#544) --- appendices/reserved.constants.core.xml | 28 ++---- appendices/reserved.xml | 2 +- appendices/transports.xml | 2 +- faq/using.xml | 2 +- features/commandline.xml | 2 +- features/http-auth.xml | 2 +- reference/curl/constants.xml | 96 +++++++++---------- reference/curl/functions/curl-setopt.xml | 32 +++---- reference/curl/ini.xml | 2 +- reference/dom/domdocument/loadhtml.xml | 2 +- reference/dom/domdocument/loadhtmlfile.xml | 2 +- reference/dom/domdocument/schemavalidate.xml | 2 +- .../dom/domdocument/schemavalidatesource.xml | 2 +- reference/dom/domdocument/xinclude.xml | 2 +- reference/fileinfo/constants.xml | 8 +- reference/filesystem/constants.xml | 12 +-- reference/gmp/book.xml | 2 +- reference/intl/ini.xml | 2 +- reference/outcontrol/constants.xml | 16 ++-- reference/pcre/functions/preg-last-error.xml | 4 +- reference/pdo/constants.xml | 11 +-- reference/pdo_firebird/constants.xml | 9 -- reference/pdo_odbc/ini.xml | 4 +- reference/readline/ini.xml | 4 +- .../functions/session-set-save-handler.xml | 4 +- .../functions/simplexml-load-file.xml | 2 +- reference/spl/functions/class-implements.xml | 2 +- reference/spl/functions/class-parents.xml | 2 +- reference/stream/constants.xml | 13 ++- reference/zip/constants.xml | 2 +- 30 files changed, 124 insertions(+), 151 deletions(-) diff --git a/appendices/reserved.constants.core.xml b/appendices/reserved.constants.core.xml index 678586e1b8..882f276d55 100644 --- a/appendices/reserved.constants.core.xml +++ b/appendices/reserved.constants.core.xml @@ -27,7 +27,7 @@ The current PHP "major" version as an integer (e.g., int(5) - from version "5.2.7-extra"). Available since PHP 5.2.7. + from version "5.2.7-extra"). @@ -39,7 +39,7 @@ The current PHP "minor" version as an integer (e.g., int(2) - from version "5.2.7-extra"). Available since PHP 5.2.7. + from version "5.2.7-extra"). @@ -51,7 +51,7 @@ The current PHP "release" version as an integer (e.g., int(7) - from version "5.2.7-extra"). Available since PHP 5.2.7. + from version "5.2.7-extra"). @@ -64,7 +64,6 @@ The current PHP version as an integer, useful for version comparisons (e.g., int(50207) from version "5.2.7-extra"). - Available since PHP 5.2.7. @@ -77,8 +76,7 @@ The current PHP "extra" version as a string (e.g., '-extra' from version "5.2.7-extra"). Often used by distribution - vendors to indicate a package version. Available since - PHP 5.2.7. + vendors to indicate a package version. @@ -89,7 +87,7 @@ - Available since PHP 5.2.7. + @@ -100,7 +98,7 @@ - Available since PHP 5.2.7. + @@ -112,7 +110,7 @@ The maximum length of filenames (including path) supported - by this build of PHP. Available since PHP 5.3.0. + by this build of PHP. @@ -162,7 +160,6 @@ The correct 'End Of Line' symbol for this platform. - Available since PHP 5.0.2 @@ -175,7 +172,6 @@ The largest integer supported in this build of PHP. Usually int(2147483647) in 32 bit systems and int(9223372036854775807) in 64 bit systems. - Available since PHP 5.0.5 @@ -187,7 +183,7 @@ The smallest integer supported in this build of PHP. Usually int(-2147483648) in 32 bit systems and - int(-9223372036854775808) in 64 bit systems. Available since PHP 7.0.0. + int(-9223372036854775808) in 64 bit systems. Usually, PHP_INT_MIN === ~PHP_INT_MAX. @@ -199,7 +195,7 @@ - The size of an integer in bytes in this build of PHP. Available since PHP 5.0.5 + The size of an integer in bytes in this build of PHP. @@ -343,7 +339,6 @@ Specifies where the manpages were installed into. - Available since PHP 5.3.7. @@ -566,7 +561,6 @@ Error reporting constant. - Available since PHP 5.2.0 @@ -578,7 +572,6 @@ Error reporting constant. - Available since PHP 5.3.0 @@ -590,7 +583,6 @@ Error reporting constant. - Available since PHP 5.3.0 @@ -623,7 +615,7 @@ - Available since PHP 5.1.0 + diff --git a/appendices/reserved.xml b/appendices/reserved.xml index cf00441ebe..94a2201c9b 100644 --- a/appendices/reserved.xml +++ b/appendices/reserved.xml @@ -381,7 +381,7 @@ ErrorException - Available since PHP 5.1.0. + diff --git a/appendices/transports.xml b/appendices/transports.xml index 8e5732a4ca..6ccc4b6a91 100644 --- a/appendices/transports.xml +++ b/appendices/transports.xml @@ -90,7 +90,7 @@ Unix Domain: Unix and UDG unix:// and - udg:// (udg:// since PHP 5). + udg://. diff --git a/faq/using.xml b/faq/using.xml index f2c894b9e6..c4474547bc 100644 --- a/faq/using.xml +++ b/faq/using.xml @@ -333,7 +333,7 @@ foreach ($headers as $name => $content) { The available options are K (for Kilobytes), M (for Megabytes) and G (for - Gigabytes; available since PHP 5.1.0), and are all case-insensitive. + Gigabytes), and are all case-insensitive. Anything else assumes bytes. 1M equals one Megabyte or 1048576 bytes. 1K equals one Kilobyte or 1024 bytes. These shorthand notations may diff --git a/features/commandline.xml b/features/commandline.xml index 00db5c71f0..34f316e8df 100644 --- a/features/commandline.xml +++ b/features/commandline.xml @@ -1907,7 +1907,7 @@ $ php -S 0.0.0.0:8000 cli_server.color "0" PHP_INI_ALL - Available since PHP 5.4.0. + diff --git a/features/http-auth.xml b/features/http-auth.xml index 6a255689ac..527f533b3d 100644 --- a/features/http-auth.xml +++ b/features/http-auth.xml @@ -14,7 +14,7 @@ and AUTH_TYPE set to the user name, password and authentication type respectively. These predefined variables are found in the $_SERVER array. Both "Basic" and "Digest" - (since PHP 5.1.0) authentication methods are supported. See the + authentication methods are supported. See the header function for more information. diff --git a/reference/curl/constants.xml b/reference/curl/constants.xml index ffef26ae0a..0e4c5a23e1 100644 --- a/reference/curl/constants.xml +++ b/reference/curl/constants.xml @@ -16,7 +16,7 @@ - Available since PHP 5.1.0 + @@ -27,7 +27,7 @@ - Available since PHP 5.1.0 + @@ -60,7 +60,7 @@ - Available since PHP 5.2.0 + @@ -104,7 +104,7 @@ - Available since PHP 5.2.0 + @@ -115,7 +115,7 @@ - Available since PHP 5.2.0 + @@ -126,7 +126,7 @@ - Available since PHP 5.2.0 + @@ -137,7 +137,7 @@ - Available since PHP 5.2.0 + @@ -148,7 +148,7 @@ - Available since PHP 5.2.4 + @@ -159,7 +159,7 @@ - Available since PHP 5.1.0 + @@ -481,7 +481,7 @@ - Available since PHP 5.2.1 + @@ -503,7 +503,7 @@ - Available since PHP 5.3.0 + @@ -602,7 +602,7 @@ - Available since PHP 5.5.0 and cURL 7.14.1 + Available since cURL 7.14.1 @@ -723,7 +723,7 @@ - Available since PHP 5.5.19 and 5.6.3 + @@ -734,7 +734,7 @@ - Available since PHP 5.5.19 and 5.6.3 + @@ -745,7 +745,7 @@ - Available since PHP 5.5.19 and 5.6.3 + @@ -1394,7 +1394,7 @@ - Available since PHP 5.4.0 and cURL 7.15.5 + Available since cURL 7.15.5 @@ -1405,7 +1405,7 @@ - Available since PHP 5.4.0 and cURL 7.15.5 + Available since cURL 7.15.5 @@ -1493,7 +1493,7 @@ - Available since PHP 5.2.4 + @@ -1527,7 +1527,7 @@ - Available since PHP 5.5.0 and cURL 7.10.8 + Available since cURL 7.10.8 @@ -1538,7 +1538,7 @@ - Available since PHP 5.1.3 + @@ -1747,7 +1747,7 @@ - Available since PHP 5.3.7 + @@ -1758,7 +1758,7 @@ - Available since PHP 5.4.7 + @@ -1769,7 +1769,7 @@ - Available since PHP 5.4.7 + @@ -1780,7 +1780,7 @@ - Available since PHP 5.4.7 + @@ -1791,7 +1791,7 @@ - Available since PHP 5.4.7 + @@ -2077,7 +2077,7 @@ HTTP2 support built-in. - Available since PHP 5.5.24 and 5.6.8 and cURL 7.33.0 + Available since cURL 7.33.0 @@ -2089,7 +2089,7 @@ Supports files larger than 2GB. - Available since PHP 5.5.24 and 5.6.8 and cURL 7.33.0 + Available since cURL 7.33.0 @@ -2908,7 +2908,7 @@ - Available since PHP 5.3.0 and cURL 7.16.1. + Available since cURL 7.16.1. @@ -2919,7 +2919,7 @@ - Available since PHP 5.1.0 + @@ -2930,7 +2930,7 @@ - Available since PHP 5.1.0 + @@ -2941,7 +2941,7 @@ - Available since PHP 5.1.0 + @@ -2974,7 +2974,7 @@ - Available since PHP 5.2.10 and cURL 7.10. + Available since cURL 7.10. @@ -3073,7 +3073,7 @@ - Available since PHP 5.5.24 and 5.6.8 and cURL 7.33.0 + Available since cURL 7.33.0 @@ -3238,7 +3238,7 @@ - Available since PHP 5.5.0 and cURL 7.25.0 + Available since cURL 7.25.0 @@ -3249,7 +3249,7 @@ - Available since PHP 5.5.0 and cURL 7.25.0 + Available since cURL 7.25.0 @@ -3524,7 +3524,7 @@ - Available since PHP 5.5.0 and cURL 7.25.0 + Available since cURL 7.25.0 @@ -3535,7 +3535,7 @@ - Available since PHP 5.5.0 and cURL 7.25.0 + Available since cURL 7.25.0 @@ -3546,7 +3546,7 @@ - Available since PHP 5.5.0 and cURL 7.25.0 + Available since cURL 7.25.0 @@ -3557,7 +3557,7 @@ - Available since PHP 5.5.0 and cURL 7.16.0. + Available since cURL 7.16.0. @@ -3568,7 +3568,7 @@ - Available since PHP 5.5.0 and cURL 7.16.3. + Available since cURL 7.16.3. @@ -3746,7 +3746,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3757,7 +3757,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3768,7 +3768,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3779,7 +3779,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3790,7 +3790,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3801,7 +3801,7 @@ - Available since PHP 5.5.0 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3845,7 +3845,7 @@ - Available since PHP 5.5.23 and PHP 5.6.7 and cURL 7.18.0. + Available since cURL 7.18.0. @@ -3856,7 +3856,7 @@ - Available since PHP 5.5.23 and PHP 5.6.7 and cURL 7.18.0. + Available since cURL 7.18.0. diff --git a/reference/curl/functions/curl-setopt.xml b/reference/curl/functions/curl-setopt.xml index 680e8d2273..94d7637b72 100644 --- a/reference/curl/functions/curl-setopt.xml +++ b/reference/curl/functions/curl-setopt.xml @@ -92,8 +92,7 @@ on secure transfers. - Added in cURL 7.19.1. - Available since PHP 5.3.2. + Added in cURL 7.19.1. Requires CURLOPT_VERBOSE to be on to have an effect. @@ -106,7 +105,6 @@ Added in 7.15.2. - Available since PHP 5.5.0. @@ -272,7 +270,7 @@ the number of small packets on the network. - Available since PHP 5.2.1 for versions compiled with libcurl 7.11.2 or + Available for versions compiled with libcurl 7.11.2 or greater. @@ -308,7 +306,7 @@ &true; to track the handle's request string. - Available since PHP 5.1.3. The CURLINFO_ + The CURLINFO_ prefix is intentional. @@ -663,7 +661,7 @@ timeouts with a minimum timeout allowed of one second. - Added in cURL 7.16.2. Available since PHP 5.2.3. + Added in cURL 7.16.2. @@ -854,7 +852,7 @@ specific type of redirect occurs. - Added in cURL 7.19.1. Available since PHP 5.3.2. + Added in cURL 7.19.1. @@ -1121,7 +1119,7 @@ supports them. If set to 0 (default) keepalive probes are disabled. - Added in cURL 7.25.0. Available since PHP 5.5.0. + Added in cURL 7.25.0. @@ -1133,7 +1131,7 @@ The default is 60. - Added in cURL 7.25.0. Available since PHP 5.5.0. + Added in cURL 7.25.0. @@ -1145,7 +1143,7 @@ The default is 60. - Added in cURL 7.25.0. Available since PHP 5.5.0. + Added in cURL 7.25.0. @@ -1183,7 +1181,7 @@ timeouts with a minimum timeout allowed of one second. - Added in cURL 7.16.2. Available since PHP 5.2.3. + Added in cURL 7.16.2. @@ -1218,7 +1216,7 @@ Defaults to unlimited speed. - Added in cURL 7.15.5. Available since PHP 5.4.0. + Added in cURL 7.15.5. @@ -1230,7 +1228,7 @@ Defaults to unlimited speed. - Added in cURL 7.15.5. Available since PHP 5.4.0. + Added in cURL 7.15.5. @@ -1271,7 +1269,7 @@ CURLFTPMETHOD_SINGLECWD. - Added in cURL 7.15.1. Available since PHP 5.3.0. + Added in cURL 7.15.1. @@ -1368,7 +1366,7 @@ "RELOAD" loads all cookies from the files specified by CURLOPT_COOKIEFILE. - Available since PHP 5.5.0 and cURL 7.14.1. + Available since cURL 7.14.1. @@ -1993,7 +1991,7 @@ The user name to use in authentication. - Added in cURL 7.19.1. Available since PHP 5.5.0. + Added in cURL 7.19.1. @@ -2102,7 +2100,7 @@ - Added in cURL 7.21.3. Available since PHP 5.5.0. + Added in cURL 7.21.3. diff --git a/reference/curl/ini.xml b/reference/curl/ini.xml index 5a7bfb8c85..c7696edc2e 100644 --- a/reference/curl/ini.xml +++ b/reference/curl/ini.xml @@ -20,7 +20,7 @@ curl.cainfo NULL PHP_INI_SYSTEM - Available since PHP 5.3.7. + diff --git a/reference/dom/domdocument/loadhtml.xml b/reference/dom/domdocument/loadhtml.xml index e3e62e9f69..e7822edb5f 100644 --- a/reference/dom/domdocument/loadhtml.xml +++ b/reference/dom/domdocument/loadhtml.xml @@ -39,7 +39,7 @@ options - Since PHP 5.4.0 and Libxml 2.6.0, you may also use the + Since Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters. diff --git a/reference/dom/domdocument/loadhtmlfile.xml b/reference/dom/domdocument/loadhtmlfile.xml index 6bd21be477..b0abdf4d4f 100644 --- a/reference/dom/domdocument/loadhtmlfile.xml +++ b/reference/dom/domdocument/loadhtmlfile.xml @@ -36,7 +36,7 @@ options - Since PHP 5.4.0 and Libxml 2.6.0, you may also use the + Since Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters. diff --git a/reference/dom/domdocument/schemavalidate.xml b/reference/dom/domdocument/schemavalidate.xml index 17ffcf8b88..214eb0751c 100644 --- a/reference/dom/domdocument/schemavalidate.xml +++ b/reference/dom/domdocument/schemavalidate.xml @@ -35,7 +35,7 @@ A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14. + linkend="libxml.constants">LIBXML_SCHEMA_CREATE. Available since Libxml 2.6.14. diff --git a/reference/dom/domdocument/schemavalidatesource.xml b/reference/dom/domdocument/schemavalidatesource.xml index 728df0e54e..eede54637c 100644 --- a/reference/dom/domdocument/schemavalidatesource.xml +++ b/reference/dom/domdocument/schemavalidatesource.xml @@ -34,7 +34,7 @@ flags - A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since PHP 5.5.2 and Libxml 2.6.14. + A bitmask of Libxml schema validation flags. Currently the only supported value is LIBXML_SCHEMA_CREATE. Available since Libxml 2.6.14. diff --git a/reference/dom/domdocument/xinclude.xml b/reference/dom/domdocument/xinclude.xml index ce15da4f02..0cdf30e0f0 100644 --- a/reference/dom/domdocument/xinclude.xml +++ b/reference/dom/domdocument/xinclude.xml @@ -32,7 +32,7 @@ libxml parameters. Available - since PHP 5.1.0 and Libxml 2.6.7. + since Libxml 2.6.7. diff --git a/reference/fileinfo/constants.xml b/reference/fileinfo/constants.xml index cc22fa18d1..200a6b7a71 100644 --- a/reference/fileinfo/constants.xml +++ b/reference/fileinfo/constants.xml @@ -36,9 +36,6 @@ Return the mime type. - - Available since PHP 5.3.0. - @@ -50,9 +47,6 @@ Return the mime encoding of the file. - - Available since PHP 5.3.0. - @@ -76,7 +70,7 @@ Decompress compressed files. - Disabled since PHP 5.3.0 due to thread safety issues. + Disabled due to thread safety issues. diff --git a/reference/filesystem/constants.xml b/reference/filesystem/constants.xml index 4e08337aca..25982f7b10 100644 --- a/reference/filesystem/constants.xml +++ b/reference/filesystem/constants.xml @@ -198,7 +198,7 @@ - Since PHP 5.2.0. + @@ -265,7 +265,7 @@ - Binary mode (since PHP 5.2.7). + Binary mode. This constant has no effect, and is only available for @@ -283,7 +283,7 @@ - Text mode (since PHP 5.2.7). + Text mode. This constant has no effect, and is only available for @@ -301,7 +301,7 @@ - Normal INI scanner mode (since PHP 5.3). + Normal INI scanner mode. @@ -313,7 +313,7 @@ - Raw INI scanner mode (since PHP 5.3). + Raw INI scanner mode. @@ -325,7 +325,7 @@ - Typed INI scanner mode (since PHP 5.6.1). + Typed INI scanner mode. diff --git a/reference/gmp/book.xml b/reference/gmp/book.xml index 6bc30c9cbe..913c9a9c1d 100644 --- a/reference/gmp/book.xml +++ b/reference/gmp/book.xml @@ -43,7 +43,7 @@ - This extension is available on Windows platforms since PHP 5.1.0. + This extension is available on Windows platforms. diff --git a/reference/intl/ini.xml b/reference/intl/ini.xml index 88e3ee5627..405afbf3dc 100644 --- a/reference/intl/ini.xml +++ b/reference/intl/ini.xml @@ -34,7 +34,7 @@ intl.use_exceptions 0 PHP_INI_ALL - Available since PHP 5.5 and PECL 3.0.0a1 + Available since PECL 3.0.0a1 diff --git a/reference/outcontrol/constants.xml b/reference/outcontrol/constants.xml index b640934405..6cdd3b5927 100644 --- a/reference/outcontrol/constants.xml +++ b/reference/outcontrol/constants.xml @@ -25,7 +25,7 @@ Indicates that the output buffer is being flushed, and had data to output. - Available since PHP 5.4. + @@ -39,7 +39,7 @@ Indicates that the buffer has been flushed. - Available since PHP 5.4. + @@ -53,7 +53,7 @@ Indicates that the output buffer has been cleaned. - Available since PHP 5.4. + @@ -67,7 +67,7 @@ Indicates that this is the final output buffering operation. - Available since PHP 5.4. + @@ -113,7 +113,7 @@ ob_start can be cleaned. - Available since PHP 5.4. + @@ -128,7 +128,7 @@ ob_start can be flushed. - Available since PHP 5.4. + @@ -143,7 +143,7 @@ ob_start can be removed before the end of the script. - Available since PHP 5.4. + @@ -160,7 +160,7 @@ PHP_OUTPUT_HANDLER_REMOVABLE. - Available since PHP 5.4. + diff --git a/reference/pcre/functions/preg-last-error.xml b/reference/pcre/functions/preg-last-error.xml index 83f0f184da..868a48ddea 100644 --- a/reference/pcre/functions/preg-last-error.xml +++ b/reference/pcre/functions/preg-last-error.xml @@ -54,8 +54,8 @@ Backtrack limit was exhausted! PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit) PREG_BAD_UTF8_ERROR - PREG_BAD_UTF8_OFFSET_ERROR (since PHP 5.3.0) - PREG_JIT_STACKLIMIT_ERROR (since PHP 7.0.0) + PREG_BAD_UTF8_OFFSET_ERROR + PREG_JIT_STACKLIMIT_ERROR diff --git a/reference/pdo/constants.xml b/reference/pdo/constants.xml index 166e5f3257..ed99a77a28 100644 --- a/reference/pdo/constants.xml +++ b/reference/pdo/constants.xml @@ -303,7 +303,7 @@ Fetch a two-column result into an array where the first column is a key and the second column - is the value. Available since PHP 5.2.3. + is the value. @@ -327,8 +327,7 @@ As PDO::FETCH_INTO but object is provided as a serialized string. - Available since PHP 5.1.0. Since PHP 5.3.0 the class constructor is never called if this - flag is set. + The class constructor is never called if this flag is set. @@ -339,7 +338,7 @@ - Call the constructor before setting properties. Available since PHP 5.2.0. + Call the constructor before setting properties. @@ -595,7 +594,7 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { - Available since PHP 5.2.0 + @@ -606,7 +605,7 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { - Available since PHP 5.1.3. + diff --git a/reference/pdo_firebird/constants.xml b/reference/pdo_firebird/constants.xml index c22a933cff..3e4a37c2ca 100644 --- a/reference/pdo_firebird/constants.xml +++ b/reference/pdo_firebird/constants.xml @@ -10,9 +10,6 @@ (int) - - Available since PHP 5.3.0. - Sets the date format. @@ -27,9 +24,6 @@ Sets the time format. - - Available since PHP 5.3.0. - @@ -41,9 +35,6 @@ Sets the timestamp format. - - Available since PHP 5.3.0. - diff --git a/reference/pdo_odbc/ini.xml b/reference/pdo_odbc/ini.xml index c5695916ed..570886b93a 100644 --- a/reference/pdo_odbc/ini.xml +++ b/reference/pdo_odbc/ini.xml @@ -20,13 +20,13 @@ pdo_odbc.connection_pooling "strict" PHP_INI_ALL - Available since PHP 5.1.0. + pdo_odbc.db2_instance_name NULL PHP_INI_SYSTEM - Available since PHP 5.1.1. &removed.php.future; + &removed.php.future; diff --git a/reference/readline/ini.xml b/reference/readline/ini.xml index b532990626..88f7ad270e 100644 --- a/reference/readline/ini.xml +++ b/reference/readline/ini.xml @@ -21,13 +21,13 @@ cli.pager "" PHP_INI_ALL - Available since PHP 5.4.0. + cli.prompt "\\b \\> " PHP_INI_ALL - Available since PHP 5.4.0. + diff --git a/reference/session/functions/session-set-save-handler.xml b/reference/session/functions/session-set-save-handler.xml index 897be804aa..64e803b125 100644 --- a/reference/session/functions/session-set-save-handler.xml +++ b/reference/session/functions/session-set-save-handler.xml @@ -20,7 +20,7 @@ callableupdate_timestamp - Since PHP 5.4 it is possible to register the following prototype: + It is possible to register the following prototype: boolsession_set_save_handler @@ -50,7 +50,7 @@ SessionIdInterface and/or SessionUpdateTimestampHandlerInterface, such as SessionHandler, to register as the session - handler. Since PHP 5.4 only. + handler. diff --git a/reference/simplexml/functions/simplexml-load-file.xml b/reference/simplexml/functions/simplexml-load-file.xml index b880384568..7d3b7e1851 100644 --- a/reference/simplexml/functions/simplexml-load-file.xml +++ b/reference/simplexml/functions/simplexml-load-file.xml @@ -59,7 +59,7 @@ options - Since PHP 5.1.0 and Libxml 2.6.0, you may also use the + Since Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters. diff --git a/reference/spl/functions/class-implements.xml b/reference/spl/functions/class-implements.xml index 8189b119a4..527c4c0f01 100644 --- a/reference/spl/functions/class-implements.xml +++ b/reference/spl/functions/class-implements.xml @@ -67,7 +67,7 @@ class bar implements foo {} print_r(class_implements(new bar)); -// since PHP 5.1.0 you may also specify the parameter as a string +// you may also specify the parameter as a string print_r(class_implements('bar')); diff --git a/reference/spl/functions/class-parents.xml b/reference/spl/functions/class-parents.xml index 0da3b027dd..637a12ae17 100644 --- a/reference/spl/functions/class-parents.xml +++ b/reference/spl/functions/class-parents.xml @@ -66,7 +66,7 @@ class bar extends foo {} print_r(class_parents(new bar)); -// since PHP 5.1.0 you may also specify the parameter as a string +// you may also specify the parameter as a string print_r(class_parents('bar')); diff --git a/reference/stream/constants.xml b/reference/stream/constants.xml index a09fbb4709..72c2f11317 100644 --- a/reference/stream/constants.xml +++ b/reference/stream/constants.xml @@ -292,21 +292,21 @@ STREAM_SHUT_RD Used with stream_socket_shutdown to disable - further receptions. Added in PHP 5.2.1. + further receptions. STREAM_SHUT_WR Used with stream_socket_shutdown to disable - further transmissions. Added in PHP 5.2.1. + further transmissions. STREAM_SHUT_RDWR Used with stream_socket_shutdown to disable - further receptions and transmissions. Added in PHP 5.2.1. + further receptions and transmissions. @@ -383,16 +383,15 @@ - The constants marked with + are available since PHP - 5.1.0 and are meant to be used with + The constants marked with + are meant to be used with stream_socket_pair. Please note that some of these constants might not be available in your system. - The STREAM_META_* constants are available since PHP - 5.4.0 and are meant to be used with stream_metadata. + The STREAM_META_* constants + are meant to be used with stream_metadata. diff --git a/reference/zip/constants.xml b/reference/zip/constants.xml index 6da33d7a3b..edc5287bd7 100644 --- a/reference/zip/constants.xml +++ b/reference/zip/constants.xml @@ -943,7 +943,7 @@ - Since PHP 5.6.0, PECL zip 1.12.4 + Since PECL zip 1.12.4 From a0ae28d3bc85f927c22649ebd9a590b921534b7d Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sat, 24 Apr 2021 20:01:17 +0300 Subject: [PATCH 064/444] Removed references to PHP 5, PHP 7.0 (#545) --- appendices/configure/misc.xml | 23 ----- appendices/ini.sections.xml | 4 +- features/commandline.xml | 33 +++---- features/file-upload.xml | 11 +-- features/remote-files.xml | 4 +- install/fpm/configuration.xml | 8 +- install/fpm/install.xml | 2 +- install/ini.xml | 16 ++-- reference/array/constants.xml | 8 +- .../classobj/functions/is-subclass-of.xml | 1 - reference/datetime/configure.xml | 10 -- reference/datetime/constants.xml | 4 +- reference/datetime/datetimeinterface.xml | 4 +- .../datetime/datetimeinterface/format.xml | 2 +- reference/datetime/functions/date.xml | 4 +- reference/datetime/functions/time.xml | 2 +- reference/dba/configure.xml | 2 +- reference/dba/setup.xml | 2 +- reference/dbase/book.xml | 2 +- reference/dir/constants.xml | 6 +- reference/filesystem/functions/file.xml | 2 +- reference/filesystem/functions/pathinfo.xml | 2 +- reference/filesystem/ini.xml | 4 +- reference/fpm/book.xml | 2 +- reference/ftp/configure.xml | 6 +- reference/ftp/constants.xml | 1 - reference/gmagick/setup.xml | 2 +- reference/info/functions/ini-get.xml | 2 +- reference/mail/ini.xml | 6 +- reference/mbstring/supported-encodings.xml | 23 ++--- reference/misc/constants.xml | 2 +- reference/oci8/ini.xml | 18 ++-- reference/openssl/constants.xml | 23 +++-- reference/outcontrol/constants.xml | 28 +----- reference/password/book.xml | 6 -- reference/pcntl/constants.xml | 94 +++++++++---------- reference/pcre/ini.xml | 6 +- reference/pcre/pattern.modifiers.xml | 5 +- reference/pdo/constants.xml | 6 -- reference/pgsql/constants.xml | 20 ++-- reference/pgsql/ini.xml | 6 +- reference/session/constants.xml | 6 +- .../functions/session-regenerate-id.xml | 2 +- reference/session/ini.xml | 6 +- reference/simplexml/examples.xml | 6 +- .../functions/simplexml-load-file.xml | 10 -- .../functions/simplexml-load-string.xml | 2 +- reference/soap/constants.xml | 8 +- reference/sockets/constants.xml | 1 - .../sockets/functions/socket-get-option.xml | 17 +--- reference/spl/constants.xml | 6 -- reference/strings/functions/explode.xml | 2 +- reference/url/constants.xml | 2 +- reference/var/functions/var-export.xml | 4 +- reference/xmlreader/constants.xml | 6 -- reference/zlib/setup.xml | 3 +- 56 files changed, 184 insertions(+), 309 deletions(-) diff --git a/appendices/configure/misc.xml b/appendices/configure/misc.xml index d9f5d68004..a5416ec9cc 100644 --- a/appendices/configure/misc.xml +++ b/appendices/configure/misc.xml @@ -168,29 +168,6 @@ code! - - - - - - - Compile with memory limit support. - (not available since PHP 5.2.1 - always enabled) - - - - - - - - - - Disable the URL-aware fopen wrapper that allows - accessing files via HTTP or FTP. - (not available since PHP 5.2.5) - - - diff --git a/appendices/ini.sections.xml b/appendices/ini.sections.xml index 27d976763e..b58b6f05fb 100644 --- a/appendices/ini.sections.xml +++ b/appendices/ini.sections.xml @@ -32,12 +32,12 @@ [HOST=] PHP_INI_SYSTEM - Added in PHP 5.3.0. + [PATH=] PHP_INI_SYSTEM - Added in PHP 5.3.0. + diff --git a/features/commandline.xml b/features/commandline.xml index 34f316e8df..45201c5fb1 100644 --- a/features/commandline.xml +++ b/features/commandline.xml @@ -56,7 +56,7 @@ - As of PHP 5, the &cli; binary is distributed in the main folder as + The &cli; binary is distributed in the main folder as php.exe on Windows. The CGI version is distributed as php-cgi.exe. Additionally, a php-win.exe is distributed if PHP is configured using @@ -686,7 +686,7 @@ array(370) { --process-begin - PHP code to execute before processing stdin. Added in PHP 5. + PHP code to execute before processing stdin. @@ -695,7 +695,7 @@ array(370) { --process-code - PHP code to execute for every input line. Added in PHP 5. + PHP code to execute for every input line. There are two special variables available in this mode: @@ -711,7 +711,7 @@ array(370) { --process-file - PHP file to execute for every input line. Added in PHP 5. + PHP file to execute for every input line. @@ -720,7 +720,7 @@ array(370) { --process-end - PHP code to execute after processing the input. Added in PHP 5. + PHP code to execute after processing the input. Using the <option>-B</option>, <option>-R</option> and @@ -742,7 +742,7 @@ Total Lines: 37328 <entry> <para> Starts <link linkend="features.commandline.webserver">built-in web - server</link>. Available as of PHP 5.4.0. + server</link>. </para> </entry> </row> @@ -752,7 +752,6 @@ Total Lines: 37328 <entry> Specifies document root for <link linkend="features.commandline.webserver">built-in web server</link>. - Available as of PHP 5.4.0. </entry> </row> <row> @@ -830,8 +829,7 @@ Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies <entry>--ini</entry> <entry> <para> - Show configuration file names and scanned directories. Available as - of PHP 5.2.3. + Show configuration file names and scanned directories. <example> <title><literal>--ini</literal> example @@ -853,7 +851,7 @@ Additional .ini files parsed: (none) Show information about the given function or class method (e.g. - number and name of the parameters). Available as of PHP 5.1.2. + number and name of the parameters). This option is only available if PHP was compiled with @@ -884,7 +882,7 @@ Function [ public function var_dump ] { Show information about the given class (list of constants, properties - and methods). Available as of PHP 5.1.2. + and methods). This option is only available if PHP was compiled with @@ -933,7 +931,7 @@ Class [ class Directory ] { Show information about the given extension (list of &php.ini; options, - defined functions, constants and classes). Available as of PHP 5.1.2. + defined functions, constants and classes). This option is only available if PHP was compiled with @@ -967,7 +965,6 @@ Extension [ extension #19 json version 1.2.1 ] { Show the configuration information for the given Zend extension (the same information that is returned by phpinfo). - Available as of PHP 5.4.0. @@ -978,7 +975,7 @@ Extension [ extension #19 json version 1.2.1 ] { Show the configuration information for the given extension (the same information that is returned by phpinfo). - Available as of PHP 5.2.2. The core configuration information + The core configuration information is available using "main" as extension name. @@ -1413,7 +1410,7 @@ php -r 'fwrite(STDERR, "stderr\n");' Interactive shell - As of PHP 5.1.0, the &cli.sapi; provides an interactive shell using the + The &cli.sapi; provides an interactive shell using the option if PHP is compiled with the option. As of PHP 7.1.0 the interactive shell is also available on Windows, if the @@ -1492,7 +1489,7 @@ php > $foo[TAB]ThisIsAReallyLongVariableName - As of PHP 5.4.0, the &cli.sapi; provides + The &cli.sapi; provides the &php.ini; settings cli.pager and cli.prompt. The cli.pager setting allows an external program (such as less) to @@ -1502,7 +1499,7 @@ php > $foo[TAB]ThisIsAReallyLongVariableName - In PHP 5.4.0 it was also made possible to set + It is also possible to set &php.ini; settings in the interactive shell using a shorthand notation. @@ -1614,7 +1611,7 @@ php > - As of PHP 5.4.0, the &cli.sapi; provides a built-in web server. + The &cli.sapi; provides a built-in web server. diff --git a/features/file-upload.xml b/features/file-upload.xml index 339264243f..0da46e3a5e 100644 --- a/features/file-upload.xml +++ b/features/file-upload.xml @@ -301,7 +301,7 @@ foreach ($_FILES["pictures"]["error"] as $key => $error) { UPLOAD_ERR_NO_TMP_DIR - Value: 6; Missing a temporary folder. Introduced in PHP 5.0.3. + Value: 6; Missing a temporary folder. @@ -309,7 +309,7 @@ foreach ($_FILES["pictures"]["error"] as $key => $error) { UPLOAD_ERR_CANT_WRITE - Value: 7; Failed to write file to disk. Introduced in PHP 5.1.0. + Value: 7; Failed to write file to disk. @@ -319,8 +319,7 @@ foreach ($_FILES["pictures"]["error"] as $key => $error) { Value: 8; A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to - stop; examining the list of loaded extensions with phpinfo may help. - Introduced in PHP 5.2.0. + stop; examining the list of loaded extensions with phpinfo may help. @@ -372,7 +371,7 @@ foreach ($_FILES["pictures"]["error"] as $key => $error) { post_max_size large enough. - As of PHP 5.2.12, the + The max_file_uploads configuration setting controls the maximum number of files that can uploaded in one request. If more files are uploaded than the limit, then @@ -456,7 +455,7 @@ foreach ($_FILES["pictures"]["error"] as $key => $error) { - As of PHP 5.2.12, the + The max_file_uploads configuration setting acts as a limit on the number of files that can be uploaded in one request. You will need to ensure that your form does not diff --git a/features/remote-files.xml b/features/remote-files.xml index 70164bdc4c..2b8fdafc23 100644 --- a/features/remote-files.xml +++ b/features/remote-files.xml @@ -10,8 +10,8 @@ that take a filename as a parameter. In addition, URLs can be used with the include, include_once, require and - require_once statements (since PHP 5.2.0, - must be enabled for these). + require_once statements + ( must be enabled for these). See for more information about the protocols supported by PHP. diff --git a/install/fpm/configuration.xml b/install/fpm/configuration.xml index 4af3afce93..af874112ae 100644 --- a/install/fpm/configuration.xml +++ b/install/fpm/configuration.xml @@ -277,7 +277,7 @@ original PHP FastCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address must be separated by a comma. If this value is left blank, connections will be accepted from any ip address. Default value: any. - IPv6 addresses are allowed since PHP 5.5.20 and 5.6.4. + IPv6 addresses are allowed. @@ -326,7 +326,7 @@ When POSIX Access Control Lists are supported you can set them using this option. When set, listen.owner and listen.group - are ignored. Value is a comma separated list of user names. Since PHP 5.6.5. + are ignored. Value is a comma separated list of user names. @@ -338,7 +338,7 @@ See listen.acl_users. - Value is a comma separated list of group names. Since PHP 5.6.5. + Value is a comma separated list of group names. @@ -682,7 +682,7 @@ Clear environment in FPM workers. Prevents arbitrary environment variables from reaching FPM worker processes by clearing the environment in workers before env vars specified in this - pool configuration are added. Since PHP 5.4.27, 5.5.11, and 5.6.0. + pool configuration are added. Default value: Yes. diff --git a/install/fpm/install.xml b/install/fpm/install.xml index 0536d870f7..0449dc29a5 100644 --- a/install/fpm/install.xml +++ b/install/fpm/install.xml @@ -29,7 +29,7 @@ - --with-fpm-acl - Use POSIX Access Control Lists (default - no). Since PHP 5.6.5. + --with-fpm-acl - Use POSIX Access Control Lists (default - no). diff --git a/install/ini.xml b/install/ini.xml index 99a92cd88f..b65f222f94 100644 --- a/install/ini.xml +++ b/install/ini.xml @@ -25,13 +25,12 @@ - The PHPRC environment variable. Before PHP 5.2.0, - this was checked after the registry key mentioned below. + The PHPRC environment variable. - As of PHP 5.2.0, the location of the php.ini file + The location of the php.ini file can be set for different versions of PHP. The root of the registry keys depends on 32- or 64-bitness of the installed OS and PHP. For 32-bit PHP on a 32-bit OS or a 64-bit PHP on a 64-bit OS use [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] for 32-bit version of PHP on a 64-bit OS use [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP]] instead. For same bitness installation the following registry keys @@ -138,7 +137,7 @@ include_path = ".;c:\php\lib" - Since PHP 5.1.0, it is possible to refer to existing .ini variables from + It is possible to refer to existing .ini variables from within .ini files. Example: open_basedir = ${open_basedir} ":/new/dir". @@ -148,8 +147,8 @@ include_path = ".;c:\php\lib" It is possible to configure PHP to scan for .ini files in a directory after reading &php.ini;. This can be done at compile time by setting the - option. In - PHP 5.2.0 and later, the scan directory can then be overridden at run time + option. + The scan directory can then be overridden at run time by setting the PHP_INI_SCAN_DIR environment variable. @@ -245,7 +244,7 @@ $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php .user.ini files - Since PHP 5.3.0, PHP includes support for configuration INI files on a + PHP includes support for configuration INI files on a per-directory basis. These files are processed only by the CGI/FastCGI SAPI. This functionality obsoletes the PECL htscanner extension. If you are running PHP as Apache module, use &htaccess; files for the same @@ -322,14 +321,13 @@ $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php Entry can be set in user scripts (like with ini_set) or in the Windows registry. - Since PHP 5.3, entry can be set in &user-ini; + Entry can be set in &user-ini; PHP_INI_PERDIR Entry can be set in &php.ini;, &htaccess;, &httpd.conf; or &user-ini; - (since PHP 5.3) diff --git a/reference/array/constants.xml b/reference/array/constants.xml index 6325e367f6..3e05e33685 100644 --- a/reference/array/constants.xml +++ b/reference/array/constants.xml @@ -107,7 +107,7 @@ SORT_LOCALE_STRING is used to compare items as - strings, based on the current locale. Added in PHP 5.0.2. + strings, based on the current locale. @@ -119,7 +119,7 @@ SORT_NATURAL is used to compare items as - strings using "natural ordering" like natsort. Added in PHP 5.4.0. + strings using "natural ordering" like natsort. @@ -133,7 +133,7 @@ SORT_FLAG_CASE can be combined (bitwise OR) with SORT_STRING or - SORT_NATURAL to sort strings case-insensitively. Added in PHP 5.4.0. + SORT_NATURAL to sort strings case-insensitively. @@ -151,7 +151,6 @@ ARRAY_FILTER_USE_KEY is used with array_filter to pass each key as the first argument to the given callback function. - Added in PHP 5.6.0. @@ -164,7 +163,6 @@ ARRAY_FILTER_USE_BOTH is used with array_filter to pass both value and key to the given callback function. - Added in PHP 5.6.0. diff --git a/reference/classobj/functions/is-subclass-of.xml b/reference/classobj/functions/is-subclass-of.xml index 5f35b4e760..49c8057bf1 100644 --- a/reference/classobj/functions/is-subclass-of.xml +++ b/reference/classobj/functions/is-subclass-of.xml @@ -96,7 +96,6 @@ if (is_subclass_of($WF, 'WidgetFactory')) { } -// usable only since PHP 5.0.3 if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) { echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n"; } else { diff --git a/reference/datetime/configure.xml b/reference/datetime/configure.xml index 7ee5c3b008..6378d7e30b 100644 --- a/reference/datetime/configure.xml +++ b/reference/datetime/configure.xml @@ -14,16 +14,6 @@ - - Experimental DateTime support in PHP 5.1.x - - Although the DateTime class (and related functions) - are enabled by default since PHP 5.2.0, it is possible to add experimental - support into PHP 5.1.x by using the following flag before configure/compile: - CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1 - - -
From f9c4a68ef4f89e51e6d9b905ad3ddb6492386dd3 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 26 Apr 2021 11:46:55 +0300 Subject: [PATCH 065/444] Removed references to PHP 5, PHP 7.0 (#548) --- reference/array/functions/array-map.xml | 2 +- reference/array/functions/array-multisort.xml | 2 +- .../functions/classkit-method-add.xml | 6 -- .../functions/classkit-method-redefine.xml | 6 -- reference/classobj/functions/is-a.xml | 2 +- .../classobj/functions/property-exists.xml | 4 +- reference/curl/constants.xml | 70 +------------------ reference/curl/functions/curl-getinfo.xml | 2 +- reference/curl/functions/curl-setopt.xml | 29 +------- reference/fdf/configure.xml | 2 +- reference/fileinfo/configure.xml | 5 +- reference/fileinfo/setup.xml | 3 +- reference/filesystem/functions/fread.xml | 1 - .../filesystem/functions/is-readable.xml | 3 +- .../filesystem/functions/parse-ini-file.xml | 5 +- reference/filesystem/functions/touch.xml | 6 -- reference/lua/luaclosure/invoke.xml | 1 - reference/math/constants.xml | 20 +++--- reference/memcached/constants.xml | 2 +- reference/misc/functions/pack.xml | 2 +- .../misc/functions/php-strip-whitespace.xml | 8 --- reference/misc/ini.xml | 6 -- reference/phar/fileformat.xml | 2 +- reference/phpdbg/ini.xml | 4 +- reference/readline/constants.xml | 1 - reference/reflection/configure.xml | 2 +- .../reflectionparameter/construct.xml | 2 +- .../reflectionproperty/construct.xml | 4 +- reference/simplexml/configure.xml | 4 -- reference/simplexml/setup.xml | 3 - reference/sphinx/setup.xml | 2 +- .../spl/directoryiterator/getextension.xml | 1 - .../spl/functions/spl-autoload-register.xml | 4 +- reference/spl/splfileinfo/getextension.xml | 1 - reference/ssh2/functions/ssh2-sftp-lstat.xml | 2 +- reference/ssh2/functions/ssh2-sftp-stat.xml | 2 +- reference/tidy/configure.xml | 2 +- reference/tidy/ini.xml | 2 +- reference/url/functions/rawurlencode.xml | 6 -- reference/v8js/setup.xml | 2 +- reference/var/functions/empty.xml | 25 +------ reference/wincache/book.xml | 2 +- .../xml/functions/xml-parser-create-ns.xml | 3 +- reference/xsl/configure.xml | 2 +- reference/xsl/constants.xml | 8 +-- reference/yaf/book.xml | 3 - reference/yaf/ini.xml | 2 +- reference/yaf/yaf_application/bootstrap.xml | 2 +- reference/yaf/yaf_application/construct.xml | 2 +- reference/yaz/functions/yaz-record.xml | 4 -- reference/zlib/functions/gzencode.xml | 7 +- 51 files changed, 52 insertions(+), 241 deletions(-) diff --git a/reference/array/functions/array-map.xml b/reference/array/functions/array-map.xml index 7c9ac5bbdd..cc54c1fa28 100644 --- a/reference/array/functions/array-map.xml +++ b/reference/array/functions/array-map.xml @@ -118,7 +118,7 @@ Array - <function>array_map</function> using a lambda function (as of PHP 5.3.0) + <function>array_map</function> using a lambda function $row) { $edition[$key] = $row['edition']; } -// as of PHP 5.5.0 you can use array_column() instead of the above code +// you can use array_column() instead of the above code $volume = array_column($data, 'volume'); $edition = array_column($data, 'edition'); diff --git a/reference/classkit/functions/classkit-method-add.xml b/reference/classkit/functions/classkit-method-add.xml index cc2722caef..85ddae6fd6 100644 --- a/reference/classkit/functions/classkit-method-add.xml +++ b/reference/classkit/functions/classkit-method-add.xml @@ -63,12 +63,6 @@ CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE - - - This parameter is only used as of PHP 5, because, prior to this, - all methods were public. - - diff --git a/reference/classkit/functions/classkit-method-redefine.xml b/reference/classkit/functions/classkit-method-redefine.xml index caf38d1fc1..2db111e13f 100644 --- a/reference/classkit/functions/classkit-method-redefine.xml +++ b/reference/classkit/functions/classkit-method-redefine.xml @@ -64,12 +64,6 @@ CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE - - - This parameter is only used as of PHP 5, because, prior to this, - all methods were public. - - diff --git a/reference/classobj/functions/is-a.xml b/reference/classobj/functions/is-a.xml index c9ef39f4fe..3f4dbd3f99 100644 --- a/reference/classobj/functions/is-a.xml +++ b/reference/classobj/functions/is-a.xml @@ -82,7 +82,7 @@ if (is_a($WF, 'WidgetFactory')) { - Using the <emphasis>instanceof</emphasis> operator in PHP 5 + Using the <emphasis>instanceof</emphasis> operator diff --git a/reference/curl/constants.xml b/reference/curl/constants.xml index 0e4c5a23e1..994d774fef 100644 --- a/reference/curl/constants.xml +++ b/reference/curl/constants.xml @@ -947,17 +947,6 @@ - - - CURLOPT_CLOSEPOLICY - (int) - - - - Removed in PHP 5.6.0. - - - CURLOPT_FRESH_CONNECT @@ -1431,61 +1420,6 @@ - - - CURLCLOSEPOLICY_LEAST_RECENTLY_USED - (int) - - - - Removed in PHP 5.6.0. - - - - - - CURLCLOSEPOLICY_LEAST_TRAFFIC - (int) - - - - Removed in PHP 5.6.0. - - - - - - CURLCLOSEPOLICY_SLOWEST - (int) - - - - Removed in PHP 5.6.0. - - - - - - CURLCLOSEPOLICY_CALLBACK - (int) - - - - Removed in PHP 5.6.0. - - - - - - CURLCLOSEPOLICY_OLDEST - (int) - - - - Removed in PHP 5.6.0. - - - CURLINFO_PRIVATE @@ -1515,7 +1449,7 @@ - As of PHP 5.5.0 and cURL 7.10.8, this is a legacy alias of + As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_CODE @@ -3271,7 +3205,7 @@ - Available since PHP 5.5.0 and cURL 7.19.1 + Available since cURL 7.19.1 diff --git a/reference/curl/functions/curl-getinfo.xml b/reference/curl/functions/curl-getinfo.xml index b79265dca3..1bce36be74 100644 --- a/reference/curl/functions/curl-getinfo.xml +++ b/reference/curl/functions/curl-getinfo.xml @@ -37,7 +37,7 @@ CURLINFO_HTTP_CODE - The last response code. - As of PHP 5.5.0 and cURL 7.10.8, this is a legacy alias of + As of cURL 7.10.8, this is a legacy alias of CURLINFO_RESPONSE_CODE diff --git a/reference/curl/functions/curl-setopt.xml b/reference/curl/functions/curl-setopt.xml index 94d7637b72..7c721dbf1e 100644 --- a/reference/curl/functions/curl-setopt.xml +++ b/reference/curl/functions/curl-setopt.xml @@ -60,18 +60,6 @@ - - CURLOPT_BINARYTRANSFER - - &true; to return the raw output when - CURLOPT_RETURNTRANSFER is used. - - - From PHP 5.1.3, this option has no effect: the raw output will - always be returned when - CURLOPT_RETURNTRANSFER is used. - - CURLOPT_COOKIESESSION @@ -344,7 +332,7 @@ &false; to get the raw HTTP response body. - Available as of PHP 5.5.0 if built against libcurl >= 7.16.2. + Available if built against libcurl >= 7.16.2. @@ -626,21 +614,6 @@ Added in cURL 7.10. - - CURLOPT_CLOSEPOLICY - - One of the CURLCLOSEPOLICY_* values. - - - This option is deprecated, as it was never implemented in cURL and - never had any effect. - - - - - Removed in PHP 5.6.0. - - CURLOPT_CONNECTTIMEOUT diff --git a/reference/fdf/configure.xml b/reference/fdf/configure.xml index 2d04cc8f46..ae724f9f32 100644 --- a/reference/fdf/configure.xml +++ b/reference/fdf/configure.xml @@ -7,7 +7,7 @@ &url.pecl.vcs;fdf. - This extension is no longer bundled with PHP as of PHP 5.3.0. + This extension is no longer bundled with PHP. diff --git a/reference/fileinfo/configure.xml b/reference/fileinfo/configure.xml index 0fa2e071be..1691815f67 100644 --- a/reference/fileinfo/configure.xml +++ b/reference/fileinfo/configure.xml @@ -3,10 +3,7 @@
&reftitle.install; - This extension is enabled by default as of PHP 5.3.0. Before this time, - fileinfo was a PECL extension but is no longer maintained there. - However, versions prior to 5.3+ may use the - discontinued PECL extension. + This extension is enabled by default. Windows users must include the bundled php_fileinfo.dll diff --git a/reference/fileinfo/setup.xml b/reference/fileinfo/setup.xml index a0bc35b3b1..a42845218d 100644 --- a/reference/fileinfo/setup.xml +++ b/reference/fileinfo/setup.xml @@ -8,8 +8,7 @@
&reftitle.required; - Before PHP 5.3.0, the magic_open library is needed to build - this extension. +
diff --git a/reference/filesystem/functions/fread.xml b/reference/filesystem/functions/fread.xml index 05ac6b0e18..f0d0619ab3 100644 --- a/reference/filesystem/functions/fread.xml +++ b/reference/filesystem/functions/fread.xml @@ -132,7 +132,6 @@ fclose($handle); Keep in mind that PHP may be accessing the file as the user - id that the web server runs as (often 'nobody'). Safe mode - limitations are not taken into account before PHP 5.1.5. + id that the web server runs as (often 'nobody').
¬e.clearstatcache; &tip.fopen-wrapper.stat; diff --git a/reference/filesystem/functions/parse-ini-file.xml b/reference/filesystem/functions/parse-ini-file.xml index ce592c3ac5..b0b5fe3a68 100644 --- a/reference/filesystem/functions/parse-ini-file.xml +++ b/reference/filesystem/functions/parse-ini-file.xml @@ -203,8 +203,7 @@ function yesno($expression) return($expression ? 'Yes' : 'No'); } -// Get the path to php.ini using the php_ini_loaded_file() -// function available as of PHP 5.2.4 +// Get the path to php.ini using the php_ini_loaded_file() function $ini_path = php_ini_loaded_file(); // Parse php.ini @@ -296,7 +295,7 @@ also_five = ${five} Values null, off, no and false result in "", and values on, yes and true result - in "1", unless INI_SCANNER_TYPED mode is used (as of PHP 5.6.1). + in "1", unless INI_SCANNER_TYPED mode is used. Characters ?{}|&~!()^" must not be used anywhere in the key and have a special meaning in the value. diff --git a/reference/filesystem/functions/touch.xml b/reference/filesystem/functions/touch.xml index 0d91f6095a..9cb0c9fa5e 100644 --- a/reference/filesystem/functions/touch.xml +++ b/reference/filesystem/functions/touch.xml @@ -112,12 +112,6 @@ if (!touch('some_file.txt', $time)) { &reftitle.notes; ¬e.filesystem-time-res; - - - Prior to PHP 5.3.0 it was not possible to change the modification time - of a directory with this function under Windows. - - diff --git a/reference/lua/luaclosure/invoke.xml b/reference/lua/luaclosure/invoke.xml index a3965ea8c7..07d43c9561 100644 --- a/reference/lua/luaclosure/invoke.xml +++ b/reference/lua/luaclosure/invoke.xml @@ -58,7 +58,6 @@ CODE ); $lua->call($closure); -/* after PHP 5.3 */ $closure(); ?> ]]> diff --git a/reference/math/constants.xml b/reference/math/constants.xml index 9867b3684e..68570e27e4 100644 --- a/reference/math/constants.xml +++ b/reference/math/constants.xml @@ -80,7 +80,7 @@ M_SQRTPI 1.77245385090551602729 sqrt(pi) - PHP 5.2.0 + M_2_SQRTPI @@ -98,7 +98,7 @@ M_SQRT3 1.73205080756887729352 sqrt(3) - PHP 5.2.0 + M_SQRT1_2 @@ -110,37 +110,37 @@ M_LNPI 1.14472988584940017414 log_e(pi) - PHP 5.2.0 + M_EULER 0.57721566490153286061 Euler constant - PHP 5.2.0 + PHP_ROUND_HALF_UP 1 Round halves up - PHP 5.3.0 + PHP_ROUND_HALF_DOWN 2 Round halves down - PHP 5.3.0 + PHP_ROUND_HALF_EVEN 3 Round halves to even numbers - PHP 5.3.0 + PHP_ROUND_HALF_ODD 4 Round halves to odd numbers - PHP 5.3.0 + NAN @@ -158,10 +158,6 @@
- - All constants without a labeled PHP version above are available - starting with PHP 5.0.0. - diff --git a/reference/sphinx/setup.xml b/reference/sphinx/setup.xml index 33e576f80b..de1fa9651d 100644 --- a/reference/sphinx/setup.xml +++ b/reference/sphinx/setup.xml @@ -7,7 +7,7 @@
&reftitle.required; - PECL/sphinx requires PHP 5.2.2 or newer. +
diff --git a/reference/spl/directoryiterator/getextension.xml b/reference/spl/directoryiterator/getextension.xml index 90e571687e..9d92c75810 100644 --- a/reference/spl/directoryiterator/getextension.xml +++ b/reference/spl/directoryiterator/getextension.xml @@ -66,7 +66,6 @@ gz &reftitle.notes; - This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo function. diff --git a/reference/spl/functions/spl-autoload-register.xml b/reference/spl/functions/spl-autoload-register.xml index 14a2bf903a..9b3fe5e56c 100644 --- a/reference/spl/functions/spl-autoload-register.xml +++ b/reference/spl/functions/spl-autoload-register.xml @@ -97,7 +97,7 @@ function my_autoloader($class) { spl_autoload_register('my_autoloader'); -// Or, using an anonymous function as of PHP 5.3.0 +// Or, using an anonymous function spl_autoload_register(function ($class) { include 'classes/' . $class . '.class.php'; }); @@ -120,7 +120,7 @@ class Foo { } } -spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 +spl_autoload_register(__NAMESPACE__ .'\Foo::test'); new InexistentClass; diff --git a/reference/spl/splfileinfo/getextension.xml b/reference/spl/splfileinfo/getextension.xml index 39556575e2..9238463030 100644 --- a/reference/spl/splfileinfo/getextension.xml +++ b/reference/spl/splfileinfo/getextension.xml @@ -67,7 +67,6 @@ string(2) "gz" &reftitle.notes; - This method is only available as of PHP 5.3.6. Another way of getting the extension is to use the pathinfo function. diff --git a/reference/ssh2/functions/ssh2-sftp-lstat.xml b/reference/ssh2/functions/ssh2-sftp-lstat.xml index 58d0c7d029..6e45dd4ce4 100644 --- a/reference/ssh2/functions/ssh2-sftp-lstat.xml +++ b/reference/ssh2/functions/ssh2-sftp-lstat.xml @@ -19,7 +19,7 @@
This function is similar to using the lstat function - with the ssh2.sftp:// wrapper in PHP 5 + with the ssh2.sftp:// wrapper and returns the same values. diff --git a/reference/ssh2/functions/ssh2-sftp-stat.xml b/reference/ssh2/functions/ssh2-sftp-stat.xml index c8777a5cc9..71c0a48281 100644 --- a/reference/ssh2/functions/ssh2-sftp-stat.xml +++ b/reference/ssh2/functions/ssh2-sftp-stat.xml @@ -18,7 +18,7 @@ This function is similar to using the stat function - with the ssh2.sftp:// wrapper in PHP 5 + with the ssh2.sftp:// wrapper and returns the same values. diff --git a/reference/tidy/configure.xml b/reference/tidy/configure.xml index 7326a2fa47..2792a98ac3 100644 --- a/reference/tidy/configure.xml +++ b/reference/tidy/configure.xml @@ -3,7 +3,7 @@
&reftitle.install; - This extension is bundled with PHP 5 and greater, and is installed + This extension is bundled with PHP, and is installed using the configure option.
diff --git a/reference/tidy/ini.xml b/reference/tidy/ini.xml index 0f05beb349..d3c70a1903 100644 --- a/reference/tidy/ini.xml +++ b/reference/tidy/ini.xml @@ -26,7 +26,7 @@ tidy.clean_output "0" PHP_INI_USER - PHP_INI_PERDIR prior to PHP 5.4.0 +
diff --git a/reference/url/functions/rawurlencode.xml b/reference/url/functions/rawurlencode.xml index b971559147..1286d81ca7 100644 --- a/reference/url/functions/rawurlencode.xml +++ b/reference/url/functions/rawurlencode.xml @@ -44,12 +44,6 @@ protecting literal characters from being interpreted as special URL delimiters, and for protecting URLs from being mangled by transmission media with character conversions (like some email systems). - - - Prior to PHP 5.3.0, rawurlencode encoded tildes (~) as per - RFC 1738. - - diff --git a/reference/v8js/setup.xml b/reference/v8js/setup.xml index 262c0be7f6..3e184b2396 100644 --- a/reference/v8js/setup.xml +++ b/reference/v8js/setup.xml @@ -7,7 +7,7 @@
&reftitle.required; - PHP 5.3.3+ and V8 library and headers installed in proper paths. + PHP and V8 library and headers installed in proper paths.
diff --git a/reference/var/functions/empty.xml b/reference/var/functions/empty.xml index abaaab4ed9..7f8317c188 100644 --- a/reference/var/functions/empty.xml +++ b/reference/var/functions/empty.xml @@ -25,14 +25,6 @@ Variable to be checked - - - Prior to PHP 5.5, empty only supports variables; - anything else will result in a parse error. In other words, the - following will not work: empty(trim($name)). - Instead, use trim($name) == false. - - No warning is generated if the variable does not exist. That means empty is essentially the @@ -80,10 +72,6 @@ if (isset($var)) { <function>empty</function> on String Offsets - - PHP 5.4 changes how empty behaves - when passed string offsets. - ]]> - &example.outputs.53; - - - - &example.outputs.54; + &example.outputs; Support for opcode caching was removed in Wincache 2.0.0, all users who wish to have an opcache should use the OPcache extension - that is included with PHP as of PHP 5.5.0. + that is included with PHP. diff --git a/reference/xml/functions/xml-parser-create-ns.xml b/reference/xml/functions/xml-parser-create-ns.xml index f3e00e2dbd..c2a4d447c1 100644 --- a/reference/xml/functions/xml-parser-create-ns.xml +++ b/reference/xml/functions/xml-parser-create-ns.xml @@ -30,8 +30,7 @@ The input encoding is automatically detected, so that the encoding parameter specifies only the output - encoding. In PHP 5.0.0 and 5.0.1, the default output charset is - ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported + encoding. The default output charset is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII. diff --git a/reference/xsl/configure.xml b/reference/xsl/configure.xml index e443974e27..2d4f0b33db 100644 --- a/reference/xsl/configure.xml +++ b/reference/xsl/configure.xml @@ -3,7 +3,7 @@
&reftitle.install; - PHP 5 includes the XSL extension by default and can be enabled + PHP includes the XSL extension by default and can be enabled by adding the argument to your configure line (DIR being the libxslt installation directory). diff --git a/reference/xsl/constants.xml b/reference/xsl/constants.xml index ea0384ffc1..b0bb5ec128 100644 --- a/reference/xsl/constants.xml +++ b/reference/xsl/constants.xml @@ -41,7 +41,7 @@ - libxslt version like 10117. Available as of PHP 5.1.2. + libxslt version like 10117. @@ -52,7 +52,7 @@ - libxslt version like 1.1.17. Available as of PHP 5.1.2. + libxslt version like 1.1.17. @@ -63,7 +63,7 @@ - libexslt version like 813. Available as of PHP 5.1.2. + libexslt version like 813. @@ -74,7 +74,7 @@ - libexslt version like 1.1.17. Available as of PHP 5.1.2. + libexslt version like 1.1.17. diff --git a/reference/yaf/book.xml b/reference/yaf/book.xml index 4e8a1de4f9..9f9adc6906 100644 --- a/reference/yaf/book.xml +++ b/reference/yaf/book.xml @@ -11,9 +11,6 @@ The Yet Another Framework (Yaf) extension is a PHP framework that is used to develop web applications. - - Yaf requires PHP 5.2.1 or greater. Earlier versions may not work. - A simple Yaf benchmark can be found at Yaf Performance. diff --git a/reference/yaf/ini.xml b/reference/yaf/ini.xml index df704c420b..6692264923 100644 --- a/reference/yaf/ini.xml +++ b/reference/yaf/ini.xml @@ -256,7 +256,7 @@ - Only works as of PHP 5.3, if this value is On, All classes of Yaf will + If this value is On, All classes of Yaf will named in namespace style. diff --git a/reference/yaf/yaf_application/bootstrap.xml b/reference/yaf/yaf_application/bootstrap.xml index a7a47a76b1..9c2d51efdf 100644 --- a/reference/yaf/yaf_application/bootstrap.xml +++ b/reference/yaf/yaf_application/bootstrap.xml @@ -73,7 +73,7 @@ class Bootstrap extends Yaf_Bootstrap_Abstract { bootstrap(); diff --git a/reference/yaf/yaf_application/construct.xml b/reference/yaf/yaf_application/construct.xml index da2b1304fd..0e8c32f09b 100644 --- a/reference/yaf/yaf_application/construct.xml +++ b/reference/yaf/yaf_application/construct.xml @@ -105,7 +105,7 @@ ap.modules=Index bootstrap()->run(); diff --git a/reference/yaz/functions/yaz-record.xml b/reference/yaz/functions/yaz-record.xml index 572921fd16..9b4c7767ad 100644 --- a/reference/yaz/functions/yaz-record.xml +++ b/reference/yaz/functions/yaz-record.xml @@ -279,10 +279,6 @@ echo $res; ]]> - - For PHP 5 the XSL extension must be used - instead of Sablotron XSLT. - diff --git a/reference/zlib/functions/gzencode.xml b/reference/zlib/functions/gzencode.xml index 68b0ce279f..9fa74624da 100644 --- a/reference/zlib/functions/gzencode.xml +++ b/reference/zlib/functions/gzencode.xml @@ -56,12 +56,7 @@ or FORCE_DEFLATE. - Prior to PHP 5.4.0, using FORCE_DEFLATE results in - a standard zlib deflated string (inclusive zlib headers) after a gzip - file header but without the trailing crc32 checksum. - - - In PHP 5.4.0 and later, FORCE_DEFLATE generates + FORCE_DEFLATE generates RFC 1950 compliant output, consisting of a zlib header, the deflated data, and an Adler checksum. From 5d9eb55b2abb9f6a1e0a5a01d2dcbbd5ea1530d6 Mon Sep 17 00:00:00 2001 From: BohwaZ Date: Mon, 26 Apr 2021 12:02:11 +0200 Subject: [PATCH 066/444] Add tip on VACUUM INTO in SQLite3::backup (#547) --- reference/sqlite3/sqlite3/backup.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/sqlite3/sqlite3/backup.xml b/reference/sqlite3/sqlite3/backup.xml index 84bcebfeaa..fa61ca23fa 100644 --- a/reference/sqlite3/sqlite3/backup.xml +++ b/reference/sqlite3/sqlite3/backup.xml @@ -20,6 +20,12 @@ It is useful either for creating backups of databases or for copying in-memory databases to or from persistent files. + + + As of SQLite 3.27.0 (2019-02-07), it is also possible to use the statement + VACUUM INTO 'file.db'; to backup the database to a new file. + + From 35af8187d0ca49b354a55f613ac5d62f5741f402 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Mon, 26 Apr 2021 12:24:09 +0100 Subject: [PATCH 067/444] Updated string & array curly brace access with support notice (#546) The documentation still states that array/string curly brace access is possible but this was deprecated as of PHP 7.4 as per this RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access and no longer supported as of PHP 8. --- language/types/array.xml | 7 ++++--- language/types/string.xml | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/language/types/array.xml b/language/types/array.xml index 08849aa2c9..fa6cb62448 100644 --- a/language/types/array.xml +++ b/language/types/array.xml @@ -358,9 +358,10 @@ string(3) "foo" - Both square brackets and curly braces can be used interchangeably - for accessing array elements (e.g. $array[42] and $array{42} will - both do the same thing in the example above). + Prior to PHP 8.0.0, square brackets and curly braces could be used interchangeably + for accessing array elements (e.g. $array[42] and $array{42} + would both do the same thing in the example above). + The curly brace syntax was deprecated as of PHP 7.4.0 and no longer supported as of PHP 8.0.0. diff --git a/language/types/string.xml b/language/types/string.xml index a9c6df6fbd..ab35f62c31 100644 --- a/language/types/string.xml +++ b/language/types/string.xml @@ -808,8 +808,9 @@ echo "I'd like an {${beers::$ale}}\n"; - Strings may also be accessed using braces, as in + Prior to PHP 8.0.0, strings could also be accessed using braces, as in $str{42}, for the same purpose. + This curly brace syntax was deprecated as of PHP 7.4.0 and no longer supported as of PHP 8.0.0. From 625dc345dba34bd0e8f97b6fac4272a5e8359428 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 26 Apr 2021 18:46:10 +0200 Subject: [PATCH 068/444] Fix #74585: chroot doesn't change __DIR__ constant --- reference/dir/functions/chroot.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reference/dir/functions/chroot.xml b/reference/dir/functions/chroot.xml index 396ee466b9..270bb11807 100644 --- a/reference/dir/functions/chroot.xml +++ b/reference/dir/functions/chroot.xml @@ -23,6 +23,10 @@ only when using the CLI, CGI or Embed SAPI. Also, this function requires root privileges. + + Calling this function does not change the values of the __DIR__ + and __FILE__ magic constants. + From 8a058e9acded067eaa1bd445ed6943158e7311df Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 27 Apr 2021 12:53:38 +0300 Subject: [PATCH 069/444] Removed references to PHP 5, 7.0 (#549) PDO and PCRE sections --- reference/pcre/functions/preg-match-all.xml | 3 +-- reference/pcre/functions/preg-match.xml | 3 +-- reference/pcre/functions/preg-replace.xml | 3 +-- reference/pcre/pattern.posix.xml | 2 +- reference/pcre/pattern.syntax.xml | 27 ++++++++++----------- reference/pdo/book.xml | 4 +-- reference/pdo/configure.xml | 21 ++-------------- reference/pdo/pdo/prepare.xml | 2 +- reference/pdo_dblib/reference.xml | 2 +- reference/pdo_mysql/configure.xml | 2 +- reference/pdo_odbc/configure.xml | 2 +- reference/pdo_sqlsrv/configure.xml | 11 ++------- 12 files changed, 26 insertions(+), 56 deletions(-) diff --git a/reference/pcre/functions/preg-match-all.xml b/reference/pcre/functions/preg-match-all.xml index 43f1ec3b6d..7f20070868 100644 --- a/reference/pcre/functions/preg-match-all.xml +++ b/reference/pcre/functions/preg-match-all.xml @@ -382,8 +382,7 @@ FOO; preg_match_all('/(?P\w+): (?P\d+)/', $str, $matches); -/* This also works in PHP 5.2.2 (PCRE 7.0) and later, however - * the above form is recommended for backwards compatibility */ +/* Alternative */ // preg_match_all('/(?\w+): (?\d+)/', $str, $matches); print_r($matches); diff --git a/reference/pcre/functions/preg-match.xml b/reference/pcre/functions/preg-match.xml index be0b0b7949..3c23c032e0 100644 --- a/reference/pcre/functions/preg-match.xml +++ b/reference/pcre/functions/preg-match.xml @@ -358,8 +358,7 @@ $str = 'foobar: 2008'; preg_match('/(?P\w+): (?P\d+)/', $str, $matches); -/* This also works in PHP 5.2.2 (PCRE 7.0) and later, however - * the above form is recommended for backwards compatibility */ +/* Alternative */ // preg_match('/(?\w+): (?\d+)/', $str, $matches); print_r($matches); diff --git a/reference/pcre/functions/preg-replace.xml b/reference/pcre/functions/preg-replace.xml index 9464f588e3..2e14dfb41a 100644 --- a/reference/pcre/functions/preg-replace.xml +++ b/reference/pcre/functions/preg-replace.xml @@ -145,8 +145,7 @@ &reftitle.errors; - As of PHP 5.5.0 E_DEPRECATED level error is emitted when - passing in the "\e" modifier. As of PHP 7.0.0 using the "\e" modifier is an error; + Using the "\e" modifier is an error; an E_WARNING is emitted in this case. diff --git a/reference/pcre/pattern.posix.xml b/reference/pcre/pattern.posix.xml index a7f587d8dd..497fd12055 100644 --- a/reference/pcre/pattern.posix.xml +++ b/reference/pcre/pattern.posix.xml @@ -4,7 +4,7 @@ Differences from POSIX regex - As of PHP 5.3.0, the POSIX Regex extension + The POSIX Regex extension is deprecated. There are a number of differences between POSIX regex and PCRE regex. This page lists the most notable ones that are necessary to know when converting to PCRE. diff --git a/reference/pcre/pattern.syntax.xml b/reference/pcre/pattern.syntax.xml index f4c7a204d5..66ed54925a 100644 --- a/reference/pcre/pattern.syntax.xml +++ b/reference/pcre/pattern.syntax.xml @@ -461,11 +461,11 @@ \h - any horizontal whitespace character (since PHP 5.2.4) + any horizontal whitespace character \H - any character that is not a horizontal whitespace character (since PHP 5.2.4) + any character that is not a horizontal whitespace character \s @@ -477,11 +477,11 @@ \v - any vertical whitespace character (since PHP 5.2.4) + any vertical whitespace character \V - any character that is not a vertical whitespace character (since PHP 5.2.4) + any character that is not a vertical whitespace character \w @@ -604,8 +604,8 @@ - \K can be used to reset the match start since - PHP 5.2.4. For example, the pattern foo\Kbar matches + \K can be used to reset the match start. + For example, the pattern foo\Kbar matches "foobar", but reports that it has matched "bar". The use of \K does not interfere with the setting of captured substrings. For example, when the pattern (foo)\Kbar @@ -1277,7 +1277,7 @@ In UTF-8 mode, characters with values greater than 128 do not match any of the POSIX character classes. - As of PHP 5.3.0 and libpcre 8.10 some character classes are changed to use + As of libpcre 8.10 some character classes are changed to use Unicode character properties, in which case the mentioned restriction does not apply. Refer to the PCRE(3) manual for details. @@ -1490,7 +1490,7 @@ It is possible to name a subpattern using the syntax (?P<name>pattern). This subpattern will then be indexed in the matches array by its normal numeric position and - also by name. PHP 5.2.2 introduced two alternative syntaxes + also by name. There are two alternative syntaxes (?<name>pattern) and (?'name'pattern). @@ -1782,7 +1782,7 @@ example above, or by a quantifier with a minimum of zero. - As of PHP 5.2.2, the \g escape sequence can be + The \g escape sequence can be used for absolute and relative referencing of subpatterns. This escape sequence must be followed by an unsigned number or a negative number, optionally enclosed in braces. The sequences \1, @@ -1803,11 +1803,10 @@ Back references to the named subpatterns can be achieved by - (?P=name) or, since PHP 5.2.2, also by - \k<name> or \k'name'. - Additionally PHP 5.2.4 added support for \k{name} - and \g{name}, and PHP 5.2.7 for - \g<name> and \g'name'. + (?P=name), + \k<name>, \k'name', + \k{name}, \g{name}, + \g<name> or \g'name'.
diff --git a/reference/pdo/book.xml b/reference/pdo/book.xml index 55fe128049..a26c33b695 100644 --- a/reference/pdo/book.xml +++ b/reference/pdo/book.xml @@ -27,9 +27,7 @@ should use a full-blown abstraction layer if you need that facility. - PDO ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; - PDO requires the new OO features in the core of PHP 5, and so will not - run with earlier versions of PHP. + PDO ships with PHP. diff --git a/reference/pdo/configure.xml b/reference/pdo/configure.xml index f79707d1d6..ac5bfa6961 100644 --- a/reference/pdo/configure.xml +++ b/reference/pdo/configure.xml @@ -7,7 +7,7 @@ PDO and the PDO_SQLITE driver - is enabled by default as of PHP 5.1.0. You may need + is enabled by default. You may need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers @@ -42,24 +42,7 @@ extension=pdo.so Windows users - PDO and all the major drivers ship with PHP as shared extensions, and - simply need to be activated by editing the &php.ini; file: - - - - - - - This step is not necessary for PHP 5.3 and above, as a DLL is no longer - required for PDO. - - - - - - Next, choose the other database-specific DLL files and either use + Choose the other database-specific DLL files and either use dl to load them at runtime, or enable them in &php.ini; below php_pdo.dll. For example: diff --git a/reference/pdo/pdo/prepare.xml b/reference/pdo/pdo/prepare.xml index 1803ffa647..eb9949312c 100644 --- a/reference/pdo/pdo/prepare.xml +++ b/reference/pdo/pdo/prepare.xml @@ -56,7 +56,7 @@ - As of PHP 5.3.0, the parser used for emulated prepared statements and for + The parser used for emulated prepared statements and for rewriting named or question mark style parameters supports the non standard backslash escapes for single- and double quotes. That means that terminating quotes immediately preceeded by a backslash are not recognized as such, which diff --git a/reference/pdo_dblib/reference.xml b/reference/pdo_dblib/reference.xml index 0b4c86c75d..f258a29014 100644 --- a/reference/pdo_dblib/reference.xml +++ b/reference/pdo_dblib/reference.xml @@ -16,7 +16,7 @@ Microsoft SQL Server and Sybase databases through the FreeTDS library. - This extension is not available anymore on Windows with PHP 5.3 or later. + This extension is not available anymore on Windows. On Windows, you should use SqlSrv, an alternative driver for MS SQL is diff --git a/reference/pdo_mysql/configure.xml b/reference/pdo_mysql/configure.xml index 293c5214e6..92495f00be 100644 --- a/reference/pdo_mysql/configure.xml +++ b/reference/pdo_mysql/configure.xml @@ -27,7 +27,7 @@ When compiling, use to install the PDO MySQL extension, where the optional [=DIR] - is the MySQL base library. As of PHP 5.4, mysqlnd + is the MySQL base library. Mysqlnd is the default library. For details about choosing a library, see Choosing a MySQL library. diff --git a/reference/pdo_odbc/configure.xml b/reference/pdo_odbc/configure.xml index 1f3fab0df3..3e3e1e9c6a 100644 --- a/reference/pdo_odbc/configure.xml +++ b/reference/pdo_odbc/configure.xml @@ -6,7 +6,7 @@ PDO_ODBC on UNIX systems - As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the + PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands. diff --git a/reference/pdo_sqlsrv/configure.xml b/reference/pdo_sqlsrv/configure.xml index 536629ee3a..9826419207 100644 --- a/reference/pdo_sqlsrv/configure.xml +++ b/reference/pdo_sqlsrv/configure.xml @@ -5,18 +5,11 @@ The PDO_SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the &php.ini; file. The - PDO_SQLSRV download comes 8 driver files, four of which are for PDO support. - If you are running non-thread-safe PHP (PHP 5.3), use the php_pdo_sqlsrv_53_nts.dll - file. (You should use a non-thread-safe version if you are using IIS as your - web server). If you are running thread-safe PHP, use the php_pdo_sqlsrv_53_ts.dll - file. Similarly for PHP 5.4, use the php_pdo_sqlsrv_54_nts.dll or php_pdo_sqlsrv_54_ts.dll - depending on whether your PHP installation is non-thread-safe or thread-safe. + PDO_SQLSRV download comes with 8 driver files, four of which are for PDO support. The most recent version of the driver is available for download here: - SQLSRV download. If you need support - for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: - SQLSRV 2.0 download. + SQLSRV download. The driver sources are hosted in a public repository. From d0a31e86053b3066b5023d170b01e4b75cb171ed Mon Sep 17 00:00:00 2001 From: Guilliam Xavier Date: Tue, 27 Apr 2021 18:24:56 +0200 Subject: [PATCH 070/444] Fix missing space between `public` and `getPrevious` in Exception class synopsis (#552) --- language/predefined/exception/getprevious.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/predefined/exception/getprevious.xml b/language/predefined/exception/getprevious.xml index a27bf479c1..5b9bf04701 100644 --- a/language/predefined/exception/getprevious.xml +++ b/language/predefined/exception/getprevious.xml @@ -10,7 +10,7 @@ &reftitle.description; - final publicThrowablenullException::getPrevious + final public Throwablenull Exception::getPrevious From cdd4a9f3a6a2b1fb18f0660829cbab1af7e9a701 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Tue, 27 Apr 2021 21:52:51 +0100 Subject: [PATCH 071/444] Updating mysqli: mysqli_affected_rows (#554) * Fix grammar * Remove spaces and split the line * Add a note about unbuffered query * Removed redundant code * integer -> int --- reference/mysqli/mysqli/affected-rows.xml | 49 +++++++---------------- 1 file changed, 15 insertions(+), 34 deletions(-) diff --git a/reference/mysqli/mysqli/affected-rows.xml b/reference/mysqli/mysqli/affected-rows.xml index 749af36671..d12e2fe560 100644 --- a/reference/mysqli/mysqli/affected-rows.xml +++ b/reference/mysqli/mysqli/affected-rows.xml @@ -20,10 +20,8 @@ Returns the number of rows affected by the last INSERT, UPDATE, REPLACE or DELETE query. - - - For SELECT statements mysqli_affected_rows works like - mysqli_num_rows. + Works like mysqli_num_rows for + SELECT statements. @@ -40,16 +38,18 @@ &reftitle.returnvalues; An integer greater than zero indicates the number of rows affected or - retrieved. - Zero indicates that no records were updated for an UPDATE statement, no - rows matched the WHERE clause in the query or that no - query has yet been executed. -1 indicates that the query returned an - error. + retrieved. Zero indicates that no records were updated for an + UPDATE statement, no rows matched the + WHERE clause in the query or that no query has yet been + executed. -1 indicates that the query returned an error or + that mysqli_affected_rows was called for an unbuffered + SELECT query. - If the number of affected rows is greater than the maximum integer value( PHP_INT_MAX ), the - number of affected rows will be returned as a string. + If the number of affected rows is greater than the maximum int value + (PHP_INT_MAX), the number of affected rows will be + returned as a string. @@ -62,13 +62,9 @@ query("CREATE TABLE Language SELECT * from CountryLanguage"); @@ -88,26 +84,17 @@ printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows); $result = $mysqli->query("SELECT CountryCode FROM Language"); printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows); -$result->close(); - /* Delete table Language */ $mysqli->query("DROP TABLE Language"); - -/* close connection */ -$mysqli->close(); -?> ]]> &style.procedural; ]]> &examples.outputs; From 2d5c6bed30ea22d847bf03dad1072f075694b4c3 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Tue, 27 Apr 2021 21:55:25 +0100 Subject: [PATCH 072/444] Updating mysqli: mysqli_stmt_affected_rows (#553) * Remove redundant sentence * Synchronize it with MySQL doc * Fix incorrect information * No need for 2 paragraphs * Add literal * Improved examples * Replaced see also * maximal -> maximum --- .../mysqli/mysqli_stmt/affected-rows.xml | 96 +++++++------------ 1 file changed, 35 insertions(+), 61 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/affected-rows.xml b/reference/mysqli/mysqli_stmt/affected-rows.xml index 1ad820cc50..ba6e8ce840 100644 --- a/reference/mysqli/mysqli_stmt/affected-rows.xml +++ b/reference/mysqli/mysqli_stmt/affected-rows.xml @@ -4,8 +4,8 @@ mysqli_stmt::$affected_rows mysqli_stmt_affected_rows - Returns the total number of rows changed, deleted, or - inserted by the last executed statement + Returns the total number of rows changed, deleted, inserted, or + matched by the last statement executed @@ -21,11 +21,8 @@ Returns the number of rows affected by INSERT, UPDATE, or DELETE query. - - - This function only works with queries which update a table. In order to - get the number of rows from a SELECT query, use - mysqli_stmt_num_rows instead. + Works like mysqli_stmt_num_rows for + SELECT statements. @@ -42,15 +39,17 @@ &reftitle.returnvalues; An integer greater than zero indicates the number of rows affected or - retrieved. - Zero indicates that no records where updated for an UPDATE/DELETE - statement, no rows matched the WHERE clause in the query or that no query - has yet been executed. -1 indicates that the query has returned an error. - NULL indicates an invalid argument was supplied to the function. + retrieved. Zero indicates that no records were updated for an + UPDATE statement, no rows matched the + WHERE clause in the query or that no query has yet been + executed. -1 indicates that the query returned an error or + that, for a SELECT query, + mysqli_stmt_affected_rows was called prior to calling + mysqli_stmt_store_result. - If the number of affected rows is greater than maximal PHP int value, the + If the number of affected rows is greater than maximum PHP int value, the number of affected rows will be returned as a string value. @@ -59,17 +58,14 @@ &reftitle.examples; - &style.oop; + <methodname>mysqli_stmt_affected_rows</methodname> example + &style.oop; query("CREATE TEMPORARY TABLE myCountry LIKE Country"); @@ -77,39 +73,25 @@ $mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country"); $query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?"; /* prepare statement */ -if ($stmt = $mysqli->prepare($query)) { +$stmt = $mysqli->prepare($query); - /* Bind variable for placeholder */ - $code = 'A%'; - $stmt->bind_param("s", $code); +/* Bind variable for placeholder */ +$code = 'A%'; +$stmt->bind_param("s", $code); - /* execute statement */ - $stmt->execute(); +/* execute statement */ +$stmt->execute(); - printf("rows inserted: %d\n", $stmt->affected_rows); - - /* close statement */ - $stmt->close(); -} - -/* close connection */ -$mysqli->close(); -?> +printf("Rows inserted: %d\n", $stmt->affected_rows); ]]> - - - &style.procedural; + &style.procedural; +printf("Rows inserted: %d\n", mysqli_stmt_affected_rows($stmt)); ]]> &examples.outputs; @@ -151,7 +125,7 @@ rows inserted: 17 mysqli_stmt_num_rows - mysqli_prepare + mysqli_stmt_store_result From e504d84881c4f8c02d0b7d897e67ff3183dc7a65 Mon Sep 17 00:00:00 2001 From: Grigorii Sokolik Date: Wed, 28 Apr 2021 10:12:06 +0200 Subject: [PATCH 073/444] Add note for passing references to invoke methods. During running unit tests for a private method I faced the lack of documentation about how to pass arguments by references through `invoke` method. (See https://bugs.php.net/bug.php?id=80991) I'd like to add notes to clarify the workaround to make it easier for others. Co-authored-by: Christoph M. Becker Closes GH-550. --- reference/reflection/reflectionfunction/invoke.xml | 3 ++- reference/reflection/reflectionmethod/invoke.xml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/reference/reflection/reflectionfunction/invoke.xml b/reference/reflection/reflectionfunction/invoke.xml index 4324c0c9ca..57a7c02da7 100644 --- a/reference/reflection/reflectionfunction/invoke.xml +++ b/reference/reflection/reflectionfunction/invoke.xml @@ -76,7 +76,8 @@ Dr. Phil &reftitle.notes; - &reflection.invoke.reference; + ReflectionFunction::invoke cannot be used when reference parameters are expected. + RefelectionFunction::invokeArgs has to be used instead (passing references in the argument list). diff --git a/reference/reflection/reflectionmethod/invoke.xml b/reference/reflection/reflectionmethod/invoke.xml index b4a45c9a3d..124a29b794 100644 --- a/reference/reflection/reflectionmethod/invoke.xml +++ b/reference/reflection/reflectionmethod/invoke.xml @@ -98,7 +98,8 @@ Hello Mike &reftitle.notes; - &reflection.invoke.reference; + ReflectionMethod::invoke cannot be used atwhen reference parameters are expected. + ReflectionMethod::invokeArgs has to be used instead (passing references in the argument list). From f7503d75d526770b3657fecb439b85293106443d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 28 Apr 2021 14:02:24 +0200 Subject: [PATCH 074/444] Fix typo Pointed out by @GSokol. --- reference/reflection/reflectionmethod/invoke.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/reflection/reflectionmethod/invoke.xml b/reference/reflection/reflectionmethod/invoke.xml index 124a29b794..1f0ad71d11 100644 --- a/reference/reflection/reflectionmethod/invoke.xml +++ b/reference/reflection/reflectionmethod/invoke.xml @@ -98,7 +98,7 @@ Hello Mike &reftitle.notes; - ReflectionMethod::invoke cannot be used atwhen reference parameters are expected. + ReflectionMethod::invoke cannot be used when reference parameters are expected. ReflectionMethod::invokeArgs has to be used instead (passing references in the argument list). From ae9210b4725b38bc869134fe9bd3d6036a2331e2 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 29 Apr 2021 12:13:07 +0200 Subject: [PATCH 075/444] Fix typo --- reference/reflection/reflectionfunction/invoke.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/reflection/reflectionfunction/invoke.xml b/reference/reflection/reflectionfunction/invoke.xml index 57a7c02da7..58b79bc772 100644 --- a/reference/reflection/reflectionfunction/invoke.xml +++ b/reference/reflection/reflectionfunction/invoke.xml @@ -77,7 +77,7 @@ Dr. Phil ReflectionFunction::invoke cannot be used when reference parameters are expected. - RefelectionFunction::invokeArgs has to be used instead (passing references in the argument list). + ReflectionFunction::invokeArgs has to be used instead (passing references in the argument list). From a7663ad05e1a825c2ca61810a9b8d45e940a2afc Mon Sep 17 00:00:00 2001 From: Kim Hallberg Date: Thu, 29 Apr 2021 15:18:50 +0200 Subject: [PATCH 076/444] Fix #80999: count TypeError not documented * Add TypeError to changelog * Update example for count to show TypeError * Split example outputs into separate PHP versions * Split examples into good and bad examples Closes GH-556. --- language-snippets.ent | 2 ++ reference/array/functions/count.xml | 48 +++++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index aa0691265f..c19b90ef11 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -521,6 +521,8 @@ currently not documented; only its argument list is available. Output of the above example in PHP 7.1:'> +Output of the above example in PHP 7.2:'> + Output of the above example in PHP 7.3:'> Output of the above example in PHP 8:'> diff --git a/reference/array/functions/count.xml b/reference/array/functions/count.xml index 3e9c1f4f7e..241a65e5a8 100644 --- a/reference/array/functions/count.xml +++ b/reference/array/functions/count.xml @@ -87,6 +87,28 @@ $a[1] = 3; $a[2] = 5; var_dump(count($a)); +$b[0] = 7; +$b[5] = 9; +$b[10] = 11; +var_dump(count($b)); +?> +]]> + + &example.outputs; + + + +
+ + + + <function>count</function> non Countable|array example (bad example - don't do this) + + + + &example.outputs.72; + + + + &example.outputs.8; + + @@ -145,6 +182,13 @@ echo count($food); // output 2 + + 8.0.0 + + count will now throw TypeError on + invalid countable types passed to the value parameter. + + 7.2.0 From 6376b92e0de9c0dbe507d8cb76380106eedb9f28 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Wed, 28 Apr 2021 16:36:33 +0100 Subject: [PATCH 077/444] Cleanup after PHP 5 mention removal --- reference/fileinfo/configure.xml | 26 -------------------------- reference/fileinfo/setup.xml | 4 +--- reference/sphinx/setup.xml | 4 +--- 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/reference/fileinfo/configure.xml b/reference/fileinfo/configure.xml index 1691815f67..eb2e87516a 100644 --- a/reference/fileinfo/configure.xml +++ b/reference/fileinfo/configure.xml @@ -14,32 +14,6 @@ A patch against libmagic named libmagic.patch is maintained and may be found within the PHP fileinfo extensions source. - - - Upgrade history of the bundled libmagic library - - - - PHP &Version; - Updated libmagic &Version; - Notes - - - - - 5.3.2 - 5.03 - - - - 5.3.0 - 5.02 - - - - -
-
&reftitle.required; - - - + &no.requirement;
diff --git a/reference/sphinx/setup.xml b/reference/sphinx/setup.xml index de1fa9651d..a14b34a86e 100644 --- a/reference/sphinx/setup.xml +++ b/reference/sphinx/setup.xml @@ -6,9 +6,7 @@
&reftitle.required; - - - + &no.requirement;
From 6b5de328b9dfb7aa391817b5cef123c80acd9979 Mon Sep 17 00:00:00 2001 From: Kim Hallberg Date: Thu, 29 Apr 2021 18:03:25 +0200 Subject: [PATCH 078/444] Fix #80975: Doc incomplete - explode * Add TypeError to changelog * Add note about seperator values at start of end of string Closes GH-558. --- reference/strings/functions/explode.xml | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/reference/strings/functions/explode.xml b/reference/strings/functions/explode.xml index 9040e00f36..6939036935 100644 --- a/reference/strings/functions/explode.xml +++ b/reference/strings/functions/explode.xml @@ -84,10 +84,36 @@ contained in string and a negative limit is used, then an empty array will be returned, otherwise an array containing - string will be returned. + string will be returned. If separator + values appear at the start or end of string, said values + will be added as an empty array value either in the first or last + position of the returned array respectively. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + explode will now throw TypeError + when separator parameter is given an empty string (""). + + + + + + + &reftitle.examples; From 8a7c2e03689cc5edf0dfb6710c9d3fe0b450849f Mon Sep 17 00:00:00 2001 From: thinkverse Date: Thu, 29 Apr 2021 20:23:23 +0200 Subject: [PATCH 079/444] Fix changelog being at the wrong section --- reference/array/functions/count.xml | 67 ++++++++++++++++------------- 1 file changed, 38 insertions(+), 29 deletions(-) diff --git a/reference/array/functions/count.xml b/reference/array/functions/count.xml index 241a65e5a8..d528048616 100644 --- a/reference/array/functions/count.xml +++ b/reference/array/functions/count.xml @@ -1,10 +1,12 @@ + count Count all elements in an array, or something in an object + &reftitle.description; @@ -29,6 +31,7 @@ are implemented and used in PHP. + &reftitle.parameters; @@ -63,6 +66,7 @@ + &reftitle.returnvalues; @@ -74,6 +78,37 @@ 0 will be returned. + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + count will now throw TypeError on + invalid countable types passed to the value parameter. + + + + 7.2.0 + + count will now yield a warning on invalid countable types + passed to the value parameter. + + + + + + + &reftitle.examples; @@ -171,35 +206,7 @@ echo count($food); // output 2 - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 8.0.0 - - count will now throw TypeError on - invalid countable types passed to the value parameter. - - - - 7.2.0 - - count will now yield a warning on invalid countable types - passed to the value parameter. - - - - - - + &reftitle.seealso; @@ -212,7 +219,9 @@ echo count($food); // output 2 + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - PHP 5 >= 5.1.0 - - - - - - - - - - + + + + PHP 5 >= 5.1.0 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - - + + + + -
- Differences from POSIX regex - - - The POSIX Regex extension - is deprecated. There are a number of differences between POSIX regex and - PCRE regex. This page lists the most notable ones that are necessary to - know when converting to PCRE. - - - - - - - The PCRE functions require that the pattern is enclosed by delimiters. - - - - - Unlike POSIX, the PCRE extension does not have dedicated functions for - case-insensitive matching. Instead, this is supported using the - i (PCRE_CASELESS) pattern modifier. Other - pattern modifiers are also available for changing the matching strategy. - - - - - The POSIX functions find the longest of the leftmost match, but PCRE - stops on the first valid match. If the string doesn't match at all it - makes no difference, but if it matches it may have dramatic effects on - both the resulting match and the matching speed. - - - To illustrate this difference, consider the following example from - "Mastering Regular Expressions" by Jeffrey Friedl. Using the pattern - one(self)?(selfsufficient)? on the string - oneselfsufficient with PCRE will result in matching - oneself, but using POSIX the result will be the full - string oneselfsufficient. Both (sub)strings match the - original string, but POSIX requires that the longest be the result. - - - - - The POSIX definition of a "character class" differs from that of PCRE. - Simple bracket expressions to match a set of explicit characters are - supported in the form of PCRE - character classes - but POSIX collating elements, character classes and character equivalents - are not supported. - - - Supplying an expression with a character class that both starts and ends - with :, . or = - characters to PCRE is interpreted as an attempt to use one of these - unsupported features and causes a compilation error. - - - - - - - - Function replacements - - - - POSIX - PCRE - - - - - ereg_replace - preg_replace - - - ereg - preg_match - - - eregi_replace - preg_replace - - - eregi - preg_match - - - split - preg_split - - - spliti - preg_split - - - sql_regcase - No equivalent - - - -
-
-
- - diff --git a/reference/pcre/pattern.xml b/reference/pcre/pattern.xml index 11316faaea..12d943f95e 100644 --- a/reference/pcre/pattern.xml +++ b/reference/pcre/pattern.xml @@ -7,7 +7,6 @@ &reference.pcre.pattern.syntax; &reference.pcre.pattern.modifiers; &reference.pcre.pattern.differences; - &reference.pcre.pattern.posix; - - - - Regular Expression (POSIX Extended) - POSIX Regex - - - &reftitle.intro; - - &warn.deprecated.feature.5-3-0.removed.7-0-0.alternatives; - - - PCRE - (for full regular expression support) - - - fnmatch - (for simpler shell style wildcard pattern matching) - - - - - - PHP also supports regular expressions using a Perl-compatible syntax - using the PCRE functions. Those functions - support non-greedy matching, assertions, conditional subpatterns, and a - number of other features not supported by the POSIX-extended regular - expression syntax. - - - - - These regular expression functions are not binary-safe. The PCRE functions are. - - - - Regular expressions are used for complex string manipulation. - PHP uses the POSIX extended regular expressions as defined by POSIX - 1003.2. For a full description of POSIX regular expressions see the regex - man pages included in the regex directory in the PHP distribution. It's - in manpage format, so you'll want to do something along the lines of - man /usr/local/src/regex/regex.7 in order to read it. - - - - &reference.regex.setup; - &reference.regex.constants; - &reference.regex.examples; - &reference.regex.reference; - - - - diff --git a/reference/regex/configure.xml b/reference/regex/configure.xml deleted file mode 100644 index 3052b533fa..0000000000 --- a/reference/regex/configure.xml +++ /dev/null @@ -1,52 +0,0 @@ - - -
- &reftitle.install; - -
- PHP 7 - - &pecl.info; - &url.pecl.package;regex. - -
- -
- PHP 5 - - - Do not change the TYPE unless you know what you are doing. - - - - To enable regexp support configure PHP - . TYPE can be one of - system, apache, php. - The default value is php. - - &windows.builtin; -
- -
- - - diff --git a/reference/regex/constants.xml b/reference/regex/constants.xml deleted file mode 100644 index 04dbada782..0000000000 --- a/reference/regex/constants.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - - diff --git a/reference/regex/examples.xml b/reference/regex/examples.xml deleted file mode 100644 index 2a594dfc97..0000000000 --- a/reference/regex/examples.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - &reftitle.examples; - - - Regular Expression Examples - - tag at the beginning of $string. -$string = ereg_replace("^", "
", $string); - -// Put a
tag at the end of $string. -$string = ereg_replace("$", "
", $string); - -// Get rid of any newline characters in $string. -$string = ereg_replace("\n", "", $string); -?> -]]> -
-
-
-
- - - diff --git a/reference/regex/functions/ereg-replace.xml b/reference/regex/functions/ereg-replace.xml deleted file mode 100644 index 754678c4d9..0000000000 --- a/reference/regex/functions/ereg-replace.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - ereg_replace - Replace regular expression - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - preg_replace - - - - - - &reftitle.description; - - stringereg_replace - stringpattern - stringreplacement - stringstring - - - This function scans string for matches to - pattern, then replaces the matched text - with replacement. - - - - - &reftitle.parameters; - - - - pattern - - - A POSIX extended regular expression. - - - - - replacement - - - If pattern contains parenthesized substrings, - replacement may contain substrings of the form - \digit, which will be - replaced by the text matching the digit'th parenthesized substring; - \0 will produce the entire contents of string. - Up to nine substrings may be used. Parentheses may be nested, in which - case they are counted by the opening parenthesis. - - - - - string - - - The input string. - - - - - - - - - &reftitle.returnvalues; - - The modified string is returned. If no matches are found in - string, then it will be returned unchanged. - - - - - &reftitle.examples; - - For example, the following code snippet prints "This was a test" - three times: - - - - <function>ereg_replace</function> example - - -]]> - - - - - One thing to take note of is that if you use an integer value as - the replacement parameter, you may not get - the results you expect. This is because - ereg_replace will interpret the number as - the ordinal value of a character, and apply that. For instance: - - - - <function>ereg_replace</function> example - - -]]> - - - - - - Replace URLs with links - -[:space:]]+[[:alnum:]/]", - '\\0', $text); -?> -]]> - - - - - - - &reftitle.seealso; - - - ereg - eregi - eregi_replace - str_replace - preg_replace - quotemeta - - - - - - - diff --git a/reference/regex/functions/ereg.xml b/reference/regex/functions/ereg.xml deleted file mode 100644 index 1b883b4b74..0000000000 --- a/reference/regex/functions/ereg.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - ereg - Regular expression match - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - preg_match - - - - - - &reftitle.description; - - intereg - stringpattern - stringstring - arrayregs - - - Searches a string for matches to the regular - expression given in pattern in a case-sensitive - way. - - - - - &reftitle.parameters; - - - - pattern - - - Case sensitive regular expression. - - - - - string - - - The input string. - - - - - regs - - - If matches are found for parenthesized substrings of - pattern and the function is called with the - third argument regs, the matches will be stored - in the elements of the array regs. - - - $regs[1] will contain the substring which starts at - the first left parenthesis; $regs[2] will contain - the substring starting at the second, and so on. - $regs[0] will contain a copy of the complete string - matched. - - - - - - - - - &reftitle.returnvalues; - - Returns the length of the matched string if a match for - pattern was found in string, - or &false; if no matches were found or an error occurred. - - - If the optional parameter regs was not passed or - the length of the matched string is 0, this function returns 1. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 4.1.0 - - Up to (and including) PHP 4.1.0 $regs will be - filled with exactly ten elements, even though more or fewer than - ten parenthesized substrings may actually have matched. This has - no effect on ereg's ability to match more - substrings. If no matches are found, $regs - will not be altered by ereg. - - - - - - - - - - &reftitle.examples; - - - <function>ereg</function> example - - The following code snippet takes a date in ISO format (YYYY-MM-DD) and - prints it in DD.MM.YYYY format: - - - -]]> - - - - - - - &reftitle.seealso; - - - eregi - ereg_replace - eregi_replace - preg_match - strpos - strstr - quotemeta - - - - - - - diff --git a/reference/regex/functions/eregi-replace.xml b/reference/regex/functions/eregi-replace.xml deleted file mode 100644 index 859b8f972e..0000000000 --- a/reference/regex/functions/eregi-replace.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - eregi_replace - Replace regular expression case insensitive - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - - preg_replace - (with the i (PCRE_CASELESS) - modifier) - - - - - - - &reftitle.description; - - stringeregi_replace - stringpattern - stringreplacement - stringstring - - - This function is identical to ereg_replace - except that this ignores case distinction when matching - alphabetic characters. - - - - - &reftitle.parameters; - - - - pattern - - - A POSIX extended regular expression. - - - - - replacement - - - If pattern contains parenthesized substrings, - replacement may contain substrings of the form - \digit, which will be - replaced by the text matching the digit'th parenthesized substring; - \0 will produce the entire contents of string. - Up to nine substrings may be used. Parentheses may be nested, in which - case they are counted by the opening parenthesis. - - - - - string - - - The input string. - - - - - - - - - &reftitle.returnvalues; - - The modified string is returned. If no matches are found in - string, then it will be returned unchanged. - - - - - &reftitle.examples; - - - Highlight search results - -[^<]*)('. quotemeta($_GET['search']) .')'; -$replacement = '\\1\\2'; -$body = eregi_replace($pattern, $replacement, $body); -?> -]]> - - - - - - - &reftitle.seealso; - - - ereg - eregi - ereg_replace - preg_replace - quotemeta - - - - - - diff --git a/reference/regex/functions/eregi.xml b/reference/regex/functions/eregi.xml deleted file mode 100644 index 9ee942c4c6..0000000000 --- a/reference/regex/functions/eregi.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - - eregi - Case insensitive regular expression match - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - - preg_match - (with the i (PCRE_CASELESS) - modifier) - - - - - - - &reftitle.description; - - interegi - stringpattern - stringstring - arrayregs - - - This function is identical to ereg except that it - ignores case distinction when matching alphabetic characters. - - - - - &reftitle.parameters; - - - - pattern - - - Case insensitive regular expression. - - - - - string - - - The input string. - - - - - regs - - - If matches are found for parenthesized substrings of - pattern and the function is called with the - third argument regs, the matches will be stored - in the elements of the array regs. - - - $regs[1] will contain the substring which starts at - the first left parenthesis; $regs[2] will contain - the substring starting at the second, and so on. - $regs[0] will contain a copy of the complete string - matched. - - - - - - - - - &reftitle.returnvalues; - - Returns the length of the matched string if a match for - pattern was found in string, - or &false; if no matches were found or an error occurred. - - - If the optional parameter regs was not passed or - the length of the matched string is 0, this function returns 1. - - - - - &reftitle.examples; - - - <function>eregi</function> example - - -]]> - - - - - - - &reftitle.seealso; - - - ereg - ereg_replace - eregi_replace - preg_match - stripos - stristr - quotemeta - - - - - - diff --git a/reference/regex/functions/split.xml b/reference/regex/functions/split.xml deleted file mode 100644 index a3bd79a09d..0000000000 --- a/reference/regex/functions/split.xml +++ /dev/null @@ -1,190 +0,0 @@ - - - - - split - Split string into array by regular expression - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - preg_split - explode - str_split - - - - - - &reftitle.description; - - arraysplit - stringpattern - stringstring - intlimit-1 - - - Splits a string into array by regular expression. - - - - - &reftitle.parameters; - - - - pattern - - - Case sensitive regular expression. - - - If you want to split on any of the characters which are considered - special by regular expressions, you'll need to escape them first. If - you think split (or any other regex function, for - that matter) is doing something weird, please read the file - regex.7, included in the - regex/ subdirectory of the PHP distribution. It's - in manpage format, so you'll want to do something along the lines of - man /usr/local/src/regex/regex.7 in order to read it. - - - - - string - - - The input string. - - - - - limit - - - If limit is set, the returned array will - contain a maximum of limit elements with the - last element containing the whole rest of - string. - - - - - - - - - &reftitle.returnvalues; - - Returns an array of strings, each of which is a substring of - string formed by splitting it on boundaries formed - by the case-sensitive regular expression pattern. - - - If there are n occurrences of - pattern, the returned array will contain - n+1 items. For example, if - there is no occurrence of pattern, an array with - only one element will be returned. Of course, this is also true if - string is empty. If an error occurs, - split returns &false;. - - - - - &reftitle.examples; - - - <function>split</function> example - - To split off the first four fields from a line from - /etc/passwd: - - - -]]> - - - - - - <function>split</function> example - - To parse a date which may be delimited with slashes, dots, or hyphens: - - -\n"; -?> -]]> - - - - - - - &reftitle.notes; - - - split is deprecated as of PHP 5.3.0. preg_split - is the suggested alternative to this function. If you don't require the power of regular - expressions, it is faster to use explode, which - doesn't incur the overhead of the regular expression engine. - - - - - For users looking for a way to emulate Perl's @chars = - split('', $str) behaviour, please see the examples for - preg_split or str_split. - - - - - - &reftitle.seealso; - - - preg_split - spliti - str_split - explode - implode - chunk_split - wordwrap - - - - - - - diff --git a/reference/regex/functions/spliti.xml b/reference/regex/functions/spliti.xml deleted file mode 100644 index d1f109c86c..0000000000 --- a/reference/regex/functions/spliti.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - spliti - Split string into array by regular expression case insensitive - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - - preg_split - (with the i (PCRE_CASELESS) - modifier) - - - - - - - &reftitle.description; - - arrayspliti - stringpattern - stringstring - intlimit-1 - - - Splits a string into array by regular expression. - - - This function is identical to split except that this - ignores case distinction when matching alphabetic characters. - - - - - &reftitle.parameters; - - - - pattern - - - Case insensitive regular expression. - - - If you want to split on any of the characters which are considered - special by regular expressions, you'll need to escape them first. If - you think spliti (or any other regex function, for - that matter) is doing something weird, please read the file - regex.7, included in the - regex/ subdirectory of the PHP distribution. It's - in manpage format, so you'll want to do something along the lines of - man /usr/local/src/regex/regex.7 in order to read it. - - - - - string - - - The input string. - - - - - limit - - - If limit is set, the returned array will - contain a maximum of limit elements with the - last element containing the whole rest of - string. - - - - - - - - - &reftitle.returnvalues; - - Returns an array of strings, each of which is a substring of - string formed by splitting it on boundaries formed - by the case insensitive regular expression pattern. - - - If there are n occurrences of - pattern, the returned array will contain - n+1 items. For example, if - there is no occurrence of pattern, an array with - only one element will be returned. Of course, this is also true if - string is empty. If an error occurs, - spliti returns &false;. - - - - - &reftitle.examples; - - This example splits a string using 'a' as the separator : - - <function>spliti</function> example - - -]]> - - &example.outputs; - - - [1] => BBB - [2] => CCC - [3] => DDD - [4] => EEEaGGGA -) -]]> - - - - - - - &reftitle.seealso; - - - preg_split - split - explode - implode - - - - - - - diff --git a/reference/regex/functions/sql-regcase.xml b/reference/regex/functions/sql-regcase.xml deleted file mode 100644 index 4060355c01..0000000000 --- a/reference/regex/functions/sql-regcase.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - sql_regcase - Make regular expression for case insensitive match - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - preg_match - preg_quote - - - - - - &reftitle.description; - - stringsql_regcase - stringstring - - - Creates a regular expression for a case insensitive match. - - - - - &reftitle.parameters; - - - - string - - - The input string. - - - - - - - - - &reftitle.returnvalues; - - Returns a valid regular expression which will match - string, ignoring case. This expression is - string with each alphabetic character converted to - a bracket expression; this bracket expression contains that character's - uppercase and lowercase form. Other characters remain unchanged. - - - - - &reftitle.examples; - - - <function>sql_regcase</function> example - - -]]> - - &example.outputs; - - - - - - - This can be used to achieve case insensitive pattern matching in - products which support only case sensitive regular expressions. - - - - - - diff --git a/reference/regex/reference.xml b/reference/regex/reference.xml deleted file mode 100644 index 87df75b687..0000000000 --- a/reference/regex/reference.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - POSIX Regex &Functions; - - &reftitle.seealso; - - &warn.deprecated.feature.5-3-0.removed.7-0-0.alternatives; - - - PCRE - (for full regular expression support) - - - fnmatch - (for simpler shell style wildcard pattern matching) - - - - - - &reference.regex.entities.functions; - - - - - diff --git a/reference/regex/setup.xml b/reference/regex/setup.xml deleted file mode 100644 index 2bd5c3c48e..0000000000 --- a/reference/regex/setup.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- - &reference.regex.configure; - -
- &reftitle.runtime; - &no.config; -
- -
- &reftitle.resources; - &no.resource; -
- -
- - - diff --git a/reference/regex/versions.xml b/reference/regex/versions.xml deleted file mode 100644 index ec0a021a0d..0000000000 --- a/reference/regex/versions.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file From 435885e2f78afd591a0b201a3bb7e8c8d1260165 Mon Sep 17 00:00:00 2001 From: Kim Hallberg Date: Fri, 30 Apr 2021 15:41:00 +0200 Subject: [PATCH 086/444] Add missing parameters section to zlib-get-coding-type.xml (#567) --- reference/zlib/functions/zlib-get-coding-type.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reference/zlib/functions/zlib-get-coding-type.xml b/reference/zlib/functions/zlib-get-coding-type.xml index bdd3e5b595..4bcdf5c58d 100644 --- a/reference/zlib/functions/zlib-get-coding-type.xml +++ b/reference/zlib/functions/zlib-get-coding-type.xml @@ -5,6 +5,7 @@ zlib_get_coding_type Returns the coding type used for output compression + &reftitle.description; @@ -15,6 +16,12 @@ Returns the coding type used for output compression. + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; @@ -22,6 +29,7 @@ or &false;. + &reftitle.seealso; @@ -34,6 +42,7 @@ + - - - - - - - - - - - + + + + + + + + + + + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - + - - - + + + - - - - - - - - + + + + + + + + - - - + + + From e17ff04a4ad4f20fe55e848f439a5e28313d9916 Mon Sep 17 00:00:00 2001 From: thinkverse Date: Fri, 30 Apr 2021 18:44:58 +0200 Subject: [PATCH 089/444] Add missing parameters section --- reference/xsl/xsltprocessor/hasexsltsupport.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reference/xsl/xsltprocessor/hasexsltsupport.xml b/reference/xsl/xsltprocessor/hasexsltsupport.xml index 32b6af1384..a8aacfc218 100644 --- a/reference/xsl/xsltprocessor/hasexsltsupport.xml +++ b/reference/xsl/xsltprocessor/hasexsltsupport.xml @@ -5,6 +5,7 @@ XSLTProcessor::hasExsltSupport Determine if PHP has EXSLT support + &reftitle.description; @@ -16,12 +17,19 @@ xlink:href="&url.exsltlib;">EXSLT library. + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; &return.success; + &reftitle.examples; @@ -44,6 +52,7 @@ if (!$proc->hasExsltSupport()) { + + &reftitle.seealso; uopz_get_mock uopz_unset_mock - + diff --git a/reference/uopz/functions/uopz-unset-mock.xml b/reference/uopz/functions/uopz-unset-mock.xml index 1a73810173..c5a0f739d4 100644 --- a/reference/uopz/functions/uopz-unset-mock.xml +++ b/reference/uopz/functions/uopz-unset-mock.xml @@ -32,13 +32,20 @@ - + + &reftitle.returnvalues; + + &return.void; + + + + &reftitle.errors; A RuntimeException is thrown, if no mock was previously set for class. - + &reftitle.examples; @@ -74,13 +81,13 @@ A - + &reftitle.seealso; uopz_set_mock uopz_get_mock - + From 4d72f13eaf9e06715ae68eac72aa3fd6ae83eb78 Mon Sep 17 00:00:00 2001 From: thinkverse Date: Fri, 30 Apr 2021 20:43:05 +0200 Subject: [PATCH 095/444] Fix missing sections/section order for Win32Services extension Closes GH-577 --- .../functions/win32-create-service.xml | 107 +++++++++--------- .../functions/win32-delete-service.xml | 46 ++++---- .../win32-get-last-control-message.xml | 14 ++- .../win32-start-service-ctrl-dispatcher.xml | 71 ++++++------ 4 files changed, 122 insertions(+), 116 deletions(-) diff --git a/reference/win32service/functions/win32-create-service.xml b/reference/win32service/functions/win32-create-service.xml index bdf4cb3ca1..8906f9db98 100644 --- a/reference/win32service/functions/win32-create-service.xml +++ b/reference/win32service/functions/win32-create-service.xml @@ -6,6 +6,7 @@ win32_create_service Creates a new service entry in the SCM database + &reftitle.description; @@ -18,6 +19,7 @@ privileges are required for this to succeed. + &reftitle.parameters; @@ -300,7 +302,7 @@ - + &reftitle.errors; A ValueError is thrown if the; @@ -351,9 +353,57 @@ A Win32ServiceException is thrown on error. - - + + + &reftitle.changelog; + + + + + + &Version; + &Description; + + + + + PECL win32service 1.0.0 + + Throws a ValueError on invalid data in parameters, + previously &false; was returned. + + + + PECL win32service 1.0.0 + + Throws a Win32ServiceException on error, + previously a + Win32 Error Code + was returned. + + + + PECL win32service 1.0.0 + + The return type is now void, previously it was mixed. + + + + PECL win32service 0.4.0 + + The dependencies, recovery_delay, + recovery_action_1, recovery_action_2, + recovery_action_3, recovery_reset_period, + recovery_enabled, recovery_reboot_msg + and recovery_command parameters have been added. + + + + + + + &reftitle.examples; @@ -431,57 +481,6 @@ debug_zval_dump($x); - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL win32service 1.0.0 - - Throws a ValueError on invalid data in parameters, - previously &false; was returned. - - - - PECL win32service 1.0.0 - - Throws a Win32ServiceException on error, - previously a - Win32 Error Code - was returned. - - - - PECL win32service 1.0.0 - - The return type is now void, previously it was mixed. - - - - PECL win32service 0.4.0 - - The dependencies, recovery_delay, - recovery_action_1, recovery_action_2, - recovery_action_3, recovery_reset_period, - recovery_enabled, recovery_reboot_msg - and recovery_command parameters have been added. - - - - - - - - &reftitle.seealso; diff --git a/reference/win32service/functions/win32-delete-service.xml b/reference/win32service/functions/win32-delete-service.xml index 57151b82f5..4d6b386d69 100644 --- a/reference/win32service/functions/win32-delete-service.xml +++ b/reference/win32service/functions/win32-delete-service.xml @@ -27,6 +27,7 @@ + &reftitle.parameters; @@ -61,8 +62,7 @@ - - + &reftitle.errors; A ValueError is thrown if the; @@ -72,28 +72,9 @@ A Win32ServiceException is thrown on error. - - - - &reftitle.examples; - - - A <function>win32_delete_service</function> example - - Deletes the dummyphp service. - - - -]]> - - - - + &reftitle.changelog; @@ -131,7 +112,26 @@ win32_delete_service('dummyphp'); - + + + + &reftitle.examples; + + + A <function>win32_delete_service</function> example + + Deletes the dummyphp service. + + + +]]> + + + + &reftitle.seealso; diff --git a/reference/win32service/functions/win32-get-last-control-message.xml b/reference/win32service/functions/win32-get-last-control-message.xml index 735f0f1404..473d8945e7 100644 --- a/reference/win32service/functions/win32-get-last-control-message.xml +++ b/reference/win32service/functions/win32-get-last-control-message.xml @@ -26,6 +26,12 @@ + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; @@ -52,7 +58,7 @@ - + &reftitle.errors; Prior to version 1.0.0, if the SAPI is not "cli", this function emits an @@ -63,9 +69,9 @@ Win32ServiceException if SAPI is not "cli" - + - + &reftitle.changelog; @@ -103,7 +109,7 @@ - + &reftitle.seealso; diff --git a/reference/win32service/functions/win32-start-service-ctrl-dispatcher.xml b/reference/win32service/functions/win32-start-service-ctrl-dispatcher.xml index 2d26a17bf9..8110a9ee10 100644 --- a/reference/win32service/functions/win32-start-service-ctrl-dispatcher.xml +++ b/reference/win32service/functions/win32-start-service-ctrl-dispatcher.xml @@ -41,6 +41,7 @@ + &reftitle.parameters; @@ -77,7 +78,7 @@ - + &reftitle.errors; Prior to version 1.0.0, if the SAPI is not "cli", this function emits an @@ -88,41 +89,9 @@ Win32ServiceException if SAPI is not "cli" - - - - &reftitle.examples; - - - A <function>win32_start_service_ctrl_dispatcher</function> example - - Check if the service is runnig under the SCM. - - - -]]> - - - - + &reftitle.changelog; @@ -172,7 +141,39 @@ while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) { - + + + + &reftitle.examples; + + + A <function>win32_start_service_ctrl_dispatcher</function> example + + Check if the service is runnig under the SCM. + + + +]]> + + + + &reftitle.seealso; From c69c20982392cd55260b9870431a029e801d52e0 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sat, 1 May 2021 19:14:48 +0100 Subject: [PATCH 096/444] Fix explode() changelog entry Drive-by indentation fix of the section --- reference/strings/functions/explode.xml | 35 +++++++++++++------------ 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/reference/strings/functions/explode.xml b/reference/strings/functions/explode.xml index 6939036935..faaa8b9e3a 100644 --- a/reference/strings/functions/explode.xml +++ b/reference/strings/functions/explode.xml @@ -94,23 +94,24 @@ &reftitle.changelog; - - - - &Version; - &Description; - - - - - 8.0.0 - - explode will now throw TypeError - when separator parameter is given an empty string (""). - - - - + + + + &Version; + &Description; + + + + + 8.0.0 + + explode will now throw ValueError + when separator parameter is given an empty string + (""). + + + + From 7bdd9249f2e73e8359c4e427164bbe886e66aaec Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 2 May 2021 08:45:46 +0900 Subject: [PATCH 097/444] added WeakReference "PHP 8" version info. https://github.com/php/php-src/blob/PHP-8.0/Zend/zend_weakrefs_arginfo.h#L38-L40 --- language/predefined/versions.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/language/predefined/versions.xml b/language/predefined/versions.xml index 437562d4bd..66beb46532 100644 --- a/language/predefined/versions.xml +++ b/language/predefined/versions.xml @@ -98,10 +98,10 @@ - - - - + + + + From 2cf7e8823c0a59b1bbadff98dbb04d1043dd7721 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 2 May 2021 14:13:57 +0900 Subject: [PATCH 098/444] added missing [deprecated|removed] info of reflector class. --- reference/reflection/versions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/reflection/versions.xml b/reference/reflection/versions.xml index 6dc620c636..3e95dd3305 100644 --- a/reference/reflection/versions.xml +++ b/reference/reflection/versions.xml @@ -23,7 +23,7 @@ - + From d3191e2f3cf1d1316c2410006310033859ac5b22 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 2 May 2021 14:18:03 +0900 Subject: [PATCH 099/444] replaced deprected warning with deprecated-removed one. --- reference/reflection/reflection/export.xml | 2 +- reference/reflection/reflectionclass/export.xml | 2 +- reference/reflection/reflectionclassconstant/export.xml | 2 +- reference/reflection/reflectionextension/export.xml | 2 +- reference/reflection/reflectionfunction/export.xml | 2 +- reference/reflection/reflectionmethod/export.xml | 2 +- reference/reflection/reflectionobject/export.xml | 4 ++++ reference/reflection/reflectionparameter/export.xml | 2 +- reference/reflection/reflectionproperty/export.xml | 4 ++++ reference/reflection/reflectionzendextension/export.xml | 2 +- reference/reflection/reflector/export.xml | 2 +- 11 files changed, 17 insertions(+), 9 deletions(-) diff --git a/reference/reflection/reflection/export.xml b/reference/reflection/reflection/export.xml index 45282665bf..fec5703c2a 100644 --- a/reference/reflection/reflection/export.xml +++ b/reference/reflection/reflection/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionclass/export.xml b/reference/reflection/reflectionclass/export.xml index 1bf7c7b467..efb108bbb9 100644 --- a/reference/reflection/reflectionclass/export.xml +++ b/reference/reflection/reflectionclass/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionclassconstant/export.xml b/reference/reflection/reflectionclassconstant/export.xml index 920f910a6d..03680739f0 100644 --- a/reference/reflection/reflectionclassconstant/export.xml +++ b/reference/reflection/reflectionclassconstant/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionextension/export.xml b/reference/reflection/reflectionextension/export.xml index 36460c847f..eb01887107 100644 --- a/reference/reflection/reflectionextension/export.xml +++ b/reference/reflection/reflectionextension/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionfunction/export.xml b/reference/reflection/reflectionfunction/export.xml index ed379d441a..fe7426e86e 100644 --- a/reference/reflection/reflectionfunction/export.xml +++ b/reference/reflection/reflectionfunction/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionmethod/export.xml b/reference/reflection/reflectionmethod/export.xml index 9de62318fa..cb7b2fe457 100644 --- a/reference/reflection/reflectionmethod/export.xml +++ b/reference/reflection/reflectionmethod/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionobject/export.xml b/reference/reflection/reflectionobject/export.xml index 3c82e727e5..736c8d0bf6 100644 --- a/reference/reflection/reflectionobject/export.xml +++ b/reference/reflection/reflectionobject/export.xml @@ -7,6 +7,10 @@ Export + + &warn.deprecated.function-7-4-0.removed-8-0-0; + + &reftitle.description; diff --git a/reference/reflection/reflectionparameter/export.xml b/reference/reflection/reflectionparameter/export.xml index 68424f4130..479bb0de81 100644 --- a/reference/reflection/reflectionparameter/export.xml +++ b/reference/reflection/reflectionparameter/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflectionproperty/export.xml b/reference/reflection/reflectionproperty/export.xml index 1b6589bd7b..7500be00c5 100644 --- a/reference/reflection/reflectionproperty/export.xml +++ b/reference/reflection/reflectionproperty/export.xml @@ -7,6 +7,10 @@ Export + + &warn.deprecated.function-7-4-0.removed-8-0-0; + + &reftitle.description; diff --git a/reference/reflection/reflectionzendextension/export.xml b/reference/reflection/reflectionzendextension/export.xml index 657bfb876d..5b3e65ed9d 100644 --- a/reference/reflection/reflectionzendextension/export.xml +++ b/reference/reflection/reflectionzendextension/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; diff --git a/reference/reflection/reflector/export.xml b/reference/reflection/reflector/export.xml index 3dd12df64f..4f36eb7be8 100644 --- a/reference/reflection/reflector/export.xml +++ b/reference/reflection/reflector/export.xml @@ -8,7 +8,7 @@ - &warn.deprecated.function-7-4-0; + &warn.deprecated.function-7-4-0.removed-8-0-0; From 90997ee146800ed5fe9d7fecad86f0a863e1e20d Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 2 May 2021 20:20:33 +0900 Subject: [PATCH 100/444] Added PHP 8 into versions.xml for ffi based on stubs. https://github.com/php/php-src/blob/php-8.0.0/ext/ffi/ffi_arginfo.h https://github.com/php/php-src/blob/php-8.0.0/ext/ffi/tests/027.phpt#L79-L86 --- reference/ffi/versions.xml | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/reference/ffi/versions.xml b/reference/ffi/versions.xml index 89204a3a93..87ef652714 100644 --- a/reference/ffi/versions.xml +++ b/reference/ffi/versions.xml @@ -7,32 +7,32 @@ - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - + + &reftitle.errors; + + Throws an Exception if Yac is not enabled. Throws + Exception if prefix exceeds + max key length of 48 (YAC_MAX_KEY_LEN) bytes. + + From 84e8f0960b841a5ebca9d81cd2c2311b6504a371 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 3 May 2021 11:35:23 +0100 Subject: [PATCH 105/444] Removed redundant if and use short array syntax (#571) --- reference/pdo/prepared-statements.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/reference/pdo/prepared-statements.xml b/reference/pdo/prepared-statements.xml index 9f7e3b603c..1d3ff48f69 100644 --- a/reference/pdo/prepared-statements.xml +++ b/reference/pdo/prepared-statements.xml @@ -107,10 +107,9 @@ $stmt->execute(); prepare("SELECT * FROM REGISTRY where name = ?"); -if ($stmt->execute(array($_GET['name']))) { - while ($row = $stmt->fetch()) { - print_r($row); - } +$stmt->execute([$_GET['name']]); +foreach ($stmt as $row) { + print_r($row); } ?> ]]> @@ -175,11 +174,11 @@ print "procedure returned $value\n"; prepare("SELECT * FROM REGISTRY where name LIKE '%?%'"); -$stmt->execute(array($_GET['name'])); +$stmt->execute([$_GET['name']]); // placeholder must be used in the place of the whole value $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?"); -$stmt->execute(array("%$_GET[name]%")); +$stmt->execute(["%$_GET[name]%"]); ?> ]]> From e5d4a8419ddd0394f0e38f54934194461d6ef71b Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 3 May 2021 23:44:04 +0900 Subject: [PATCH 106/444] remove already deleted session function on PHP 5.4.0 (#583) --- .../functions/session-is-registered.xml | 86 ----------------- .../session/functions/session-unregister.xml | 95 ------------------- 2 files changed, 181 deletions(-) delete mode 100644 reference/session/functions/session-is-registered.xml delete mode 100644 reference/session/functions/session-unregister.xml diff --git a/reference/session/functions/session-is-registered.xml b/reference/session/functions/session-is-registered.xml deleted file mode 100644 index 20c7d95e58..0000000000 --- a/reference/session/functions/session-is-registered.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - session_is_registered - Find out whether a global variable is registered in a session - - - - &reftitle.description; - - boolsession_is_registered - stringname - - - Finds out whether a global variable is registered in a session. - - &warn.deprecated.function-5-3-0.removed-5-4-0; - - - - &reftitle.parameters; - - - - name - - - The variable name. - - - - - - - - - &reftitle.returnvalues; - - session_is_registered returns &true; if there is a - global variable with the name name registered in - the current session, &false; otherwise. - - - - - &reftitle.notes; - - - If $_SESSION is used, use isset to check a - variable is registered in $_SESSION. - - - - - If you are using $_SESSION - (or $HTTP_SESSION_VARS), do not use - session_register, - session_is_registered and - session_unregister. - - - - - - - diff --git a/reference/session/functions/session-unregister.xml b/reference/session/functions/session-unregister.xml deleted file mode 100644 index 9da6d45e86..0000000000 --- a/reference/session/functions/session-unregister.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - session_unregister - Unregister a global variable from the current session - - - - &reftitle.description; - - boolsession_unregister - stringname - - - session_unregister unregisters the global variable - named name from the current session. - - &warn.deprecated.function-5-3-0.removed-5-4-0; - - - - &reftitle.parameters; - - - - name - - - The variable name. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.notes; - - - If $_SESSION is used, use unset to - unregister a session variable. Do not unset - $_SESSION itself as this will disable the special - function of the $_SESSION superglobal. - - - - - This function does not unset the corresponding global variable for - name, it only prevents the variable from being - saved as part of the session. You must call unset - to remove the corresponding global variable. - - - - - If you are using $_SESSION (or - $HTTP_SESSION_VARS), do not use - session_register, - session_is_registered and - session_unregister. - - - - - - - From 5ccee0ae1c9978e1b28b0dd3ff901393f8be19e9 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 2 Mar 2021 13:32:22 +0000 Subject: [PATCH 107/444] Move iterable variance section to OOP section --- language/oop5/variance.xml | 5 +++++ language/types/iterable.xml | 36 ------------------------------------ 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/language/oop5/variance.xml b/language/oop5/variance.xml index 1e6e0f2534..e307ffd809 100644 --- a/language/oop5/variance.xml +++ b/language/oop5/variance.xml @@ -31,6 +31,11 @@ float is changed to int + + + iterable is changed to array or Traversable + + A type class is considered less specific if the opposite is true. diff --git a/language/types/iterable.xml b/language/types/iterable.xml index f21d32b323..e7d9533ff7 100644 --- a/language/types/iterable.xml +++ b/language/types/iterable.xml @@ -113,42 +113,6 @@ function gen(): iterable { yield 3; } -?> -]]> - - - - - - - Iterable Type Variance - - - Classes extending/implementing may broaden methods using &array; or - Traversable as parameter types to - iterable or narrow return types from iterable to - &array; or Traversable. - - - - - - Iterable type variance example - - - ]]> From 299d1daf07b166ec08d7f395e2d1a145a59751d9 Mon Sep 17 00:00:00 2001 From: thinkverse Date: Fri, 30 Apr 2021 01:32:33 +0200 Subject: [PATCH 108/444] Add missing parameters, returnvalues sections for reference/zookeeper Bundle reference/zookeeper/* missing returnvalues and parameters sections into one single commit. --- .../zookeeper/functions/zookeeper_dispatch.xml | 13 +++++++++++++ reference/zookeeper/zookeeper/close.xml | 12 ++++++++++++ reference/zookeeper/zookeeper/connect.xml | 7 +++++++ reference/zookeeper/zookeeper/construct.xml | 7 +++++++ reference/zookeeper/zookeeper/getclientid.xml | 5 +++++ reference/zookeeper/zookeeper/getconfig.xml | 5 +++++ reference/zookeeper/zookeeper/getrecvtimeout.xml | 5 +++++ reference/zookeeper/zookeeper/getstate.xml | 5 +++++ reference/zookeeper/zookeeper/isrecoverable.xml | 5 +++++ reference/zookeeper/zookeeperconfig/add.xml | 7 +++++++ reference/zookeeper/zookeeperconfig/remove.xml | 7 +++++++ reference/zookeeper/zookeeperconfig/set.xml | 7 +++++++ 12 files changed, 85 insertions(+) diff --git a/reference/zookeeper/functions/zookeeper_dispatch.xml b/reference/zookeeper/functions/zookeeper_dispatch.xml index 43800a8f78..f0c3be2045 100644 --- a/reference/zookeeper/functions/zookeeper_dispatch.xml +++ b/reference/zookeeper/functions/zookeeper_dispatch.xml @@ -5,6 +5,7 @@ zookeeper_dispatch Calls callbacks for pending operations + &reftitle.description; @@ -28,6 +29,18 @@ + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeper/close.xml b/reference/zookeeper/zookeeper/close.xml index 654f4e4e3e..a61fb26eab 100644 --- a/reference/zookeeper/zookeeper/close.xml +++ b/reference/zookeeper/zookeeper/close.xml @@ -16,6 +16,18 @@ + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeper/connect.xml b/reference/zookeeper/zookeeper/connect.xml index b885e4b71c..92032d9353 100644 --- a/reference/zookeeper/zookeeper/connect.xml +++ b/reference/zookeeper/zookeeper/connect.xml @@ -52,6 +52,13 @@ + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeper/construct.xml b/reference/zookeeper/zookeeper/construct.xml index 68d3889369..dbb69ba72c 100644 --- a/reference/zookeeper/zookeeper/construct.xml +++ b/reference/zookeeper/zookeeper/construct.xml @@ -51,6 +51,13 @@ + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeper/getclientid.xml b/reference/zookeeper/zookeeper/getclientid.xml index 31732224ba..8fcc5281cf 100644 --- a/reference/zookeeper/zookeeper/getclientid.xml +++ b/reference/zookeeper/zookeeper/getclientid.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/zookeeper/zookeeper/getconfig.xml b/reference/zookeeper/zookeeper/getconfig.xml index 9344b004a3..cd57dce4c4 100644 --- a/reference/zookeeper/zookeeper/getconfig.xml +++ b/reference/zookeeper/zookeeper/getconfig.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/zookeeper/zookeeper/getrecvtimeout.xml b/reference/zookeeper/zookeeper/getrecvtimeout.xml index f46ebe7460..d5005319f3 100644 --- a/reference/zookeeper/zookeeper/getrecvtimeout.xml +++ b/reference/zookeeper/zookeeper/getrecvtimeout.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/zookeeper/zookeeper/getstate.xml b/reference/zookeeper/zookeeper/getstate.xml index aae4411453..3ba10cac8e 100644 --- a/reference/zookeeper/zookeeper/getstate.xml +++ b/reference/zookeeper/zookeeper/getstate.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/zookeeper/zookeeper/isrecoverable.xml b/reference/zookeeper/zookeeper/isrecoverable.xml index 74aa500083..8625cbbecf 100644 --- a/reference/zookeeper/zookeeper/isrecoverable.xml +++ b/reference/zookeeper/zookeeper/isrecoverable.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/zookeeper/zookeeperconfig/add.xml b/reference/zookeeper/zookeeperconfig/add.xml index 8e58ecdf8b..17df9df74d 100644 --- a/reference/zookeeper/zookeeperconfig/add.xml +++ b/reference/zookeeper/zookeeperconfig/add.xml @@ -49,6 +49,13 @@ + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeperconfig/remove.xml b/reference/zookeeper/zookeeperconfig/remove.xml index c942fee84b..c686583c26 100644 --- a/reference/zookeeper/zookeeperconfig/remove.xml +++ b/reference/zookeeper/zookeeperconfig/remove.xml @@ -48,6 +48,13 @@ + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; diff --git a/reference/zookeeper/zookeeperconfig/set.xml b/reference/zookeeper/zookeeperconfig/set.xml index 1adf9e5463..e0e904cf99 100644 --- a/reference/zookeeper/zookeeperconfig/set.xml +++ b/reference/zookeeper/zookeeperconfig/set.xml @@ -48,6 +48,13 @@ + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; From 1200e4ec5a6057a2b402aa9931e2dc9a1098d45c Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Fri, 29 Jan 2021 01:59:56 +0900 Subject: [PATCH 109/444] Added PHP 8 into versions.xml for pdo based on stubs. --- reference/pdo/versions.xml | 100 ++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/reference/pdo/versions.xml b/reference/pdo/versions.xml index 1c8af89027..ed894fe63a 100644 --- a/reference/pdo/versions.xml +++ b/reference/pdo/versions.xml @@ -7,70 +7,70 @@ FIXME: Discuss how/where to keep PDO version info... --> - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - + + + + + + - + From 284e06bd4d8a49972d877174577049ab9687d6d1 Mon Sep 17 00:00:00 2001 From: Vincent JARDIN Date: Thu, 29 Apr 2021 16:17:14 +0000 Subject: [PATCH 110/444] Improve openssl-pkcs7-read + example for p7b The input shall be a string data. Basic example along with the error cases. --- .../openssl/functions/openssl-pkcs7-read.xml | 48 +++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/reference/openssl/functions/openssl-pkcs7-read.xml b/reference/openssl/functions/openssl-pkcs7-read.xml index b7af9f747f..7df1c3241b 100644 --- a/reference/openssl/functions/openssl-pkcs7-read.xml +++ b/reference/openssl/functions/openssl-pkcs7-read.xml @@ -10,7 +10,7 @@ &reftitle.description; boolopenssl_pkcs7_read - stringinput_filename + stringdata arraycertificates @@ -25,10 +25,10 @@ &reftitle.parameters; - input_filename + data - + The string of data you wish to parse (p7b format). @@ -36,7 +36,7 @@ certificates - + The array of PEM certificates from the p7b input data. @@ -50,6 +50,46 @@ + + &reftitle.examples; + + + Get a PEM array from a P7B file + + +]]> + + + + + + + + &reftitle.seealso; + + + openssl_csr_sign + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file +--> From 51aee00be4000b28ddecc0c34555d5ce3ae54d1a Mon Sep 17 00:00:00 2001 From: markrandall <31425931+markrandall@users.noreply.github.com> Date: Sun, 9 May 2021 21:50:18 +0100 Subject: [PATCH 121/444] Improve get_debug_type() docs Closes GH-591. --- reference/var/functions/get-debug-type.xml | 211 +++++++++++++++++++++ reference/var/functions/gettype.xml | 3 +- 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 reference/var/functions/get-debug-type.xml diff --git a/reference/var/functions/get-debug-type.xml b/reference/var/functions/get-debug-type.xml new file mode 100644 index 0000000000..2a0d013a60 --- /dev/null +++ b/reference/var/functions/get-debug-type.xml @@ -0,0 +1,211 @@ + + + + + get_debug_type + Gets the type name of a variable in a way that is suitable for debugging + + + + &reftitle.description; + + stringget_debug_type + mixedvalue + + + Returns the resolved name of the PHP variable value. + This function will resolve objects to their class name, resources to their + resource type name, and scalar values to their common name as would be used in type + declarations. + + + This function differs from gettype in that it returns type names + that are more consistent with actual usage, rather than those present for historical reasons. + + + + + &reftitle.parameters; + + + + value + + + The variable being type checked. + + + + + + + + + &reftitle.returnvalues; + + Possible values for the returned string are: + + + + + + Type + State + Return Value + Notes + + + + + null + + "null" + + - + + + Booleans (true or false) + + "bool" + + - + + + Integers + + "int" + + - + + + Floats + + "float" + + - + + + Strings + + "string" + + - + + + Arrays + + "array" + + - + + + Resources + + "resource (resourcename)" + + - + + + Resources (Closed) + + "resource (closed)" + + Example: A file stream after being closed with fclose. + + + Objects from Named Classes + + The full name of the class including its namespace e.g. Foo\Bar + + - + + + Objects from Anonymous Classes + + "class@anonymous" + + + Anonymous classes are those created through the $x = new class { ... } syntax + + + + + + + + + + + &reftitle.examples; + + + <function>gettype</function> example + + +]]> + + &example.outputs.similar; + + + + + + + + + &reftitle.seealso; + + + gettype + get_class + + + + + diff --git a/reference/var/functions/gettype.xml b/reference/var/functions/gettype.xml index 5a67d6cac6..c245732c16 100644 --- a/reference/var/functions/gettype.xml +++ b/reference/var/functions/gettype.xml @@ -90,7 +90,7 @@ 7.2.0 - Closed resources are now reported as 'resource (closed)'. + Closed resources are now reported as 'resource (closed)'. Previously the returned value for closed resources were 'unknown type'. @@ -136,6 +136,7 @@ string &reftitle.seealso; + get_debug_type settype get_class is_array From 0edc11c6c46753ef0b81d0060b925b4f58552996 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 10 May 2021 17:42:39 +0900 Subject: [PATCH 122/444] fixed example title. --- reference/var/functions/get-debug-type.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/var/functions/get-debug-type.xml b/reference/var/functions/get-debug-type.xml index 2a0d013a60..1e004f5615 100644 --- a/reference/var/functions/get-debug-type.xml +++ b/reference/var/functions/get-debug-type.xml @@ -138,7 +138,7 @@ &reftitle.examples; - <function>gettype</function> example + <function>get_debug_type</function> example Date: Mon, 10 May 2021 17:50:00 +0900 Subject: [PATCH 123/444] added get_debug_type version info. --- reference/var/versions.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/var/versions.xml b/reference/var/versions.xml index 0144700269..d61e3f393e 100644 --- a/reference/var/versions.xml +++ b/reference/var/versions.xml @@ -13,6 +13,7 @@ + From 477c5f97a6e31b77a02cabcd9950a3ed0fd91fa2 Mon Sep 17 00:00:00 2001 From: SvenRtbg Date: Mon, 10 May 2021 18:19:06 +0200 Subject: [PATCH 124/444] Document the changes to syslog.filter * Documenting the changes to syslog.filter https://github.com/php/php-src/pull/4265 restored the previous handling of multi-line log messages by adding `syslog.filter=raw`. * Highlight the fact that line splitting is happening in all of the three original modes, but not in "raw". * Add "raw" to syslog section of 7.3 migration guide Closes GH-589. --- appendices/migration73/other-changes.xml | 5 ++++- reference/errorfunc/ini.xml | 27 ++++++++++++++++++------ reference/network/functions/syslog.xml | 1 + 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/appendices/migration73/other-changes.xml b/appendices/migration73/other-changes.xml index ddc026db45..d7dc8d1b23 100644 --- a/appendices/migration73/other-changes.xml +++ b/appendices/migration73/other-changes.xml @@ -46,9 +46,12 @@ syslog.filter - Specifies the filter type to filter the logged messages. There are three + Specifies the filter type to filter the logged messages, with the supported filter types - all, no-ctrl and ascii. + Starting with PHP 7.3.8, raw is also available, + restoring the way syslog behaved in previous PHP versions. + This filter will also affect calls to syslog. diff --git a/reference/errorfunc/ini.xml b/reference/errorfunc/ini.xml index a85ffc1a1c..6f2f203238 100644 --- a/reference/errorfunc/ini.xml +++ b/reference/errorfunc/ini.xml @@ -526,21 +526,36 @@ Specifies the filter type to filter the logged messages. Allowed characters are passed unmodified; all others are written in their - hexadecimal representation prefixed with \x. There are - three supported filter types: + hexadecimal representation prefixed with \x. - all – all characters + all – the logged string will be split + at newline characters, and all characters are passed unaltered + - no-ctrl – all characters except control characters + ascii – the logged string will be split + at newline characters, and any non-printable 7-bit ASCII characters will be escaped + - ascii – all printable ASCII characters and NL + no-ctrl – the logged string will be split + at newline characters, and any non-printable characters will be escaped + + + + raw – all characters are passed to the system + logger unaltered, without splitting at newlines (identical to PHP before 7.3) + - Only effective if error_log is set to "syslog". + This setting will affect logging via error_log set to "syslog" and calls to syslog. + + + The raw filter type is available as of PHP 7.3.8 and PHP 7.4.0. + + diff --git a/reference/network/functions/syslog.xml b/reference/network/functions/syslog.xml index 6220ead04b..454d9a577b 100644 --- a/reference/network/functions/syslog.xml +++ b/reference/network/functions/syslog.xml @@ -161,6 +161,7 @@ closelog(); openlog closelog + syslog.filter INI setting (starting with PHP 7.3) From 9da37a457ac3f846c659ec17977eca4fd235cadb Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Tue, 11 May 2021 06:33:41 +0900 Subject: [PATCH 125/444] fixed SQLite3::setAuthorizer parameter order description. (#593) 5th and 6th parameter description is wrong, because they are copy-and-pasted from the following C interface manual page. https://www.sqlite.org/c3ref/c_alter_table.html --- reference/sqlite3/sqlite3/setauthorizer.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sqlite3/sqlite3/setauthorizer.xml b/reference/sqlite3/sqlite3/setauthorizer.xml index f46ad26ab4..769861f021 100644 --- a/reference/sqlite3/sqlite3/setauthorizer.xml +++ b/reference/sqlite3/sqlite3/setauthorizer.xml @@ -82,11 +82,11 @@ - The 5th parameter will be the name of the database ("main", + The 4th parameter will be the name of the database ("main", "temp", etc.) if applicable. - The 6th parameter to the authorizer callback is the name of the inner-most trigger or + The 5th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or &null; if this access attempt is directly from top-level SQL code. From 184f3f7bd45643cb80f828d0bb001991ec3a5fad Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 12 May 2021 14:49:16 +0300 Subject: [PATCH 126/444] Remove PHP 5, 7 references (#565) --- reference/curl/configure.xml | 4 +- reference/curl/constants.xml | 19 +-- .../curl/functions/curl-setopt-array.xml | 25 ---- .../network/functions/dns-get-record.xml | 13 +- reference/network/functions/gethostname.xml | 3 - reference/network/functions/ip2long.xml | 7 +- reference/pgsql/functions/pg-convert.xml | 10 +- reference/pgsql/functions/pg-get-notify.xml | 2 +- reference/pgsql/functions/pg-lo-create.xml | 2 +- reference/pgsql/functions/pg-lo-import.xml | 2 +- reference/phar/installation.xml | 2 +- reference/phar/setup.xml | 13 +- reference/posix/constants.xml | 9 +- .../newinstancewithoutconstructor.xml | 4 +- reference/rrd/setup.xml | 1 - reference/seaslog/book.xml | 3 - reference/sem/constants.xml | 4 +- reference/session/examples.xml | 4 +- .../functions/session-set-save-handler.xml | 111 +----------------- reference/session/ini.xml | 9 +- reference/session/security.xml | 9 +- reference/session/upload-progress.xml | 6 - .../simplexml/simplexmlelement/children.xml | 12 -- .../functions/snmp-set-oid-output-format.xml | 21 +--- .../functions/snmp-set-valueretrieval.xml | 1 - reference/sockets/constants.xml | 2 +- reference/solr/setup.xml | 1 - reference/spl/functions/iterator-to-array.xml | 2 +- reference/sqlite3/configure.xml | 10 +- reference/sqlite3/ini.xml | 2 +- reference/sqlsrv/configure.xml | 15 +-- reference/sqlsrv/setup.xml | 11 +- reference/stomp/setup.xml | 1 - .../functions/stream-context-get-default.xml | 7 +- 34 files changed, 52 insertions(+), 295 deletions(-) diff --git a/reference/curl/configure.xml b/reference/curl/configure.xml index f8e243c8dc..849dedc113 100644 --- a/reference/curl/configure.xml +++ b/reference/curl/configure.xml @@ -9,9 +9,7 @@ directories. In the include directory there should be a folder named curl which should contain the easy.h and curl.h files. There should be a file named - libcurl.a located in the lib directory. Before - PHP 5.5.0 it was possible to configure PHP to use cURL for URL streams - . + libcurl.a located in the lib directory. Note to Win32 Users diff --git a/reference/curl/constants.xml b/reference/curl/constants.xml index 994d774fef..41a0b4b06a 100644 --- a/reference/curl/constants.xml +++ b/reference/curl/constants.xml @@ -3660,19 +3660,6 @@ - - - CURL_WRAPPERS_ENABLED - (int) - - - - Defined if PHP was configured with - . - Moved to PECL in PHP 5.5.0. - - - CURLPAUSE_ALL @@ -3746,7 +3733,7 @@ - Available since PHP 7.0.0 and cURL 7.43.0. + Available since cURL 7.43.0. @@ -3757,7 +3744,7 @@ - Available since PHP 7.0.0 and cURL 7.43.0. + Available since cURL 7.43.0. @@ -3768,7 +3755,7 @@ - Available since PHP 7.0.0 and cURL 7.43.0. + Available since cURL 7.43.0. diff --git a/reference/curl/functions/curl-setopt-array.xml b/reference/curl/functions/curl-setopt-array.xml index d9ce1d429f..22b4174c7a 100644 --- a/reference/curl/functions/curl-setopt-array.xml +++ b/reference/curl/functions/curl-setopt-array.xml @@ -90,31 +90,6 @@ curl_exec($ch); // close cURL resource, and free up system resources curl_close($ch); ?> -]]> - - - - - Prior to PHP 5.1.3 this function can be simulated with: - - - - Our own implementation of <function>curl_setopt_array</function> - - $value) { - if (!curl_setopt($ch, $option, $value)) { - return false; - } - } - return true; - } -} -?> ]]> diff --git a/reference/network/functions/dns-get-record.xml b/reference/network/functions/dns-get-record.xml index ad9f1d079c..c2419682e5 100644 --- a/reference/network/functions/dns-get-record.xml +++ b/reference/network/functions/dns-get-record.xml @@ -262,7 +262,7 @@ - A6(PHP >= 5.1.0) + A6 masklen: Length (in bits) to inherit from the target specified by chain. @@ -510,17 +510,6 @@ Additional = Array - - &reftitle.notes; - - - For compatibility with versions before PHP 5.3.0 on some operating systems, - try the PEAR class - Net_DNS. - - - - &reftitle.seealso; diff --git a/reference/network/functions/gethostname.xml b/reference/network/functions/gethostname.xml index f3d7e5f711..226619085c 100644 --- a/reference/network/functions/gethostname.xml +++ b/reference/network/functions/gethostname.xml @@ -35,9 +35,6 @@ ]]> diff --git a/reference/network/functions/ip2long.xml b/reference/network/functions/ip2long.xml index 34f9f6ca67..d7f4c93e77 100644 --- a/reference/network/functions/ip2long.xml +++ b/reference/network/functions/ip2long.xml @@ -105,11 +105,8 @@ if ($long == -1 || $long === FALSE) { - ip2long will return &false; for the IP - 255.255.255.255 in PHP 5 <= 5.0.2, and -1 - on 64-bits systems in PHP 5 <=5.2.4. It was fixed in - PHP 5.2.5 where it returns 4294967295. 32-bit systems - will return -1 due to the integer value overflowing. + ip2long will return -1 for the IP + 255.255.255.255 on 32-bit systems due to the integer value overflowing. diff --git a/reference/pgsql/functions/pg-convert.xml b/reference/pgsql/functions/pg-convert.xml index 4c5352e088..77f54f19d1 100644 --- a/reference/pgsql/functions/pg-convert.xml +++ b/reference/pgsql/functions/pg-convert.xml @@ -31,16 +31,10 @@ - Since PHP 5.6.0, it accepts boolean values, converting them to PostgreSQL - booleans. String representations of boolean values are also supported. &null; is + Boolean values are accepted and converted to PostgreSQL booleans. + String representations of boolean values are also supported. &null; is converted to PostgreSQL NULL. - - Prior to PHP 5.6.0, if there are boolean fields in table_name - don't use the constant &true; in assoc_array. It will be - converted to the string 'TRUE' which is not a valid entry for boolean fields - in PostgreSQL. Use one of "t", "true", 1, "y", "yes" instead. - diff --git a/reference/pgsql/functions/pg-get-notify.xml b/reference/pgsql/functions/pg-get-notify.xml index b0d85046d8..13149dc5e9 100644 --- a/reference/pgsql/functions/pg-get-notify.xml +++ b/reference/pgsql/functions/pg-get-notify.xml @@ -58,7 +58,7 @@ &reftitle.returnvalues; An array containing the NOTIFY message name and backend PID. - As of PHP 5.4.0 and if supported by the server, the array also contains the server version and the payload. + If supported by the server, the array also contains the server version and the payload. Otherwise if no NOTIFY is waiting, then &false; is returned. diff --git a/reference/pgsql/functions/pg-lo-create.xml b/reference/pgsql/functions/pg-lo-create.xml index f00d82d951..b8c17a827f 100644 --- a/reference/pgsql/functions/pg-lo-create.xml +++ b/reference/pgsql/functions/pg-lo-create.xml @@ -66,7 +66,7 @@ If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter - was added in PHP 5.3 and relies on functionality that first + relies on functionality that first appeared in PostgreSQL 8.1. diff --git a/reference/pgsql/functions/pg-lo-import.xml b/reference/pgsql/functions/pg-lo-import.xml index 66f17f33d5..6d496e2a66 100644 --- a/reference/pgsql/functions/pg-lo-import.xml +++ b/reference/pgsql/functions/pg-lo-import.xml @@ -62,7 +62,7 @@ If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter - was added in PHP 5.3 and relies on functionality that first + relies on functionality that first appeared in PostgreSQL 8.1. diff --git a/reference/phar/installation.xml b/reference/phar/installation.xml index 9186e54ccc..7ca6f0e34d 100644 --- a/reference/phar/installation.xml +++ b/reference/phar/installation.xml @@ -3,7 +3,7 @@
&reftitle.install; - The Phar extension is bundled with PHP as of PHP version 5.3.0, and enabled by default. + The Phar extension is bundled with PHP, and enabled by default. To disable Phar support, use . diff --git a/reference/phar/setup.xml b/reference/phar/setup.xml index c9627f6c79..028057a134 100644 --- a/reference/phar/setup.xml +++ b/reference/phar/setup.xml @@ -7,12 +7,6 @@
&reftitle.required; - - Phar requires PHP 5.2.0 or newer. Additional features require the - SPL extension in order to take advantage - of iteration and array access to a Phar's file contents. The phar - stream does not require any additional extensions to function. - You may optionally wish to enable the zlib and bzip2 extensions to take @@ -21,12 +15,7 @@ enabled. - Note that a bug in the zlib.deflate stream filter - fixed in PHP version 5.2.6 and newer may cause truncation of gzip and bzip2-compressed - phar archives. - - - PHP 5.3 configured with --enable-zend-multibyte makes phar dependant on the ini option detect_unicode. + If zend.multibyte is enabled, zend.detect_unicode must be enabled as well.
diff --git a/reference/posix/constants.xml b/reference/posix/constants.xml index 62d227f159..6b3a9e72ce 100644 --- a/reference/posix/constants.xml +++ b/reference/posix/constants.xml @@ -7,8 +7,7 @@ <function>posix_access</function> constants - These constants are available starting with PHP 5.1.0. Please note that - some of them may not be available on your system. + Please note that some of these constants may not be available on every system. @@ -63,8 +62,7 @@ <function>posix_mknod</function> constants - These constants are available starting with PHP 5.1.0. Please note that - some of them may not be available on your system. + Please note that some of them may not be available on your system. @@ -130,8 +128,7 @@ <function>posix_setrlimit</function> constants - These constants are available starting with PHP 7.0.0. Please note that - some of them may not be available on your system. + Please note that some of them may not be available on your system. diff --git a/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml b/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml index dd41951524..c6f77c204c 100644 --- a/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml +++ b/reference/reflection/reflectionclass/newinstancewithoutconstructor.xml @@ -34,8 +34,8 @@ &reftitle.errors; A ReflectionException if the class is an internal - class that cannot be instantiated without invoking the constructor. In PHP - 5.6.0 onwards, this exception is limited only to internal classes that are + class that cannot be instantiated without invoking the constructor. + This exception is limited only to internal classes that are final. diff --git a/reference/rrd/setup.xml b/reference/rrd/setup.xml index cc34c8d1da..2e909d8e4a 100644 --- a/reference/rrd/setup.xml +++ b/reference/rrd/setup.xml @@ -11,7 +11,6 @@ is using of librrd-dev package from your favourite linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you. - PECL/rrd installation is tested with PHP 5.3.2 or newer.
diff --git a/reference/seaslog/book.xml b/reference/seaslog/book.xml index de75fb18a6..693839fea8 100644 --- a/reference/seaslog/book.xml +++ b/reference/seaslog/book.xml @@ -10,9 +10,6 @@ The Seaslog is an effective,fast,stable log extension for PHP. - - SeasLog requires PHP 5.2.0 or greater. Earlier versions may not work. - The log journal,which is usually the operate record of the system, software and the application record. diff --git a/reference/sem/constants.xml b/reference/sem/constants.xml index 05a75bd106..45ff0e7159 100644 --- a/reference/sem/constants.xml +++ b/reference/sem/constants.xml @@ -23,12 +23,12 @@ MSG_EAGAIN int - As of 5.2.0 + MSG_ENOMSG int - As of 5.2.0 + MSG_NOERROR diff --git a/reference/session/examples.xml b/reference/session/examples.xml index 8f3c442598..efe6177a6e 100644 --- a/reference/session/examples.xml +++ b/reference/session/examples.xml @@ -197,8 +197,8 @@ here. To implement database storage, or any other storage method, you will need to use session_set_save_handler to - create a set of user-level storage functions. As of PHP 5.4.0 you may create session handlers - using the SessionHandlerInterface or extend internal PHP handlers by inheriting + create a set of user-level storage functions. A session handlers may be created + using the SessionHandlerInterface or extending PHP's internal handlers by inheriting from SessionHandler. diff --git a/reference/session/functions/session-set-save-handler.xml b/reference/session/functions/session-set-save-handler.xml index 64e803b125..df23668708 100644 --- a/reference/session/functions/session-set-save-handler.xml +++ b/reference/session/functions/session-set-save-handler.xml @@ -279,7 +279,7 @@ Custom session handler: see full code in SessionHandlerInterface synopsis. - The following code is for PHP version 5.4.0 and above. We just show the invocation here, the full example can be + We just show the invocation here, the full example can be seen in the SessionHandlerInterface synopsis linked above. @@ -299,95 +299,6 @@ $handler = new MySessionHandler(); session_set_save_handler($handler, true); session_start(); -// proceed to set and retrieve values by key from $_SESSION -]]> - - - - Custom session save handler using objects - - The following code is for PHP versions less than 5.4.0. - - - The following example provides file based session storage similar to the - PHP sessions default save handler files. This - example could easily be extended to cover database storage using your - favorite PHP supported database engine. - - - Note we additionally register the shutdown function session_write_close - using register_shutdown_function under PHP less than 5.4.0. - This is generally advised when registering objects as session save handlers under PHP less - than 5.4.0. - - -savePath = $savePath; - if (!is_dir($this->savePath)) { - mkdir($this->savePath, 0777); - } - - return true; - } - - function close() - { - return true; - } - - function read($id) - { - return (string)@file_get_contents("$this->savePath/sess_$id"); - } - - function write($id, $data) - { - return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true; - } - - function destroy($id) - { - $file = "$this->savePath/sess_$id"; - if (file_exists($file)) { - unlink($file); - } - - return true; - } - - function gc($maxlifetime) - { - foreach (glob("$this->savePath/sess_*") as $file) { - if (filemtime($file) + $maxlifetime < time() && file_exists($file)) { - unlink($file); - } - } - - return true; - } -} - -$handler = new FileSessionHandler(); -session_set_save_handler( - array($handler, 'open'), - array($handler, 'close'), - array($handler, 'read'), - array($handler, 'write'), - array($handler, 'destroy'), - array($handler, 'gc') - ); - -// the following prevents unexpected effects when using objects as save handlers -register_shutdown_function('session_write_close'); - -session_start(); // proceed to set and retrieve values by key from $_SESSION ]]> @@ -399,23 +310,7 @@ session_start(); &reftitle.notes; - When using objects as session save handlers, it is important to register the - shutdown function with PHP to avoid unexpected side-effects from the way - PHP internally destroys objects on shutdown and may prevent the - write and close from being called. - Typically you should register 'session_write_close' using the - register_shutdown_function function. - - - As of PHP 5.4.0 you can use session_register_shutdown or - simply use the 'register shutdown' flag when invoking - session_set_save_handler using the OOP method and passing an - instance that implements SessionHandlerInterface. - - - - - As of PHP 5.0.5 the write and + The write and close handlers are called after object destruction and therefore cannot use objects or throw exceptions. Exceptions are not able to be caught since will not be caught nor will @@ -450,7 +345,7 @@ session_start(); configuration directive. The register_shutdown_function - The session_register_shutdown for PHP 5.4.0+ + The session_register_shutdown Refer to save_handler.inc for a full procedural reference implementation diff --git a/reference/session/ini.xml b/reference/session/ini.xml index bafea36994..0641e72e85 100644 --- a/reference/session/ini.xml +++ b/reference/session/ini.xml @@ -367,8 +367,7 @@ php_binary) and WDDX are supported (name wddx). WDDX is only available, if PHP is compiled with WDDX - support. php_serialize is available - from PHP 5.5.4. php_serialize uses plain + support. php_serialize uses plain serialize/unserialize function internally and does not have limitations that php and php_binary have. Older serialize handlers @@ -481,9 +480,9 @@ Removed in PHP 7.1.0. - As of PHP 5.4.0 session.entropy_file defaults + session.entropy_file defaults to /dev/urandom or /dev/arandom - if it is available. In PHP 5.3.0 this directive is left empty by default. + if it is available. @@ -873,7 +872,7 @@ - This setting was introduced in PHP 5. Removed in PHP 7.1.0. + Removed in PHP 7.1.0. diff --git a/reference/session/security.xml b/reference/session/security.xml index a818b734e6..4c8671d11f 100644 --- a/reference/session/security.xml +++ b/reference/session/security.xml @@ -72,9 +72,8 @@ - As of PHP 5.5.2, - session.use_strict_mode - is available. When it is enabled, and the session save handler supports it, + When session.use_strict_mode is enabled, + and the session save handler supports it, an uninitialized session ID is rejected and a new one is created. This prevents an attack that forces users to use a known session ID. An attacker may paste links or send emails that contains the session ID. @@ -190,8 +189,8 @@ Session IDs must be regenerated when user privileges are elevated, such as after authenticating. session_regenerate_id must be called prior to - setting the authentication information to $_SESSION. (As of PHP 7.0.0, - session_regenerate_id saves the current session data + setting the authentication information to $_SESSION. + (session_regenerate_id saves the current session data automatically in order to save timestamp/etc. to the current session.) Ensure only the new session contains the authenticated flag. diff --git a/reference/session/upload-progress.xml b/reference/session/upload-progress.xml index f57ac4990f..085fe53c68 100644 --- a/reference/session/upload-progress.xml +++ b/reference/session/upload-progress.xml @@ -4,12 +4,6 @@ Session Upload Progress - - - This feature is available as of PHP 5.4.0. - - - When the session.upload_progress.enabled diff --git a/reference/simplexml/simplexmlelement/children.xml b/reference/simplexml/simplexmlelement/children.xml index cc7f2bccd6..d465a4343d 100644 --- a/reference/simplexml/simplexmlelement/children.xml +++ b/reference/simplexml/simplexmlelement/children.xml @@ -140,18 +140,6 @@ int(1) - - - &reftitle.notes; - - - SimpleXMLElement::children returns a node - object no matter if the current node has children or not. Use - count on the return value to see if there are any - children. As of PHP 5.3.0, SimpleXMLElement::count - may be used instead. - - &reftitle.seealso; diff --git a/reference/snmp/functions/snmp-set-oid-output-format.xml b/reference/snmp/functions/snmp-set-oid-output-format.xml index 442d235495..7edafdc42c 100644 --- a/reference/snmp/functions/snmp-set-oid-output-format.xml +++ b/reference/snmp/functions/snmp-set-oid-output-format.xml @@ -32,22 +32,13 @@ SNMP_OID_OUTPUT_FULL.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance SNMP_OID_OUTPUT_NUMERIC.1.3.6.1.2.1.1.3.0 + SNMP_OID_OUTPUT_MODULEDISMAN-EVENT-MIB::sysUpTimeInstance + SNMP_OID_OUTPUT_SUFFIXsysUpTimeInstance + SNMP_OID_OUTPUT_UCDsystem.sysUpTime.sysUpTimeInstance + SNMP_OID_OUTPUT_NONEUndefined - - Beginning from PHP 5.4.0 four additional constants available: - - - <tgroup cols="2"> - <tbody> - <row><entry><constant>SNMP_OID_OUTPUT_MODULE</constant></entry><entry>DISMAN-EVENT-MIB::sysUpTimeInstance</entry></row> - <row><entry><constant>SNMP_OID_OUTPUT_SUFFIX</constant></entry><entry>sysUpTimeInstance</entry></row> - <row><entry><constant>SNMP_OID_OUTPUT_UCD</constant></entry><entry>system.sysUpTime.sysUpTimeInstance</entry></row> - <row><entry><constant>SNMP_OID_OUTPUT_NONE</constant></entry><entry>Undefined</entry></row> - </tbody> - </tgroup> - </table> - </para> + </table> </listitem> </varlistentry> </variablelist> @@ -72,7 +63,7 @@ snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC"); - // default or SNMP_OID_OUTPUT_MODULE in PHP >= 5.3.6 + // default or SNMP_OID_OUTPUT_MODULE print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') ); snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC); diff --git a/reference/snmp/functions/snmp-set-valueretrieval.xml b/reference/snmp/functions/snmp-set-valueretrieval.xml index f4b230b89a..768bd59d14 100644 --- a/reference/snmp/functions/snmp-set-valueretrieval.xml +++ b/reference/snmp/functions/snmp-set-valueretrieval.xml @@ -82,7 +82,6 @@ // [value] => lo // ) - // PHP 5.4+ examples snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN); $ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1'); // stdClass Object diff --git a/reference/sockets/constants.xml b/reference/sockets/constants.xml index 5e868327ae..a9eefc3826 100644 --- a/reference/sockets/constants.xml +++ b/reference/sockets/constants.xml @@ -187,7 +187,7 @@ </term> <listitem> <simpara> - This constant is only available in PHP 5.4.10 or later on platforms that + This constant is only available on platforms that support the <constant>SO_REUSEPORT</constant> socket option: this includes macOS and FreeBSD, but does not include Linux or Windows. </simpara> diff --git a/reference/solr/setup.xml b/reference/solr/setup.xml index 5a4ca3ee8e..bb724b4f63 100644 --- a/reference/solr/setup.xml +++ b/reference/solr/setup.xml @@ -7,7 +7,6 @@ <section xml:id="solr.requirements"> &reftitle.required; <!-- Use &no.requirement; if there no requirement --> - <para>PHP version 5.2.11 or later is required.</para> <para>The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.</para> <para>libxml2 2.6.31 or later is required.</para> <para>libcurl 7.18.0 or later is also required.</para> diff --git a/reference/spl/functions/iterator-to-array.xml b/reference/spl/functions/iterator-to-array.xml index 3017b7289d..d795033c2f 100644 --- a/reference/spl/functions/iterator-to-array.xml +++ b/reference/spl/functions/iterator-to-array.xml @@ -37,7 +37,7 @@ Whether to use the iterator element keys as index. </para> <para> - In PHP 5.5 and later, if a key is an <type>array</type> or + If a key is an <type>array</type> or <type>object</type>, a warning will be generated. &null; keys will be converted to an empty string, <type>float</type> keys will be truncated to their <type>int</type> counterpart, diff --git a/reference/sqlite3/configure.xml b/reference/sqlite3/configure.xml index ea98c698cd..41a9441f44 100644 --- a/reference/sqlite3/configure.xml +++ b/reference/sqlite3/configure.xml @@ -4,14 +4,14 @@ <section xml:id="sqlite3.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> &reftitle.install; <para> - The SQLite3 extension is enabled by default as of PHP 5.3.0. It's + The SQLite3 extension is enabled by default. It's possible to disable it by using <literal>--without-sqlite3</literal> at compile time. </para> <para> Windows users must enable <filename>php_sqlite3.dll</filename> in order to use this extension. This <acronym>DLL</acronym> is - included with Windows distributions of PHP as of PHP 5.3.0. + included with Windows distributions of PHP. </para> <note> <title>Additional setup on Windows as of PHP 7.4.0 @@ -19,12 +19,6 @@ &ext.windows.path.dll; libsqlite3.dll. - - - This extension was briefly a PECL extension - but that version is only recommended for experimental use. - - diff --git a/reference/sqlite3/ini.xml b/reference/sqlite3/ini.xml index 876b02b071..fbe3564f73 100644 --- a/reference/sqlite3/ini.xml +++ b/reference/sqlite3/ini.xml @@ -21,7 +21,7 @@ sqlite3.extension_dir""PHP_INI_SYSTEM - Available as of PHP 5.3.11. + sqlite3.defensive diff --git a/reference/sqlsrv/configure.xml b/reference/sqlsrv/configure.xml index ecc92ad4bd..61c5e0bfd3 100644 --- a/reference/sqlsrv/configure.xml +++ b/reference/sqlsrv/configure.xml @@ -5,25 +5,18 @@ The SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the &php.ini; file. The SQLSRV - download comes 8 driver files, four of which are for PDO support. If you are - running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll file. - (You should use a non-thread-safe version if you are using IIS as your web - server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll file. - Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll - depending on whether your PHP installation is non-thread-safe or thread-safe. + download comes with 8 driver files, four of which are for PDO support. The most recent version of the driver is available for download here: - SQLSRV 4.0 download. If you need support - for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: - SQLSRV 2.0 download. + SQLSRV download. For more information about SQLSRV requirements, see SQLSRV System Requirements. - The SQLSRV extension is only compatible with PHP 5 running on Windows. Since version 4.0 the SQLSRV extension is compatilbe only with PHP 7.0 running on Linux or Windows. + Since version 4.0 the SQLSRV extension is compatible only with PHP 7.0 running on Linux or Windows. @@ -46,4 +39,4 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +--> diff --git a/reference/sqlsrv/setup.xml b/reference/sqlsrv/setup.xml index 4c14828f8b..e5a57aaa08 100644 --- a/reference/sqlsrv/setup.xml +++ b/reference/sqlsrv/setup.xml @@ -27,18 +27,11 @@ - The SQLSRV download comes 8 driver files, four of which are for PDO support. - If you are running non-thread-safe PHP (PHP 5.3), use the php_sqlsrv_53_nts.dll - file. (You should use a non-thread-safe version if you are using IIS as your - web server). If you are running thread-safe PHP, use the php_sqlsrv_53_ts.dll - file. Similarly for PHP 5.4, use the php_sqlsrv_54_nts.dll or php_sqlsrv_54_ts.dll - depending on whether your PHP installation is non-thread-safe or thread-safe. + The SQLSRV download comes 8 driver files, four of which are for PDO support. The most recent version of the driver is available for download here: - SQLSRV 4.0 download. If you need support - for PHP 5.2 and/or PHP compiled with VC6, use the 2.0 release of the driver: - SQLSRV 2.0 download. + SQLSRV download. For more information about SQLSRV requirements, see diff --git a/reference/stomp/setup.xml b/reference/stomp/setup.xml index 6925e520eb..2d8fb2085c 100644 --- a/reference/stomp/setup.xml +++ b/reference/stomp/setup.xml @@ -6,7 +6,6 @@
&reftitle.required; - PECL/stomp requires PHP 5.2.2 or newer. The OpenSSL package >= 0.9.6 and the openssl extension may also be required to use stomp over SSL.
diff --git a/reference/stream/functions/stream-context-get-default.xml b/reference/stream/functions/stream-context-get-default.xml index 9e37274a6c..2fc938d66d 100644 --- a/reference/stream/functions/stream-context-get-default.xml +++ b/reference/stream/functions/stream-context-get-default.xml @@ -33,12 +33,6 @@ array of associative arrays in the format $arr['wrapper']['option'] = $value. - - - As of PHP 5.3.0, the stream_context_set_default function - can be used to set the default context. - - @@ -104,6 +98,7 @@ readfile('http://www.example.com', false, $alternate); stream_context_create + stream_context_set_default Listing of supported wrappers with context options (). From 6b509ccf78007c9f1769821885cc5c362aad5908 Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Wed, 12 May 2021 09:52:12 -0500 Subject: [PATCH 127/444] Fold comments into interfaces page Co-authored-by: Kamil Tekiela Closes GH-594. --- language/oop5/interfaces.xml | 150 ++++++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 29 deletions(-) diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml index c38e0cab78..4ddfdc59b6 100644 --- a/language/oop5/interfaces.xml +++ b/language/oop5/interfaces.xml @@ -5,7 +5,8 @@ Object interfaces allow you to create code which specifies which methods a class must implement, without having to define how these methods are - implemented. + implemented. Interfaces share a namespace with classes and traits, so they may + not use the same name. Interfaces are defined in the same way as a class, but with the interface @@ -16,14 +17,34 @@ All methods declared in an interface must be public; this is the nature of an interface. - + + In practice, interfaces serve two complementary purposes: + + + + To allow developers to create objects of different classes that may be used interchangeably + because they implement the same interface or interfaces. A common example is multiple database access services, + multiple payment gateways, or different caching strategies. Different implementations may + be swapped out without requiring any changes to the code that uses them. + + + To allow a function or method to accept and operate on a parameter that conforms to an + interface, while not caring what else the object may do or how it is implemented. These interfaces + are often named like Iterable, Cacheable, Renderable, + or so on to describe the significance of the behavior. + + + + Interfaces may define + magic methods to require implementing classes to + implement those methods. + - It is possible to declare - magic methods such as the - constructor - in an interface, which can be useful in some contexts, - e.g. for use by factories. + Although they are supported, including constructors + in interfaces is strongly discouraged. Doing so significantly reduces the flexibility of the object implementing the + interface. Additionally, constructors are not enforced by inheritance rules, which can cause inconsistent + and unexpected behavior. @@ -41,6 +62,14 @@ same name, only if the method declaration in both interfaces is identical.
+ + + A class that implements an interface may use a different name for its parameters than + the interface. However, as of PHP 8.0 the language supports named arguments, which means + callers may rely on the parameter name in the interface. For that reason, it is strongly + recommended that developers use the same parameter names as the interface being implemented. + + Interfaces can be extended like classes using the extends @@ -49,8 +78,8 @@ - The class implementing the interface must declare a method which has a - compatible signature. + The class implementing the interface must declare all methods in the interface + with a compatible signature. @@ -71,8 +100,8 @@ +]]> + + + + Interfaces with abstract classes + + +]]> + + + + Extending and implementing simultaneously + + ]]> From c045b64078ef641d32b04d2e8f0c4dda7c92aab6 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Thu, 13 May 2021 11:33:06 +0900 Subject: [PATCH 128/444] added named arguments link. --- language/oop5/interfaces.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml index 4ddfdc59b6..0155f98379 100644 --- a/language/oop5/interfaces.xml +++ b/language/oop5/interfaces.xml @@ -65,7 +65,7 @@ A class that implements an interface may use a different name for its parameters than - the interface. However, as of PHP 8.0 the language supports named arguments, which means + the interface. However, as of PHP 8.0 the language supports named arguments, which means callers may rely on the parameter name in the interface. For that reason, it is strongly recommended that developers use the same parameter names as the interface being implemented. From 86ff4f0fe3a5de4c9318f56434e6c0a86a68a6cf Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sat, 15 May 2021 19:20:18 +0900 Subject: [PATCH 129/444] Added PHP 8 into versions.xml for dom based on stubs. (#431) --- reference/dom/versions.xml | 238 ++++++++++++++++++------------------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/reference/dom/versions.xml b/reference/dom/versions.xml index e8d0684eb4..945858152a 100644 --- a/reference/dom/versions.xml +++ b/reference/dom/versions.xml @@ -4,159 +4,159 @@ Do NOT translate this file --> - - - + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - + + - + - + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - + - - + + - - - + + + - + - - - - - - + + + + + + - + From 8cdc6621f9826d04abc3e50438c010804d7e8683 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 16 May 2021 22:07:40 +0300 Subject: [PATCH 130/444] Remove PHP 5, 7 references (#563) - array functions - datetime functions - mbstring functions - strings functions - var functions - xml functions - json functions --- reference/array/functions/array-column.xml | 19 ------- reference/array/functions/current.xml | 26 +-------- reference/array/functions/key.xml | 26 +-------- reference/array/functions/list.xml | 57 ++----------------- reference/datetime/dateinterval.xml | 4 -- reference/datetime/datetime/add.xml | 8 --- reference/datetime/datetime/settimestamp.xml | 28 --------- reference/datetime/datetime/sub.xml | 8 --- reference/datetime/datetimeinterface/diff.xml | 2 +- .../datetimeinterface/gettimestamp.xml | 9 --- reference/datetime/examples.xml | 2 +- .../functions/date-default-timezone-get.xml | 11 +--- reference/datetime/functions/gmmktime.xml | 14 ----- reference/datetime/functions/microtime.xml | 33 +---------- reference/datetime/functions/mktime.xml | 44 +------------- reference/datetime/functions/strptime.xml | 9 +-- reference/datetime/functions/strtotime.xml | 10 +--- reference/datetime/ini.xml | 7 +-- reference/json/book.xml | 5 +- reference/json/constants.xml | 24 -------- reference/json/functions/json-last-error.xml | 12 ++-- .../functions/mb-ereg-replace-callback.xml | 3 +- .../mbstring/functions/mb-regex-encoding.xml | 6 -- reference/mbstring/functions/mb-strrpos.xml | 20 +++---- reference/mbstring/ini.xml | 39 ++++++------- reference/mbstring/ja-basic.xml | 3 +- reference/strings/functions/addslashes.xml | 9 --- reference/strings/functions/setlocale.xml | 3 +- reference/strings/functions/strip-tags.xml | 3 +- reference/strings/functions/stripslashes.xml | 4 +- reference/strings/functions/stristr.xml | 2 +- reference/strings/functions/strstr.xml | 2 +- reference/strings/functions/substr.xml | 14 +---- reference/var/functions/is-callable.xml | 7 +-- reference/var/functions/isset.xml | 17 +----- reference/var/functions/serialize.xml | 3 +- reference/var/functions/strval.xml | 2 +- reference/var/functions/var-dump.xml | 3 +- reference/xml/functions/xml-parser-create.xml | 9 +-- reference/xmlreader/setup.xml | 6 +- reference/xmlwriter/setup.xml | 6 +- 41 files changed, 71 insertions(+), 448 deletions(-) diff --git a/reference/array/functions/array-column.xml b/reference/array/functions/array-column.xml index 095b39f86f..efe17ae346 100644 --- a/reference/array/functions/array-column.xml +++ b/reference/array/functions/array-column.xml @@ -91,13 +91,6 @@ will no longer be cast to string and will now throw a TypeError instead.
- - 7.0.0 - - Added the ability for the array parameter to be - an array of objects. - - @@ -282,18 +275,6 @@ Array - - &reftitle.seealso; - - - - Recommended - userland implementation for PHP lower than 5.5 - - - - - - FFI::cast @@ -15,7 +14,7 @@ FFI\CDataintfloatboolnullptr - public FFI\CDatanullFFI::cast + public static FFI\CDatanullFFI::cast FFI\CTypestringtype FFI\CDataintfloatboolnullptr @@ -62,7 +61,6 @@ - &Methods; - + + + + diff --git a/language/predefined/closure/bind.xml b/language/predefined/closure/bind.xml index a644712e51..7988170d8d 100644 --- a/language/predefined/closure/bind.xml +++ b/language/predefined/closure/bind.xml @@ -1,6 +1,5 @@ - Closure::bind @@ -12,11 +11,10 @@ &reftitle.description; - public static ClosurefalseClosure::bind + public static ClosurenullClosure::bind Closureclosure - objectnewthis - mixednewscope - "static" + objectnullnewThis + objectstringnullnewScope"static" This method is a static version of Closure::bindTo. @@ -37,7 +35,7 @@ - newthis + newThis The object to which the given anonymous function should be bound, or @@ -46,7 +44,7 @@ - newscope + newScope The class scope to which the closure is to be associated, or @@ -63,7 +61,7 @@ &reftitle.returnvalues; - Returns a new Closure object &return.falseforfailure; + Returns a new Closure object, or &null; on failure. @@ -112,7 +110,6 @@ echo $bcl2(), "\n"; - - Closure::bindTo @@ -13,9 +12,8 @@ &reftitle.description; public ClosurenullClosure::bindTo - objectnewthis - mixednewscope - "static" + objectnullnewThis + objectstringnullnewScope"static" Create and return a new anonymous @@ -29,13 +27,13 @@ which determines which private and protected members the anonymous function will be able to access. Namely, the members that will be visible are the same as if the anonymous function were a method of - the class given as value of the newscope + the class given as value of the newScope parameter. Static closures cannot have any bound object (the value of the parameter - newthis should be &null;), but this function can + newThis should be &null;), but this function can nevertheless be used to change their class scope. @@ -60,7 +58,7 @@ &reftitle.parameters; - newthis + newThis The object to which the given anonymous function should be bound, or @@ -69,7 +67,7 @@ - newscope + newScope The class scope to which the closure is to be associated, or @@ -139,7 +137,6 @@ echo $cl(), "\n"; - - Closure::call @@ -10,11 +9,11 @@ &reftitle.description; public mixedClosure::call - objectnewthis - mixedvalues + objectnewThis + mixedargs - Temporarily binds the closure to newthis, and calls + Temporarily binds the closure to newThis, and calls it with any given parameters. @@ -22,7 +21,7 @@ &reftitle.parameters; - newthis + newThis The object to bind the closure to for the duration of the @@ -31,7 +30,7 @@ - values + args Zero or more parameters, which will be given as parameters to the @@ -85,7 +84,6 @@ int(8) - - Closure::__construct @@ -9,10 +8,10 @@ &reftitle.description; - + private Closure::__construct - - + + This method exists only to disallow instantiation of the Closure class. Objects of this class are created @@ -37,7 +36,6 @@ - - Closure::fromCallable @@ -11,12 +10,12 @@ &reftitle.description; public static ClosureClosure::fromCallable - callablecallable + callablecallback Create and return a new anonymous - function from given callable using the - current scope. This method checks if the callable is + function from given callback using the + current scope. This method checks if the callback is callable in the current scope and throws a TypeError if it is not. @@ -26,7 +25,7 @@ &reftitle.parameters; - callable + callback The callable to convert. @@ -40,12 +39,11 @@ &reftitle.returnvalues; Returns the newly created Closure or throws a - TypeError if the callable is + TypeError if the callback is not callable in the current scope. - - diff --git a/language/predefined/error/construct.xml b/language/predefined/error/construct.xml index 106c6e7da7..da14a3e453 100644 --- a/language/predefined/error/construct.xml +++ b/language/predefined/error/construct.xml @@ -1,6 +1,5 @@ - Error::__construct @@ -13,7 +12,7 @@ public Error::__construct stringmessage"" intcode0 - Throwableprevious&null; + Throwablenullprevious&null; Constructs the Error. @@ -63,7 +62,6 @@ - - diff --git a/language/predefined/error/getcode.xml b/language/predefined/error/getcode.xml index 44e8a88633..28324b5ae9 100644 --- a/language/predefined/error/getcode.xml +++ b/language/predefined/error/getcode.xml @@ -1,6 +1,5 @@ - Error::getCode @@ -10,8 +9,8 @@ &reftitle.description; - final public mixedError::getCode - + final public intError::getCode + Returns the error code. @@ -65,7 +64,6 @@ The Error code is: 30 - - diff --git a/language/predefined/errorexception/construct.xml b/language/predefined/errorexception/construct.xml index b639067647..8577031605 100644 --- a/language/predefined/errorexception/construct.xml +++ b/language/predefined/errorexception/construct.xml @@ -1,6 +1,5 @@ - ErrorException::__construct @@ -13,10 +12,10 @@ public ErrorException::__construct stringmessage"" intcode0 - intseverityE_ERROR - stringfilename__FILE__ - intlineno__LINE__ - Exceptionprevious&null; + intseverityE_ERROR + stringnullfilename&null; + intnullline&null; + Throwablenullprevious&null; Constructs the Exception. @@ -66,7 +65,7 @@ - lineno + line The line number where the exception is thrown. @@ -85,8 +84,31 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + filename and line are nullable now. + Previously, their defaults were __FILE__ and + __LINE__, respectively. + + + + + + + - - diff --git a/language/predefined/exception/construct.xml b/language/predefined/exception/construct.xml index 64ed0a56cc..14c5d5225c 100644 --- a/language/predefined/exception/construct.xml +++ b/language/predefined/exception/construct.xml @@ -1,6 +1,5 @@ - Exception::__construct @@ -13,7 +12,7 @@ public Exception::__construct stringmessage"" intcode0 - Throwableprevious&null; + Throwablenullprevious&null; Constructs the Exception. @@ -69,7 +68,6 @@ - - diff --git a/language/predefined/exception/getcode.xml b/language/predefined/exception/getcode.xml index 1c1f20c126..0697e415fe 100644 --- a/language/predefined/exception/getcode.xml +++ b/language/predefined/exception/getcode.xml @@ -1,6 +1,5 @@ - Exception::getCode @@ -10,8 +9,8 @@ &reftitle.description; - final public mixedException::getCode - + final public intException::getCode + Returns the Exception code. @@ -68,7 +67,6 @@ The exception code is: 30 - - diff --git a/language/predefined/iterator/key.xml b/language/predefined/iterator/key.xml index 69d1efc190..bcbc4f9e7d 100644 --- a/language/predefined/iterator/key.xml +++ b/language/predefined/iterator/key.xml @@ -1,6 +1,5 @@ - Iterator::key @@ -10,8 +9,8 @@ &reftitle.description; - abstract public scalarIterator::key - + abstract public mixedIterator::key + Returns the key of the current element. @@ -38,7 +37,6 @@ - - diff --git a/language/predefined/serializable/unserialize.xml b/language/predefined/serializable/unserialize.xml index ff89786e36..6249f2e547 100644 --- a/language/predefined/serializable/unserialize.xml +++ b/language/predefined/serializable/unserialize.xml @@ -1,6 +1,5 @@ - Serializable::unserialize @@ -11,7 +10,7 @@ &reftitle.description; abstract public voidSerializable::unserialize - stringserialized + stringdata Called during unserialization of the object. @@ -31,7 +30,7 @@ - serialized + data The string representation of the object. @@ -61,7 +60,6 @@ - - WeakReference::create @@ -11,7 +10,7 @@ &reftitle.description; public static WeakReferenceWeakReference::create - objectreferent + objectobject Creates a new WeakReference. @@ -22,7 +21,7 @@ &reftitle.parameters; - referent + object The object to be weakly referenced. @@ -40,7 +39,6 @@ - - trait_exists @@ -11,8 +10,8 @@ &reftitle.description; booltrait_exists - stringtraitname - boolautoload + stringtrait + boolautoload&true; @@ -24,7 +23,7 @@ &reftitle.parameters; - traitname + trait Name of the trait to check @@ -51,7 +50,6 @@ - - + error_reporting Sets which PHP errors are reported @@ -10,14 +10,14 @@ &reftitle.description; interror_reporting - intlevel + intnullerror_level&null; The error_reporting function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of - your script. If the optional level is + your script. If the optional error_level is not set, error_reporting will just return the current error reporting level. @@ -28,7 +28,7 @@ - level + error_level The new error_reporting @@ -52,11 +52,33 @@ &reftitle.returnvalues; Returns the old error_reporting - level or the current level if no level parameter is + level or the current level if no error_level parameter is given. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + error_level is nullable now. + + + + + + + &reftitle.examples; @@ -126,7 +148,6 @@ ini_set('error_reporting', E_ALL); - - - + strcasecmp Binary safe case-insensitive string comparison @@ -10,8 +10,8 @@ &reftitle.description; intstrcasecmp - stringstr1 - stringstr2 + stringstring1 + stringstring2 Binary safe case-insensitive string comparison. @@ -23,7 +23,7 @@ - str1 + string1 The first string @@ -31,7 +31,7 @@ - str2 + string2 The second string @@ -45,9 +45,9 @@ &reftitle.returnvalues; - Returns < 0 if str1 is less than - str2; > 0 if str1 - is greater than str2, and 0 if they are + Returns < 0 if string1 is less than + string2; > 0 if string1 + is greater than string2, and 0 if they are equal. @@ -87,7 +87,6 @@ if (strcasecmp($var1, $var2) == 0) { - - + strcmp Binary safe string comparison @@ -10,8 +10,8 @@ &reftitle.description; intstrcmp - stringstr1 - stringstr2 + stringstring1 + stringstring2 Note that this comparison is case sensitive. @@ -23,7 +23,7 @@ - str1 + string1 The first string. @@ -31,7 +31,7 @@ - str2 + string2 The second string. @@ -45,9 +45,9 @@ &reftitle.returnvalues; - Returns < 0 if str1 is less than - str2; > 0 if str1 - is greater than str2, and 0 if they are + Returns < 0 if string1 is less than + string2; > 0 if string1 + is greater than string2, and 0 if they are equal. @@ -87,7 +87,6 @@ if (strcmp($var1, $var2) !== 0) { - - + strncasecmp Binary safe case-insensitive string comparison of the first n characters @@ -10,9 +10,9 @@ &reftitle.description; intstrncasecmp - stringstr1 - stringstr2 - intlen + stringstring1 + stringstring2 + intlength This function is similar to strcasecmp, with the @@ -26,7 +26,7 @@ - str1 + string1 The first string. @@ -34,7 +34,7 @@ - str2 + string2 The second string. @@ -42,7 +42,7 @@ - len + length The length of strings to be used in the comparison. @@ -56,9 +56,9 @@ &reftitle.returnvalues; - Returns < 0 if str1 is less than - str2; > 0 if str1 is - greater than str2, and 0 if they are equal. + Returns < 0 if string1 is less than + string2; > 0 if string1 is + greater than string2, and 0 if they are equal. @@ -77,7 +77,6 @@ - - + strncmp Binary safe string comparison of the first n characters @@ -10,9 +10,9 @@ &reftitle.description; intstrncmp - stringstr1 - stringstr2 - intlen + stringstring1 + stringstring2 + intlength This function is similar to strcmp, with the @@ -29,7 +29,7 @@ - str1 + string1 The first string. @@ -37,7 +37,7 @@ - str2 + string2 The second string. @@ -45,7 +45,7 @@ - len + length Number of characters to use in the comparison. @@ -59,9 +59,9 @@ &reftitle.returnvalues; - Returns < 0 if str1 is less than - str2; > 0 if str1 - is greater than str2, and 0 if they are + Returns < 0 if string1 is less than + string2; > 0 if string1 + is greater than string2, and 0 if they are equal. @@ -81,7 +81,6 @@ - - + simplexml_import_dom Get a SimpleXMLElement object from a DOM node @@ -9,8 +9,8 @@ &reftitle.description; SimpleXMLElementnullsimplexml_import_dom - DOMNodenode - stringclass_name"SimpleXMLElement" + SimpleXMLElementDOMNodenode + stringnullclass_nameSimpleXMLElement::class This function takes a node of a DOM @@ -95,7 +95,6 @@ blah - - + simplexml_load_file @@ -12,9 +12,9 @@ SimpleXMLElementfalsesimplexml_load_file stringfilename - stringclass_name"SimpleXMLElement" + stringnullclass_nameSimpleXMLElement::class intoptions0 - stringns"" + stringnamespace_or_prefix"" boolis_prefix&false; @@ -50,13 +50,12 @@ Since Libxml 2.6.0, you may also use the - options parameter to specify additional Libxml parameters. + options parameter to specify additional Libxml parameters. - ns + namespace_or_prefix Namespace prefix or URI. @@ -67,7 +66,7 @@ is_prefix - &true; if ns is a prefix, &false; if it's a URI; + &true; if namespace_or_prefix is a prefix, &false; if it's a URI; defaults to &false;. @@ -134,7 +133,7 @@ SimpleXMLElement Object ]]> - At this point, you can go about using $xml->title + At this point, you can go about using $xml->title and any other elements. @@ -147,14 +146,13 @@ SimpleXMLElement Object simplexml_load_string SimpleXMLElement::__construct - + libxml_use_internal_errors - - + simplexml_load_string @@ -12,9 +12,9 @@ SimpleXMLElementfalsesimplexml_load_string stringdata - stringclass_name"SimpleXMLElement" + stringnullclass_nameSimpleXMLElement::class intoptions0 - stringns"" + stringnamespace_or_prefix"" boolis_prefix&false; @@ -50,13 +50,12 @@ Since Libxml 2.6.0, you may also use the - options parameter to specify additional Libxml parameters. + options parameter to specify additional Libxml parameters. - ns + namespace_or_prefix Namespace prefix or URI. @@ -67,7 +66,7 @@ is_prefix - &true; if ns is a prefix, &false; if it's a URI; + &true; if namespace_or_prefix is a prefix, &false; if it's a URI; defaults to &false;. @@ -140,7 +139,7 @@ SimpleXMLElement Object ]]> - At this point, you can go about using $xml->body + At this point, you can go about using $xml->body and such. @@ -153,14 +152,13 @@ SimpleXMLElement Object simplexml_load_file SimpleXMLElement::__construct - + libxml_use_internal_errors - -resultProcedural style only: A result set -identifier returned by mysqli_query, mysqli_store_result, +resultProcedural style only: A mysqli_result +object returned by mysqli_query, mysqli_store_result, mysqli_use_result or mysqli_stmt_get_result.'> -linkProcedural style only: A link identifier +mysqlProcedural style only: A mysqli> object returned by mysqli_connect or mysqli_init '> -stmtProcedural style only: A statement identifier +statementProcedural style only: A mysqli_stmt object returned by mysqli_stmt_init.'> mysqlnd.'> From 6f41560bf19de74e2dfbc78f4175d35f5b378abe Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 23 May 2021 14:46:27 +0200 Subject: [PATCH 159/444] Fix #81065: Changes to Reflection modifiers not documented --- appendices/migration74/incompatible.xml | 6 ++ .../reflection/reflectionclassconstant.xml | 13 ++++ .../reflectionclassconstant/getmodifiers.xml | 4 +- reference/reflection/reflectionmethod.xml | 67 +++++++++++++------ .../reflectionmethod/getmodifiers.xml | 8 +-- reference/reflection/reflectionproperty.xml | 19 ++++-- .../reflectionproperty/getmodifiers.xml | 2 + 7 files changed, 88 insertions(+), 31 deletions(-) diff --git a/appendices/migration74/incompatible.xml b/appendices/migration74/incompatible.xml index 384c132d97..cd86a24395 100644 --- a/appendices/migration74/incompatible.xml +++ b/appendices/migration74/incompatible.xml @@ -249,6 +249,12 @@ supported and resulted in corrupted reflection objects. It has been explicitly prohibited now. + + + The values of the class constant of ReflectionClassConstant, + ReflectionMethod and ReflectionProperty + have changed. + diff --git a/reference/reflection/reflectionclassconstant.xml b/reference/reflection/reflectionclassconstant.xml index ab979c009d..c7466d5f43 100644 --- a/reference/reflection/reflectionclassconstant.xml +++ b/reference/reflection/reflectionclassconstant.xml @@ -41,16 +41,19 @@ const int ReflectionClassConstant::IS_PUBLIC + 1 const int ReflectionClassConstant::IS_PROTECTED + 2 const int ReflectionClassConstant::IS_PRIVATE + 4 &Properties; @@ -114,6 +117,7 @@ Indicates public constants. + Prior to PHP 7.4.0, the value was 256. @@ -124,6 +128,7 @@ Indicates protected constants. + Prior to PHP 7.4.0, the value was 512. @@ -134,11 +139,19 @@ Indicates private constants. + Prior to PHP 7.4.0, the value was 1024. + + + The values of these constants may change between PHP versions. + It is recommended to always use the constants + and not rely on the values directly. + + diff --git a/reference/reflection/reflectionclassconstant/getmodifiers.xml b/reference/reflection/reflectionclassconstant/getmodifiers.xml index 910c460cc1..9d04db297d 100644 --- a/reference/reflection/reflectionclassconstant/getmodifiers.xml +++ b/reference/reflection/reflectionclassconstant/getmodifiers.xml @@ -27,8 +27,8 @@ &reftitle.returnvalues; A numeric representation of the modifiers. - The actual meanings of these modifiers are described in the - predefined constants. + The actual meaning of these modifiers are described under + predefined constants. diff --git a/reference/reflection/reflectionmethod.xml b/reference/reflection/reflectionmethod.xml index 372d855898..7b5951a65f 100644 --- a/reference/reflection/reflectionmethod.xml +++ b/reference/reflection/reflectionmethod.xml @@ -46,38 +46,38 @@ const int ReflectionMethod::IS_STATIC - 1 + 16 const int ReflectionMethod::IS_PUBLIC - 256 + 1 const int ReflectionMethod::IS_PROTECTED - 512 - - - const - int - ReflectionMethod::IS_PRIVATE - 1024 - - - const - int - ReflectionMethod::IS_ABSTRACT 2 const int - ReflectionMethod::IS_FINAL + ReflectionMethod::IS_PRIVATE 4 + + const + int + ReflectionMethod::IS_ABSTRACT + 64 + + + const + int + ReflectionMethod::IS_FINAL + 32 + &Properties; @@ -136,46 +136,71 @@ ReflectionMethod::IS_STATIC - Indicates that the method is static. + + Indicates that the method is static. + Prior to PHP 7.4.0, the value was 1. + ReflectionMethod::IS_PUBLIC - Indicates that the method is public. + + Indicates that the method is public. + Prior to PHP 7.4.0, the value was 256. + ReflectionMethod::IS_PROTECTED - Indicates that the method is protected. + + Indicates that the method is protected. + Prior to PHP 7.4.0, the value was 512. + ReflectionMethod::IS_PRIVATE - Indicates that the method is private. + + Indicates that the method is private. + Prior to PHP 7.4.0, the value was 1024. + ReflectionMethod::IS_ABSTRACT - Indicates that the method is abstract. + + Indicates that the method is abstract. + Prior to PHP 7.4.0, the value was 2. + ReflectionMethod::IS_FINAL - Indicates that the method is final. + + Indicates that the method is final. + Prior to PHP 7.4.0, the value was 4. + + + + The values of these constants may change between PHP versions. + It is recommended to always use the constants + and not rely on the values directly. + + diff --git a/reference/reflection/reflectionmethod/getmodifiers.xml b/reference/reflection/reflectionmethod/getmodifiers.xml index c0b9f17437..8b6a1d1b98 100644 --- a/reference/reflection/reflectionmethod/getmodifiers.xml +++ b/reference/reflection/reflectionmethod/getmodifiers.xml @@ -26,8 +26,8 @@ &reftitle.returnvalues; - A numeric representation of the modifiers. The modifiers are listed below. - The actual meanings of these modifiers are described in the + A numeric representation of the modifiers. + The actual meaning of these modifiers are described under predefined constants. @@ -70,10 +70,10 @@ echo implode(' ', Reflection::getModifierNames($bar->getModifiers())); diff --git a/reference/reflection/reflectionproperty.xml b/reference/reflection/reflectionproperty.xml index ad167fc4ad..43b1e2d0f1 100644 --- a/reference/reflection/reflectionproperty.xml +++ b/reference/reflection/reflectionproperty.xml @@ -41,25 +41,25 @@ const int ReflectionProperty::IS_STATIC - 1 + 16 const int ReflectionProperty::IS_PUBLIC - 256 + 1 const int ReflectionProperty::IS_PROTECTED - 512 + 2 const int ReflectionProperty::IS_PRIVATE - 1024 + 4 &Properties; @@ -124,6 +124,7 @@ Indicates static properties. + Prior to PHP 7.4.0, the value was 1. @@ -134,6 +135,7 @@ Indicates public properties. + Prior to PHP 7.4.0, the value was 256. @@ -144,6 +146,7 @@ Indicates protected properties. + Prior to PHP 7.4.0, the value was 512. @@ -154,11 +157,19 @@ Indicates private properties. + Prior to PHP 7.4.0, the value was 1024. + + + The values of these constants may change between PHP versions. + It is recommended to always use the constants + and not rely on the values directly. + + diff --git a/reference/reflection/reflectionproperty/getmodifiers.xml b/reference/reflection/reflectionproperty/getmodifiers.xml index d4cce99ad6..74683273b2 100644 --- a/reference/reflection/reflectionproperty/getmodifiers.xml +++ b/reference/reflection/reflectionproperty/getmodifiers.xml @@ -30,6 +30,8 @@ &reftitle.returnvalues; A numeric representation of the modifiers. + The actual meaning of these modifiers are described under + predefined constants. From 24ea750d479d4992705bfb11bd3be4a388c7c13f Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 23 May 2021 15:07:41 +0200 Subject: [PATCH 160/444] Remove PHP 5 specific info --- reference/errorfunc/functions/debug-backtrace.xml | 6 ++---- reference/errorfunc/functions/debug-print-backtrace.xml | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/reference/errorfunc/functions/debug-backtrace.xml b/reference/errorfunc/functions/debug-backtrace.xml index 2dbd3d5c95..c10cae2fe8 100644 --- a/reference/errorfunc/functions/debug-backtrace.xml +++ b/reference/errorfunc/functions/debug-backtrace.xml @@ -26,7 +26,7 @@ options - As of 5.3.6, this parameter is a bitmask for the following options: + This parameter is a bitmask for the following options:
<function>debug_backtrace</function> options @@ -47,8 +47,6 @@
- Before 5.3.6, the only values recognized are &true; or &false;, which are the same as - setting or not setting the DEBUG_BACKTRACE_PROVIDE_OBJECT option respectively.
@@ -56,7 +54,7 @@ limit - As of 5.4.0, this parameter can be used to limit the number of stack frames returned. + This parameter can be used to limit the number of stack frames returned. By default (limit=0) it returns all stack frames. diff --git a/reference/errorfunc/functions/debug-print-backtrace.xml b/reference/errorfunc/functions/debug-print-backtrace.xml index 9322fa2e6b..587549b9ed 100644 --- a/reference/errorfunc/functions/debug-print-backtrace.xml +++ b/reference/errorfunc/functions/debug-print-backtrace.xml @@ -30,7 +30,7 @@ options - As of 5.3.6, this parameter is a bitmask for the following options: + This parameter is a bitmask for the following options: <function>debug_print_backtrace</function> options @@ -52,7 +52,7 @@ limit - As of 5.4.0, this parameter can be used to limit the number of stack frames printed. + This parameter can be used to limit the number of stack frames printed. By default (limit=0) it prints all stack frames. From 6a5b42e0d34c76890fd96be2b0b57516363b4c8a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 23 May 2021 16:50:50 +0200 Subject: [PATCH 161/444] Remove obsolete PHP 5 specific info from appendices --- appendices/configure/servers.xml | 93 +---------------------- appendices/ini.core.xml | 4 +- appendices/reserved.xml | 123 +++++++++++-------------------- appendices/tokens.xml | 6 +- security/cgi-bin.xml | 11 ++- 5 files changed, 55 insertions(+), 182 deletions(-) diff --git a/appendices/configure/servers.xml b/appendices/configure/servers.xml index e0fa3c67d3..cac0e0148f 100644 --- a/appendices/configure/servers.xml +++ b/appendices/configure/servers.xml @@ -73,7 +73,7 @@ - Enable phpdbg interactive debugger SAPI module support in PHP 5.6.x or later. + Enable phpdbg interactive debugger SAPI module support. @@ -112,100 +112,11 @@ Disable building CGI version of PHP. - As of PHP 5.3.0 this argument enables FastCGI which previously - had to be enabled using --enable-fastcgi. + This argument also enables FastCGI. - - - - - - - Enable the security check for internal server redirects. You should use - this if you are running the CGI version with Apache. - - - As of PHP 5.3.0 this argument is enabled by default and no longer - exists. To disable this, the - cgi.force_redirect ini directive - should be set to 0. - - - - - - - - - - - If this is enabled, the PHP CGI binary can safely be placed outside of - the web tree and people will not be able to circumvent &htaccess; - security. - - - As of PHP 5.3.0 this argument is disabled by default and no longer - exists. To enable this feature the cgi.discard_path ini directive - must be set to 1. - - - - - - - - - - - - - If this is enabled, the CGI module will be built with support for FastCGI - also. - - - As of PHP 5.3.0 this argument no longer exists and is enabled by - --enable-cgi instead. - - - - - - - - - - - If this is disabled, paths such as /info.php/test?a=b - will fail to work. For more information see the - Apache Manual. - - - As of PHP 5.3.0 this argument is enabled by default and no longer exists. - To disable this feature the cgi.fix_pathinfo ini directive must - be set to 0. - - - diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml index 9aabc47620..28a4e3b977 100644 --- a/appendices/ini.core.xml +++ b/appendices/ini.core.xml @@ -564,7 +564,7 @@ Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unk enable_post_data_reading "1" PHP_INI_PERDIR - Available as of PHP 5.4.0 + post_max_size @@ -1643,7 +1643,7 @@ include_path = ".:${USER}/pear/php" The maximum number of files allowed to be uploaded simultaneously. - Starting with PHP 5.3.4, upload fields left blank on submission do not + Upload fields left blank on submission do not count towards this limit. diff --git a/appendices/reserved.xml b/appendices/reserved.xml index 94a2201c9b..3e3347fe56 100644 --- a/appendices/reserved.xml +++ b/appendices/reserved.xml @@ -16,12 +16,9 @@ These words have special meaning in PHP. Some of them represent things which look like functions, some look like constants, and so on - but - they're not, really: they are language constructs. You cannot use any - of the following words as constants, class names, function or method names. - Using them as variable names is generally OK, but could lead to confusion. - - - As of PHP 7.0.0 these keywords are allowed as property, constant, and + they're not, really: they are language constructs. + The following words cannot be used as constants, class names, function or method names. + They are, however, allowed as property, constant, and method names of classes, interfaces and traits, except that class may not be used as constant name. @@ -52,7 +49,7 @@ break - callable (as of PHP 5.4) + callable case @@ -137,7 +134,7 @@ final - finally (as of PHP 5.5) + finally fn (as of PHP 7.4) @@ -157,7 +154,7 @@ global - goto (as of PHP 5.3) + goto if @@ -177,7 +174,7 @@ instanceof - insteadof (as of PHP 5.4) + insteadof interface @@ -194,7 +191,7 @@ match (as of PHP 8.0) - namespace (as of PHP 5.3) + namespace new @@ -239,7 +236,7 @@ throw - trait (as of PHP 5.4) + trait try @@ -262,10 +259,10 @@ xor - yield (as of PHP 5.5) + yield - yield from (as of PHP 7.0) + yield from @@ -281,7 +278,7 @@ __CLASS__ - __DIR__ (as of PHP 5.3) + __DIR__ __FILE__ @@ -298,10 +295,10 @@ - __NAMESPACE__ (as of PHP 5.3) + __NAMESPACE__ - __TRAIT__ (as of PHP 5.4) + __TRAIT__ @@ -358,18 +355,6 @@ - - - - - Predefined classes as of PHP 5 - - - These additional predefined classes were introduced in - PHP 5.0.0. - - - Exception @@ -392,46 +377,26 @@ - - - - - Closure - - - The predefined final class Closure was introduced - in PHP 5.3.0. It is used for representing anonymous functions. - - - For more information, see its class - page. - - - - - Generator - - - The predefined final class Generator was introduced - in PHP 5.5.0. It is used for representing generators. - - - For more information, see its class - page. - - - - - Predefined interfaces and classes as of PHP 7 - - - These additional predefined interfaces and classes were introduced in - PHP 7.0.0. - - - + + Closure + + + The predefined final class Closure + is used for representing anonymous functions. + + + + + Generator + + + The predefined final class Generator + is used for representing generators. + + + ArithmeticError @@ -538,27 +503,27 @@ - int (as of PHP 7) + int - float (as of PHP 7) + float - bool (as of PHP 7) + bool - string (as of PHP 7) + string - true (as of PHP 7) + true - false (as of PHP 7) + false - null (as of PHP 7) + null void (as of PHP 7.1) @@ -589,13 +554,13 @@ - resource (as of PHP 7) + resource - mixed (as of PHP 7) + mixed - numeric (as of PHP 7) + numeric diff --git a/appendices/tokens.xml b/appendices/tokens.xml index a6f0e15e1e..bce02ddd17 100644 --- a/appendices/tokens.xml +++ b/appendices/tokens.xml @@ -19,10 +19,8 @@ T_* constants values are automatically generated based on PHP's underlying parser infrastructure. This means that the concrete value of a token may change between two PHP - versions. For example the T_FILE constant is - 365 in PHP 5.3, while the same value refers now to - T_TRAIT in PHP 5.4 and the value of T_FILE - is 369. This means that your code should never rely directly + versions. + This means that your code should never rely directly on the original T_* values taken from PHP version X.Y.Z, to provide some compatibility across multiple PHP versions. diff --git a/security/cgi-bin.xml b/security/cgi-bin.xml index a940e74dc2..4050d59940 100644 --- a/security/cgi-bin.xml +++ b/security/cgi-bin.xml @@ -84,9 +84,9 @@ these configuration options. If your web server does not allow you to do redirects, or the server does not have a way to communicate to the PHP binary that the request is a safely - redirected request, you can specify the option --enable-force-cgi-redirect - to the configure script. You still have to make sure your PHP + redirected request, you can enable the + cgi.force_redirect + ini directive. You still have to make sure your PHP scripts do not rely on one or another way of calling the script, neither by directly http://my.host/cgi-bin/php/dir/script.php @@ -216,9 +216,8 @@ AddHandler php-script .php To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this - setup, the PHP parser should be compiled with the --enable-discard-path - configure option. + setup, the cgi.discard_path + ini directive has to be enabled. From eafb431a9abf9cd2f5ad5b2f699f8c8c37067453 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 24 May 2021 00:10:43 +0900 Subject: [PATCH 162/444] fixed typo. --- language-snippets.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language-snippets.ent b/language-snippets.ent index 7a24c4224e..4a2ba830a1 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1661,7 +1661,7 @@ resultProcedural style only: A mys object returned by mysqli_query, mysqli_store_result, mysqli_use_result or mysqli_stmt_get_result.'> -mysqlProcedural style only: A mysqli> object +mysqlProcedural style only: A mysqli object returned by mysqli_connect or mysqli_init '> From 9bbb2a70cc176b56af412bb2542f733826d9d6f6 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 24 May 2021 01:12:24 +0100 Subject: [PATCH 163/444] No need for two changelog sections --- .../dom/domimplementation/createdocument.xml | 28 ++++--------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/reference/dom/domimplementation/createdocument.xml b/reference/dom/domimplementation/createdocument.xml index 59a75d0ed1..a4993ce3b4 100644 --- a/reference/dom/domimplementation/createdocument.xml +++ b/reference/dom/domimplementation/createdocument.xml @@ -61,28 +61,6 @@ - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 8.0.3 - - namespace is nullable now. - - - - - - - &reftitle.errors; @@ -122,6 +100,12 @@ + + 8.0.3 + + namespace is now nullable. + + 8.0.0 From 6240e8ba3b0b6f0eae845e79e9cb41c6827a68bb Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 24 May 2021 09:55:03 +0300 Subject: [PATCH 164/444] Added parameter tag to permissions and directory --- reference/filesystem/functions/mkdir.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/filesystem/functions/mkdir.xml b/reference/filesystem/functions/mkdir.xml index 951688eaf8..a6d3e88b9c 100644 --- a/reference/filesystem/functions/mkdir.xml +++ b/reference/filesystem/functions/mkdir.xml @@ -16,7 +16,7 @@ resourcecontext - Attempts to create the directory specified by directory. + Attempts to create the directory specified by directory. @@ -36,7 +36,7 @@ permissions - The permissions are 0777 by default, which means the widest possible + The permissions are 0777 by default, which means the widest possible access. For more information on modes, read the details on the chmod page. From dcd6496472eeaada09da561ff6c38ca18f848448 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 24 May 2021 10:03:45 +0300 Subject: [PATCH 165/444] Fix: mode => permissions --- reference/filesystem/functions/mkdir.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/filesystem/functions/mkdir.xml b/reference/filesystem/functions/mkdir.xml index a6d3e88b9c..72d47b3940 100644 --- a/reference/filesystem/functions/mkdir.xml +++ b/reference/filesystem/functions/mkdir.xml @@ -36,8 +36,8 @@ permissions - The permissions are 0777 by default, which means the widest possible - access. For more information on modes, read the details + The permissions are 0777 by default, which means the widest possible + access. For more information on permissions, read the details on the chmod page. @@ -46,8 +46,8 @@ - Note that you probably want to specify the mode as an octal number, - which means it should have a leading zero. The mode is also modified + Note that you probably want to specify the permissions as an octal number, + which means it should have a leading zero. The permissions is also modified by the current umask, which you can change using umask. From 593ea510e853ff034e03f78a4be0daa41661c9d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sun, 23 May 2021 18:06:27 +0200 Subject: [PATCH 166/444] Generate ext/gd methodsynopses based on stubs Co-authored-by: Christoph M. Becker Closes GH-623. --- language-snippets.ent | 12 +++- reference/image/functions/image2wbmp.xml | 10 +++- reference/image/functions/imageaffine.xml | 41 +++++++++++--- .../functions/imageaffinematrixconcat.xml | 10 ++-- .../image/functions/imageaffinematrixget.xml | 4 +- .../image/functions/imagealphablending.xml | 25 +++++++-- reference/image/functions/imageantialias.xml | 8 +-- reference/image/functions/imagearc.xml | 37 +++++++++---- reference/image/functions/imagebmp.xml | 31 +++++++++-- reference/image/functions/imagechar.xml | 27 +++++++-- reference/image/functions/imagecharup.xml | 27 +++++++-- .../image/functions/imagecolorallocate.xml | 23 +++++++- .../functions/imagecolorallocatealpha.xml | 23 +++++++- reference/image/functions/imagecolorat.xml | 21 ++++++- .../image/functions/imagecolorclosest.xml | 21 ++++++- .../functions/imagecolorclosestalpha.xml | 3 +- .../image/functions/imagecolorclosesthwb.xml | 22 +++++++- .../image/functions/imagecolordeallocate.xml | 21 ++++++- reference/image/functions/imagecolorexact.xml | 21 ++++++- .../image/functions/imagecolorexactalpha.xml | 21 ++++++- reference/image/functions/imagecolormatch.xml | 34 ++++++++++-- .../image/functions/imagecolorresolve.xml | 21 ++++++- .../functions/imagecolorresolvealpha.xml | 21 ++++++- reference/image/functions/imagecolorset.xml | 28 ++++++++-- .../image/functions/imagecolorsforindex.xml | 30 ++++++++-- .../image/functions/imagecolorstotal.xml | 21 ++++++- .../image/functions/imagecolortransparent.xml | 37 ++++++++++--- .../image/functions/imageconvolution.xml | 25 +++++++-- reference/image/functions/imagecopy.xml | 50 ++++++++++++----- reference/image/functions/imagecopymerge.xml | 50 ++++++++++++----- .../image/functions/imagecopymergegray.xml | 52 +++++++++++++----- .../image/functions/imagecopyresampled.xml | 50 ++++++++++++----- .../image/functions/imagecopyresized.xml | 50 ++++++++++++----- reference/image/functions/imagecreate.xml | 27 ++++++++- .../image/functions/imagecreatefrombmp.xml | 26 ++++++++- .../image/functions/imagecreatefromgd.xml | 31 +++++++++-- .../image/functions/imagecreatefromgd2.xml | 29 +++++++++- .../functions/imagecreatefromgd2part.xml | 37 ++++++++++--- .../image/functions/imagecreatefromgif.xml | 29 +++++++++- .../image/functions/imagecreatefromjpeg.xml | 27 ++++++++- .../image/functions/imagecreatefrompng.xml | 27 ++++++++- .../image/functions/imagecreatefromstring.xml | 18 ++++-- .../image/functions/imagecreatefromwbmp.xml | 27 ++++++++- .../image/functions/imagecreatefromwebp.xml | 26 ++++++++- .../image/functions/imagecreatefromxbm.xml | 27 ++++++++- .../image/functions/imagecreatefromxpm.xml | 26 ++++++++- .../image/functions/imagecreatetruecolor.xml | 29 +++++++++- reference/image/functions/imagecrop.xml | 36 +++++++++--- reference/image/functions/imagecropauto.xml | 22 +++++--- reference/image/functions/imagedashedline.xml | 21 ++++++- reference/image/functions/imagedestroy.xml | 31 +++++++++-- reference/image/functions/imageellipse.xml | 29 ++++++++-- reference/image/functions/imagefill.xml | 21 ++++++- reference/image/functions/imagefilledarc.xml | 37 +++++++++---- .../image/functions/imagefilledellipse.xml | 29 ++++++++-- .../image/functions/imagefilledpolygon.xml | 23 +++++++- .../image/functions/imagefilledrectangle.xml | 21 ++++++- .../image/functions/imagefilltoborder.xml | 29 ++++++++-- reference/image/functions/imagefilter.xml | 31 +++++------ reference/image/functions/imageflip.xml | 20 ++++++- reference/image/functions/imageftbbox.xml | 31 ++++++----- reference/image/functions/imagefttext.xml | 47 +++++++++++----- .../image/functions/imagegammacorrect.xml | 29 ++++++++-- reference/image/functions/imagegd.xml | 18 ++++-- reference/image/functions/imagegd2.xml | 35 ++++++++++-- reference/image/functions/imagegetclip.xml | 24 ++++++-- .../image/functions/imagegetinterpolation.xml | 17 ++++++ reference/image/functions/imagegif.xml | 26 +++++++-- reference/image/functions/imagegrabscreen.xml | 37 +++++++++---- reference/image/functions/imagegrabwindow.xml | 37 ++++++++++--- reference/image/functions/imageinterlace.xml | 4 +- .../image/functions/imageistruecolor.xml | 21 ++++++- reference/image/functions/imagejpeg.xml | 24 ++++++-- .../image/functions/imagelayereffect.xml | 6 +- reference/image/functions/imageline.xml | 21 ++++++- reference/image/functions/imageloadfont.xml | 9 ++- .../image/functions/imageopenpolygon.xml | 23 ++++++-- .../image/functions/imagepalettecopy.xml | 42 +++++++++++--- .../functions/imagepalettetotruecolor.xml | 22 +++++++- reference/image/functions/imagepng.xml | 24 ++++++-- reference/image/functions/imagepolygon.xml | 25 +++++++-- reference/image/functions/imagerectangle.xml | 21 ++++++- reference/image/functions/imageresolution.xml | 55 ++++++++++++------- reference/image/functions/imagerotate.xml | 19 +++++-- reference/image/functions/imagesavealpha.xml | 27 +++++++-- reference/image/functions/imagescale.xml | 42 ++++++++++---- reference/image/functions/imagesetbrush.xml | 32 +++++++++-- reference/image/functions/imagesetclip.xml | 21 ++++++- .../image/functions/imagesetinterpolation.xml | 22 +++++++- reference/image/functions/imagesetpixel.xml | 21 ++++++- reference/image/functions/imagesetstyle.xml | 4 +- .../image/functions/imagesetthickness.xml | 21 ++++++- reference/image/functions/imagesettile.xml | 32 +++++++++-- reference/image/functions/imagestring.xml | 21 ++++++- reference/image/functions/imagestringup.xml | 21 ++++++- reference/image/functions/imagesx.xml | 23 +++++++- reference/image/functions/imagesy.xml | 23 +++++++- .../functions/imagetruecolortopalette.xml | 25 +++++++-- reference/image/functions/imagettfbbox.xml | 40 +++++++++++--- reference/image/functions/imagettftext.xml | 36 ++++++++++-- reference/image/functions/imagewbmp.xml | 34 ++++++++++-- reference/image/functions/imagewebp.xml | 26 +++++++-- reference/image/functions/imagexbm.xml | 17 ++++-- reference/image/setup.xml | 2 +- 104 files changed, 2205 insertions(+), 515 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index 4a2ba830a1..5240b88538 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -709,7 +709,7 @@ PHP is compiled with freetype support ('> + diff --git a/reference/image/functions/image2wbmp.xml b/reference/image/functions/image2wbmp.xml index 8b29f8889a..2e946ff94d 100644 --- a/reference/image/functions/image2wbmp.xml +++ b/reference/image/functions/image2wbmp.xml @@ -27,7 +27,15 @@ &reftitle.parameters; - &gd.image.description; + + image + + + An image resource, returned by one of the image creation functions, + such as imagecreatetruecolor. + + + filename diff --git a/reference/image/functions/imageaffine.xml b/reference/image/functions/imageaffine.xml index 5b09ac2aa1..b0162e1fdb 100644 --- a/reference/image/functions/imageaffine.xml +++ b/reference/image/functions/imageaffine.xml @@ -1,6 +1,5 @@ - imageaffine @@ -10,10 +9,10 @@ &reftitle.description; - resourcefalseimageaffine - resourceimage + GdImagefalseimageaffine + GdImageimage arrayaffine - arrayclip + arraynullclip&null; @@ -39,7 +38,7 @@ clip - Array with keys "x", "y", "width" and "height". + Array with keys "x", "y", "width" and "height"; or &null;. @@ -49,12 +48,40 @@ &reftitle.returnvalues; - Return affined image resource on success&return.falseforfailure;. + Return affined image object on success&return.falseforfailure;. - + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + clip is now nullable. + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + - imageaffinematrixconcat @@ -11,8 +10,8 @@ &reftitle.description; arrayfalseimageaffinematrixconcat - arraym1 - arraym2 + arraymatrix1 + arraymatrix2 Returns the concatenation of two affine transformation matrices, @@ -25,7 +24,7 @@ &reftitle.parameters; - m1 + matrix1 An affine transformation matrix (an array with keys @@ -34,7 +33,7 @@ - m2 + matrix2 An affine transformation matrix (an array with keys @@ -96,7 +95,6 @@ Array - - imageaffinematrixget @@ -12,7 +11,7 @@ arrayfalseimageaffinematrixget inttype - mixedoptions + arrayfloatoptions Returns an affine transformation matrix. @@ -98,7 +97,6 @@ Array - - + imagecolorclosesthwb Get the index of the color which has the hue, white and blackness @@ -9,7 +9,7 @@ &reftitle.description; intimagecolorclosesthwb - resourceimage + GdImageimage intred intgreen intblue @@ -53,6 +53,23 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.examples; @@ -86,7 +103,6 @@ HWB: 33 - - + imagecreatefromgd Create a new image from GD file or URL @@ -8,7 +8,7 @@ &reftitle.description; - resourceimagecreatefromgd + GdImagefalseimagecreatefromgd stringfilename @@ -35,6 +35,30 @@ &reftitle.returnvalues; &gd.return.identifier; + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + &reftitle.examples; @@ -47,7 +71,7 @@ $im = @imagecreatefromgd('./test.gd'); // Test if the image was loaded -if(!is_resource($im)) +if(!$im) { die('Unable to load gd image!'); } @@ -70,7 +94,6 @@ imagedestroy($im); - - + imagecreatefromgd2 Create a new image from GD2 file or URL @@ -8,7 +8,7 @@ &reftitle.description; - resourceimagecreatefromgd2 + GdImagefalseimagecreatefromgd2 stringfilename @@ -35,6 +35,30 @@ &reftitle.returnvalues; &gd.return.identifier; + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + &reftitle.examples; @@ -69,7 +93,6 @@ imagedestroy($im); - - + imagecreatefromgd2part Create a new image from a given part of GD2 file or URL @@ -8,10 +8,10 @@ &reftitle.description; - resourceimagecreatefromgd2part + GdImagefalseimagecreatefromgd2part stringfilename - intsrcX - intsrcY + intx + inty intwidth intheight @@ -33,7 +33,7 @@ - srcX + x x-coordinate of source point. @@ -41,7 +41,7 @@ - srcY + y y-coordinate of source point. @@ -67,6 +67,30 @@ &reftitle.returnvalues; &gd.return.identifier; + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + &reftitle.examples; @@ -104,7 +128,6 @@ imagedestroy($im); - - imagecrop @@ -10,9 +9,9 @@ &reftitle.description; - resourcefalseimagecrop - resourceimage - arrayrect + GdImagefalseimagecrop + GdImageimage + arrayrectangle Crops an image to the given rectangular area and returns the resulting image. @@ -26,7 +25,7 @@ &gd.image.description; - rect + rectangle The cropping rectangle as array with keys @@ -41,10 +40,34 @@ &reftitle.returnvalues; - Return cropped image resource on success&return.falseforfailure;. + Return cropped image object on success&return.falseforfailure;. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + &reftitle.examples; @@ -77,7 +100,6 @@ imagedestroy($im); - - imagecropauto @@ -10,10 +9,10 @@ &reftitle.description; - resourcefalseimagecropauto - resourceimage + GdImagefalseimagecropauto + GdImageimage intmodeIMG_CROP_DEFAULT - floatthreshold.5 + floatthreshold0.5 intcolor-1 @@ -125,7 +124,7 @@ &reftitle.returnvalues; - Returns a cropped image resource on success&return.falseforfailure;. + Returns a cropped image object on success&return.falseforfailure;. If the complete image was cropped, imagecrop returns &false;. @@ -141,6 +140,14 @@ + &gd.changelog.image-param; + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + 7.4.0 @@ -172,7 +179,7 @@ As noted in the return value section, imagecropauto returns &false; if the whole image - was cropped. In this example we have an image resource + was cropped. In this example we have an image object $im which should be automatically cropped only if there is something to crop; otherwise we want to proceed with the original image. @@ -180,7 +187,7 @@ - - + imageftbbox Give the bounding box of a text using fonts via freetype2 @@ -8,12 +8,12 @@ &reftitle.description; - arrayimageftbbox + arrayfalseimageftbbox floatsize floatangle - stringfontfile - stringtext - arrayextrainfo + stringfont_filename + stringstring + arrayoptions[] This function calculates and returns the bounding box in pixels @@ -21,9 +21,10 @@ - imageftbbox is an extended variant of - imagettfbbox which additionally supports the - extrainfo. + Prior to PHP 8.0.0, imageftbbox was an extended variant of + imagettfbbox which additionally supported the + options. + As of PHP 8.0.0, imagettfbbox is an alias of imageftbbox. @@ -41,13 +42,13 @@ angle - Angle in degrees in which text will be + Angle in degrees in which string will be measured. - fontfile + font_filename The name of the TrueType font file (can be a URL). Depending on @@ -58,7 +59,7 @@ - text + string The string to be measured. @@ -66,11 +67,11 @@ - extrainfo + options
- Possible array indexes for <parameter>extrainfo</parameter> + Possible array indexes for <parameter>options</parameter> @@ -144,6 +145,9 @@ angle, so "upper left" means in the top left-hand corner seeing the text horizontally. + + On failure, &false; is returned. + &reftitle.examples; @@ -197,7 +201,6 @@ imagedestroy($im); - - + imagefttext Write text to the image using fonts using FreeType 2 @@ -8,22 +8,23 @@ &reftitle.description; - arrayimagefttext - resourceimage + arrayfalseimagefttext + GdImageimage floatsize floatangle intx inty intcolor - stringfontfile + stringfont_filename stringtext - arrayextrainfo + arrayoptions[] - imagefttext is an extended variant of - imagettftext which additionally supports the - extrainfo. + Prior to PHP 8.0.0, imagefttext was an extended variant of + imagettftext which additionally supported the + options. + As of PHP 8.0.0, imagettftext is an alias of imagefttext. @@ -83,14 +84,14 @@ - fontfile + font_filename The path to the TrueType font you wish to use. Depending on which version of the GD library PHP is using, when - fontfile does not begin with a leading + font_filename does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path. @@ -128,11 +129,11 @@ $font = 'SomeFont'; - extrainfo + options
- Possible array indexes for <parameter>extrainfo</parameter> + Possible array indexes for <parameter>options</parameter> @@ -199,7 +200,28 @@ $font = 'SomeFont'; + + On failure, &false; is returned. + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.examples; @@ -246,7 +268,6 @@ imagedestroy($im); - - + imagegd Output GD image to browser or file @@ -9,11 +9,11 @@ &reftitle.description; boolimagegd - resourceimage - mixedtoNULL + GdImageimage + stringnullfile&null; - Outputs a GD image to the given to. + Outputs a GD image to the given file. @@ -22,7 +22,7 @@ &gd.image.description; - to + file &gd.image.path; @@ -50,6 +50,13 @@ + + 8.0.3 + + file is now nullable. + + + &gd.changelog.image-param; 7.2.0 @@ -126,7 +133,6 @@ imagedestroy($im); - - imagegetclip @@ -9,10 +8,9 @@ &reftitle.description; - + arrayimagegetclip - - resourceim + GdImageimage imagegetclip retrieves the current clipping rectangle, @@ -49,6 +47,23 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.examples; @@ -87,7 +102,6 @@ Array - &reftitle.returnvalues; - Returns an image resource identifier on success, &false; on failure. + Returns an image object on success, &false; on failure. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + - diff --git a/reference/image/functions/imagegrabwindow.xml b/reference/image/functions/imagegrabwindow.xml index 8d39405115..5c2b2e8aa3 100644 --- a/reference/image/functions/imagegrabwindow.xml +++ b/reference/image/functions/imagegrabwindow.xml @@ -9,9 +9,9 @@ &reftitle.description; - resourceimagegrabwindow - intwindow_handle - boolclient_area0 + GdImagefalseimagegrabwindow + inthandle + boolclient_area&false; Grabs a window or its client area using a windows handle (HWND property in COM instance) @@ -28,7 +28,7 @@ - window_handle + handle The HWND window ID. @@ -50,14 +50,37 @@ &reftitle.returnvalues; - Returns an image resource identifier on success, &false; on failure. + Returns an image object on success, &false; on failure. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + + + + + &reftitle.errors; - E_NOTICE is issued if window_handle is invalid + E_NOTICE is issued if handle is invalid window handle. E_WARNING is issued if the Windows API is too old. @@ -140,7 +163,6 @@ imagedestroy($im); - - diff --git a/reference/image/functions/imageinterlace.xml b/reference/image/functions/imageinterlace.xml index de871a7e96..5bc51c9722 100644 --- a/reference/image/functions/imageinterlace.xml +++ b/reference/image/functions/imageinterlace.xml @@ -9,7 +9,7 @@ &reftitle.description; boolimageinterlace - resourceimage + GdImageimage boolnullenable&null; @@ -63,6 +63,7 @@ (non-zero for interlaced images, zero otherwise). + &gd.changelog.image-param; 8.0.0 @@ -99,7 +100,6 @@ imagedestroy($im); - - + imageloadfont Load a new font @@ -8,8 +8,8 @@ &reftitle.description; - intimageloadfont - stringfile + intfalseimageloadfont + stringfilename imageloadfont loads a user-defined bitmap and returns @@ -21,7 +21,7 @@ - file + filename The font file format is currently binary and architecture @@ -125,7 +125,6 @@ imagedestroy($im); - - imageopenpolygon @@ -11,7 +10,7 @@ &reftitle.description; boolimageopenpolygon - resourceimage + GdImageimage arraypoints intnum_points intcolor @@ -19,7 +18,7 @@ Alternative signature (as of PHP 8.0.0) boolimageopenpolygon - resourceimage + GdImageimage arraypoints intcolor @@ -97,6 +96,23 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.examples; @@ -147,7 +163,6 @@ imagedestroy($image); - - imageresolution @@ -9,22 +8,18 @@ &reftitle.description; - - mixedimageresolution - resourceimage - - - mixedimageresolution - resourceimage - intres_x - intres_y$res_x + + arrayboolimageresolution + GdImageimage + intnullresolution_x&null; + intnullresolution_y&null; imageresolution allows to set and get the resolution of - an image in DPI (dots per inch). If none of the optional parameters is given, - the current resolution is returned as indexed array. If only - res_x is given, the horizontal and vertical resolution - are set to this value. If both optional parameters are given, the horizontal + an image in DPI (dots per inch). If the optional parameters are &null;, + the current resolution is returned as an indexed array. If only + resolution_x is &null;, the horizontal and vertical resolution + are set to this value. If none of the optional parameters are &null;, the horizontal and vertical resolution are set to these values, respectively. @@ -40,7 +35,7 @@ &gd.image.description; - res_x + resolution_x The horizontal resolution in DPI. @@ -48,7 +43,7 @@ - res_y + resolution_y The vertical resolution in DPI. @@ -61,14 +56,37 @@ &reftitle.returnvalues; - When used as getter (first signature), + When used as getter, it returns an indexed array of the horizontal and vertical resolution on success, &return.falseforfailure;. - When used as setter (second signature), it returns + When used as setter, it returns &true; on success, &return.falseforfailure;. + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + resolution_x and resolution_y are now nullable. + + + + + + + &reftitle.examples; @@ -103,7 +121,6 @@ Array - - imagesavealpha @@ -11,8 +10,8 @@ &reftitle.description; boolimagesavealpha - resourceimage - boolsaveflag + GdImageimage + boolenable imagesavealpha sets the flag which determines whether to retain @@ -31,7 +30,7 @@ &gd.image.description; - saveflag + enable Whether to save the alpha channel or not. Defaults to &false;. @@ -48,6 +47,24 @@ &return.success; + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.examples; @@ -86,7 +103,6 @@ imagedestroy($png); - - diff --git a/reference/image/functions/imagescale.xml b/reference/image/functions/imagescale.xml index b3feb37d99..ce55588c60 100644 --- a/reference/image/functions/imagescale.xml +++ b/reference/image/functions/imagescale.xml @@ -1,6 +1,5 @@ - imagescale @@ -10,11 +9,11 @@ &reftitle.description; - resourcefalseimagescale - resourceimage - intnew_width - intnew_height-1 - intmodeIMG_BILINEAR_FIXED + GdImagefalseimagescale + GdImageimage + intwidth + intheight-1 + intmodeIMG_BILINEAR_FIXED imagescale scales an image using the given @@ -34,7 +33,7 @@ &gd.image.description; - new_width + width The width to scale the image to. @@ -42,7 +41,7 @@ - new_height + height The height to scale the image to. If omitted or negative, the aspect @@ -73,10 +72,34 @@ &reftitle.returnvalues; - Return the scaled image resource on success&return.falseforfailure;. + Return the scaled image object on success&return.falseforfailure;. + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + + &gd.changelog.image-param; + + + + + &reftitle.seealso; @@ -86,7 +109,6 @@ - - imagesetclip @@ -11,7 +10,7 @@ &reftitle.description; boolimagesetclip - resourceim + GdImageimage intx1 inty1 intx2 @@ -69,6 +68,23 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &gd.changelog.image-param; + + + + + &reftitle.seealso; @@ -77,7 +93,6 @@ - + &reftitle.examples; @@ -64,14 +75,6 @@ - - &reftitle.returnvalues; - - - - - - - - - Classkit - - - &reftitle.intro; - - These functions allow the dynamic manipulation of PHP classes, at runtime. - - - - This extension has been replaced by - runkit, which is not limited to class - manipulation but has function manipulation, as well. - - - - - &reference.classkit.setup; - &reference.classkit.constants; - &reference.classkit.reference; - - - - - diff --git a/reference/classkit/configure.xml b/reference/classkit/configure.xml deleted file mode 100644 index cd585d0a36..0000000000 --- a/reference/classkit/configure.xml +++ /dev/null @@ -1,31 +0,0 @@ - - -
- &reftitle.install; - - &pecl.info.dead; - &url.pecl.vcs;classkit. - -
- - - diff --git a/reference/classkit/constants.xml b/reference/classkit/constants.xml deleted file mode 100644 index d8aa3ff7dd..0000000000 --- a/reference/classkit/constants.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - &reftitle.constants; - &extension.constants; - - - - - CLASSKIT_ACC_PRIVATE - (int) - - - - Marks the method private - - - - - - CLASSKIT_ACC_PROTECTED - (int) - - - - Marks the method protected - - - - - - CLASSKIT_ACC_PUBLIC - (int) - - - - Marks the method public - - - - - - - diff --git a/reference/classkit/functions/classkit-import.xml b/reference/classkit/functions/classkit-import.xml deleted file mode 100644 index 2316280353..0000000000 --- a/reference/classkit/functions/classkit-import.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - classkit_import - Import new class method definitions from a file - - - &reftitle.description; - - arrayclasskit_import - stringfilename - - ¬e.classkit.selfmanipulation; - &warn.experimental.func; - - - &reftitle.parameters; - - - - filename - - - The filename of the class method definitions to import - - - - - - - - &reftitle.returnvalues; - - Associative array of imported methods - - - - - &reftitle.examples; - - - <function>classkit_import</function> example - - -]]> - - -foo(); - -// import replacement method -classkit_import('newclass.php'); - -// output imported -echo $e->foo(); - -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - classkit_method_add - classkit_method_copy - - - - - - diff --git a/reference/classkit/functions/classkit-method-add.xml b/reference/classkit/functions/classkit-method-add.xml deleted file mode 100644 index 85ddae6fd6..0000000000 --- a/reference/classkit/functions/classkit-method-add.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - classkit_method_add - Dynamically adds a new method to a given class - - - &reftitle.description; - - boolclasskit_method_add - stringclassname - stringmethodname - stringargs - stringcode - intflagsCLASSKIT_ACC_PUBLIC - - &warn.experimental.func; - - - &reftitle.parameters; - - - - classname - - - The class to which this method will be added - - - - - methodname - - - The name of the method to add - - - - - args - - - Comma-delimited list of arguments for the newly-created method - - - - - code - - - The code to be evaluated when methodname - is called - - - - - flags - - - The type of method to create, can be - CLASSKIT_ACC_PUBLIC, - CLASSKIT_ACC_PROTECTED or - CLASSKIT_ACC_PRIVATE - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - <function>classkit_method_add</function> example - -add(12, 4); -?> -]]> - - &example.outputs; - - - - - - - - &reftitle.seealso; - - - classkit_method_copy - classkit_method_redefine - classkit_method_remove - classkit_method_rename - create_function - - - - - - diff --git a/reference/classkit/functions/classkit-method-copy.xml b/reference/classkit/functions/classkit-method-copy.xml deleted file mode 100644 index 755b0e32a9..0000000000 --- a/reference/classkit/functions/classkit-method-copy.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - classkit_method_copy - Copies a method from class to another - - - &reftitle.description; - - boolclasskit_method_copy - stringdClass - stringdMethod - stringsClass - stringsMethod - - &warn.experimental.func; - - - &reftitle.parameters; - - - - dClass - - - Destination class for copied method - - - - - dMethod - - - Destination method name - - - - - sClass - - - Source class of the method to copy - - - - - sMethod - - - Name of the method to copy from the source class. If this parameter is - omitted, the value of dMethod is assumed. - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - <function>classkit_method_copy</function> example - - -]]> - - &example.outputs; - - - - - - - - &reftitle.seealso; - - - classkit_method_add - classkit_method_redefine - classkit_method_remove - classkit_method_rename - - - - - - diff --git a/reference/classkit/functions/classkit-method-redefine.xml b/reference/classkit/functions/classkit-method-redefine.xml deleted file mode 100644 index 2db111e13f..0000000000 --- a/reference/classkit/functions/classkit-method-redefine.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - classkit_method_redefine - Dynamically changes the code of the given method - - - &reftitle.description; - - boolclasskit_method_redefine - stringclassname - stringmethodname - stringargs - stringcode - intflagsCLASSKIT_ACC_PUBLIC - - ¬e.classkit.selfmanipulation; - &warn.experimental.func; - - - &reftitle.parameters; - - - - classname - - - The class in which to redefine the method - - - - - methodname - - - The name of the method to redefine - - - - - args - - - Comma-delimited list of arguments for the redefined method - - - - - code - - - The new code to be evaluated when methodname - is called - - - - - flags - - - The redefined method can be - CLASSKIT_ACC_PUBLIC, - CLASSKIT_ACC_PROTECTED or - CLASSKIT_ACC_PRIVATE - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - <function>classkit_method_redefine</function> example - -foo(); - -// Redefine the 'foo' method -classkit_method_redefine( - 'Example', - 'foo', - '', - 'return "bar!\n";', - CLASSKIT_ACC_PUBLIC -); - -// output Example::foo() (after redefine) -echo "After: " . $e->foo(); -?> -]]> - - &example.outputs; - - - - - - - - &reftitle.seealso; - - - classkit_method_add - classkit_method_copy - classkit_method_remove - classkit_method_rename - - - - - - diff --git a/reference/classkit/functions/classkit-method-remove.xml b/reference/classkit/functions/classkit-method-remove.xml deleted file mode 100644 index 5e3a03c98b..0000000000 --- a/reference/classkit/functions/classkit-method-remove.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - classkit_method_remove - Dynamically removes the given method - - - &reftitle.description; - - boolclasskit_method_remove - stringclassname - stringmethodname - - ¬e.classkit.selfmanipulation; - &warn.experimental.func; - - - &reftitle.parameters; - - - - classname - - - The class in which to remove the method - - - - - methodname - - - The name of the method to remove - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - <function>classkit_method_remove</function> example - - -]]> - - &example.outputs; - - - - - - - - &reftitle.seealso; - - - classkit_method_add - classkit_method_copy - classkit_method_redefine - classkit_method_rename - - - - - - diff --git a/reference/classkit/functions/classkit-method-rename.xml b/reference/classkit/functions/classkit-method-rename.xml deleted file mode 100644 index 8f4a638a91..0000000000 --- a/reference/classkit/functions/classkit-method-rename.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - classkit_method_rename - Dynamically changes the name of the given method - - - &reftitle.description; - - boolclasskit_method_rename - stringclassname - stringmethodname - stringnewname - - ¬e.classkit.selfmanipulation; - &warn.experimental.func; - - - &reftitle.parameters; - - - - classname - - - The class in which to rename the method - - - - - methodname - - - The name of the method to rename - - - - - newname - - - The new name to give to the renamed method - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - <function>classkit_method_rename</function> example - - -]]> - - &example.outputs; - - - - - - - - &reftitle.seealso; - - - classkit_method_add - classkit_method_copy - classkit_method_redefine - classkit_method_remove - - - - - - diff --git a/reference/classkit/ini.xml b/reference/classkit/ini.xml deleted file mode 100644 index 2dc7deb8fc..0000000000 --- a/reference/classkit/ini.xml +++ /dev/null @@ -1,27 +0,0 @@ - - -
- &reftitle.runtime; - &no.config; -
- - diff --git a/reference/classkit/reference.xml b/reference/classkit/reference.xml deleted file mode 100644 index ccbc921110..0000000000 --- a/reference/classkit/reference.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Classkit &Functions; - - &reference.classkit.entities.functions; - - - - - diff --git a/reference/classkit/setup.xml b/reference/classkit/setup.xml deleted file mode 100644 index ba2b85414d..0000000000 --- a/reference/classkit/setup.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- - &reference.classkit.configure; - - &reference.classkit.ini; - -
- &reftitle.resources; - &no.resource; -
- -
- - - diff --git a/reference/classkit/versions.xml b/reference/classkit/versions.xml deleted file mode 100644 index 8bfa1bdf62..0000000000 --- a/reference/classkit/versions.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file From 4d168cd5f3ee7194fb8c588860c75f277f325186 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 20:10:29 +0100 Subject: [PATCH 176/444] Remove dbplus docs --- appendices/extensions.xml | 3 - reference/dbplus/book.xml | 60 --- reference/dbplus/configure.xml | 48 --- reference/dbplus/constants.xml | 367 ------------------ reference/dbplus/functions/dbplus-add.xml | 94 ----- reference/dbplus/functions/dbplus-aql.xml | 90 ----- reference/dbplus/functions/dbplus-chdir.xml | 71 ---- reference/dbplus/functions/dbplus-close.xml | 70 ---- reference/dbplus/functions/dbplus-curr.xml | 94 ----- reference/dbplus/functions/dbplus-errcode.xml | 70 ---- reference/dbplus/functions/dbplus-errno.xml | 62 --- reference/dbplus/functions/dbplus-find.xml | 109 ------ reference/dbplus/functions/dbplus-first.xml | 93 ----- reference/dbplus/functions/dbplus-flush.xml | 80 ---- .../dbplus/functions/dbplus-freealllocks.xml | 63 --- .../dbplus/functions/dbplus-freelock.xml | 88 ----- .../dbplus/functions/dbplus-freerlocks.xml | 79 ---- reference/dbplus/functions/dbplus-getlock.xml | 89 ----- .../dbplus/functions/dbplus-getunique.xml | 80 ---- reference/dbplus/functions/dbplus-info.xml | 76 ---- reference/dbplus/functions/dbplus-last.xml | 92 ----- reference/dbplus/functions/dbplus-lockrel.xml | 72 ---- reference/dbplus/functions/dbplus-next.xml | 92 ----- reference/dbplus/functions/dbplus-open.xml | 74 ---- reference/dbplus/functions/dbplus-prev.xml | 92 ----- reference/dbplus/functions/dbplus-rchperm.xml | 94 ----- reference/dbplus/functions/dbplus-rcreate.xml | 101 ----- .../dbplus/functions/dbplus-rcrtexact.xml | 91 ----- .../dbplus/functions/dbplus-rcrtlike.xml | 91 ----- reference/dbplus/functions/dbplus-resolve.xml | 82 ---- .../dbplus/functions/dbplus-restorepos.xml | 74 ---- reference/dbplus/functions/dbplus-rkeys.xml | 82 ---- reference/dbplus/functions/dbplus-ropen.xml | 72 ---- reference/dbplus/functions/dbplus-rquery.xml | 78 ---- reference/dbplus/functions/dbplus-rrename.xml | 77 ---- .../dbplus/functions/dbplus-rsecindex.xml | 91 ----- reference/dbplus/functions/dbplus-runlink.xml | 69 ---- reference/dbplus/functions/dbplus-rzap.xml | 69 ---- reference/dbplus/functions/dbplus-savepos.xml | 66 ---- .../dbplus/functions/dbplus-setindex.xml | 74 ---- .../functions/dbplus-setindexbynumber.xml | 74 ---- reference/dbplus/functions/dbplus-sql.xml | 81 ---- reference/dbplus/functions/dbplus-tcl.xml | 95 ----- reference/dbplus/functions/dbplus-tremove.xml | 89 ----- reference/dbplus/functions/dbplus-undo.xml | 66 ---- .../dbplus/functions/dbplus-undoprepare.xml | 66 ---- .../dbplus/functions/dbplus-unlockrel.xml | 69 ---- .../dbplus/functions/dbplus-unselect.xml | 70 ---- reference/dbplus/functions/dbplus-update.xml | 89 ----- .../dbplus/functions/dbplus-xlockrel.xml | 78 ---- .../dbplus/functions/dbplus-xunlockrel.xml | 69 ---- reference/dbplus/reference.xml | 30 -- reference/dbplus/setup.xml | 73 ---- reference/dbplus/versions.xml | 75 ---- 54 files changed, 4443 deletions(-) delete mode 100644 reference/dbplus/book.xml delete mode 100644 reference/dbplus/configure.xml delete mode 100644 reference/dbplus/constants.xml delete mode 100644 reference/dbplus/functions/dbplus-add.xml delete mode 100644 reference/dbplus/functions/dbplus-aql.xml delete mode 100644 reference/dbplus/functions/dbplus-chdir.xml delete mode 100644 reference/dbplus/functions/dbplus-close.xml delete mode 100644 reference/dbplus/functions/dbplus-curr.xml delete mode 100644 reference/dbplus/functions/dbplus-errcode.xml delete mode 100644 reference/dbplus/functions/dbplus-errno.xml delete mode 100644 reference/dbplus/functions/dbplus-find.xml delete mode 100644 reference/dbplus/functions/dbplus-first.xml delete mode 100644 reference/dbplus/functions/dbplus-flush.xml delete mode 100644 reference/dbplus/functions/dbplus-freealllocks.xml delete mode 100644 reference/dbplus/functions/dbplus-freelock.xml delete mode 100644 reference/dbplus/functions/dbplus-freerlocks.xml delete mode 100644 reference/dbplus/functions/dbplus-getlock.xml delete mode 100644 reference/dbplus/functions/dbplus-getunique.xml delete mode 100644 reference/dbplus/functions/dbplus-info.xml delete mode 100644 reference/dbplus/functions/dbplus-last.xml delete mode 100644 reference/dbplus/functions/dbplus-lockrel.xml delete mode 100644 reference/dbplus/functions/dbplus-next.xml delete mode 100644 reference/dbplus/functions/dbplus-open.xml delete mode 100644 reference/dbplus/functions/dbplus-prev.xml delete mode 100644 reference/dbplus/functions/dbplus-rchperm.xml delete mode 100644 reference/dbplus/functions/dbplus-rcreate.xml delete mode 100644 reference/dbplus/functions/dbplus-rcrtexact.xml delete mode 100644 reference/dbplus/functions/dbplus-rcrtlike.xml delete mode 100644 reference/dbplus/functions/dbplus-resolve.xml delete mode 100644 reference/dbplus/functions/dbplus-restorepos.xml delete mode 100644 reference/dbplus/functions/dbplus-rkeys.xml delete mode 100644 reference/dbplus/functions/dbplus-ropen.xml delete mode 100644 reference/dbplus/functions/dbplus-rquery.xml delete mode 100644 reference/dbplus/functions/dbplus-rrename.xml delete mode 100644 reference/dbplus/functions/dbplus-rsecindex.xml delete mode 100644 reference/dbplus/functions/dbplus-runlink.xml delete mode 100644 reference/dbplus/functions/dbplus-rzap.xml delete mode 100644 reference/dbplus/functions/dbplus-savepos.xml delete mode 100644 reference/dbplus/functions/dbplus-setindex.xml delete mode 100644 reference/dbplus/functions/dbplus-setindexbynumber.xml delete mode 100644 reference/dbplus/functions/dbplus-sql.xml delete mode 100644 reference/dbplus/functions/dbplus-tcl.xml delete mode 100644 reference/dbplus/functions/dbplus-tremove.xml delete mode 100644 reference/dbplus/functions/dbplus-undo.xml delete mode 100644 reference/dbplus/functions/dbplus-undoprepare.xml delete mode 100644 reference/dbplus/functions/dbplus-unlockrel.xml delete mode 100644 reference/dbplus/functions/dbplus-unselect.xml delete mode 100644 reference/dbplus/functions/dbplus-update.xml delete mode 100644 reference/dbplus/functions/dbplus-xlockrel.xml delete mode 100644 reference/dbplus/functions/dbplus-xunlockrel.xml delete mode 100644 reference/dbplus/reference.xml delete mode 100644 reference/dbplus/setup.xml delete mode 100644 reference/dbplus/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 4b994a107a..760c8fbd6c 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -27,7 +27,6 @@ - @@ -323,7 +322,6 @@ - @@ -416,7 +414,6 @@ &extcat.state.experimental; - diff --git a/reference/dbplus/book.xml b/reference/dbplus/book.xml deleted file mode 100644 index e8b7e53fff..0000000000 --- a/reference/dbplus/book.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - DB++ - - - - &reftitle.intro; - - db++, made by the German company Concept asa, is a relational - database system with high performance and low memory and disk - usage in mind. While providing SQL as an additional language - interface, it is not really an SQL database in the first place but - provides its own AQL query language which is much more influenced - by the relational algebra than SQL is. - - - Concept asa always had an interest in supporting open source - languages, db++ has had Perl and Tcl call interfaces for years - now and uses Tcl as its internal stored procedure language. - - - - &pecl.moved-ver;4.3.0 - - - &warn.experimental; - - - - &reference.dbplus.setup; - &reference.dbplus.constants; - &reference.dbplus.reference; - - - - - diff --git a/reference/dbplus/configure.xml b/reference/dbplus/configure.xml deleted file mode 100644 index a5f7c43e9e..0000000000 --- a/reference/dbplus/configure.xml +++ /dev/null @@ -1,48 +0,0 @@ - - -
- &reftitle.install; - - &pecl.moved-ver;4.3.0 - - - &pecl.info; - &url.pecl.package;dbplus. - - - In order to build this extension yourself you need the db++ client libraries - and header files to be installed on your system (these are included in the - db++ installation archives by default). You have to run - configure with option to - build this extension. - - - configure looks for the client libraries and header files - under the default paths /usr/dbplus, - /usr/local/dbplus and /opt/dblus. - If you have installed db++ in a different place you have add the installation - path to the configure option like this: - . - -
- - diff --git a/reference/dbplus/constants.xml b/reference/dbplus/constants.xml deleted file mode 100644 index 7f5f2105e9..0000000000 --- a/reference/dbplus/constants.xml +++ /dev/null @@ -1,367 +0,0 @@ - - - - &reftitle.constants; - &extension.constants; -
- db++ error codes - -
- DB++ Error Codes - - - - PHP Constant - db++ constant - meaning - - - - - - DBPLUS_ERR_NOERR - (int) - - ERR_NOERR - Null error condition - - - - DBPLUS_ERR_DUPLICATE - (int) - - ERR_DUPLICATE - Tried to insert a duplicate tuple - - - - DBPLUS_ERR_EOSCAN - (int) - - ERR_EOSCAN - End of scan from rget() - - - - DBPLUS_ERR_EMPTY - (int) - - ERR_EMPTY - Relation is empty (server) - - - - DBPLUS_ERR_CLOSE - (int) - - ERR_CLOSE - The server can't close - - - - DBPLUS_ERR_WLOCKED - (int) - - ERR_WLOCKED - The record is write locked - - - - DBPLUS_ERR_LOCKED - (int) - - ERR_LOCKED - Relation was already locked - - - - DBPLUS_ERR_NOLOCK - (int) - - ERR_NOLOCK - Relation cannot be locked - - - - DBPLUS_ERR_READ - (int) - - ERR_READ - Read error on relation - - - - DBPLUS_ERR_WRITE - (int) - - ERR_WRITE - Write error on relation - - - - DBPLUS_ERR_CREATE - (int) - - ERR_CREATE - Create() system call failed - - - - DBPLUS_ERR_LSEEK - (int) - - ERR_LSEEK - Lseek() system call failed - - - - DBPLUS_ERR_LENGTH - (int) - - ERR_LENGTH - Tuple exceeds maximum length - - - - DBPLUS_ERR_OPEN - (int) - - ERR_OPEN - Open() system call failed - - - - DBPLUS_ERR_WOPEN - (int) - - ERR_WOPEN - Relation already opened for writing - - - - DBPLUS_ERR_MAGIC - (int) - - ERR_MAGIC - File is not a relation - - - - DBPLUS_ERR_VERSION - (int) - - ERR_VERSION - File is a very old relation - - - - DBPLUS_ERR_PGSIZE - (int) - - ERR_PGSIZE - Relation uses a different page size - - - - DBPLUS_ERR_CRC - (int) - - ERR_CRC - Invalid crc in the superpage - - - - DBPLUS_ERR_PIPE - (int) - - ERR_PIPE - Piped relation requires lseek() - - - - DBPLUS_ERR_NIDX - (int) - - ERR_NIDX - Too many secondary indices - - - - DBPLUS_ERR_MALLOC - (int) - - ERR_MALLOC - Malloc() call failed - - - - DBPLUS_ERR_NUSERS - (int) - - ERR_NUSERS - Error use of max users - - - - DBPLUS_ERR_PREEXIT - (int) - - ERR_PREEXIT - Caused by invalid usage - - - - DBPLUS_ERR_ONTRAP - (int) - - ERR_ONTRAP - Caused by a signal - - - - DBPLUS_ERR_PREPROC - (int) - - ERR_PREPROC - Error in the preprocessor - - - - DBPLUS_ERR_DBPARSE - (int) - - ERR_DBPARSE - Error in the parser - - - - DBPLUS_ERR_DBRUNERR - (int) - - ERR_DBRUNERR - Run error in db - - - - DBPLUS_ERR_DBPREEXIT - (int) - - ERR_DBPREEXIT - Exit condition caused by prexit() * procedure - - - - DBPLUS_ERR_WAIT - (int) - - ERR_WAIT - Wait a little (Simple only) - - - - DBPLUS_ERR_CORRUPT_TUPLE - (int) - - ERR_CORRUPT_TUPLE - A client sent a corrupt tuple - - - - DBPLUS_ERR_WARNING0 - (int) - - ERR_WARNING0 - - The Simple routines encountered a non fatal error which was - corrected - - - - - DBPLUS_ERR_PANIC - (int) - - ERR_PANIC - - The server should not really die but after a disaster - send ERR_PANIC to all its clients - - - - - DBPLUS_ERR_FIFO - (int) - - ERR_FIFO - Can't create a fifo - - - - DBPLUS_ERR_PERM - (int) - - ERR_PERM - Permission denied - - - - DBPLUS_ERR_TCL - (int) - - ERR_TCL - TCL_error - - - - DBPLUS_ERR_RESTRICTED - (int) - - ERR_RESTRICTED - Only two users - - - - DBPLUS_ERR_USER - (int) - - ERR_USER - - An error in the use of the library by an application - programmer - - - - - DBPLUS_ERR_UNKNOWN - (int) - - ERR_UNKNOWN - - - - -
-
-
- - - diff --git a/reference/dbplus/functions/dbplus-add.xml b/reference/dbplus/functions/dbplus-add.xml deleted file mode 100644 index a1d78e0ef8..0000000000 --- a/reference/dbplus/functions/dbplus-add.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - dbplus_add - Add a tuple to a relation - - - - &reftitle.description; - - - intdbplus_add - resourcerelation - arraytuple - - - Adds a tuple to a relation. - - - - - &reftitle.parameters; - - - - relation - - - - - - - tuple - - - An array of attribute/value pairs to be inserted into the given - relation. - - - After successful execution this array will contain the complete data - of the newly created tuple, including all implicitly set domain fields - like sequences. - - - - - - - - - &reftitle.returnvalues; - - The function will return DBPLUS_ERR_NOERR on success - or a db++ error code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_errcode - - - - - - - diff --git a/reference/dbplus/functions/dbplus-aql.xml b/reference/dbplus/functions/dbplus-aql.xml deleted file mode 100644 index d628c1951b..0000000000 --- a/reference/dbplus/functions/dbplus-aql.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - dbplus_aql - Perform AQL query - - - - &reftitle.description; - - resourcedbplus_aql - stringquery - stringserver - stringdbpath - - - Executes an AQL query on the given - server and dbpath. - - - - - &reftitle.parameters; - - - - query - - - The AQL query to be executed. Further information on the AQL (Algebraic - Query Language) is provided in the original db++ manual. - - - - - server - - - - - - - dbpath - - - - - - - - - - - &reftitle.returnvalues; - - Returns a relation handle on success. The result data may be fetched from - this relation by calling dbplus_next and - dbplus_curr. Other relation access functions will - not work on a result relation. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-chdir.xml b/reference/dbplus/functions/dbplus-chdir.xml deleted file mode 100644 index 3e0b1e4a3b..0000000000 --- a/reference/dbplus/functions/dbplus-chdir.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - dbplus_chdir - Get/Set database virtual current directory - - - - &reftitle.description; - - stringdbplus_chdir - stringnewdir - - - Changes the virtual current directory where relation files will be looked - for by dbplus_open. - - - - - &reftitle.parameters; - - - - newdir - - - The new directory for relation files. You can omit this parameter to - query the current working directory. - - - - - - - - - &reftitle.returnvalues; - - Returns the absolute path of the current directory. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-close.xml b/reference/dbplus/functions/dbplus-close.xml deleted file mode 100644 index 75a0d7ef08..0000000000 --- a/reference/dbplus/functions/dbplus-close.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - dbplus_close - Close a relation - - - - &reftitle.description; - - mixeddbplus_close - resourcerelation - - - Closes a relation previously opened by dbplus_open. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success or DBPLUS_ERR_UNKNOWN on - failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-curr.xml b/reference/dbplus/functions/dbplus-curr.xml deleted file mode 100644 index ff60f8c41a..0000000000 --- a/reference/dbplus/functions/dbplus-curr.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - dbplus_curr - Get current tuple from relation - - - - &reftitle.description; - - intdbplus_curr - resourcerelation - arraytuple - - - Reads the data for the current tuple for the given - relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - The data will be passed back in this parameter, as an associative - array. - - - - - - - - - &reftitle.returnvalues; - - The function will return zero (aka. DBPLUS_ERR_NOERR) on success - or a db++ error code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_first - dbplus_prev - dbplus_next - dbplus_last - dbplus_errcode - - - - - - - diff --git a/reference/dbplus/functions/dbplus-errcode.xml b/reference/dbplus/functions/dbplus-errcode.xml deleted file mode 100644 index 5c86f0fa93..0000000000 --- a/reference/dbplus/functions/dbplus-errcode.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - dbplus_errcode - Get error string for given errorcode or last error - - - - &reftitle.description; - - stringdbplus_errcode - interrno - - - Returns a clear error string for the given error code. - - - - - &reftitle.parameters; - - - - errno - - - The error code. If not provided, the result code of the last db++ - operation is assumed. - - - - - - - - - &reftitle.returnvalues; - - Returns the error message. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-errno.xml b/reference/dbplus/functions/dbplus-errno.xml deleted file mode 100644 index d526ff884a..0000000000 --- a/reference/dbplus/functions/dbplus-errno.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - dbplus_errno - Get error code for last operation - - - - &reftitle.description; - - intdbplus_errno - - - - Returns the error code returned by the last db++ operation. - - - - - &reftitle.returnvalues; - - Returns the error code, as an integer. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_errcode - - - - - - - diff --git a/reference/dbplus/functions/dbplus-find.xml b/reference/dbplus/functions/dbplus-find.xml deleted file mode 100644 index 67ef13f3b8..0000000000 --- a/reference/dbplus/functions/dbplus-find.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - dbplus_find - Set a constraint on a relation - - - - &reftitle.description; - - intdbplus_find - resourcerelation - arrayconstraints - mixedtuple - - - Places a constraint on the given relation. - - - Further calls to functions like dbplus_curr or - dbplus_next will only return tuples matching the - given constraints. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - constraints - - - Constraints are triplets of strings containing of a domain name, - a comparison operator and a comparison value. The - constraints parameter array may consist of - a collection of string arrays, each of which contains a domain, an - operator and a value, or of a single string array containing a - multiple of three elements. - - - The comparison operator may be one of the following strings: - '==', '>', '>=', '<', '<=', '!=', '~' for a regular - expression match and 'BAND' or 'BOR' for bitwise operations. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_unselect - - - - - - - diff --git a/reference/dbplus/functions/dbplus-first.xml b/reference/dbplus/functions/dbplus-first.xml deleted file mode 100644 index 8300bbd907..0000000000 --- a/reference/dbplus/functions/dbplus-first.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - dbplus_first - Get first tuple from relation - - - - &reftitle.description; - - intdbplus_first - resourcerelation - arraytuple - - - Reads the data for the first tuple for the given - relation, makes it the current tuple and pass it - back as an associative array in tuple. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_curr - dbplus_prev - dbplus_next - dbplus_last - dbplus_errcode - - - - - - - diff --git a/reference/dbplus/functions/dbplus-flush.xml b/reference/dbplus/functions/dbplus-flush.xml deleted file mode 100644 index ee59125539..0000000000 --- a/reference/dbplus/functions/dbplus-flush.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - dbplus_flush - Flush all changes made on a relation - - - - &reftitle.description; - - intdbplus_flush - resourcerelation - - - Writes all changes applied to relation since the - last flush to disk. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_errcode - - - - - - - diff --git a/reference/dbplus/functions/dbplus-freealllocks.xml b/reference/dbplus/functions/dbplus-freealllocks.xml deleted file mode 100644 index 36408ea1d3..0000000000 --- a/reference/dbplus/functions/dbplus-freealllocks.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - dbplus_freealllocks - Free all locks held by this client - - - - &reftitle.description; - - intdbplus_freealllocks - - - - Frees all tuple locks held by this client. - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_getlock - dbplus_freelock - dbplus_freerlocks - - - - - - - diff --git a/reference/dbplus/functions/dbplus-freelock.xml b/reference/dbplus/functions/dbplus-freelock.xml deleted file mode 100644 index d15db87bd8..0000000000 --- a/reference/dbplus/functions/dbplus-freelock.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - dbplus_freelock - Release write lock on tuple - - - - &reftitle.description; - - intdbplus_freelock - resourcerelation - stringtuple - - - Releases a write lock on the given tuple previously - obtained by dbplus_getlock. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_getlock - dbplus_freerlocks - dbplus_freealllocks - - - - - - - diff --git a/reference/dbplus/functions/dbplus-freerlocks.xml b/reference/dbplus/functions/dbplus-freerlocks.xml deleted file mode 100644 index 1d15c438ff..0000000000 --- a/reference/dbplus/functions/dbplus-freerlocks.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - dbplus_freerlocks - Free all tuple locks on given relation - - - - &reftitle.description; - - intdbplus_freerlocks - resourcerelation - - - Frees all tuple locks held on the given relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_getlock - dbplus_freelock - dbplus_freealllocks - - - - - - - diff --git a/reference/dbplus/functions/dbplus-getlock.xml b/reference/dbplus/functions/dbplus-getlock.xml deleted file mode 100644 index 51e6b0b143..0000000000 --- a/reference/dbplus/functions/dbplus-getlock.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - dbplus_getlock - Get a write lock on a tuple - - - - &reftitle.description; - - intdbplus_getlock - resourcerelation - stringtuple - - - Requests a write lock on the specified tuple. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - Returns zero on success or a non-zero error code, especially - DBPLUS_ERR_WLOCKED on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_freelock - dbplus_freerlocks - dbplus_freealllocks - - - - - - - diff --git a/reference/dbplus/functions/dbplus-getunique.xml b/reference/dbplus/functions/dbplus-getunique.xml deleted file mode 100644 index 28272797d0..0000000000 --- a/reference/dbplus/functions/dbplus-getunique.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - dbplus_getunique - Get an id number unique to a relation - - - - &reftitle.description; - - intdbplus_getunique - resourcerelation - intuniqueid - - - Obtains a number guaranteed to be unique for the given - relation and will pass it back in the variable - given as uniqueid. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - uniqueid - - - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-info.xml b/reference/dbplus/functions/dbplus-info.xml deleted file mode 100644 index 3a3ce27460..0000000000 --- a/reference/dbplus/functions/dbplus-info.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - dbplus_info - Get information about a relation - - - - &reftitle.description; - - intdbplus_info - resourcerelation - stringkey - arrayresult - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - key - - - - - - - result - - - - - - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-last.xml b/reference/dbplus/functions/dbplus-last.xml deleted file mode 100644 index 13c64b69d6..0000000000 --- a/reference/dbplus/functions/dbplus-last.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - dbplus_last - Get last tuple from relation - - - - &reftitle.description; - - intdbplus_last - resourcerelation - arraytuple - - - Reads the data for the last tuple for the given - relation, makes it the current tuple and pass it - back as an associative array in tuple. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_first - dbplus_curr - dbplus_prev - dbplus_next - - - - - - - diff --git a/reference/dbplus/functions/dbplus-lockrel.xml b/reference/dbplus/functions/dbplus-lockrel.xml deleted file mode 100644 index ff35fa8772..0000000000 --- a/reference/dbplus/functions/dbplus-lockrel.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - dbplus_lockrel - Request write lock on relation - - - - &reftitle.description; - - intdbplus_lockrel - resourcerelation - - - Requests a write lock on the given relation. - - - Other clients may still query the relation, but can't alter it while it is - locked. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-next.xml b/reference/dbplus/functions/dbplus-next.xml deleted file mode 100644 index acd393e3aa..0000000000 --- a/reference/dbplus/functions/dbplus-next.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - dbplus_next - Get next tuple from relation - - - - &reftitle.description; - - intdbplus_next - resourcerelation - arraytuple - - - Reads the data for the next tuple for the given - relation, makes it the current tuple and will pass - it back as an associative array in tuple. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_first - dbplus_curr - dbplus_prev - dbplus_last - - - - - - - diff --git a/reference/dbplus/functions/dbplus-open.xml b/reference/dbplus/functions/dbplus-open.xml deleted file mode 100644 index 945e3cccaa..0000000000 --- a/reference/dbplus/functions/dbplus-open.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - dbplus_open - Open relation file - - - - &reftitle.description; - - resourcedbplus_open - stringname - - - Opens the given relation file. - - - - - &reftitle.parameters; - - - - name - - - Can be either a file name or a relative or absolute path name. This - will be mapped in any case to an absolute relation file path on a - specific host machine and server. - - - - - - - - - &reftitle.returnvalues; - - On success a relation file resource (cursor) is returned which must - be used in any subsequent commands referencing the relation. - Failure leads to a zero return value, the actual error code may - be asked for by calling dbplus_errno. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-prev.xml b/reference/dbplus/functions/dbplus-prev.xml deleted file mode 100644 index 5834db9151..0000000000 --- a/reference/dbplus/functions/dbplus-prev.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - dbplus_prev - Get previous tuple from relation - - - - &reftitle.description; - - intdbplus_prev - resourcerelation - arraytuple - - - Reads the data for the previous tuple for the given - relation, makes it the current tuple and will pass - it back as an associative array in tuple. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - Returns DBPLUS_ERR_NOERR on success or a db++ error - code on failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_first - dbplus_curr - dbplus_next - dbplus_last - - - - - - - diff --git a/reference/dbplus/functions/dbplus-rchperm.xml b/reference/dbplus/functions/dbplus-rchperm.xml deleted file mode 100644 index 1b8efad20b..0000000000 --- a/reference/dbplus/functions/dbplus-rchperm.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - dbplus_rchperm - Change relation permissions - - - - &reftitle.description; - - intdbplus_rchperm - resourcerelation - intmask - stringuser - stringgroup - - - Changes access permissions as specified by mask, - user and group. The - values for these are operating system specific. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - mask - - - - - - - user - - - - - - - group - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rcreate.xml b/reference/dbplus/functions/dbplus-rcreate.xml deleted file mode 100644 index ca25c9e35f..0000000000 --- a/reference/dbplus/functions/dbplus-rcreate.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - dbplus_rcreate - Creates a new DB++ relation - - - - &reftitle.description; - - resourcedbplus_rcreate - stringname - mixeddomlist - booloverwrite - - - Creates a new relation. Any existing relation sharing the same - name will be overwritten if the relation is - currently not in use and overwrite is set to TRUE. - - - - - &reftitle.parameters; - - - - name - - - - - - - domlist - - - A combination of domains. May be passed as a single domain name string - or as an array of domain names. - - - This parameter should contain the domain specification for the new - relation within an array of domain description strings. A domain - description string consists of a domain name unique to this - relation, a slash and a type specification character. See the - db++ documentation, especially the dbcreate(1) manpage, for a - description of available type specifiers and their meanings. - - - - This function will also accept a string with space delimited domain - description strings, but it is recommended to use an array - - - - - - overwrite - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rcrtexact.xml b/reference/dbplus/functions/dbplus-rcrtexact.xml deleted file mode 100644 index 172555401e..0000000000 --- a/reference/dbplus/functions/dbplus-rcrtexact.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - dbplus_rcrtexact - Creates an exact but empty copy of a relation including indices - - - - &reftitle.description; - - mixeddbplus_rcrtexact - stringname - resourcerelation - booloverwrite - - - dbplus_rcrtexact will create an exact but - empty copy of the given relation under a - new name. - - - - - &reftitle.parameters; - - - - name - - - - - - - relation - - - The copied relation, opened by dbplus_open. - - - - - overwrite - - - An existing relation by the same name will only - be overwritten if this parameter is set to &true; and no other process - is currently using the relation. - - - - - - - - - &reftitle.returnvalues; - - Returns resource on success or DBPLUS_ERR_UNKNOWN on - failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rcrtlike.xml b/reference/dbplus/functions/dbplus-rcrtlike.xml deleted file mode 100644 index d06c7a4f92..0000000000 --- a/reference/dbplus/functions/dbplus-rcrtlike.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - dbplus_rcrtlike - Creates an empty copy of a relation with default indices - - - - &reftitle.description; - - mixeddbplus_rcrtlike - stringname - resourcerelation - intoverwrite - - - dbplus_rcrtexact will create an empty copy - of the given relation under a new - name, but with default indices. - - - - - &reftitle.parameters; - - - - name - - - - - - - relation - - - The copied relation, opened by dbplus_open. - - - - - overwrite - - - An existing relation by the same name will only - be overwritten if this parameter is set to &true; and no other process - is currently using the relation. - - - - - - - - - &reftitle.returnvalues; - - Returns resource on success or DBPLUS_ERR_UNKNOWN on - failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-resolve.xml b/reference/dbplus/functions/dbplus-resolve.xml deleted file mode 100644 index e349640509..0000000000 --- a/reference/dbplus/functions/dbplus-resolve.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - dbplus_resolve - Resolve host information for relation - - - - &reftitle.description; - - arraydbplus_resolve - stringrelation_name - - - dbplus_resolve will try to resolve the given - relation_name and find out internal server - id, real hostname and the database path on this host. - - - - - &reftitle.parameters; - - - - relation_name - - - The relation name. - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing these values under the keys - sid, host and - host_path or &false; on error. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_tcl - - - - - - - diff --git a/reference/dbplus/functions/dbplus-restorepos.xml b/reference/dbplus/functions/dbplus-restorepos.xml deleted file mode 100644 index 77b9e7e168..0000000000 --- a/reference/dbplus/functions/dbplus-restorepos.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - dbplus_restorepos - Restore position - - - - &reftitle.description; - - intdbplus_restorepos - resourcerelation - arraytuple - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rkeys.xml b/reference/dbplus/functions/dbplus-rkeys.xml deleted file mode 100644 index 77f5bbdfce..0000000000 --- a/reference/dbplus/functions/dbplus-rkeys.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - dbplus_rkeys - Specify new primary key for a relation - - - - &reftitle.description; - - mixeddbplus_rkeys - resourcerelation - mixeddomlist - - - dbplus_rkeys will replace the current - primary key for relation with the - combination of domains specified by domlist. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - domlist - - - A combination of domains. May be passed as a single domain name - string or as an array of domain names. - - - - - - - - - &reftitle.returnvalues; - - Returns resource on success or DBPLUS_ERR_UNKNOWN on - failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-ropen.xml b/reference/dbplus/functions/dbplus-ropen.xml deleted file mode 100644 index e6c6b94792..0000000000 --- a/reference/dbplus/functions/dbplus-ropen.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - dbplus_ropen - Open relation file local - - - - &reftitle.description; - - resourcedbplus_ropen - stringname - - - dbplus_ropen will open the relation - file locally for quick access without any - client/server overhead. Access is read only and only - dbplus_curr and - dbplus_next may be applied to the returned - relation. - - - - - &reftitle.parameters; - - - - name - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rquery.xml b/reference/dbplus/functions/dbplus-rquery.xml deleted file mode 100644 index 5dc0b3126a..0000000000 --- a/reference/dbplus/functions/dbplus-rquery.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - dbplus_rquery - Perform local (raw) AQL query - - - - &reftitle.description; - - resourcedbplus_rquery - stringquery - stringdbpath - - - dbplus_rquery performs a local (raw) AQL - query using an AQL interpreter embedded into the db++ client - library. dbplus_rquery is faster than - dbplus_aql but will work on local data only. - - - - - &reftitle.parameters; - - - - query - - - - - - - dbpath - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rrename.xml b/reference/dbplus/functions/dbplus-rrename.xml deleted file mode 100644 index 470ef02a65..0000000000 --- a/reference/dbplus/functions/dbplus-rrename.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - dbplus_rrename - Rename a relation - - - - &reftitle.description; - - intdbplus_rrename - resourcerelation - stringname - - - dbplus_rrename will change the name of - relation to name. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - name - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rsecindex.xml b/reference/dbplus/functions/dbplus-rsecindex.xml deleted file mode 100644 index 7720181937..0000000000 --- a/reference/dbplus/functions/dbplus-rsecindex.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - dbplus_rsecindex - Create a new secondary index for a relation - - - - &reftitle.description; - - mixeddbplus_rsecindex - resourcerelation - mixeddomlist - inttype - - - dbplus_rsecindex will create a new secondary - index for relation with consists of the - domains specified by domlist and is of - type type - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - domlist - - - A combination of domains. May be passed as a single domain name - string or as an array of domain names. - - - - - type - - - - - - - - - - - &reftitle.returnvalues; - - Returns resource on success or DBPLUS_ERR_UNKNOWN on - failure. - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-runlink.xml b/reference/dbplus/functions/dbplus-runlink.xml deleted file mode 100644 index e35b2e6503..0000000000 --- a/reference/dbplus/functions/dbplus-runlink.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - dbplus_runlink - Remove relation from filesystem - - - - &reftitle.description; - - intdbplus_runlink - resourcerelation - - - dbplus_runlink will close and remove the - relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-rzap.xml b/reference/dbplus/functions/dbplus-rzap.xml deleted file mode 100644 index 329eede6e5..0000000000 --- a/reference/dbplus/functions/dbplus-rzap.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - dbplus_rzap - Remove all tuples from relation - - - - &reftitle.description; - - intdbplus_rzap - resourcerelation - - - dbplus_rzap will remove all tuples from - relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-savepos.xml b/reference/dbplus/functions/dbplus-savepos.xml deleted file mode 100644 index af8e9dca2f..0000000000 --- a/reference/dbplus/functions/dbplus-savepos.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - dbplus_savepos - Save position - - - - &reftitle.description; - - intdbplus_savepos - resourcerelation - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-setindex.xml b/reference/dbplus/functions/dbplus-setindex.xml deleted file mode 100644 index 10fc76b994..0000000000 --- a/reference/dbplus/functions/dbplus-setindex.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - dbplus_setindex - Set index - - - - &reftitle.description; - - intdbplus_setindex - resourcerelation - stringidx_name - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - idx_name - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-setindexbynumber.xml b/reference/dbplus/functions/dbplus-setindexbynumber.xml deleted file mode 100644 index efe4c7cb71..0000000000 --- a/reference/dbplus/functions/dbplus-setindexbynumber.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - dbplus_setindexbynumber - Set index by number - - - - &reftitle.description; - - intdbplus_setindexbynumber - resourcerelation - intidx_number - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - idx_number - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-sql.xml b/reference/dbplus/functions/dbplus-sql.xml deleted file mode 100644 index 2f34923765..0000000000 --- a/reference/dbplus/functions/dbplus-sql.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - dbplus_sql - Perform SQL query - - - - &reftitle.description; - - resourcedbplus_sql - stringquery - stringserver - stringdbpath - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - query - - - - - - - server - - - - - - - dbpath - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-tcl.xml b/reference/dbplus/functions/dbplus-tcl.xml deleted file mode 100644 index 4a0dad4c4a..0000000000 --- a/reference/dbplus/functions/dbplus-tcl.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - dbplus_tcl - Execute TCL code on server side - - - - &reftitle.description; - - stringdbplus_tcl - intsid - stringscript - - - A db++ server will prepare a TCL interpreter for each client - connection. This interpreter will enable the server to execute - TCL code provided by the client as a sort of stored procedures to - improve the performance of database operations by avoiding - client/server data transfers and context switches. - - - dbplus_tcl needs to pass the client - connection id the TCL script code should - be executed by. dbplus_resolve will provide - this connection id. The function will return whatever the TCL - code returns or a TCL error message if the TCL code fails. - - - - - &reftitle.parameters; - - - - sid - - - - - - - script - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_resolve - - - - - - - diff --git a/reference/dbplus/functions/dbplus-tremove.xml b/reference/dbplus/functions/dbplus-tremove.xml deleted file mode 100644 index 1cc0a65c00..0000000000 --- a/reference/dbplus/functions/dbplus-tremove.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - dbplus_tremove - Remove tuple and return new current tuple - - - - &reftitle.description; - - intdbplus_tremove - resourcerelation - arraytuple - arraycurrent - - - dbplus_tremove removes - tuple from relation - if it perfectly matches a tuple within the - relation. current, if given, will contain - the data of the new current tuple after calling - dbplus_tremove. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - tuple - - - - - - - current - - - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-undo.xml b/reference/dbplus/functions/dbplus-undo.xml deleted file mode 100644 index 9965d147c9..0000000000 --- a/reference/dbplus/functions/dbplus-undo.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - dbplus_undo - Undo - - - - &reftitle.description; - - intdbplus_undo - resourcerelation - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-undoprepare.xml b/reference/dbplus/functions/dbplus-undoprepare.xml deleted file mode 100644 index 7e672cfce5..0000000000 --- a/reference/dbplus/functions/dbplus-undoprepare.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - dbplus_undoprepare - Prepare undo - - - - &reftitle.description; - - intdbplus_undoprepare - resourcerelation - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-unlockrel.xml b/reference/dbplus/functions/dbplus-unlockrel.xml deleted file mode 100644 index 4857e5b8be..0000000000 --- a/reference/dbplus/functions/dbplus-unlockrel.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - dbplus_unlockrel - Give up write lock on relation - - - - &reftitle.description; - - intdbplus_unlockrel - resourcerelation - - - Release a write lock previously obtained by - dbplus_lockrel. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-unselect.xml b/reference/dbplus/functions/dbplus-unselect.xml deleted file mode 100644 index cc9a4c5014..0000000000 --- a/reference/dbplus/functions/dbplus-unselect.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - dbplus_unselect - Remove a constraint from relation - - - - &reftitle.description; - - intdbplus_unselect - resourcerelation - - - Calling dbplus_unselect will remove a - constraint previously set by dbplus_find on - relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-update.xml b/reference/dbplus/functions/dbplus-update.xml deleted file mode 100644 index 95a8d72067..0000000000 --- a/reference/dbplus/functions/dbplus-update.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - dbplus_update - Update specified tuple in relation - - - - &reftitle.description; - - intdbplus_update - resourcerelation - arrayold - arraynew - - - dbplus_update replaces the old - tuple with the data from the new one, only if the - old completely matches a tuple within - relation. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - old - - - The old tuple. - - - - - new - - - The new tuple. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/functions/dbplus-xlockrel.xml b/reference/dbplus/functions/dbplus-xlockrel.xml deleted file mode 100644 index 1a385727ba..0000000000 --- a/reference/dbplus/functions/dbplus-xlockrel.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - dbplus_xlockrel - Request exclusive lock on relation - - - - &reftitle.description; - - intdbplus_xlockrel - resourcerelation - - - Request an exclusive lock on relation preventing - even read access from other clients. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - &reftitle.seealso; - - - dbplus_xunlockrel - - - - - - - diff --git a/reference/dbplus/functions/dbplus-xunlockrel.xml b/reference/dbplus/functions/dbplus-xunlockrel.xml deleted file mode 100644 index d43da04b04..0000000000 --- a/reference/dbplus/functions/dbplus-xunlockrel.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - dbplus_xunlockrel - Free exclusive lock on relation - - - - &reftitle.description; - - intdbplus_xunlockrel - resourcerelation - - - Releases an exclusive lock previously obtained by - dbplus_xlockrel. - - - - - &reftitle.parameters; - - - - relation - - - A relation opened by dbplus_open. - - - - - - - - - &reftitle.returnvalues; - - - - - - &reftitle.notes; - &warn.experimental.func; - - - - - diff --git a/reference/dbplus/reference.xml b/reference/dbplus/reference.xml deleted file mode 100644 index 78b17a9524..0000000000 --- a/reference/dbplus/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - DB++ &Functions; - - &reference.dbplus.entities.functions; - - - - diff --git a/reference/dbplus/setup.xml b/reference/dbplus/setup.xml deleted file mode 100644 index eefe40d2fc..0000000000 --- a/reference/dbplus/setup.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - - This extension relies on external client libraries so you have - to have a db++ client installed on the system you want to use - this extension on. - - - Concept asa provides - db++ Demo versions - and documentation - for Linux, some other Unix versions. There is also a Windows - version of db++, but this extension doesn't support it (yet). - -
- - - - &reference.dbplus.configure; - - - -
- &reftitle.runtime; - &no.config; -
- - - -
- &reftitle.resources; -
- dbplus_relation - - Most db++ functions operate on or return - dbplus_relation resources. A - dbplus_relation is a handle to a stored - relation or a relation generated as the result of a query. - -
-
- - -
- - - diff --git a/reference/dbplus/versions.xml b/reference/dbplus/versions.xml deleted file mode 100644 index 35365fa859..0000000000 --- a/reference/dbplus/versions.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 587f082034a26dd5abacf9bcbc117c110af35a2b Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 20:17:04 +0100 Subject: [PATCH 177/444] Remove filepro docs --- appendices/extensions.xml | 2 - install/windows/legacy/extensions.xml | 5 -- reference/filepro/book.xml | 51 ------------- reference/filepro/configure.xml | 33 --------- reference/filepro/constants.xml | 29 -------- .../filepro/functions/filepro-fieldcount.xml | 55 -------------- .../filepro/functions/filepro-fieldname.xml | 61 ---------------- .../filepro/functions/filepro-fieldtype.xml | 60 ---------------- .../filepro/functions/filepro-fieldwidth.xml | 60 ---------------- .../filepro/functions/filepro-retrieve.xml | 71 ------------------- .../filepro/functions/filepro-rowcount.xml | 54 -------------- reference/filepro/functions/filepro.xml | 65 ----------------- reference/filepro/reference.xml | 30 -------- reference/filepro/setup.xml | 54 -------------- reference/filepro/versions.xml | 35 --------- 15 files changed, 665 deletions(-) delete mode 100644 reference/filepro/book.xml delete mode 100644 reference/filepro/configure.xml delete mode 100644 reference/filepro/constants.xml delete mode 100644 reference/filepro/functions/filepro-fieldcount.xml delete mode 100644 reference/filepro/functions/filepro-fieldname.xml delete mode 100644 reference/filepro/functions/filepro-fieldtype.xml delete mode 100644 reference/filepro/functions/filepro-fieldwidth.xml delete mode 100644 reference/filepro/functions/filepro-retrieve.xml delete mode 100644 reference/filepro/functions/filepro-rowcount.xml delete mode 100644 reference/filepro/functions/filepro.xml delete mode 100644 reference/filepro/reference.xml delete mode 100644 reference/filepro/setup.xml delete mode 100644 reference/filepro/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 760c8fbd6c..75b44720eb 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -44,7 +44,6 @@ - @@ -328,7 +327,6 @@ - diff --git a/install/windows/legacy/extensions.xml b/install/windows/legacy/extensions.xml index e46f1c9168..22e6e1874b 100644 --- a/install/windows/legacy/extensions.xml +++ b/install/windows/legacy/extensions.xml @@ -173,11 +173,6 @@ extension=php_bz2.dll FDF: Forms Data Format functions. Requires: fdftk.dll (bundled) - - php_filepro.dll - filePro functions - Read-only access - php_ftp.dll FTP functions diff --git a/reference/filepro/book.xml b/reference/filepro/book.xml deleted file mode 100644 index 585b4b7016..0000000000 --- a/reference/filepro/book.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - filePro - - - - &reftitle.intro; - - These functions allow read-only access to data stored in filePro databases. - - - filePro is a registered trademark of fP Technologies, Inc. You can find more - information about filePro at &url.filepro;. - - - - &pecl.moved-ver;5.2.0. - - - - - - &reference.filepro.setup; - &reference.filepro.constants; - &reference.filepro.reference; - - - - - diff --git a/reference/filepro/configure.xml b/reference/filepro/configure.xml deleted file mode 100644 index 8af52dd4aa..0000000000 --- a/reference/filepro/configure.xml +++ /dev/null @@ -1,33 +0,0 @@ - - -
- &reftitle.install; - - &pecl.moved-ver;5.2.0 - - - &pecl.info; - &url.pecl.package;filepro. - -
- - diff --git a/reference/filepro/constants.xml b/reference/filepro/constants.xml deleted file mode 100644 index 49d24ee824..0000000000 --- a/reference/filepro/constants.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - - diff --git a/reference/filepro/functions/filepro-fieldcount.xml b/reference/filepro/functions/filepro-fieldcount.xml deleted file mode 100644 index 15a1a0f922..0000000000 --- a/reference/filepro/functions/filepro-fieldcount.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - filepro_fieldcount - Find out how many fields are in a filePro database - - - &reftitle.description; - - intfilepro_fieldcount - - - - Returns the number of fields (columns) in the opened filePro - database. - - - - &reftitle.returnvalues; - - Returns the number of fields in the opened filePro database, or &false; on - errors. - - - - &reftitle.seealso; - - - filepro - - - - - - diff --git a/reference/filepro/functions/filepro-fieldname.xml b/reference/filepro/functions/filepro-fieldname.xml deleted file mode 100644 index f31e7f87c1..0000000000 --- a/reference/filepro/functions/filepro-fieldname.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - filepro_fieldname - Gets the name of a field - - - &reftitle.description; - - stringfilepro_fieldname - intfield_number - - - Returns the name of the field corresponding to - field_number. - - - - &reftitle.parameters; - - - - field_number - - - The field number. - - - - - - - - &reftitle.returnvalues; - - Returns the name of the field as a string, or &false; on errors. - - - - - diff --git a/reference/filepro/functions/filepro-fieldtype.xml b/reference/filepro/functions/filepro-fieldtype.xml deleted file mode 100644 index bfb594e38b..0000000000 --- a/reference/filepro/functions/filepro-fieldtype.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - filepro_fieldtype - Gets the type of a field - - - &reftitle.description; - - stringfilepro_fieldtype - intfield_number - - - Returns the edit type of the field corresponding to field_number. - - - - &reftitle.parameters; - - - - field_number - - - The field number. - - - - - - - - &reftitle.returnvalues; - - Returns the edit type of the field as a string, or &false; on errors. - - - - - diff --git a/reference/filepro/functions/filepro-fieldwidth.xml b/reference/filepro/functions/filepro-fieldwidth.xml deleted file mode 100644 index 330d5706f4..0000000000 --- a/reference/filepro/functions/filepro-fieldwidth.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - filepro_fieldwidth - Gets the width of a field - - - &reftitle.description; - - intfilepro_fieldwidth - intfield_number - - - Returns the width of the field corresponding to field_number. - - - - &reftitle.parameters; - - - - field_number - - - The field number. - - - - - - - - &reftitle.returnvalues; - - Returns the width of the field as a integer, or &false; on errors. - - - - - diff --git a/reference/filepro/functions/filepro-retrieve.xml b/reference/filepro/functions/filepro-retrieve.xml deleted file mode 100644 index 55251bd8ae..0000000000 --- a/reference/filepro/functions/filepro-retrieve.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - filepro_retrieve - Retrieves data from a filePro database - - - &reftitle.description; - - stringfilepro_retrieve - introw_number - intfield_number - - - Returns the data from the specified location in the database. - - - - &reftitle.parameters; - - - - row_number - - - The row number. Must be between zero and the total number of rows - minus one (0..filepro_rowcount - 1) - - - - - field_number - - - The field number. Accepts values between zero and the total number of - fields minus one (0..filepro_fieldcount - 1) - - - - - - - - &reftitle.returnvalues; - - Returns the specified data, or &false; on errors. - - - - - diff --git a/reference/filepro/functions/filepro-rowcount.xml b/reference/filepro/functions/filepro-rowcount.xml deleted file mode 100644 index f8898ddc79..0000000000 --- a/reference/filepro/functions/filepro-rowcount.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - filepro_rowcount - Find out how many rows are in a filePro database - - - &reftitle.description; - - intfilepro_rowcount - - - - Returns the number of rows in the opened filePro database. - - - - &reftitle.returnvalues; - - Returns the number of rows in the opened filePro database, or &false; on - errors. - - - - &reftitle.seealso; - - - filepro - - - - - - diff --git a/reference/filepro/functions/filepro.xml b/reference/filepro/functions/filepro.xml deleted file mode 100644 index d05a2e4608..0000000000 --- a/reference/filepro/functions/filepro.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - filepro - Read and verify the map file - - - &reftitle.description; - - boolfilepro - stringdirectory - - - This reads and verifies the map file, storing the field count - and info. - - - No locking is done, so you should avoid modifying your filePro - database while it may be opened in PHP. - - - - &reftitle.parameters; - - - - directory - - - The map directory. - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - diff --git a/reference/filepro/reference.xml b/reference/filepro/reference.xml deleted file mode 100644 index 9a9f25672a..0000000000 --- a/reference/filepro/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - filePro &Functions; - -&reference.filepro.entities.functions; - - - - diff --git a/reference/filepro/setup.xml b/reference/filepro/setup.xml deleted file mode 100644 index 766344eb9b..0000000000 --- a/reference/filepro/setup.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - &no.requirement; -
- - - - &reference.filepro.configure; - - - -
- &reftitle.runtime; - &no.config; -
- - - -
- &reftitle.resources; - &no.resource; -
- - -
- - - diff --git a/reference/filepro/versions.xml b/reference/filepro/versions.xml deleted file mode 100644 index d524b3a63a..0000000000 --- a/reference/filepro/versions.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - From 38a3b0d5528efec26d14d1ef6b1cd0ce8c3e1fed Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 20:29:25 +0100 Subject: [PATCH 178/444] Remove Ingres docs --- appendices/extensions.xml | 2 - appendices/ini.list.xml | 1 - appendices/resources.xml | 54 --- install/windows/legacy/extensions.xml | 5 - reference/ingres-ii/book.xml | 50 --- reference/ingres-ii/configure.xml | 83 ---- reference/ingres-ii/constants.xml | 424 ------------------ reference/ingres-ii/examples.xml | 75 ---- .../functions/ingres-autocommit-state.xml | 76 ---- .../ingres-ii/functions/ingres-autocommit.xml | 94 ---- .../ingres-ii/functions/ingres-charset.xml | 104 ----- .../ingres-ii/functions/ingres-close.xml | 80 ---- .../ingres-ii/functions/ingres-commit.xml | 90 ---- .../ingres-ii/functions/ingres-connect.xml | 314 ------------- .../ingres-ii/functions/ingres-cursor.xml | 100 ----- .../ingres-ii/functions/ingres-errno.xml | 114 ----- .../ingres-ii/functions/ingres-error.xml | 114 ----- .../functions/ingres-errsqlstate.xml | 115 ----- .../functions/ingres-escape-string.xml | 115 ----- .../ingres-ii/functions/ingres-execute.xml | 186 -------- .../functions/ingres-fetch-array.xml | 161 ------- .../functions/ingres-fetch-assoc.xml | 126 ------ .../functions/ingres-fetch-object.xml | 131 ------ .../functions/ingres-fetch-proc-return.xml | 122 ----- .../ingres-ii/functions/ingres-fetch-row.xml | 125 ------ .../functions/ingres-field-length.xml | 112 ----- .../ingres-ii/functions/ingres-field-name.xml | 111 ----- .../functions/ingres-field-nullable.xml | 110 ----- .../functions/ingres-field-precision.xml | 112 ----- .../functions/ingres-field-scale.xml | 112 ----- .../ingres-ii/functions/ingres-field-type.xml | 119 ----- .../functions/ingres-free-result.xml | 98 ---- .../ingres-ii/functions/ingres-next-error.xml | 81 ---- .../ingres-ii/functions/ingres-num-fields.xml | 79 ---- .../ingres-ii/functions/ingres-num-rows.xml | 99 ---- .../ingres-ii/functions/ingres-pconnect.xml | 118 ----- .../ingres-ii/functions/ingres-prepare.xml | 196 -------- .../ingres-ii/functions/ingres-query.xml | 335 -------------- .../functions/ingres-result-seek.xml | 137 ------ .../ingres-ii/functions/ingres-rollback.xml | 81 ---- .../functions/ingres-set-environment.xml | 236 ---------- .../functions/ingres-unbuffered-query.xml | 224 --------- reference/ingres-ii/ini.xml | 391 ---------------- reference/ingres-ii/reference.xml | 30 -- reference/ingres-ii/setup.xml | 61 --- reference/ingres-ii/versions.xml | 62 --- 46 files changed, 5765 deletions(-) delete mode 100644 reference/ingres-ii/book.xml delete mode 100644 reference/ingres-ii/configure.xml delete mode 100644 reference/ingres-ii/constants.xml delete mode 100644 reference/ingres-ii/examples.xml delete mode 100644 reference/ingres-ii/functions/ingres-autocommit-state.xml delete mode 100644 reference/ingres-ii/functions/ingres-autocommit.xml delete mode 100644 reference/ingres-ii/functions/ingres-charset.xml delete mode 100644 reference/ingres-ii/functions/ingres-close.xml delete mode 100644 reference/ingres-ii/functions/ingres-commit.xml delete mode 100644 reference/ingres-ii/functions/ingres-connect.xml delete mode 100644 reference/ingres-ii/functions/ingres-cursor.xml delete mode 100644 reference/ingres-ii/functions/ingres-errno.xml delete mode 100644 reference/ingres-ii/functions/ingres-error.xml delete mode 100644 reference/ingres-ii/functions/ingres-errsqlstate.xml delete mode 100644 reference/ingres-ii/functions/ingres-escape-string.xml delete mode 100644 reference/ingres-ii/functions/ingres-execute.xml delete mode 100644 reference/ingres-ii/functions/ingres-fetch-array.xml delete mode 100644 reference/ingres-ii/functions/ingres-fetch-assoc.xml delete mode 100644 reference/ingres-ii/functions/ingres-fetch-object.xml delete mode 100644 reference/ingres-ii/functions/ingres-fetch-proc-return.xml delete mode 100644 reference/ingres-ii/functions/ingres-fetch-row.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-length.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-name.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-nullable.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-precision.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-scale.xml delete mode 100644 reference/ingres-ii/functions/ingres-field-type.xml delete mode 100644 reference/ingres-ii/functions/ingres-free-result.xml delete mode 100644 reference/ingres-ii/functions/ingres-next-error.xml delete mode 100644 reference/ingres-ii/functions/ingres-num-fields.xml delete mode 100644 reference/ingres-ii/functions/ingres-num-rows.xml delete mode 100644 reference/ingres-ii/functions/ingres-pconnect.xml delete mode 100644 reference/ingres-ii/functions/ingres-prepare.xml delete mode 100644 reference/ingres-ii/functions/ingres-query.xml delete mode 100644 reference/ingres-ii/functions/ingres-result-seek.xml delete mode 100644 reference/ingres-ii/functions/ingres-rollback.xml delete mode 100644 reference/ingres-ii/functions/ingres-set-environment.xml delete mode 100644 reference/ingres-ii/functions/ingres-unbuffered-query.xml delete mode 100644 reference/ingres-ii/ini.xml delete mode 100644 reference/ingres-ii/reference.xml delete mode 100644 reference/ingres-ii/setup.xml delete mode 100644 reference/ingres-ii/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 75b44720eb..04ba4b4d3f 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -65,7 +65,6 @@ - @@ -334,7 +333,6 @@ - diff --git a/appendices/ini.list.xml b/appendices/ini.list.xml index d9e751e852..60e022a5eb 100644 --- a/appendices/ini.list.xml +++ b/appendices/ini.list.xml @@ -484,7 +484,6 @@
- last_modified "0" diff --git a/appendices/resources.xml b/appendices/resources.xml index e470e0bbea..5a29b10b7c 100644 --- a/appendices/resources.xml +++ b/appendices/resources.xml @@ -802,60 +802,6 @@ Link to IMAP, POP3 server - - ingres - - ingres_connect - - - ingres_query, - ingres_num_rows, - ingres_num_fields, - ingres_field_name, - ingres_field_type, - ingres_field_nullable, - ingres_field_length, - ingres_field_precision, - ingres_field_scale, - ingres_fetch_array, - ingres_fetch_row, - ingres_fetch_object, - ingres_rollback, - ingres_commit, - ingres_autocommit - - - ingres_close - - Link to ingresII base - - - ingres persistent - - ingres_pconnect - - - ingres_query, - ingres_num_rows, - ingres_num_fields, - ingres_field_name, - ingres_field_type, - ingres_field_nullable, - ingres_field_length, - ingres_field_precision, - ingres_field_scale, - ingres_fetch_array, - ingres_fetch_row, - ingres_fetch_object, - ingres_rollback, - ingres_commit, - ingres_autocommit - - - None - - Persistent link to ingresII base - interbase blob diff --git a/install/windows/legacy/extensions.xml b/install/windows/legacy/extensions.xml index 22e6e1874b..fe76468b75 100644 --- a/install/windows/legacy/extensions.xml +++ b/install/windows/legacy/extensions.xml @@ -214,11 +214,6 @@ extension=php_bz2.dll IMAP POP3 and NNTP functions None - - php_ingres.dll - Ingres functions - Requires: Ingres libraries - php_interbase.dll InterBase functions diff --git a/reference/ingres-ii/book.xml b/reference/ingres-ii/book.xml deleted file mode 100644 index 22605a6d8d..0000000000 --- a/reference/ingres-ii/book.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - Ingres DBMS, EDBC, and Enterprise Access Gateways - Ingres - - - - &reftitle.intro; - - The Ingres driver for PHP enables you to connect to and query the Ingres - DBMS, EDBC, and Enterprise Access Gateways. - - - - &pecl.moved-ver;5.1.0. - - - - - - &reference.ingres-ii.setup; - &reference.ingres-ii.constants; - &reference.ingres-ii.examples; - &reference.ingres-ii.reference; - - - - - diff --git a/reference/ingres-ii/configure.xml b/reference/ingres-ii/configure.xml deleted file mode 100644 index 1605fabce4..0000000000 --- a/reference/ingres-ii/configure.xml +++ /dev/null @@ -1,83 +0,0 @@ - - -
- &reftitle.install; - - &pecl.moved; - &pecl.info; - &url.pecl.package;ingres. - - - You can download the DLL for this PECL extension from &url.ingres.peclext;. - - - To have these functions available, you must download and compile - this extension, enabling Ingres support using the - option, where DIR is - the Ingres base directory. If the II_SYSTEM environment variable is not - set correctly you may need to use - - to specify your Ingres installation directory. - - - PHP code written for version 2.x and later is not backward-compatible with - earlier versions of this PHP extension. However, it is possible to run two - incompatible releases within the same PHP environment using the option. This configuration option - renames the extension to ingres2, changing function names, configuration - settings, and constants. For example, with this option enabled, - ingres_connect becomes - ingres2_connect. - - - To use this extension the system environment variable II_SYSTEM must be - defined. Linux and UNIX users will also need to define the shared library - search path, for example, LD_LIBRARY_PATH. When used with the Apache web server - these variables must be - set explicitly in the startup script for Apache. In addition, the PassEnv - directive is required for the Ingres extension to load the correct shared - libraries. For example: - - - Example usage of PassEnv for Ingres - - - PassEnv II_SYSTEM - PassEnv LD_LIBRARY_PATH - -]]> - - - - - For example configurations for different web servers and operating - systems see &url.ingres.wiki;Ingres_Articles#Ingres_and_Web_Servers. - - - -
- - diff --git a/reference/ingres-ii/constants.xml b/reference/ingres-ii/constants.xml deleted file mode 100644 index 98f8f8f861..0000000000 --- a/reference/ingres-ii/constants.xml +++ /dev/null @@ -1,424 +0,0 @@ - - - - &reftitle.constants; - &extension.constants; - - - - INGRES_ASSOC - (int) - - - - Columns are returned into the array having the fieldname as the array - index. Used with ingres_fetch_array. - - - - - - INGRES_NUM - (int) - - - - Columns are returned into the array having a numerical index to the - fields. By default this index starts at 1, the first field in the result. - To change this value, see ingres.array_index_start. - Used with ingres_fetch_array. - - - - - - INGRES_BOTH - (int) - - - - Columns are returned into the array having both a numerical index and - the fieldname as the array index. Used with - ingres_fetch_array. - - - - - - INGRES_EXT_VERSION - (string) - - - - Specifies the version of the Ingres Extension. Available since version 1.2.0 of the PECL extension. - - - - - - INGRES_API_VERSION - (int) - - - - Specifies the version of Ingres OpenAPI that the extension was built against. Available since version 1.2.0 of the PECL extension. - - - - - - INGRES_CURSOR_READONLY - (int) - - - - Specifies that Ingres cursors should be opened in "readonly" mode. - Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode. - - - - - - INGRES_CURSOR_UPDATE - (int) - - - - Specifies that Ingres cursors should be opened "for update." - Available since version 1.2.0 of the PECL extension. Used with ingres.cursor_mode. - - - - - - INGRES_DATE_MULTINATIONAL - (int) - - - - Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL. Available - since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_MULTINATIONAL4 - (int) - - - - Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL4. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_FINNISH - (int) - - - - Equivalent to the II_DATE_FORMAT setting of FINNISH. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_ISO - (int) - - - - Equivalent to the II_DATE_FORMAT setting of ISO. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_ISO4 - (int) - - - - Equivalent to the II_DATE_FORMAT setting of ISO4. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_GERMAN - (int) - - - - Equivalent to the II_DATE_FORMAT setting of GERMAN. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_MDY - (int) - - - - Equivalent to the II_DATE_FORMAT setting of MDY. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_DMY - (int) - - - - Equivalent to the II_DATE_FORMAT setting of DMY. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_DATE_YMD - (int) - - - - Equivalent to the II_DATE_FORMAT setting of YMD. Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_MONEY_LEADING - (int) - - - - Specifies the currency character that should be placed at the start of a money - value. Equivalent to setting II_MONEY_FORMAT to "L:". Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_MONEY_TRAILING - (int) - - - - Specifies the currency character that should be placed at the end of a money - value. Equivalent to setting II_MONEY_FORMAT to "T:". Available since version 1.2.0 of the PECL extension. - Used with - ingres_connect, ingres_pconnect - and ingres_set_environment. See options - in ingres_set_environment. - - - - - - INGRES_STRUCTURE_BTREE - (int) - - - - Specifies the default table or index structure to BTREE when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_CBTREE - (int) - - - - Specifies the default table or index structure to COMPRESSED BTREE when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_HASH - (int) - - - - Specifies the default table or index structure to HASH when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_CHASH - (int) - - - - Specifies the default table or index structure to COMPRESSED HASH when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_HEAP - (int) - - - - Specifies the default table structure to HEAP when used in combination with the - options option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_CHEAP - (int) - - - - Specifies the default table structure to COMPRESSED HEAP when used in combination with the - options option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_ISAM - (int) - - - - Specifies the default table or index structure to ISAM when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - INGRES_STRUCTURE_CISAM - (int) - - - - Specifies the default table or index structure to COMPRESSED ISAM when used in combination with the - options or index_structure option when connecting. Available since version 1.4.0 of the PECL extension. - Used with ingres_connect and - ingres_pconnect. See options - in ingres_connect. - - - - - - - diff --git a/reference/ingres-ii/examples.xml b/reference/ingres-ii/examples.xml deleted file mode 100644 index 4961a83564..0000000000 --- a/reference/ingres-ii/examples.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - &reftitle.examples; -
- Basic usage - - The following simple example shows how to connect to an Ingres database, - execute a query, print - resulting rows and disconnect from the database. - - Simple Ingres Example - -\n"; -while ($iitables = ingres_fetch_object($result)) { - echo "\t\n"; - echo "\t\t" . $iitables->relid . "\n"; - echo "\t\t" . $iitables->relowner . "\n"; - echo "\t\n"; -} -echo "\n"; - -// Free results -ingres_free_result($result); - -// Commit transaction -ingres_commit($link); - -// Closing connection -ingres_close($link); -?> -]]> - - - -
-
- - - diff --git a/reference/ingres-ii/functions/ingres-autocommit-state.xml b/reference/ingres-ii/functions/ingres-autocommit-state.xml deleted file mode 100644 index d6933615cc..0000000000 --- a/reference/ingres-ii/functions/ingres-autocommit-state.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ingres_autocommit_state - Test if the connection is using autocommit - - - - &reftitle.description; - - boolingres_autocommit_state - resourcelink - - - ingres_autocommit_state is called to determine whether - the current link has autocommit enabled or not. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - Returns &true; if autocommit is enabled or &false; when autocommit is - disabled - - - - - &reftitle.seealso; - - - ingres_autocommit - ingres_query - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-autocommit.xml b/reference/ingres-ii/functions/ingres-autocommit.xml deleted file mode 100644 index 0eedb4c2c0..0000000000 --- a/reference/ingres-ii/functions/ingres-autocommit.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - ingres_autocommit - Switch autocommit on or off - - - - &reftitle.description; - - boolingres_autocommit - resourcelink - - - ingres_autocommit is called before opening a - transaction (before the first call to - ingres_query or just after a call to - ingres_rollback or - ingres_commit) to switch the - autocommit mode of the server on or off (when the script begins - the autocommit mode is off). - - - When autocommit mode is on, every query is automatically - committed by the server, as if ingres_commit - was called after every call to ingres_query. - To see if autocommit is enabled use, - ingres_autocommit_state. - - - By default Ingres will rollback any uncommitted transactions at the end of - a request. Use this function or ingres_commit to - ensure your data is committed to the database. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - ingres_autocommit_state - ingres_query - ingres_rollback - ingres_commit - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-charset.xml b/reference/ingres-ii/functions/ingres-charset.xml deleted file mode 100644 index dec1d4aab1..0000000000 --- a/reference/ingres-ii/functions/ingres-charset.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - ingres_charset - Returns the installation character set - - - - &reftitle.description; - - stringingres_charset - resourcelink - - - ingres_charset is called to determine the character - set being used by the Ingres client, from II_CHARSETxx (where xx is the - installation code). - - - - You can override the value returned by using the function - putenv. Changing the value of II_CHARSETxx in a - running Ingres installation can cause data corruption. - - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - Returns a string with the value for II_CHARSETxx or returns NULL if the value - could not be determined. - - - - - &reftitle.examples; - - - <function>ingres_charset</function> - Get the installation character set - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_connect - ingres_query - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-close.xml b/reference/ingres-ii/functions/ingres-close.xml deleted file mode 100644 index e18855af88..0000000000 --- a/reference/ingres-ii/functions/ingres-close.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - ingres_close - Close an Ingres database connection - - - - &reftitle.description; - - boolingres_close - resourcelink - - - ingres_close closes the connection to - the Ingres server that is associated with the specified link. - - - ingres_close is usually unnecessary, as it - will not close persistent connections and all non-persistent connections - are automatically closed at the end of the script. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - ingres_connect - ingres_pconnect - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-commit.xml b/reference/ingres-ii/functions/ingres-commit.xml deleted file mode 100644 index c01ffa2e9c..0000000000 --- a/reference/ingres-ii/functions/ingres-commit.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - ingres_commit - Commit a transaction - - - - &reftitle.description; - - boolingres_commit - resourcelink - - - ingres_commit commits the currently open - transaction, making all changes made to the database permanent. - - - This closes the transaction. A new transaction can be opened by sending a - query with ingres_query. - - - You can also have the server commit automatically after every - query by calling ingres_autocommit before - opening the transaction. - - - By default Ingres will roll back any uncommitted transactions at the end of - a request. Use this function or ingres_autocommit to - ensure your that data is committed to the database. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - ingres_query - ingres_rollback - ingres_autocommit - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-connect.xml b/reference/ingres-ii/functions/ingres-connect.xml deleted file mode 100644 index 4964b642f5..0000000000 --- a/reference/ingres-ii/functions/ingres-connect.xml +++ /dev/null @@ -1,314 +0,0 @@ - - - - - ingres_connect - Open a connection to an Ingres database - - - - &reftitle.description; - - resourcefalseingres_connect - stringdatabase - stringusername - stringpassword - arrayoptions - - - ingres_connect opens a connection with the - given Ingres database. - - - The connection is closed when the script ends or when - ingres_close is called on this link. - - - - - &reftitle.parameters; - - If some parameters are missing, ingres_connect - uses the values in &php.ini; for - ingres.default_database, - ingres.default_user and - ingres.default_password. - - - - - database - - - The database name. Must follow the syntax: - - - [vnode::]dbname[/svr_class] - - - - - username - - - The Ingres user name - - - - - password - - - The password associated with username - - - - - options - - - ingres_connect options - - - - - Option name - Option type - Description - Example - - - - - date_century_boundary - int - The threshold by which a 2-digit year is determined to be in - the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY. - 50 - - - group - string - Specifies the group ID of the user, equivalent to the "-G" - flag - payroll - - - role - string - The role ID of the application. If a role password is - required, the parameter value should be specified as "role/password" - - - effective_user - string - The ingres user account being impersonated, equivalent to the "-u" flag - another_user - - - dbms_password - string - The internal database password for the user connecting to Ingres - s3cr3t - - - table_structure - string - - The default structure for new tables. - Valid values for table_structure are: - - INGRES_STRUCTURE_BTREE - INGRES_STRUCTURE_HASH - INGRES_STRUCTURE_HEAP - INGRES_STRUCTURE_ISAM - INGRES_STRUCTURE_CBTREE - INGRES_STRUCTURE_CISAM - INGRES_STRUCTURE_CHASH - INGRES_STRUCTURE_CHEAP - - - - INGRES_STRUCTURE_BTREE - - - index_structure - string - - The default structure for new secondary indexes. Valid values - for index_structure are: - - INGRES_STRUCTURE_CBTREE - INGRES_STRUCTURE_CISAM - INGRES_STRUCTURE_CHASH - INGRES_STRUCTURE_BTREE - INGRES_STRUCTURE_HASH - INGRES_STRUCTURE_ISAM - - - - INGRES_STRUCTURE_HASH - - - login_local - bool - Determines how the connection user ID and password are - used when a VNODE is included in the target database string. - If set to TRUE, the user ID and password are used to locally access - the VNODE, and the VNODE login information is used to establish the DBMS - connection. If set to FALSE, the process user ID is used to access - the VNODE, and the connection user ID and password are used in place - of the VNODE login information to establish the DBMS connection. - This parameter is ignored if no VNODE is included in the target - database string. The default is FALSE. - TRUE - - - timezone - string - Controls the timezone of the session. If not set it will - default to the value defined by II_TIMEZONE_NAME. If - II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight - Savings) is used. - - - date_format - int - Sets the allowable input and output format for Ingres dates. - Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is - not set the default date format is US, e.g. mm/dd/yy. Valid values - for date_format are: - - INGRES_DATE_DMY - INGRES_DATE_FINISH - INGRES_DATE_GERMAN - INGRES_DATE_ISO - INGRES_DATE_ISO4 - INGRES_DATE_MDY - INGRES_DATE_MULTINATIONAL - INGRES_DATE_MULTINATIONAL4 - INGRES_DATE_YMD - INGRES_DATE_US - - - - INGRES_DATE_MULTINATIONAL4 - - - decimal_separator - string - The character identifier for decimal data - "," - - - money_lort - int - Leading or trailing currency sign. Valid values for money_lort - are: - - INGRES_MONEY_LEADING - INGRES_MONEY_TRAILING - - - - INGRES_MONEY_TRAILING - - - money_sign - string - The currency symbol to be used with the MONEY datatype - - - - money_precision - int - The precision of the MONEY datatype - 3 - - - float4_precision - int - Precision of the FLOAT4 datatype - 10 - - - float8_precision - int - Precision of the FLOAT8 data - 10 - - - blob_segment_length - int - The amount of data in bytes to fetch at a time when retrieving - BLOB or CLOB data, defaults to 4096 bytes when not explicitly set - 8192 - - - - - - - - - - - - - &reftitle.returnvalues; - - Returns a Ingres link resource on success&return.falseforfailure; - - - - - &reftitle.examples; - - - Open a connection to an Ingres database - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_pconnect - ingres_close - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-cursor.xml b/reference/ingres-ii/functions/ingres-cursor.xml deleted file mode 100644 index 24533fe33f..0000000000 --- a/reference/ingres-ii/functions/ingres-cursor.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - ingres_cursor - Get a cursor name for a given result resource - - - - &reftitle.description; - - stringingres_cursor - resourceresult - - - Returns a string with the active cursor name. If no cursor is active then - NULL is returned. - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - - - - - &reftitle.returnvalues; - - Returns a string containing the active cursor name. If no cursor is - active then NULL is returned. - - - - - - &reftitle.examples; - - - Get cursor name for a query resource - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_prepare - ingres_execute - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-errno.xml b/reference/ingres-ii/functions/ingres-errno.xml deleted file mode 100644 index abad6863bf..0000000000 --- a/reference/ingres-ii/functions/ingres-errno.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - ingres_errno - Get the last Ingres error number generated - - - - &reftitle.description; - - intingres_errno - resourcelink - - - Returns an integer containing the last error number. If no error was - reported 0 is returned. - - - If a link resource is passed to - ingres_errno it returns the last error recorded for - the link. If no link is passed, then ingres_errno - returns the last error reported using the default link. - - - The function, ingres_errno, should always be called - after executing a database query. Calling another function before - ingres_errno is called will reset or change any - error code from the last Ingres function call. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - Returns an integer containing the last error number. If no error was - reported, 0 is returned. - - - - - - &reftitle.examples; - - - Get the last Ingres error number generated - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_error - ingres_errsqlstate - ingres_next_error - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-error.xml b/reference/ingres-ii/functions/ingres-error.xml deleted file mode 100644 index d3f6e3ea3d..0000000000 --- a/reference/ingres-ii/functions/ingres-error.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - ingres_error - Get a meaningful error message for the last error generated - - - - &reftitle.description; - - stringingres_error - resourcelink - - - Returns a string containing the last error, or NULL if no error has - occurred. - - - If a link resource is passed to - ingres_error, it returns the last error recorded for - the link. If no link is passed then ingres_error - returns the last error reported using the default link. - - - The function, ingres_error, should always be called - after executing any database query. Calling another function before - ingres_error is called will reset or change any - error message from the last Ingres function call. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - Returns a string containing the last error, or NULL if no error has - occurred. - - - - - - &reftitle.examples; - - - Get a message for the last error generated - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_errno - ingres_errsqlstate - ingres_next_error - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-errsqlstate.xml b/reference/ingres-ii/functions/ingres-errsqlstate.xml deleted file mode 100644 index f6804d6f9d..0000000000 --- a/reference/ingres-ii/functions/ingres-errsqlstate.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - ingres_errsqlstate - Get the last SQLSTATE error code generated - - - - &reftitle.description; - - stringingres_errsqlstate - resourcelink - - - Returns a string containing the last SQLSTATE, or NULL if no error has - occurred. - - - If a link resource is passed to - ingres_errsqlstate, it returns the last error - recorded for the link. If no link is passed, then - ingres_errsqlstate returns the last error reported - using the default link. - - - The function, ingres_errsqlstate, should always be - called after executing any database query. Calling another function - before ingres_errsqlstate is called will reset or - change any error message from the last Ingres function call. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - Returns a string containing the last SQLSTATE, or NULL if no error has - occurred. - - - - - - &reftitle.examples; - - - Get the last SQLSTATE error code generated - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_errno - ingres_error - ingres_next_error - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-escape-string.xml b/reference/ingres-ii/functions/ingres-escape-string.xml deleted file mode 100644 index 9cdd77018b..0000000000 --- a/reference/ingres-ii/functions/ingres-escape-string.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - ingres_escape_string - Escape special characters for use in a query - - - - &reftitle.description; - - stringingres_escape_string - resourcelink - stringsource_string - - - ingres_escape_string is used to escape certain - characters within a string before it is sent to the database server. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - source_string - - - The source string to be parsed - - - - - - - - - &reftitle.returnvalues; - - Returns a string containing the escaped data. - - - - - &reftitle.examples; - - - Escape special characters for use in a query - -up_first . '
'; -} - -ingres_commit($link); - -ingres_close($link); - -?> -]]> -
-
-
-
- - - &reftitle.seealso; - - - ingres_query - - - - -
- - diff --git a/reference/ingres-ii/functions/ingres-execute.xml b/reference/ingres-ii/functions/ingres-execute.xml deleted file mode 100644 index f2ea6bde66..0000000000 --- a/reference/ingres-ii/functions/ingres-execute.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - - ingres_execute - Execute a prepared query - - - - &reftitle.description; - - boolingres_execute - resourceresult - arrayparams - stringtypes - - - Execute a query prepared using ingres_prepare. - - - - Related Configurations - - See also the ingres.describe, - ingres.scrollable and - ingres.utf8 directives in - Runtime Configuration. - - - - - - &reftitle.parameters; - - - - result - - - The result query identifier - - - - - params - - - An array of parameter values to be used with the query - - - - - types - - - A string containing a sequence of types for the parameter values - passed. See the types parameter in - ingres_query for the list of type codes. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - &reftitle.seealso; - - - ingres_unbuffered_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - ingres_commit - ingres_rollback - ingres_autocommit - ingres_set_environment - ingres_errno - ingres_error - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-fetch-array.xml b/reference/ingres-ii/functions/ingres-fetch-array.xml deleted file mode 100644 index 478ad253d4..0000000000 --- a/reference/ingres-ii/functions/ingres-fetch-array.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - ingres_fetch_array - Fetch a row of result into an array - - - - &reftitle.description; - - arrayingres_fetch_array - resourceresult - intresult_type - - - This function is an extended version of - ingres_fetch_row. In addition to storing - the data in the numeric indices of the result array, it also - stores the data in associative indices, using the field names as - keys. - - - If two or more columns of the result have the same field names, - the last column will take precedence. To access the another - column or columns of the same name, you must use the numeric index of the - column or make an alias for the column. For example: - - - -]]> - - - - - With regard to speed, the function is identical to - ingres_fetch_object, and almost as quick as - ingres_fetch_row (the difference is - insignificant). - - - By default, arrays created by ingres_fetch_array start - from position 1 and not 0 as with other DBMS extensions. The starting position - can be adjusted to 0 using the configuration parameter ingres.array_index_start. - - - Related Configurations - - See also the ingres.array_index_start, ingres.fetch_buffer_size - and ingres.utf8 - directives in Runtime - Configuration. - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - result_type - - - The result type. This result_type can be INGRES_NUM for - enumerated array, INGRES_ASSOC for associative array, or - INGRES_BOTH (default). - - - - - - - - - &reftitle.returnvalues; - - Returns an array that corresponds to the fetched row, - or &false; if there are no more rows - - - - - &reftitle.examples; - - - Fetch a row of result into an array - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - ingres_num_fields - ingres_field_name - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-fetch-assoc.xml b/reference/ingres-ii/functions/ingres-fetch-assoc.xml deleted file mode 100644 index 4566357a6d..0000000000 --- a/reference/ingres-ii/functions/ingres-fetch-assoc.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - ingres_fetch_assoc - Fetch a row of result into an associative array - - - - &reftitle.description; - - arrayingres_fetch_assoc - resourceresult - - - This function is stores the data fetched from a query executed using - ingres_query in an associative array, using the - field names as keys. - - - With regard to speed, the function is identical to - ingres_fetch_object, and almost as quick as - ingres_fetch_row (the difference is - insignificant). - - - By default, arrays created by ingres_fetch_assoc start - from position 1 and not 0 as with other DBMS extensions. The starting position - can be adjusted to 0 using the configuration parameter ingres.array_index_start. - - - Related Configurations - - See also the ingres.array_index_start, ingres.fetch_buffer_size - and ingres.utf8 - directives in Runtime - Configuration. - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - - - - - &reftitle.returnvalues; - - Returns an associative array that corresponds to the fetched row, - or &false; if there are no more rows - - - - - &reftitle.examples; - - - Fetch a row into an associative array - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - ingres_num_fields - ingres_field_name - ingres_fetch_array - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-fetch-object.xml b/reference/ingres-ii/functions/ingres-fetch-object.xml deleted file mode 100644 index fee8dd7902..0000000000 --- a/reference/ingres-ii/functions/ingres-fetch-object.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - ingres_fetch_object - Fetch a row of result into an object - - - - &reftitle.description; - - objectingres_fetch_object - resourceresult - intresult_type - - - This function is similar to - ingres_fetch_array, with one difference - an - object is returned instead of an array. Indirectly, this means - that you can access the data only by the field names and not by - their offsets (numbers are illegal property names). - - - With regard to speed, the function is identical to - ingres_fetch_array, and almost as quick as - ingres_fetch_row (the difference is - insignificant). - - - Related Configurations - - See also the ingres.fetch_buffer_size - and ingres.utf8 - directives in Runtime - Configuration. - - - - - - &reftitle.parameters; - - - - link - - - The query result identifier - - - - - result_type - - - (Optional argument.) result_type is a - constant and can take the following values: INGRES_ASSOC, - INGRES_NUM, and INGRES_BOTH. - - - - - - - - - &reftitle.returnvalues; - - Returns an object that corresponds to the fetched row, - or &false; if there are no more rows - - - - - &reftitle.examples; - - - Fetch a row into an object - -user_id; - echo $row->fullname; -} -?> -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - ingres_num_fields - ingres_field_name - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-fetch-proc-return.xml b/reference/ingres-ii/functions/ingres-fetch-proc-return.xml deleted file mode 100644 index c7b7233a06..0000000000 --- a/reference/ingres-ii/functions/ingres-fetch-proc-return.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - ingres_fetch_proc_return - Get the return value from a procedure call - - - - &reftitle.description; - - intingres_fetch_proc_return - resourceresult - - - This function is used to retrieve the return value following the execution - of an Ingres database procedure (stored procedure). - - - - If used with a row-producing procedure, this function should be called after all the - rows from the procedure have been fetched using - ingres_fetch_array, - ingres_fetch_object or - ingres_fetch_row. This function will eliminate any - rows yet to be fetched should there be any left over. - - - - - - &reftitle.parameters; - - - - result - - - The result identifier for a query - - - - - - - - - &reftitle.returnvalues; - - Returns an int if there is a return value otherwise it will - return &null;. - - - - - &reftitle.examples; - - - Get the return value from a procedure call - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-fetch-row.xml b/reference/ingres-ii/functions/ingres-fetch-row.xml deleted file mode 100644 index 9b130318d2..0000000000 --- a/reference/ingres-ii/functions/ingres-fetch-row.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - ingres_fetch_row - Fetch a row of result into an enumerated array - - - - &reftitle.description; - - arrayingres_fetch_row - resourceresult - - - ingres_fetch_row returns an array that - corresponds to the fetched row, or &false; if there are no more - rows. Each result column is stored in an array offset, starting - at offset 1. - - - Subsequent calls to ingres_fetch_row - return the next row in the result set, or &false; if there are no - more rows. - - - By default, arrays created by ingres_fetch_row start - from position 1 and not 0 as with other DBMS extensions. The starting position - can be adjusted to 0 using the configuration parameter ingres.array_index_start. - - - Related Configurations - - See also the ingres.array_index_start, ingres.fetch_buffer_size - and ingres.utf8 - directives in Runtime - Configuration. - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - - - - - &reftitle.returnvalues; - - Returns an array that corresponds to the fetched row, - or &false; if there are no more rows - - - - - &reftitle.examples; - - - Fetch a row of result into an enumerated array - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_num_fields - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-length.xml b/reference/ingres-ii/functions/ingres-field-length.xml deleted file mode 100644 index bbd85e3703..0000000000 --- a/reference/ingres-ii/functions/ingres-field-length.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - ingres_field_length - Get the length of a field - - - - &reftitle.description; - - intingres_field_length - resourceresult - intindex - - - ingres_field_length returns the length of a - field. This is the number of bytes the server uses to store - the field. For detailed information, see the Ingres OpenAPI User - Guide, Appendix "Data Types" in the Ingres documentation. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the column number whose length - will be retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - Returns the length of a field. - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-name.xml b/reference/ingres-ii/functions/ingres-field-name.xml deleted file mode 100644 index 0f439dac6e..0000000000 --- a/reference/ingres-ii/functions/ingres-field-name.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - ingres_field_name - Get the name of a field in a query result - - - - &reftitle.description; - - stringfalseingres_field_name - resourceresult - intindex - - - ingres_field_name returns the name of a field - in a query result. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the field whose name will be - retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - Returns the name of a field - in a query result&return.falseforfailure; - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-nullable.xml b/reference/ingres-ii/functions/ingres-field-nullable.xml deleted file mode 100644 index 3f3076b547..0000000000 --- a/reference/ingres-ii/functions/ingres-field-nullable.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - ingres_field_nullable - Test if a field is nullable - - - - &reftitle.description; - - boolingres_field_nullable - resourceresult - intindex - - - Test if a field is nullable. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the field whose nullability will be - retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - ingres_field_nullable returns &true; if the - field can be set to the &null; value and &false; if it cannot - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-precision.xml b/reference/ingres-ii/functions/ingres-field-precision.xml deleted file mode 100644 index f9bcf04e7e..0000000000 --- a/reference/ingres-ii/functions/ingres-field-precision.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - ingres_field_precision - Get the precision of a field - - - - &reftitle.description; - - intingres_field_precision - resourceresult - intindex - - - ingres_field_precision returns the precision - of a field. This value is used only for decimal, float, and money - SQL data types. For detailed information, see the Ingres OpenAPI - User Guide, Appendix "Data Types" in the Ingres documentation. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the field whose precision will be - retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - Returns the field precision as an integer - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-scale.xml b/reference/ingres-ii/functions/ingres-field-scale.xml deleted file mode 100644 index f5cd1b4e8e..0000000000 --- a/reference/ingres-ii/functions/ingres-field-scale.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - ingres_field_scale - Get the scale of a field - - - - &reftitle.description; - - intingres_field_scale - resourceresult - intindex - - - ingres_field_scale returns the scale of a - field. This value is used only for the decimal SQL data - type. For detailed information, see the Ingres OpenAPI User - Guide, Appendix "Data Types" in the Ingres documentation. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the field whose scale will be - retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - Returns the scale of the field, as an integer - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-field-type.xml b/reference/ingres-ii/functions/ingres-field-type.xml deleted file mode 100644 index f45b34a2c2..0000000000 --- a/reference/ingres-ii/functions/ingres-field-type.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - ingres_field_type - Get the type of a field in a query result - - - - &reftitle.description; - - stringfalseingres_field_type - resourceresult - intindex - - - Get the type of a field in a query result. - - - Related Configurations - - See ingres.array_index_start - in Runtime Configuration - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - index - - - index is the field whose type will be - retrieved. - - - The possible values of index depend upon - the value - of ingres.array_index_start. - If ingres.array_index_start - is 1 (the default) - then index must be - between 1 and the value returned - by ingres_num_fields. If ingres.array_index_start - is 0 then index must - be between 0 - and ingres_num_fields - - 1. - - - - - - - - - &reftitle.returnvalues; - - ingres_field_type returns the type of a - field in a query result&return.falseforfailure;. Examples of - types returned are IIAPI_BYTE_TYPE, - IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, - IIAPI_FLT_TYPE, IIAPI_INT_TYPE, - IIAPI_VCH_TYPE. Some of these types can map to more - than one SQL type depending on the length of the field (see - ingres_field_length). For example - IIAPI_FLT_TYPE can be a float4 or a float8. For detailed - information, see the Ingres OpenAPI User Guide, Appendix - "Data Types" in the Ingres documentation. - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-free-result.xml b/reference/ingres-ii/functions/ingres-free-result.xml deleted file mode 100644 index b54db1e144..0000000000 --- a/reference/ingres-ii/functions/ingres-free-result.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - ingres_free_result - Free the resources associated with a result identifier - - - - &reftitle.description; - - boolingres_free_result - resourceresult - - - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - Free a result resource - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-next-error.xml b/reference/ingres-ii/functions/ingres-next-error.xml deleted file mode 100644 index f0fcd983a2..0000000000 --- a/reference/ingres-ii/functions/ingres-next-error.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - ingres_next_error - Get the next Ingres error - - - - &reftitle.description; - - boolingres_next_error - resourcelink - - - Get the next Ingres error for the last executed query. Each call to - ingres_next_error can be followed by a call to - ingres_errno, ingres_error - or ingres_errsqlstate to get the respective error - number, error text, or SQL STATE. While - ingres_next_error returns &true;, there are more errors - to fetch. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - &reftitle.returnvalues; - - ingres_next_error returns &true; if there is another - error to retrieve or &false; when there are no more errors - - - - - &reftitle.seealso; - - - ingres_errno - ingres_error - ingres_errsqlstate - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-num-fields.xml b/reference/ingres-ii/functions/ingres-num-fields.xml deleted file mode 100644 index c4f6edc1ba..0000000000 --- a/reference/ingres-ii/functions/ingres-num-fields.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - ingres_num_fields - Get the number of fields returned by the last query - - - - &reftitle.description; - - intingres_num_fields - resourceresult - - - ingres_num_fields returns the number of - fields in the results returned by the Ingres server after a call - to ingres_query. - - - - - &reftitle.parameters; - - - - result - - - The query result identifier - - - - - - - - - &reftitle.returnvalues; - - Returns the number of fields - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-num-rows.xml b/reference/ingres-ii/functions/ingres-num-rows.xml deleted file mode 100644 index e38e485d2f..0000000000 --- a/reference/ingres-ii/functions/ingres-num-rows.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - ingres_num_rows - Get the number of rows affected or returned by a query - - - - &reftitle.description; - - intingres_num_rows - resourceresult - - - This function primarily is meant to get the number of rows - modified in the database. However, it can be used to retrieve the number of - rows to fetch for a SELECT statement. - - - - If scrollable cursors are disabled and - this function is called before - using ingres_fetch_array, - ingres_fetch_object, or - ingres_fetch_row, the server will delete - the result's data and the script will be unable to get them. - - - Instead, you should retrieve the result's data using one of - these fetch functions in a loop until it returns &false;, - indicating that no more results are available. - - - - - - &reftitle.parameters; - - - - result - - - The result identifier for a query - - - - - - - - - &reftitle.returnvalues; - - For delete, insert, or update queries, - ingres_num_rows returns the number of rows - affected by the query. For other queries, - ingres_num_rows returns the number of rows - in the query's result. - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-pconnect.xml b/reference/ingres-ii/functions/ingres-pconnect.xml deleted file mode 100644 index a0cac9b749..0000000000 --- a/reference/ingres-ii/functions/ingres-pconnect.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - ingres_pconnect - Open a persistent connection to an Ingres database - - - - &reftitle.description; - - resourcefalseingres_pconnect - stringdatabase - stringusername - stringpassword - arrayoptions - - - Open a persistent connection to an Ingres database. - - - There are only two differences between this function and - ingres_connect: First, when connecting, the - function will initially try to find a (persistent) link that is - already opened with the same parameters. If one is found, an - identifier for it will be returned instead of opening a new - connection. Second, the connection to the Ingres server will not - be closed when the execution of the script ends. Instead, the - link will remain open for future use - (ingres_close will not close links - established by ingres_pconnect). This type - of link is therefore called "persistent". - - - - - &reftitle.parameters; - - - - database - - - The database name. Must follow the syntax: - - - [vnode::]dbname[/svr_class] - - - - - username - - - The Ingres user name - - - - - password - - - The password associated with username - - - - - options - - - See ingres_connect for the list of options that - can be passed - - - - - - - - - &reftitle.returnvalues; - - Returns an Ingres link resource on success&return.falseforfailure; - - - - - &reftitle.seealso; - - - ingres_connect - ingres_close - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-prepare.xml b/reference/ingres-ii/functions/ingres-prepare.xml deleted file mode 100644 index b70933baa6..0000000000 --- a/reference/ingres-ii/functions/ingres-prepare.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - ingres_prepare - Prepare a query for later execution - - - - &reftitle.description; - - mixedingres_prepare - resourcelink - stringquery - - - Prepares a query for execution by ingres_execute. - - - The query becomes part of the currently open transaction. If - there is no open transaction, ingres_query - opens a new transaction. To close the transaction, you can - call either ingres_commit to commit the changes - made to the database or ingres_rollback to - cancel these changes. When the script ends, any open transaction - is rolled back (by calling - ingres_rollback). You can also use - ingres_autocommit before opening a new - transaction to have every SQL query immediately committed. - - - - Related Configurations - - See also the ingres.describe, - ingres.scrollable and - ingres.utf8 directives in - Runtime Configuration. - - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - query - - - A valid SQL query (see the Ingres SQL reference - guide) in the Ingres documentation. - See the query - parameter in ingres_query for a list of SQL - statements which cannot be executed using - ingres_prepare - - - - - - - - - &reftitle.returnvalues; - - ingres_prepare returns a query result identifier that - is used with ingres_execute to execute the query. To see - if an error occurred, use ingres_errno, - ingres_error, or - ingres_errsqlstate. - - - - - - - &reftitle.seealso; - - - ingres_unbuffered_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - ingres_commit - ingres_rollback - ingres_autocommit - ingres_set_environment - ingres_errno - ingres_error - - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-query.xml b/reference/ingres-ii/functions/ingres-query.xml deleted file mode 100644 index a56f6b3b13..0000000000 --- a/reference/ingres-ii/functions/ingres-query.xml +++ /dev/null @@ -1,335 +0,0 @@ - - - - - ingres_query - Send an SQL query to Ingres - - - - &reftitle.description; - - mixedingres_query - resourcelink - stringquery - arrayparams - stringtypes - - - ingres_query sends the given - query to the Ingres server. - - - The query becomes part of the currently open transaction. If - there is no open transaction, ingres_query - opens a new transaction. To close the transaction, you can - call either ingres_commit to commit the changes - made to the database or ingres_rollback to - cancel these changes. When the script ends, any open transaction - is rolled back (by calling - ingres_rollback). You can also use - ingres_autocommit before opening a new - transaction to have every SQL query immediately committed. - - - Related Configurations - - See also the ingres.describe, - ingres.scrollable and - ingres.utf8 directives in - Runtime Configuration - - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier. - - - - - query - - - A valid SQL query (see the Ingres SQL reference - guide) in the Ingres documentation. - - - Data inside the query should be properly escaped. - - - The following types of SQL queries cannot be sent with this function: - - - - close (see ingres_close) - - - - - commit (see ingres_commit) - - - - - connect (see ingres_connect) - - - - - disconnect (see ingres_close) - - - - get dbevent - - - prepare to commit - - - - rollback (see ingres_rollback) - - - savepoint - - - set autocommit (see ingres_autocommit) - - - - all cursor-related queries are unsupported - - - - - - - params - - - An array of parameter values to be used with the query - - - - - types - - - A string containing a sequence of types for the parameter values - passed. When ingres.describe - is enabled, this parameter can be ignored as the driver automatically - fetches the expected parameter types from the server. - - - - - - Type code - Ingres type - - - - - a - BOOLEAN - - - b - BYTE - - - B - LONG BYTE/BLOB - - - c - CHAR - - - d - DATE/ANSIDATE/TIMESTAMP/TIME - - - f - FLOAT - - - i - INTEGER - - - L - LONG TEXT - - - m - MONEY - - - M - LONG NVARCHAR - - - n - NCHAR - - - N - NVARCHAR - - - t - TEXT - - - v - VARCHAR - - - V - LONG VARCHAR - - - - - - - - - - - - &reftitle.returnvalues; - - ingres_query returns a query result identifier on - success else it returns &false;. To see if an error - occurred use ingres_errno, - ingres_error or - ingres_errsqlstate. - - - - - &reftitle.examples; - - - Send a simple select - - -]]> - - - - Passing query parameters to <function>ingres_query</function> - - -]]> - - - - Inserting a BLOB with parameter types - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_unbuffered_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - ingres_commit - ingres_rollback - ingres_autocommit - ingres_set_environment - ingres_errno - ingres_error - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-result-seek.xml b/reference/ingres-ii/functions/ingres-result-seek.xml deleted file mode 100644 index 0e0d3938f2..0000000000 --- a/reference/ingres-ii/functions/ingres-result-seek.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - ingres_result_seek - Set the row position before fetching data - - - - &reftitle.description; - - boolingres_result_seek - resourceresult - intposition - - - This function is used to position the cursor associated with the result - resource before issuing a fetch. If ingres.array_index_start - is set to 0 then the first row is 0 else it is 1. - ingres_result_seek can be used only with queries that - make use of scrollable - cursors. It cannot be used with - ingres_unbuffered_query. - - - - Related Configurations - - See also the ingres.scrollable - and ingres.array_index_start directives in - Runtime Configuration. - - - - - - &reftitle.parameters; - - - - result - - - The result identifier for a query - - - - - position - - - The row to position the cursor on. If ingres.array_index_start - is set to 0, then the first row is 0, else it is 1 - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - Position the cursor on the 3rd row - -ap_iatacode . " - " . $airport->ap_name . "\n"; - } -} - -ingres_commit($link); - -?> -]]> - - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-rollback.xml b/reference/ingres-ii/functions/ingres-rollback.xml deleted file mode 100644 index 92545e8b4b..0000000000 --- a/reference/ingres-ii/functions/ingres-rollback.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - ingres_rollback - Roll back a transaction - - - - &reftitle.description; - - boolingres_rollback - resourcelink - - - ingres_rollback rolls back the currently - open transaction, actually cancelling all changes made to the - database during the transaction. - - - This closes the transaction. A new transaction can be opened by sending a - query with ingres_query. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - ingres_query - ingres_commit - ingres_autocommit - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-set-environment.xml b/reference/ingres-ii/functions/ingres-set-environment.xml deleted file mode 100644 index 016ab5f310..0000000000 --- a/reference/ingres-ii/functions/ingres-set-environment.xml +++ /dev/null @@ -1,236 +0,0 @@ - - - - - ingres_set_environment - Set environment features controlling output options - - - - &reftitle.description; - - boolingres_set_environment - resourcelink - arrayoptions - - - ingres_set_environment is called to set environmental - options that affect the output of certain values from Ingres, such as the - timezone, date format, decimal character separator, and float precision. - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - options - - - An enumerated array of option name/value pairs. The following table - lists the option name and the expected type - - - - - - - Option name - Option type - Description - Example - - - - - date_century_boundary - int - The threshold by which a 2-digit year is determined to be in - the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY - 50 - - - timezone - string - Controls the timezone of the session. If not set, it will - default the value defined by II_TIMEZONE_NAME. If - II_TIMEZONE_NAME is not defined, NA-PACIFIC (GMT-8 with Daylight - Savings) is used. - UNITED-KINGDOM - - - date_format - int - Sets the allowable input and output format for Ingres dates. - Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is - not set, the default date format is US, for example mm/dd/yy. Valid values - for date_format are: - - INGRES_DATE_DMY - INGRES_DATE_FINISH - INGRES_DATE_GERMAN - INGRES_DATE_ISO - INGRES_DATE_ISO4 - INGRES_DATE_MDY - INGRES_DATE_MULTINATIONAL - INGRES_DATE_MULTINATIONAL4 - INGRES_DATE_YMD - INGRES_DATE_US - - - - INGRES_DATE_ISO4 - - - decimal_separator - string - The character identifier for decimal data - "," - - - money_lort - int - Leading or trailing currency sign. Valid values for money_lort - are: - - INGRES_MONEY_LEADING - INGRES_MONEY_TRAILING - - - - INGRES_MONEY_LEADING - - - money_sign - string - The currency symbol to be used with the MONEY datatype - - - - money_precision - int - The precision of the MONEY datatype - 2 - - - float4_precision - int - Precision of the FLOAT4 datatype - 10 - - - float8_precision - int - Precision of the FLOAT8 data - 10 - - - blob_segment_length - int - The amount of data in bytes to fetch at a time when retrieving - BLOB or CLOB data. Defaults to 4096 bytes when not set explicitly - 8192 - - - - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - &reftitle.examples; - - - Set date_format to ISO4 - - INGRES_DATE_ISO4 ); - -if (ingres_set_environment($link, $options)) -{ - $result=ingres_query($link,"select date('now') as date"); - - while ( $object = ingres_fetch_object ($result) ) { - echo $object->date."\n"; - } -} -?> -]]> - - - - Set timezone to HONG-KONG - - "HONG-KONG"); - -if (ingres_set_environment($link, $options)) -{ - $result=ingres_query($link,"select date('now') as date"); - - while ( $object = ingres_fetch_object ($result) ) { - echo $object->date."\n"; - } -} -?> -]]> - - - - - - - - &reftitle.seealso; - - - ingres_connect - ingres_query - - - - - - - diff --git a/reference/ingres-ii/functions/ingres-unbuffered-query.xml b/reference/ingres-ii/functions/ingres-unbuffered-query.xml deleted file mode 100644 index 1fabc70c40..0000000000 --- a/reference/ingres-ii/functions/ingres-unbuffered-query.xml +++ /dev/null @@ -1,224 +0,0 @@ - - - - - ingres_unbuffered_query - Send an unbuffered SQL query to Ingres - - - - &reftitle.description; - - mixedingres_unbuffered_query - resourcelink - stringquery - arrayparams - stringtypes - - - ingres_unbuffered_query sends the given - query to the Ingres server. - - - The query becomes part of the currently open transaction. If - there is no open transaction, ingres_unbuffered_query - opens a new transaction. To close the transaction, you can - call either ingres_commit to commit the changes - made to the database or ingres_rollback to - cancel these changes. When the script ends, any open transaction - is rolled back (by calling - ingres_rollback). You can also use - ingres_autocommit before opening a new - transaction to have every SQL query immediately committed. - Ingres allows only a single unbuffered statement to be active at any - one time. The extension will close any active unbuffered statements before - executing any SQL. In addition you cannot use - ingres_result_seek to position the row before - fetching. - - - - Related Configurations - - See also the ingres.describe - and ingres.utf8 directives in - Runtime Configuration. - - - - - - &reftitle.parameters; - - - - link - - - The connection link identifier - - - - - query - - - A valid SQL query (see the Ingres SQL reference - guide) in the Ingres documentation. - See the query - parameter in ingres_query for a list of SQL - statements that cannot be executed via - ingres_unbuffered_query. - - - Data inside the query should be properly escaped. - - - - - params - - - An array of parameter values to be used with the query - - - - - types - - - A string containing a sequence of types for the parameter values - passed. See the types parameter in - ingres_query for the list of type codes. - - - - - - - - - &reftitle.returnvalues; - - ingres_unbuffered_query returns a query result identifier when - there are rows to fetch; else it returns &false; when there are no rows, as - is the case of an INSERT, UPDATE, or DELETE statement. To see if an error - occurred, use ingres_errno, - ingres_error, or - ingres_errsqlstate. - - - - - &reftitle.examples; - - - Issue a simple un-buffered select - - -]]> - - - - Passing query parameters to <function>ingres_unbuffered_query</function> - - -]]> - - - - Inserting a BLOB with parameter types - - -]]> - - - - - - - &reftitle.seealso; - - - ingres_query - ingres_fetch_array - ingres_fetch_assoc - ingres_fetch_object - ingres_fetch_row - ingres_commit - ingres_rollback - ingres_autocommit - ingres_set_environment - ingres_errno - ingres_error - - - - - - - diff --git a/reference/ingres-ii/ini.xml b/reference/ingres-ii/ini.xml deleted file mode 100644 index 9df1fc4892..0000000000 --- a/reference/ingres-ii/ini.xml +++ /dev/null @@ -1,391 +0,0 @@ - - -
- &reftitle.runtime; - &extension.runtime; - - - Ingres configuration options - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - ingres.allow_persistent - "1" - PHP_INI_SYSTEM - Available since ingres 1.0.0 - - - ingres.array_index_start - "1" - PHP_INI_ALL - Available since ingres 1.4.0. - - - ingres.auto - "1" - PHP_INI_ALL - Available since ingres 2.0.0. - - - ingres.blob_segment_length - "4096" - PHP_INI_ALL - Available since ingres 1.2.0. - - - ingres.cursor_mode - "0" - PHP_INI_ALL - Available since ingres 1.1.0. - - - ingres.default_database - NULL - PHP_INI_ALL - Available since ingres 1.0.0 - - - ingres.default_password - NULL - PHP_INI_ALL - Available since ingres 1.0.0 - - - ingres.default_user - NULL - PHP_INI_ALL - Available since ingres 1.0.0 - - - ingres.describe - 1 - PHP_INI_ALL - Available since ingres 2.1.0 - - - ingres.fetch_buffer_size - 100 - PHP_INI_ALL - Available since ingres 2.1.0 - - - ingres.max_links - "-1" - PHP_INI_SYSTEM - Available since ingres 1.0.0 - - - ingres.max_persistent - "-1" - PHP_INI_SYSTEM - Available since ingres 1.0.0 - - - ingres.reuse_connection - "1" - PHP_INI_ALL - Available since ingres 2.0.0 - - - ingres.scrollable - "1" - PHP_INI_ALL - Available since ingres 2.0.0. - - - ingres.trace - "0" - PHP_INI_ALL - Available since ingres 2.0.0. - - - ingres.trace_connect - "0" - PHP_INI_ALL - Available since ingres 1.2.1. - - - ingres.utf8 - "1" - PHP_INI_ALL - Available since ingres 2.0.0. - - - -
- &ini.php.constants; -
- - &ini.descriptions.title; - - - - - - ingres.allow_persistent - bool - - - - Specifies whether to allow - persistent connections - to Ingres - - - - - - ingres.array_index_start - int - - - - Specifies the start value for an integer key for arrays - generated by ingres_fetch_row or - ingres_fetch_array. By default - ingres.array_index_start is set to 1. If you wish - to make the ingres extension behave like other database extensions set - this configuration option to 0. - - - - - - ingres.auto - bool - - - - Enables or disables autocommit emulation. Ingres cannot have multiple cursors - open with autocommit enabled. When enabled, the driver emulates autocommit. - - - - - - ingres.blob_segment_length - int - - - - Specifies the amount of memory to use when reading BLOB data, in bytes - - - - - - ingres.cursor_mode - int - - - - Specifies the default mode for cursors opened with ingres_prepare(). Valid values - are INGRES_CURSOR_UPDATE or INGRES_CURSOR_READONLY. - - - - - - ingres.default_database - string - - - - Specifies the default database name to use when connecting to the database - server if no other name is specified. Does not apply in - &sqlsafemode;. - - - - - - ingres.default_password - string - - - - Specifies the default password to use when connecting to the database - server if no other name is specified. Does not apply in - &sqlsafemode;. - - - - - - ingres.default_user - string - - - - Specifies the default user name to use when connecting to the database - server if no other name is specified. Does not apply in - &sqlsafemode;. - - - - - - ingres.describe - bool - - - - Enables the use of DESCRIBE INPUT to determine the expected data types - for queries that use parameters. Available with Ingres 9.1.0 and later. - When disabled, queries that have parameters passed may need to manually - describe the types of those parameters using the types parameter in - ingres_query. - - - - Enabling this feature with ingres_query will cause additional - communications traffic between this extension and the server. To - minimize this additional traffic, use ingres_prepare and - ingres_execute. - - - - - - - ingres.fetch_buffer_size - int - - - - Specifies the number of pre-fetch rows that ingres_fetch_array, - ingres_fetch_object and - ingres_fetch_row will try and fetch in one fetch operation. - - - - - - ingres.max_links - int - - - - Specifies the maximum number of Ingres sessions allowed per process or thread. - The number of sessions should not exceed the total number of - connected sessions configured within Ingres. - - - - - - ingres.max_persistent - int - - - - Specifies the maximum number of persistent Ingres sessions allowed per process or - thread. The number of sessions should not exceed the total - number of connected sessions configured within Ingres. - - - - - - ingres.reuse_connection - bool - - - - Reuses an existing active connection if connecting to the same database - with the same user name - - - - - - ingres.scrollable - bool - - - - Enables support for scrollable cursors. When fetching CLOB or BLOB data, this - should be set to &false;. Available with Ingres 9.2.0 or later. - - - - - - ingres.trace - bool - - - - Enables simple tracing using E_NOTICE messages - - - - - - ingres.trace_connect - bool - - - - Prints E_NOTICE messages during - ingres_connect or ingres_pconnect calls - - - - - - ingres.utf8 - bool - - - - Assumes that strings being passed to National Character column types - (NVARCHAR or NCHAR) are using UTF8 encoding and converts them to UTF16 - for the server - - - - - - -
- - - diff --git a/reference/ingres-ii/reference.xml b/reference/ingres-ii/reference.xml deleted file mode 100644 index 13741b366a..0000000000 --- a/reference/ingres-ii/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Ingres &Functions; - -&reference.ingres-ii.entities.functions; - - - - diff --git a/reference/ingres-ii/setup.xml b/reference/ingres-ii/setup.xml deleted file mode 100644 index f1c993624b..0000000000 --- a/reference/ingres-ii/setup.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - - To use or build the PHP extension for Ingres you must have a working Ingres - client environment. You can download the client software for Ingres from - &url.ingres.downloads;. - -
- - - - &reference.ingres-ii.configure; - - - - &reference.ingres-ii.ini; - - - -
- &reftitle.resources; - - ingres_connect and - ingres_pconnect return an Ingres link identifier. - - - ingres_query and ingres_unbuffered_query return an Ingres result identifier. - -
- - -
- - - diff --git a/reference/ingres-ii/versions.xml b/reference/ingres-ii/versions.xml deleted file mode 100644 index 4d76950806..0000000000 --- a/reference/ingres-ii/versions.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 6d1284c431c26d71619813a18c15896e88262157 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 21:25:34 +0100 Subject: [PATCH 179/444] Remove memtrack docs --- appendices/extensions.xml | 8 +- reference/memtrack/book.xml | 61 ------------ reference/memtrack/configure.xml | 32 ------ reference/memtrack/constants.xml | 29 ------ reference/memtrack/examples.xml | 68 ------------- reference/memtrack/ini.xml | 165 ------------------------------- reference/memtrack/setup.xml | 43 -------- 7 files changed, 3 insertions(+), 403 deletions(-) delete mode 100644 reference/memtrack/book.xml delete mode 100644 reference/memtrack/configure.xml delete mode 100644 reference/memtrack/constants.xml delete mode 100644 reference/memtrack/examples.xml delete mode 100644 reference/memtrack/ini.xml delete mode 100644 reference/memtrack/setup.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 04ba4b4d3f..0a5e3a2886 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -79,7 +79,6 @@ - @@ -340,7 +339,6 @@ - @@ -397,15 +395,15 @@
&extcat.state; - +
&extcat.state.experimental; diff --git a/reference/memtrack/book.xml b/reference/memtrack/book.xml deleted file mode 100644 index fde85dbd67..0000000000 --- a/reference/memtrack/book.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - Memtrack - Memtrack - - - &reftitle.intro; - - The purpose of this extension is to detect the most memory hungry scripts - and functions. - - - memtrack tracks memory consumption in PHP scripts and produces reports - (warnings) when the consumption reaches certain levels set by the user. - This is achieved by replacing default executor function by a special - function which compares memory usage before and after running the - original executor - this way we can tell how much the memory usage - has changed during the execution of the current part of the code. - - - Zend Engine runs its executor for each opcode array (op_array), - which usually means function, plain script and such, so memtrack doesn't - have any noticeable effect on performance. - - - memtrack doesn't provide any functions, there are only INI directives which - allow you to configure the way it should work. - - &warn.experimental; - - - &reference.memtrack.setup; - &reference.memtrack.constants; - &reference.memtrack.examples; - - - - - diff --git a/reference/memtrack/configure.xml b/reference/memtrack/configure.xml deleted file mode 100644 index 381b63b4cf..0000000000 --- a/reference/memtrack/configure.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - -
- &reftitle.install; - - &pecl.info; - &url.pecl.package;memtrack - -
- - - diff --git a/reference/memtrack/constants.xml b/reference/memtrack/constants.xml deleted file mode 100644 index 0e3fe845dd..0000000000 --- a/reference/memtrack/constants.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - - diff --git a/reference/memtrack/examples.xml b/reference/memtrack/examples.xml deleted file mode 100644 index 2fd7b40260..0000000000 --- a/reference/memtrack/examples.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - &reftitle.examples; -
- Basic usage - - Basic example on using memtrack extension: - - Creating large array in a function - - -]]> - - - - - Run the example with the following command: - - - - - &example.outputs.similar; - - - -
-
- - - diff --git a/reference/memtrack/ini.xml b/reference/memtrack/ini.xml deleted file mode 100644 index 26efe63a4f..0000000000 --- a/reference/memtrack/ini.xml +++ /dev/null @@ -1,165 +0,0 @@ - - -
- &reftitle.runtime; - &extension.runtime; - - - Memtrack Configuration Options - - - - &Name; - &Default; - &Changeable; - - - - - memtrack.enabled - "0" - PHP_INI_SYSTEM - - - memtrack.soft_limit - "0" - PHP_INI_ALL - - - memtrack.hard_limit - "0" - PHP_INI_ALL - - - memtrack.vm_limit - "0" - PHP_INI_ALL - - - memtrack.ignore_functions - "" - PHP_INI_SYSTEM - - - -
- &ini.php.constants; -
- -&ini.descriptions.title; - - - - - - - memtrack.enabled - bool - - - - Disables or enables the extension. Default value is 0, i.e. disabled. - - - - - - - memtrack.soft_limit - int - - - - Soft memory limit. - - - The extension checks memory consumption before and after executing an - op_array and produces a warning is the difference between the two values - is equal to or greater than the soft limit, but only if the function is not - ignored. - - - Setting this option to 0 also disables both soft and hard limit warnings. - Default value is 0, i.e. no warnings is produced. - - - - - - - memtrack.hard_limit - int - - - - Hard memory limit. - - - The extension checks memory consumption before and after executing an - op_array and produces a warning is the difference between the two values - is equal to or greater than the hard limit, even if the function is - ignored. - Setting this option to 0 disables hard limit warnings completely. - Default value is 0, i.e. no hard limit warnings is produced. - - - - - - - memtrack.vm_limit - int - - - - Virtual memory limit (set on a process). - - - This limit is checked only on shutdown and a warning is produced if the - value is greater than or equal to the limit. - - - This option is currently supported only on OSes where mallinfo() function - is available (i.e. Linux). - - - - - - - memtrack.ignore_functions - string - - - - A comma or whitespace-separated list of functions which are to be ignored - by soft_limit. The values are case-insensitive, for class methods use - class::method syntax. - - - - - - -
- - diff --git a/reference/memtrack/setup.xml b/reference/memtrack/setup.xml deleted file mode 100644 index 1af2b7a61d..0000000000 --- a/reference/memtrack/setup.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- - &reference.memtrack.configure; - - &reference.memtrack.ini; - -
- &reftitle.resources; - &no.resource; -
- -
- - - From 567485bc84bf5dd63d4971c7286647d72ef79cd6 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 21:32:17 +0100 Subject: [PATCH 180/444] Remove ncurses docs --- appendices/extensions.xml | 3 - reference/ncurses/book.xml | 79 --- reference/ncurses/configure.xml | 35 -- reference/ncurses/constants.xml | 505 ------------------ reference/ncurses/functions/ncurses-addch.xml | 52 -- .../ncurses/functions/ncurses-addchnstr.xml | 60 --- .../ncurses/functions/ncurses-addchstr.xml | 52 -- .../ncurses/functions/ncurses-addnstr.xml | 60 --- .../ncurses/functions/ncurses-addstr.xml | 52 -- .../ncurses-assume-default-colors.xml | 60 --- .../ncurses/functions/ncurses-attroff.xml | 52 -- .../ncurses/functions/ncurses-attron.xml | 52 -- .../ncurses/functions/ncurses-attrset.xml | 52 -- .../ncurses/functions/ncurses-baudrate.xml | 38 -- reference/ncurses/functions/ncurses-beep.xml | 49 -- reference/ncurses/functions/ncurses-bkgd.xml | 52 -- .../ncurses/functions/ncurses-bkgdset.xml | 52 -- .../ncurses/functions/ncurses-border.xml | 126 ----- .../functions/ncurses-bottom-panel.xml | 51 -- .../functions/ncurses-can-change-color.xml | 63 --- .../ncurses/functions/ncurses-cbreak.xml | 56 -- reference/ncurses/functions/ncurses-clear.xml | 59 -- .../ncurses/functions/ncurses-clrtobot.xml | 57 -- .../ncurses/functions/ncurses-clrtoeol.xml | 57 -- .../functions/ncurses-color-content.xml | 104 ---- .../ncurses/functions/ncurses-color-set.xml | 107 ---- .../ncurses/functions/ncurses-curs-set.xml | 52 -- .../functions/ncurses-def-prog-mode.xml | 55 -- .../functions/ncurses-def-shell-mode.xml | 55 -- .../ncurses/functions/ncurses-define-key.xml | 60 --- .../ncurses/functions/ncurses-del-panel.xml | 51 -- .../functions/ncurses-delay-output.xml | 52 -- reference/ncurses/functions/ncurses-delch.xml | 57 -- .../ncurses/functions/ncurses-deleteln.xml | 56 -- .../ncurses/functions/ncurses-delwin.xml | 52 -- .../ncurses/functions/ncurses-doupdate.xml | 48 -- reference/ncurses/functions/ncurses-echo.xml | 55 -- .../ncurses/functions/ncurses-echochar.xml | 52 -- reference/ncurses/functions/ncurses-end.xml | 38 -- reference/ncurses/functions/ncurses-erase.xml | 59 -- .../ncurses/functions/ncurses-erasechar.xml | 54 -- .../ncurses/functions/ncurses-filter.xml | 38 -- reference/ncurses/functions/ncurses-flash.xml | 55 -- .../ncurses/functions/ncurses-flushinp.xml | 47 -- reference/ncurses/functions/ncurses-getch.xml | 38 -- .../ncurses/functions/ncurses-getmaxyx.xml | 84 --- .../ncurses/functions/ncurses-getmouse.xml | 129 ----- reference/ncurses/functions/ncurses-getyx.xml | 68 --- .../ncurses/functions/ncurses-halfdelay.xml | 52 -- .../ncurses/functions/ncurses-has-colors.xml | 90 ---- .../ncurses/functions/ncurses-has-ic.xml | 55 -- .../ncurses/functions/ncurses-has-il.xml | 55 -- .../ncurses/functions/ncurses-has-key.xml | 52 -- .../ncurses/functions/ncurses-hide-panel.xml | 52 -- reference/ncurses/functions/ncurses-hline.xml | 60 --- reference/ncurses/functions/ncurses-inch.xml | 46 -- .../ncurses/functions/ncurses-init-color.xml | 108 ---- .../ncurses/functions/ncurses-init-pair.xml | 143 ----- reference/ncurses/functions/ncurses-init.xml | 63 --- reference/ncurses/functions/ncurses-insch.xml | 52 -- .../ncurses/functions/ncurses-insdelln.xml | 52 -- .../ncurses/functions/ncurses-insertln.xml | 40 -- .../ncurses/functions/ncurses-insstr.xml | 52 -- reference/ncurses/functions/ncurses-instr.xml | 62 --- .../ncurses/functions/ncurses-isendwin.xml | 57 -- reference/ncurses/functions/ncurses-keyok.xml | 60 --- .../ncurses/functions/ncurses-keypad.xml | 59 -- .../ncurses/functions/ncurses-killchar.xml | 54 -- .../ncurses/functions/ncurses-longname.xml | 55 -- reference/ncurses/functions/ncurses-meta.xml | 59 -- .../ncurses/functions/ncurses-mouse-trafo.xml | 67 --- .../functions/ncurses-mouseinterval.xml | 52 -- .../ncurses/functions/ncurses-mousemask.xml | 138 ----- .../ncurses/functions/ncurses-move-panel.xml | 67 --- reference/ncurses/functions/ncurses-move.xml | 60 --- .../ncurses/functions/ncurses-mvaddch.xml | 68 --- .../ncurses/functions/ncurses-mvaddchnstr.xml | 76 --- .../ncurses/functions/ncurses-mvaddchstr.xml | 68 --- .../ncurses/functions/ncurses-mvaddnstr.xml | 76 --- .../ncurses/functions/ncurses-mvaddstr.xml | 68 --- reference/ncurses/functions/ncurses-mvcur.xml | 76 --- .../ncurses/functions/ncurses-mvdelch.xml | 60 --- .../ncurses/functions/ncurses-mvgetch.xml | 60 --- .../ncurses/functions/ncurses-mvhline.xml | 76 --- .../ncurses/functions/ncurses-mvinch.xml | 60 --- .../ncurses/functions/ncurses-mvvline.xml | 76 --- .../ncurses/functions/ncurses-mvwaddstr.xml | 76 --- reference/ncurses/functions/ncurses-napms.xml | 52 -- .../ncurses/functions/ncurses-new-panel.xml | 51 -- .../ncurses/functions/ncurses-newpad.xml | 59 -- .../ncurses/functions/ncurses-newwin.xml | 93 ---- reference/ncurses/functions/ncurses-nl.xml | 38 -- .../ncurses/functions/ncurses-nocbreak.xml | 57 -- .../ncurses/functions/ncurses-noecho.xml | 55 -- reference/ncurses/functions/ncurses-nonl.xml | 38 -- .../ncurses/functions/ncurses-noqiflush.xml | 38 -- reference/ncurses/functions/ncurses-noraw.xml | 60 --- .../functions/ncurses-pair-content.xml | 103 ---- .../ncurses/functions/ncurses-panel-above.xml | 57 -- .../ncurses/functions/ncurses-panel-below.xml | 57 -- .../functions/ncurses-panel-window.xml | 51 -- .../functions/ncurses-pnoutrefresh.xml | 99 ---- .../ncurses/functions/ncurses-prefresh.xml | 99 ---- reference/ncurses/functions/ncurses-putp.xml | 52 -- .../ncurses/functions/ncurses-qiflush.xml | 38 -- reference/ncurses/functions/ncurses-raw.xml | 60 --- .../ncurses/functions/ncurses-refresh.xml | 52 -- .../functions/ncurses-replace-panel.xml | 59 -- .../functions/ncurses-reset-prog-mode.xml | 37 -- .../functions/ncurses-reset-shell-mode.xml | 37 -- .../ncurses/functions/ncurses-resetty.xml | 55 -- .../ncurses/functions/ncurses-savetty.xml | 55 -- .../ncurses/functions/ncurses-scr-dump.xml | 52 -- .../ncurses/functions/ncurses-scr-init.xml | 52 -- .../ncurses/functions/ncurses-scr-restore.xml | 52 -- .../ncurses/functions/ncurses-scr-set.xml | 52 -- reference/ncurses/functions/ncurses-scrl.xml | 52 -- .../ncurses/functions/ncurses-show-panel.xml | 51 -- .../ncurses/functions/ncurses-slk-attr.xml | 46 -- .../ncurses/functions/ncurses-slk-attroff.xml | 52 -- .../ncurses/functions/ncurses-slk-attron.xml | 52 -- .../ncurses/functions/ncurses-slk-attrset.xml | 52 -- .../ncurses/functions/ncurses-slk-clear.xml | 47 -- .../ncurses/functions/ncurses-slk-color.xml | 52 -- .../ncurses/functions/ncurses-slk-init.xml | 72 --- .../functions/ncurses-slk-noutrefresh.xml | 38 -- .../ncurses/functions/ncurses-slk-refresh.xml | 40 -- .../ncurses/functions/ncurses-slk-restore.xml | 41 -- .../ncurses/functions/ncurses-slk-set.xml | 67 --- .../ncurses/functions/ncurses-slk-touch.xml | 41 -- .../ncurses/functions/ncurses-standend.xml | 38 -- .../ncurses/functions/ncurses-standout.xml | 38 -- .../ncurses/functions/ncurses-start-color.xml | 98 ---- .../ncurses/functions/ncurses-termattrs.xml | 38 -- .../ncurses/functions/ncurses-termname.xml | 55 -- .../ncurses/functions/ncurses-timeout.xml | 52 -- .../ncurses/functions/ncurses-top-panel.xml | 51 -- .../ncurses/functions/ncurses-typeahead.xml | 52 -- .../ncurses/functions/ncurses-ungetch.xml | 52 -- .../ncurses/functions/ncurses-ungetmouse.xml | 88 --- .../functions/ncurses-update-panels.xml | 37 -- .../functions/ncurses-use-default-colors.xml | 38 -- .../ncurses/functions/ncurses-use-env.xml | 52 -- .../functions/ncurses-use-extended-names.xml | 52 -- .../ncurses/functions/ncurses-vidattr.xml | 52 -- reference/ncurses/functions/ncurses-vline.xml | 60 --- .../ncurses/functions/ncurses-waddch.xml | 59 -- .../ncurses/functions/ncurses-waddstr.xml | 67 --- .../ncurses/functions/ncurses-wattroff.xml | 59 -- .../ncurses/functions/ncurses-wattron.xml | 59 -- .../ncurses/functions/ncurses-wattrset.xml | 59 -- .../ncurses/functions/ncurses-wborder.xml | 137 ----- .../ncurses/functions/ncurses-wclear.xml | 51 -- .../ncurses/functions/ncurses-wcolor-set.xml | 59 -- .../ncurses/functions/ncurses-werase.xml | 51 -- .../ncurses/functions/ncurses-wgetch.xml | 51 -- .../ncurses/functions/ncurses-whline.xml | 67 --- .../functions/ncurses-wmouse-trafo.xml | 75 --- reference/ncurses/functions/ncurses-wmove.xml | 67 --- .../functions/ncurses-wnoutrefresh.xml | 51 -- .../ncurses/functions/ncurses-wrefresh.xml | 52 -- .../ncurses/functions/ncurses-wstandend.xml | 51 -- .../ncurses/functions/ncurses-wstandout.xml | 51 -- .../ncurses/functions/ncurses-wvline.xml | 67 --- reference/ncurses/reference.xml | 31 -- reference/ncurses/setup.xml | 60 --- reference/ncurses/versions.xml | 188 ------- 167 files changed, 10470 deletions(-) delete mode 100644 reference/ncurses/book.xml delete mode 100644 reference/ncurses/configure.xml delete mode 100644 reference/ncurses/constants.xml delete mode 100644 reference/ncurses/functions/ncurses-addch.xml delete mode 100644 reference/ncurses/functions/ncurses-addchnstr.xml delete mode 100644 reference/ncurses/functions/ncurses-addchstr.xml delete mode 100644 reference/ncurses/functions/ncurses-addnstr.xml delete mode 100644 reference/ncurses/functions/ncurses-addstr.xml delete mode 100644 reference/ncurses/functions/ncurses-assume-default-colors.xml delete mode 100644 reference/ncurses/functions/ncurses-attroff.xml delete mode 100644 reference/ncurses/functions/ncurses-attron.xml delete mode 100644 reference/ncurses/functions/ncurses-attrset.xml delete mode 100644 reference/ncurses/functions/ncurses-baudrate.xml delete mode 100644 reference/ncurses/functions/ncurses-beep.xml delete mode 100644 reference/ncurses/functions/ncurses-bkgd.xml delete mode 100644 reference/ncurses/functions/ncurses-bkgdset.xml delete mode 100644 reference/ncurses/functions/ncurses-border.xml delete mode 100644 reference/ncurses/functions/ncurses-bottom-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-can-change-color.xml delete mode 100644 reference/ncurses/functions/ncurses-cbreak.xml delete mode 100644 reference/ncurses/functions/ncurses-clear.xml delete mode 100644 reference/ncurses/functions/ncurses-clrtobot.xml delete mode 100644 reference/ncurses/functions/ncurses-clrtoeol.xml delete mode 100644 reference/ncurses/functions/ncurses-color-content.xml delete mode 100644 reference/ncurses/functions/ncurses-color-set.xml delete mode 100644 reference/ncurses/functions/ncurses-curs-set.xml delete mode 100644 reference/ncurses/functions/ncurses-def-prog-mode.xml delete mode 100644 reference/ncurses/functions/ncurses-def-shell-mode.xml delete mode 100644 reference/ncurses/functions/ncurses-define-key.xml delete mode 100644 reference/ncurses/functions/ncurses-del-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-delay-output.xml delete mode 100644 reference/ncurses/functions/ncurses-delch.xml delete mode 100644 reference/ncurses/functions/ncurses-deleteln.xml delete mode 100644 reference/ncurses/functions/ncurses-delwin.xml delete mode 100644 reference/ncurses/functions/ncurses-doupdate.xml delete mode 100644 reference/ncurses/functions/ncurses-echo.xml delete mode 100644 reference/ncurses/functions/ncurses-echochar.xml delete mode 100644 reference/ncurses/functions/ncurses-end.xml delete mode 100644 reference/ncurses/functions/ncurses-erase.xml delete mode 100644 reference/ncurses/functions/ncurses-erasechar.xml delete mode 100644 reference/ncurses/functions/ncurses-filter.xml delete mode 100644 reference/ncurses/functions/ncurses-flash.xml delete mode 100644 reference/ncurses/functions/ncurses-flushinp.xml delete mode 100644 reference/ncurses/functions/ncurses-getch.xml delete mode 100644 reference/ncurses/functions/ncurses-getmaxyx.xml delete mode 100644 reference/ncurses/functions/ncurses-getmouse.xml delete mode 100644 reference/ncurses/functions/ncurses-getyx.xml delete mode 100644 reference/ncurses/functions/ncurses-halfdelay.xml delete mode 100644 reference/ncurses/functions/ncurses-has-colors.xml delete mode 100644 reference/ncurses/functions/ncurses-has-ic.xml delete mode 100644 reference/ncurses/functions/ncurses-has-il.xml delete mode 100644 reference/ncurses/functions/ncurses-has-key.xml delete mode 100644 reference/ncurses/functions/ncurses-hide-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-hline.xml delete mode 100644 reference/ncurses/functions/ncurses-inch.xml delete mode 100644 reference/ncurses/functions/ncurses-init-color.xml delete mode 100644 reference/ncurses/functions/ncurses-init-pair.xml delete mode 100644 reference/ncurses/functions/ncurses-init.xml delete mode 100644 reference/ncurses/functions/ncurses-insch.xml delete mode 100644 reference/ncurses/functions/ncurses-insdelln.xml delete mode 100644 reference/ncurses/functions/ncurses-insertln.xml delete mode 100644 reference/ncurses/functions/ncurses-insstr.xml delete mode 100644 reference/ncurses/functions/ncurses-instr.xml delete mode 100644 reference/ncurses/functions/ncurses-isendwin.xml delete mode 100644 reference/ncurses/functions/ncurses-keyok.xml delete mode 100644 reference/ncurses/functions/ncurses-keypad.xml delete mode 100644 reference/ncurses/functions/ncurses-killchar.xml delete mode 100644 reference/ncurses/functions/ncurses-longname.xml delete mode 100644 reference/ncurses/functions/ncurses-meta.xml delete mode 100644 reference/ncurses/functions/ncurses-mouse-trafo.xml delete mode 100644 reference/ncurses/functions/ncurses-mouseinterval.xml delete mode 100644 reference/ncurses/functions/ncurses-mousemask.xml delete mode 100644 reference/ncurses/functions/ncurses-move-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-move.xml delete mode 100644 reference/ncurses/functions/ncurses-mvaddch.xml delete mode 100644 reference/ncurses/functions/ncurses-mvaddchnstr.xml delete mode 100644 reference/ncurses/functions/ncurses-mvaddchstr.xml delete mode 100644 reference/ncurses/functions/ncurses-mvaddnstr.xml delete mode 100644 reference/ncurses/functions/ncurses-mvaddstr.xml delete mode 100644 reference/ncurses/functions/ncurses-mvcur.xml delete mode 100644 reference/ncurses/functions/ncurses-mvdelch.xml delete mode 100644 reference/ncurses/functions/ncurses-mvgetch.xml delete mode 100644 reference/ncurses/functions/ncurses-mvhline.xml delete mode 100644 reference/ncurses/functions/ncurses-mvinch.xml delete mode 100644 reference/ncurses/functions/ncurses-mvvline.xml delete mode 100644 reference/ncurses/functions/ncurses-mvwaddstr.xml delete mode 100644 reference/ncurses/functions/ncurses-napms.xml delete mode 100644 reference/ncurses/functions/ncurses-new-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-newpad.xml delete mode 100644 reference/ncurses/functions/ncurses-newwin.xml delete mode 100644 reference/ncurses/functions/ncurses-nl.xml delete mode 100644 reference/ncurses/functions/ncurses-nocbreak.xml delete mode 100644 reference/ncurses/functions/ncurses-noecho.xml delete mode 100644 reference/ncurses/functions/ncurses-nonl.xml delete mode 100644 reference/ncurses/functions/ncurses-noqiflush.xml delete mode 100644 reference/ncurses/functions/ncurses-noraw.xml delete mode 100644 reference/ncurses/functions/ncurses-pair-content.xml delete mode 100644 reference/ncurses/functions/ncurses-panel-above.xml delete mode 100644 reference/ncurses/functions/ncurses-panel-below.xml delete mode 100644 reference/ncurses/functions/ncurses-panel-window.xml delete mode 100644 reference/ncurses/functions/ncurses-pnoutrefresh.xml delete mode 100644 reference/ncurses/functions/ncurses-prefresh.xml delete mode 100644 reference/ncurses/functions/ncurses-putp.xml delete mode 100644 reference/ncurses/functions/ncurses-qiflush.xml delete mode 100644 reference/ncurses/functions/ncurses-raw.xml delete mode 100644 reference/ncurses/functions/ncurses-refresh.xml delete mode 100644 reference/ncurses/functions/ncurses-replace-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-reset-prog-mode.xml delete mode 100644 reference/ncurses/functions/ncurses-reset-shell-mode.xml delete mode 100644 reference/ncurses/functions/ncurses-resetty.xml delete mode 100644 reference/ncurses/functions/ncurses-savetty.xml delete mode 100644 reference/ncurses/functions/ncurses-scr-dump.xml delete mode 100644 reference/ncurses/functions/ncurses-scr-init.xml delete mode 100644 reference/ncurses/functions/ncurses-scr-restore.xml delete mode 100644 reference/ncurses/functions/ncurses-scr-set.xml delete mode 100644 reference/ncurses/functions/ncurses-scrl.xml delete mode 100644 reference/ncurses/functions/ncurses-show-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-attr.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-attroff.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-attron.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-attrset.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-clear.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-color.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-init.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-noutrefresh.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-refresh.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-restore.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-set.xml delete mode 100644 reference/ncurses/functions/ncurses-slk-touch.xml delete mode 100644 reference/ncurses/functions/ncurses-standend.xml delete mode 100644 reference/ncurses/functions/ncurses-standout.xml delete mode 100644 reference/ncurses/functions/ncurses-start-color.xml delete mode 100644 reference/ncurses/functions/ncurses-termattrs.xml delete mode 100644 reference/ncurses/functions/ncurses-termname.xml delete mode 100644 reference/ncurses/functions/ncurses-timeout.xml delete mode 100644 reference/ncurses/functions/ncurses-top-panel.xml delete mode 100644 reference/ncurses/functions/ncurses-typeahead.xml delete mode 100644 reference/ncurses/functions/ncurses-ungetch.xml delete mode 100644 reference/ncurses/functions/ncurses-ungetmouse.xml delete mode 100644 reference/ncurses/functions/ncurses-update-panels.xml delete mode 100644 reference/ncurses/functions/ncurses-use-default-colors.xml delete mode 100644 reference/ncurses/functions/ncurses-use-env.xml delete mode 100644 reference/ncurses/functions/ncurses-use-extended-names.xml delete mode 100644 reference/ncurses/functions/ncurses-vidattr.xml delete mode 100644 reference/ncurses/functions/ncurses-vline.xml delete mode 100644 reference/ncurses/functions/ncurses-waddch.xml delete mode 100644 reference/ncurses/functions/ncurses-waddstr.xml delete mode 100644 reference/ncurses/functions/ncurses-wattroff.xml delete mode 100644 reference/ncurses/functions/ncurses-wattron.xml delete mode 100644 reference/ncurses/functions/ncurses-wattrset.xml delete mode 100644 reference/ncurses/functions/ncurses-wborder.xml delete mode 100644 reference/ncurses/functions/ncurses-wclear.xml delete mode 100644 reference/ncurses/functions/ncurses-wcolor-set.xml delete mode 100644 reference/ncurses/functions/ncurses-werase.xml delete mode 100644 reference/ncurses/functions/ncurses-wgetch.xml delete mode 100644 reference/ncurses/functions/ncurses-whline.xml delete mode 100644 reference/ncurses/functions/ncurses-wmouse-trafo.xml delete mode 100644 reference/ncurses/functions/ncurses-wmove.xml delete mode 100644 reference/ncurses/functions/ncurses-wnoutrefresh.xml delete mode 100644 reference/ncurses/functions/ncurses-wrefresh.xml delete mode 100644 reference/ncurses/functions/ncurses-wstandend.xml delete mode 100644 reference/ncurses/functions/ncurses-wstandout.xml delete mode 100644 reference/ncurses/functions/ncurses-wvline.xml delete mode 100644 reference/ncurses/reference.xml delete mode 100644 reference/ncurses/setup.xml delete mode 100644 reference/ncurses/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 0a5e3a2886..4adeef018b 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -93,7 +93,6 @@ - @@ -346,7 +345,6 @@ - @@ -410,7 +408,6 @@ - diff --git a/reference/ncurses/book.xml b/reference/ncurses/book.xml deleted file mode 100644 index e995e96aea..0000000000 --- a/reference/ncurses/book.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - Ncurses Terminal Screen Control - Ncurses - - - - &reftitle.intro; - - ncurses (new curses) is a free software emulation of curses in - System V Rel 4.0 (and above). It uses terminfo format, supports pads, - colors, multiple highlights, form characters and function key mapping. - Because of the interactive nature of this library, it will be of little - use for writing Web applications, but may be useful when writing scripts meant - using PHP from the command line. - - - The features available, such as colors, depend on the terminal that - you are using. Use functions such as ncurses_has_colors, - ncurses_can_change_color, and - ncurses_has_ic to check for individual capabilities. - - - - &pecl.moved-ver;5.3.0. - - - - ncurses is available for the following platforms: - - AIX - BeOS - BSD variants (FreeBSD, NetBSD, OpenBSD) - Cygwin - Digital Unix (aka OSF1) - GNU/Linux - HPUX - IRIX64 - macOS - OS/2 - QNX - SCO OpenServer - Solaris - Tru64 - - - - - - &reference.ncurses.setup; - &reference.ncurses.constants; - &reference.ncurses.reference; - - - - - diff --git a/reference/ncurses/configure.xml b/reference/ncurses/configure.xml deleted file mode 100644 index c9fd736dca..0000000000 --- a/reference/ncurses/configure.xml +++ /dev/null @@ -1,35 +0,0 @@ - - -
- &reftitle.install; - - &pecl.info; - &url.pecl.package;ncurses. - - - Wide character CRT screen handling (ncursesw) support - was added in version 1.0.1 of this PECL extension. - -
- - - diff --git a/reference/ncurses/constants.xml b/reference/ncurses/constants.xml deleted file mode 100644 index 58ec160a5c..0000000000 --- a/reference/ncurses/constants.xml +++ /dev/null @@ -1,505 +0,0 @@ - - - - &reftitle.constants; - &extension.constants; -
- Error codes - - On error ncurses functions return -1. - Some functions return 0 on success. See the relevant - pages in the documentation for actual return values. - -
-
- Colors - - ncurses color constants - - - - constant - meaning - - - - - NCURSES_COLOR_BLACK - no color (black) - - - NCURSES_COLOR_WHITE - white - - - NCURSES_COLOR_RED - red - supported when terminal is in color mode - - - NCURSES_COLOR_GREEN - green - supported when terminal is in color mode - - - NCURSES_COLOR_YELLOW - yellow - supported when terminal is in color mode - - - NCURSES_COLOR_BLUE - blue - supported when terminal is in color mode - - - NCURSES_COLOR_CYAN - cyan - supported when terminal is in color mode - - - NCURSES_COLOR_MAGENTA - magenta - supported when terminal is in color mode - - - -
-
-
- Keys - - ncurses key constants - - - - constant - meaning - - - - - NCURSES_KEY_F0 - NCURSES_KEY_F64 - function keys F1 - F64 - - - NCURSES_KEY_DOWN - down arrow - - - NCURSES_KEY_UP - up arrow - - - NCURSES_KEY_LEFT - left arrow - - - NCURSES_KEY_RIGHT - right arrow - - - NCURSES_KEY_HOME - home key (upward+left arrow) - - - NCURSES_KEY_BACKSPACE - backspace - - - NCURSES_KEY_DL - delete line - - - NCURSES_KEY_IL - insert line - - - NCURSES_KEY_DC - delete character - - - NCURSES_KEY_IC - insert char or enter insert mode - - - NCURSES_KEY_EIC - exit insert char mode - - - NCURSES_KEY_CLEAR - clear screen - - - NCURSES_KEY_EOS - clear to end of screen - - - NCURSES_KEY_EOL - clear to end of line - - - NCURSES_KEY_SF - scroll one line forward - - - NCURSES_KEY_SR - scroll one line backward - - - NCURSES_KEY_NPAGE - next page - - - NCURSES_KEY_PPAGE - previous page - - - NCURSES_KEY_STAB - set tab - - - NCURSES_KEY_CTAB - clear tab - - - NCURSES_KEY_CATAB - clear all tabs - - - NCURSES_KEY_SRESET - soft (partial) reset - - - NCURSES_KEY_RESET - reset or hard reset - - - NCURSES_KEY_PRINT - print - - - NCURSES_KEY_LL - lower left - - - NCURSES_KEY_A1 - upper left of keypad - - - NCURSES_KEY_A3 - upper right of keypad - - - NCURSES_KEY_B2 - center of keypad - - - NCURSES_KEY_C1 - lower left of keypad - - - NCURSES_KEY_C3 - lower right of keypad - - - NCURSES_KEY_BTAB - back tab - - - NCURSES_KEY_BEG - beginning - - - NCURSES_KEY_CANCEL - cancel - - - NCURSES_KEY_CLOSE - close - - - NCURSES_KEY_COMMAND - cmd (command) - - - NCURSES_KEY_COPY - copy - - - NCURSES_KEY_CREATE - create - - - NCURSES_KEY_END - end - - - NCURSES_KEY_EXIT - exit - - - NCURSES_KEY_FIND - find - - - NCURSES_KEY_HELP - help - - - NCURSES_KEY_MARK - mark - - - NCURSES_KEY_MESSAGE - message - - - NCURSES_KEY_MOVE - move - - - NCURSES_KEY_NEXT - next - - - NCURSES_KEY_OPEN - open - - - NCURSES_KEY_OPTIONS - options - - - NCURSES_KEY_PREVIOUS - previous - - - NCURSES_KEY_REDO - redo - - - NCURSES_KEY_REFERENCE - ref (reference) - - - NCURSES_KEY_REFRESH - refresh - - - NCURSES_KEY_REPLACE - replace - - - NCURSES_KEY_RESTART - restart - - - NCURSES_KEY_RESUME - resume - - - NCURSES_KEY_SAVE - save - - - NCURSES_KEY_SBEG - shiftet beg (beginning) - - - NCURSES_KEY_SCANCEL - shifted cancel - - - NCURSES_KEY_SCOMMAND - shifted command - - - NCURSES_KEY_SCOPY - shifted copy - - - NCURSES_KEY_SCREATE - shifted create - - - NCURSES_KEY_SDC - shifted delete char - - - NCURSES_KEY_SDL - shifted delete line - - - NCURSES_KEY_SELECT - select - - - NCURSES_KEY_SEND - shifted end - - - NCURSES_KEY_SEOL - shifted end of line - - - NCURSES_KEY_SEXIT - shifted exit - - - NCURSES_KEY_SFIND - shifted find - - - NCURSES_KEY_SHELP - shifted help - - - NCURSES_KEY_SHOME - shifted home - - - NCURSES_KEY_SIC - shifted input - - - NCURSES_KEY_SLEFT - shifted left arrow - - - NCURSES_KEY_SMESSAGE - shifted message - - - NCURSES_KEY_SMOVE - shifted move - - - NCURSES_KEY_SNEXT - shifted next - - - NCURSES_KEY_SOPTIONS - shifted options - - - NCURSES_KEY_SPREVIOUS - shifted previous - - - NCURSES_KEY_SPRINT - shifted print - - - NCURSES_KEY_SREDO - shifted redo - - - NCURSES_KEY_SREPLACE - shifted replace - - - NCURSES_KEY_SRIGHT - shifted right arrow - - - NCURSES_KEY_SRSUME - shifted resume - - - NCURSES_KEY_SSAVE - shifted save - - - NCURSES_KEY_SSUSPEND - shifted suspend - - - NCURSES_KEY_UNDO - undo - - - NCURSES_KEY_MOUSE - mouse event has occurred - - - NCURSES_KEY_MAX - maximum key value - - - -
-
-
- Mouse - - mouse constants - - - - Constant - meaning - - - - - NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED - button (1-4) released - - - NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED - button (1-4) pressed - - - NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED - button (1-4) clicked - - - NCURSES_BUTTON1_DOUBLE_CLICKED - - NCURSES_BUTTON4_DOUBLE_CLICKED - button (1-4) double clicked - - - NCURSES_BUTTON1_TRIPLE_CLICKED - - NCURSES_BUTTON4_TRIPLE_CLICKED - button (1-4) triple clicked - - - NCURSES_BUTTON_CTRL - ctrl pressed during click - - - NCURSES_BUTTON_SHIFT - shift pressed during click - - - NCURSES_BUTTON_ALT - alt pressed during click - - - NCURSES_ALL_MOUSE_EVENTS - report all mouse events - - - NCURSES_REPORT_MOUSE_POSITION - report mouse position - - - -
-
-
- - diff --git a/reference/ncurses/functions/ncurses-addch.xml b/reference/ncurses/functions/ncurses-addch.xml deleted file mode 100644 index 9be4571428..0000000000 --- a/reference/ncurses/functions/ncurses-addch.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_addch - Add character at current position and advance cursor - - - &reftitle.description; - - intncurses_addch - intch - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - ch - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-addchnstr.xml b/reference/ncurses/functions/ncurses-addchnstr.xml deleted file mode 100644 index 013ff8a7f5..0000000000 --- a/reference/ncurses/functions/ncurses-addchnstr.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_addchnstr - Add attributed string with specified length at current position - - - &reftitle.description; - - intncurses_addchnstr - strings - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - s - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-addchstr.xml b/reference/ncurses/functions/ncurses-addchstr.xml deleted file mode 100644 index d96b4828fc..0000000000 --- a/reference/ncurses/functions/ncurses-addchstr.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_addchstr - Add attributed string at current position - - - &reftitle.description; - - intncurses_addchstr - strings - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - s - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-addnstr.xml b/reference/ncurses/functions/ncurses-addnstr.xml deleted file mode 100644 index 6220eb91c5..0000000000 --- a/reference/ncurses/functions/ncurses-addnstr.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_addnstr - Add string with specified length at current position - - - &reftitle.description; - - intncurses_addnstr - strings - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - s - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-addstr.xml b/reference/ncurses/functions/ncurses-addstr.xml deleted file mode 100644 index fb1f36748e..0000000000 --- a/reference/ncurses/functions/ncurses-addstr.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_addstr - Output text at current position - - - &reftitle.description; - - intncurses_addstr - stringtext - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - text - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-assume-default-colors.xml b/reference/ncurses/functions/ncurses-assume-default-colors.xml deleted file mode 100644 index 3177580c91..0000000000 --- a/reference/ncurses/functions/ncurses-assume-default-colors.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_assume_default_colors - Define default colors for color 0 - - - &reftitle.description; - - intncurses_assume_default_colors - intfg - intbg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - fg - - - - - - - bg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-attroff.xml b/reference/ncurses/functions/ncurses-attroff.xml deleted file mode 100644 index 032e6c48d5..0000000000 --- a/reference/ncurses/functions/ncurses-attroff.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_attroff - Turn off the given attributes - - - &reftitle.description; - - intncurses_attroff - intattributes - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - attributes - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-attron.xml b/reference/ncurses/functions/ncurses-attron.xml deleted file mode 100644 index 1db50e20dc..0000000000 --- a/reference/ncurses/functions/ncurses-attron.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_attron - Turn on the given attributes - - - &reftitle.description; - - intncurses_attron - intattributes - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - attributes - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-attrset.xml b/reference/ncurses/functions/ncurses-attrset.xml deleted file mode 100644 index 443eeeeae6..0000000000 --- a/reference/ncurses/functions/ncurses-attrset.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_attrset - Set given attributes - - - &reftitle.description; - - intncurses_attrset - intattributes - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - attributes - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-baudrate.xml b/reference/ncurses/functions/ncurses-baudrate.xml deleted file mode 100644 index aa8cfba997..0000000000 --- a/reference/ncurses/functions/ncurses-baudrate.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_baudrate - Returns baudrate of terminal - - - &reftitle.description; - - intncurses_baudrate - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-beep.xml b/reference/ncurses/functions/ncurses-beep.xml deleted file mode 100644 index c8c30024f0..0000000000 --- a/reference/ncurses/functions/ncurses-beep.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - ncurses_beep - Let the terminal beep - - - &reftitle.description; - - intncurses_beep - - - &warn.experimental.func; - - ncurses_beep sends an audible alert (bell) - and if its not possible flashes the screen. - - - - &reftitle.seealso; - - - ncurses_flash - - - - - - diff --git a/reference/ncurses/functions/ncurses-bkgd.xml b/reference/ncurses/functions/ncurses-bkgd.xml deleted file mode 100644 index 892d999f2f..0000000000 --- a/reference/ncurses/functions/ncurses-bkgd.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_bkgd - Set background property for terminal screen - - - &reftitle.description; - - intncurses_bkgd - intattrchar - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - attrchar - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-bkgdset.xml b/reference/ncurses/functions/ncurses-bkgdset.xml deleted file mode 100644 index 16e33b8d4e..0000000000 --- a/reference/ncurses/functions/ncurses-bkgdset.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_bkgdset - Control screen background - - - &reftitle.description; - - voidncurses_bkgdset - intattrchar - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - attrchar - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-border.xml b/reference/ncurses/functions/ncurses-border.xml deleted file mode 100644 index f6fe9f0cbd..0000000000 --- a/reference/ncurses/functions/ncurses-border.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - ncurses_border - Draw a border around the screen using attributed characters - - - &reftitle.description; - - intncurses_border - intleft - intright - inttop - intbottom - inttl_corner - inttr_corner - intbl_corner - intbr_corner - - &warn.experimental.func; - - Draws the specified lines and corners around the main window. - - - Use ncurses_wborder for borders around subwindows! - - - - &reftitle.parameters; - - Every parameter expects 0 to draw a line or 1 to skip it. - - - left - - - - - - - right - - - - - - - top - - - - - - - bottom - - - - - - - tl_corner - - - Top left corner - - - - - tr_corner - - - Top right corner - - - - - bl_corner - - - Bottom left corner - - - - - br_corner - - - Bottom right corner - - - - - - - - &reftitle.seealso; - - - ncurses_wborder - - - - - - diff --git a/reference/ncurses/functions/ncurses-bottom-panel.xml b/reference/ncurses/functions/ncurses-bottom-panel.xml deleted file mode 100644 index 4200357c2c..0000000000 --- a/reference/ncurses/functions/ncurses-bottom-panel.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_bottom_panel - Moves a visible panel to the bottom of the stack - - - &reftitle.description; - - intncurses_bottom_panel - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-can-change-color.xml b/reference/ncurses/functions/ncurses-can-change-color.xml deleted file mode 100644 index a045fbef97..0000000000 --- a/reference/ncurses/functions/ncurses-can-change-color.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - ncurses_can_change_color - Checks if terminal color definitions can be changed - - - &reftitle.description; - - boolncurses_can_change_color - - - - Checks whether the terminal has color capabilities and whether the - programmer can change color definitions using - ncurses_init_color. ncurses must be initialized - using ncurses_init before calling this function. - - - - &reftitle.parameters; - &no.function.parameters; - - - &reftitle.returnvalues; - - Return &true; if the programmer can change color definitions, - &false; otherwise. - - - - &reftitle.seealso; - - - ncurses_has_colors - ncurses_init_color - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-cbreak.xml b/reference/ncurses/functions/ncurses-cbreak.xml deleted file mode 100644 index 1d95762230..0000000000 --- a/reference/ncurses/functions/ncurses-cbreak.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - ncurses_cbreak - Switch off input buffering - - - &reftitle.description; - - boolncurses_cbreak - - - &warn.experimental.func; - - Disables line buffering and character processing (interrupt and flow - control characters are unaffected), making characters typed by the user - immediately available to the program. - - - - &reftitle.returnvalues; - - Returns &true; or NCURSES_ERR if any error occurred. - - - - &reftitle.seealso; - - - ncurses_nocbreak - - - - - - diff --git a/reference/ncurses/functions/ncurses-clear.xml b/reference/ncurses/functions/ncurses-clear.xml deleted file mode 100644 index 6fdcc0395c..0000000000 --- a/reference/ncurses/functions/ncurses-clear.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_clear - Clear screen - - - &reftitle.description; - - boolncurses_clear - - - &warn.experimental.func; - - Clears the screen completely without setting blanks. - - - Note: ncurses_clear clears the screen without - setting blanks, which have the current background rendition. To - clear screen with blanks, use ncurses_erase. - - - - &reftitle.returnvalues; - - &return.success; - - - - &reftitle.seealso; - - - ncurses_erase - - - - - - diff --git a/reference/ncurses/functions/ncurses-clrtobot.xml b/reference/ncurses/functions/ncurses-clrtobot.xml deleted file mode 100644 index f8cae81a35..0000000000 --- a/reference/ncurses/functions/ncurses-clrtobot.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_clrtobot - Clear screen from current position to bottom - - - &reftitle.description; - - boolncurses_clrtobot - - - &warn.experimental.func; - - Erases all lines from cursor to end of screen and creates blanks. Blanks - created by ncurses_clrtobot have the current - background rendition. - - - - &reftitle.returnvalues; - - &return.success; - - - - &reftitle.seealso; - - - ncurses_clear - ncurses_clrtoeol - - - - - - diff --git a/reference/ncurses/functions/ncurses-clrtoeol.xml b/reference/ncurses/functions/ncurses-clrtoeol.xml deleted file mode 100644 index 4c39b7afd0..0000000000 --- a/reference/ncurses/functions/ncurses-clrtoeol.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_clrtoeol - Clear screen from current position to end of line - - - &reftitle.description; - - boolncurses_clrtoeol - - - &warn.experimental.func; - - Erases the current line from cursor position to the end. Blanks created by - ncurses_clrtoeol have the current background - rendition. - - - - &reftitle.returnvalues; - - &return.success; - - - - &reftitle.seealso; - - - ncurses_clear - ncurses_clrtobot - - - - - - diff --git a/reference/ncurses/functions/ncurses-color-content.xml b/reference/ncurses/functions/ncurses-color-content.xml deleted file mode 100644 index 0aed29928e..0000000000 --- a/reference/ncurses/functions/ncurses-color-content.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - ncurses_color_content - Retrieves RGB components of a color - - - &reftitle.description; - - intncurses_color_content - intcolor - intr - intg - intb - - - Retrieves the red, green, and blue components for the given color definition. - Terminal color capabilities must be initialized with - ncurses_start_color prior to calling this function. - - - - &reftitle.parameters; - - - - color - - - The number of the color to retrieve information for. May be one of the - pre-defined color constants. - - - - - r - - - A reference to which to return the red component of the color. The value - returned to the reference will be between 0 and 1000. - - - - - g - - - A reference to which to return the green component of the color. The value - returned to the reference will be between 0 and 1000. - - - - - b - - - A reference to which to return the blue component of the color. The value - returned to the reference will be between 0 and 1000. - - - - - - - - &reftitle.returnvalues; - - Returns -1 if the function was successful, and - 0 if ncurses or terminal color capabilities have not been - initialized. - - - - &reftitle.seealso; - - - ncurses_init_color - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-color-set.xml b/reference/ncurses/functions/ncurses-color-set.xml deleted file mode 100644 index f5a0236697..0000000000 --- a/reference/ncurses/functions/ncurses-color-set.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - ncurses_color_set - Set active foreground and background colors - - - &reftitle.description; - - intncurses_color_set - intpair - - - Sets the active foreground and background colors. Any characters written - after this function is invoked will have these colors. This function requires - terminal colors to be supported and initialized using - ncurses_start_color beforehand. - - - ncurses uses color pairs to specify both foreground and background colors. - Use ncurses_init_pair to define a color pair. - - - - &reftitle.parameters; - - - - pair - - - The color pair from which to get the foreground and background colors - to set as the active colors. - - - - - - - - &reftitle.returnvalues; - - Returns -1 on success, and 0 on failure. - - - - &reftitle.examples; - - - Writing a string with a specified color to the screen - - -]]> - - - - - - &reftitle.seealso; - - - ncurses_init_pair - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-curs-set.xml b/reference/ncurses/functions/ncurses-curs-set.xml deleted file mode 100644 index ff4fd5b141..0000000000 --- a/reference/ncurses/functions/ncurses-curs-set.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_curs_set - Set cursor state - - - &reftitle.description; - - intncurses_curs_set - intvisibility - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - visibility - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-def-prog-mode.xml b/reference/ncurses/functions/ncurses-def-prog-mode.xml deleted file mode 100644 index 8115b0b54f..0000000000 --- a/reference/ncurses/functions/ncurses-def-prog-mode.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_def_prog_mode - Saves terminals (program) mode - - - &reftitle.description; - - boolncurses_def_prog_mode - - - &warn.experimental.func; - - Saves the current terminal modes for program (in curses) for use by - ncurses_reset_prog_mode. - - - - &reftitle.returnvalues; - - Returns &false; on success, otherwise &true;. - - - - &reftitle.seealso; - - - ncurses_reset_prog_mode - - - - - - diff --git a/reference/ncurses/functions/ncurses-def-shell-mode.xml b/reference/ncurses/functions/ncurses-def-shell-mode.xml deleted file mode 100644 index 95efffdfd5..0000000000 --- a/reference/ncurses/functions/ncurses-def-shell-mode.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_def_shell_mode - Saves terminals (shell) mode - - - &reftitle.description; - - boolncurses_def_shell_mode - - - &warn.experimental.func; - - Saves the current terminal modes for shell (not in curses) for use by - ncurses_reset_shell_mode. - - - - &reftitle.returnvalues; - - Returns &false; on success, &true; otherwise. - - - - &reftitle.seealso; - - - ncurses_reset_shell_mode - - - - - - diff --git a/reference/ncurses/functions/ncurses-define-key.xml b/reference/ncurses/functions/ncurses-define-key.xml deleted file mode 100644 index 5d5f9205b6..0000000000 --- a/reference/ncurses/functions/ncurses-define-key.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_define_key - Define a keycode - - - &reftitle.description; - - intncurses_define_key - stringdefinition - intkeycode - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - definition - - - - - - - keycode - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-del-panel.xml b/reference/ncurses/functions/ncurses-del-panel.xml deleted file mode 100644 index 9e18d8241f..0000000000 --- a/reference/ncurses/functions/ncurses-del-panel.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_del_panel - Remove panel from the stack and delete it (but not the associated window) - - - &reftitle.description; - - boolncurses_del_panel - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-delay-output.xml b/reference/ncurses/functions/ncurses-delay-output.xml deleted file mode 100644 index f766c86ff9..0000000000 --- a/reference/ncurses/functions/ncurses-delay-output.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_delay_output - Delay output on terminal using padding characters - - - &reftitle.description; - - intncurses_delay_output - intmilliseconds - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - milliseconds - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-delch.xml b/reference/ncurses/functions/ncurses-delch.xml deleted file mode 100644 index 06fc775900..0000000000 --- a/reference/ncurses/functions/ncurses-delch.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_delch - Delete character at current position, move rest of line left - - - &reftitle.description; - - boolncurses_delch - - - &warn.experimental.func; - - Deletes the character under the cursor. All characters to the right of the - cursor on the same line are moved to the left one position and the last - character on the line is filled with a blank. The cursor position does not - change. - - - - &reftitle.returnvalues; - - Returns &false; on success, &true; otherwise. - - - - &reftitle.seealso; - - - ncurses_deleteln - - - - - - diff --git a/reference/ncurses/functions/ncurses-deleteln.xml b/reference/ncurses/functions/ncurses-deleteln.xml deleted file mode 100644 index 7fbd7e2a31..0000000000 --- a/reference/ncurses/functions/ncurses-deleteln.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - ncurses_deleteln - Delete line at current position, move rest of screen up - - - &reftitle.description; - - boolncurses_deleteln - - - &warn.experimental.func; - - Deletes the current line under cursor position. All lines below the current - line are moved up one line. The bottom line of window is cleared. Cursor - position does not change. - - - - &reftitle.returnvalues; - - Returns &false; on success, otherwise &true;. - - - - &reftitle.seealso; - - - ncurses_delch - - - - - - diff --git a/reference/ncurses/functions/ncurses-delwin.xml b/reference/ncurses/functions/ncurses-delwin.xml deleted file mode 100644 index 20e94e970c..0000000000 --- a/reference/ncurses/functions/ncurses-delwin.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_delwin - Delete a ncurses window - - - &reftitle.description; - - boolncurses_delwin - resourcewindow - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-doupdate.xml b/reference/ncurses/functions/ncurses-doupdate.xml deleted file mode 100644 index fbff094821..0000000000 --- a/reference/ncurses/functions/ncurses-doupdate.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - ncurses_doupdate - Write all prepared refreshes to terminal - - - &reftitle.description; - - boolncurses_doupdate - - - &warn.experimental.func; - - Compares the virtual screen to the physical screen and updates the - physical screen. This way is more effective than using multiple refresh - calls. - - - - &reftitle.returnvalues; - - &return.success; - - - - - diff --git a/reference/ncurses/functions/ncurses-echo.xml b/reference/ncurses/functions/ncurses-echo.xml deleted file mode 100644 index 1cf6c93f6f..0000000000 --- a/reference/ncurses/functions/ncurses-echo.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_echo - Activate keyboard input echo - - - &reftitle.description; - - boolncurses_echo - - - &warn.experimental.func; - - Enables echo mode. All characters typed by user are echoed by - ncurses_getch. - - - - &reftitle.returnvalues; - - Returns &false; on success, &true; if any error occurred. - - - - &reftitle.seealso; - - - ncurses_noecho to disable echo mode - - - - - - diff --git a/reference/ncurses/functions/ncurses-echochar.xml b/reference/ncurses/functions/ncurses-echochar.xml deleted file mode 100644 index e167fd4bbf..0000000000 --- a/reference/ncurses/functions/ncurses-echochar.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_echochar - Single character output including refresh - - - &reftitle.description; - - intncurses_echochar - intcharacter - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - character - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-end.xml b/reference/ncurses/functions/ncurses-end.xml deleted file mode 100644 index 60f9a284a7..0000000000 --- a/reference/ncurses/functions/ncurses-end.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_end - Stop using ncurses, clean up the screen - - - &reftitle.description; - - intncurses_end - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-erase.xml b/reference/ncurses/functions/ncurses-erase.xml deleted file mode 100644 index 94659cee93..0000000000 --- a/reference/ncurses/functions/ncurses-erase.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_erase - Erase terminal screen - - - &reftitle.description; - - boolncurses_erase - - - &warn.experimental.func; - - Fills the terminal screen with blanks. - - - Created blanks have the current background rendition, set by - ncurses_bkgd. - - - - &reftitle.returnvalues; - - &return.success; - - - - &reftitle.seealso; - - - ncurses_bkgd - ncurses_clear - - - - - - diff --git a/reference/ncurses/functions/ncurses-erasechar.xml b/reference/ncurses/functions/ncurses-erasechar.xml deleted file mode 100644 index a7824bd528..0000000000 --- a/reference/ncurses/functions/ncurses-erasechar.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - ncurses_erasechar - Returns current erase character - - - &reftitle.description; - - stringncurses_erasechar - - - &warn.experimental.func; - - Returns the current erase character. - - - - &reftitle.returnvalues; - - The current erase char, as a string. - - - - &reftitle.seealso; - - - ncurses_killchar - - - - - - diff --git a/reference/ncurses/functions/ncurses-filter.xml b/reference/ncurses/functions/ncurses-filter.xml deleted file mode 100644 index 46183c2058..0000000000 --- a/reference/ncurses/functions/ncurses-filter.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_filter - Set LINES for iniscr() and newterm() to 1 - - - &reftitle.description; - - voidncurses_filter - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-flash.xml b/reference/ncurses/functions/ncurses-flash.xml deleted file mode 100644 index 06942e295e..0000000000 --- a/reference/ncurses/functions/ncurses-flash.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_flash - Flash terminal screen (visual bell) - - - &reftitle.description; - - boolncurses_flash - - - &warn.experimental.func; - - Flashes the screen, and if its not possible, sends an audible alert - (bell). - - - - &reftitle.returnvalues; - - Returns &false; on success, otherwise &true;. - - - - &reftitle.seealso; - - - ncurses_beep - - - - - - diff --git a/reference/ncurses/functions/ncurses-flushinp.xml b/reference/ncurses/functions/ncurses-flushinp.xml deleted file mode 100644 index 2c76760d8d..0000000000 --- a/reference/ncurses/functions/ncurses-flushinp.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - ncurses_flushinp - Flush keyboard input buffer - - - &reftitle.description; - - boolncurses_flushinp - - - &warn.experimental.func; - - Throws away any typeahead that has been typed and has not yet been read by - your program. - - - - &reftitle.returnvalues; - - Returns &false; on success, otherwise &true;. - - - - - diff --git a/reference/ncurses/functions/ncurses-getch.xml b/reference/ncurses/functions/ncurses-getch.xml deleted file mode 100644 index eee832e11b..0000000000 --- a/reference/ncurses/functions/ncurses-getch.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_getch - Read a character from keyboard - - - &reftitle.description; - - intncurses_getch - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-getmaxyx.xml b/reference/ncurses/functions/ncurses-getmaxyx.xml deleted file mode 100644 index e6dcda6499..0000000000 --- a/reference/ncurses/functions/ncurses-getmaxyx.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - ncurses_getmaxyx - Returns the size of a window - - - &reftitle.description; - - voidncurses_getmaxyx - resourcewindow - inty - intx - - &warn.experimental.func; - - Gets the horizontal and vertical size of the given - window into the given variables. - - - Variables must be passed as reference, so they are updated when the user - changes the terminal size. - - - - &reftitle.parameters; - - - - window - - - The measured window - - - - - y - - - This will be set to the window height - - - - - x - - - This will be set to the window width - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - diff --git a/reference/ncurses/functions/ncurses-getmouse.xml b/reference/ncurses/functions/ncurses-getmouse.xml deleted file mode 100644 index 28f16ad973..0000000000 --- a/reference/ncurses/functions/ncurses-getmouse.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ncurses_getmouse - Reads mouse event - - - &reftitle.description; - - boolncurses_getmouse - arraymevent - - &warn.experimental.func; - - ncurses_getmouse reads mouse event out of - queue. - - - - &reftitle.parameters; - - - - mevent - - - Event options will be delivered in this parameter which has to be an - array, passed by reference (see example below). - - - On success an associative array with following keys will be delivered: - - - - "id" : Id to distinguish multiple devices - - - - - "x" : screen relative x-position in character cells - - - - - "y" : screen relative y-position in character cells - - - - - "z" : currently not supported - - - - - "mmask" : Mouse action - - - - - - - - - - - &reftitle.returnvalues; - - Returns &false; if a mouse event is actually visible in the given window, - otherwise returns &true;. - - - - &reftitle.examples; - - - <function>ncurses_getmouse</function> example - - -]]> - - - - - - &reftitle.seealso; - - - ncurses_ungetmouse - - - - - - diff --git a/reference/ncurses/functions/ncurses-getyx.xml b/reference/ncurses/functions/ncurses-getyx.xml deleted file mode 100644 index 25e53b90fd..0000000000 --- a/reference/ncurses/functions/ncurses-getyx.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - ncurses_getyx - Returns the current cursor position for a window - - - &reftitle.description; - - voidncurses_getyx - resourcewindow - inty - intx - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-halfdelay.xml b/reference/ncurses/functions/ncurses-halfdelay.xml deleted file mode 100644 index 691d37cc69..0000000000 --- a/reference/ncurses/functions/ncurses-halfdelay.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_halfdelay - Put terminal into halfdelay mode - - - &reftitle.description; - - intncurses_halfdelay - inttenth - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - tenth - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-has-colors.xml b/reference/ncurses/functions/ncurses-has-colors.xml deleted file mode 100644 index fd943ad519..0000000000 --- a/reference/ncurses/functions/ncurses-has-colors.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - ncurses_has_colors - Checks if terminal has color capabilities - - - &reftitle.description; - - boolncurses_has_colors - - - - Checks whether the terminal has color capabilities. This function can be - used to write terminal-independent programs. ncurses must be initialized - using ncurses_init before calling this function. - - - - &reftitle.parameters; - &no.function.parameters; - - - &reftitle.returnvalues; - - Return &true; if the terminal has color capabilities, &false; otherwise. - - - - &reftitle.examples; - - - Writing a string with a specified color to the screen - - -]]> - - - - - - &reftitle.seealso; - - - ncurses_can_change_color - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-has-ic.xml b/reference/ncurses/functions/ncurses-has-ic.xml deleted file mode 100644 index 07127bf575..0000000000 --- a/reference/ncurses/functions/ncurses-has-ic.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_has_ic - Check for insert- and delete-capabilities - - - &reftitle.description; - - boolncurses_has_ic - - - &warn.experimental.func; - - Checks whether the terminal has insert and delete capabilities. - - - - &reftitle.returnvalues; - - Returns &true; if the terminal has insert/delete-capabilities, &false; - otherwise. - - - - &reftitle.seealso; - - - ncurses_has_il - - - - - - diff --git a/reference/ncurses/functions/ncurses-has-il.xml b/reference/ncurses/functions/ncurses-has-il.xml deleted file mode 100644 index f45b8f9eaf..0000000000 --- a/reference/ncurses/functions/ncurses-has-il.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_has_il - Check for line insert- and delete-capabilities - - - &reftitle.description; - - boolncurses_has_il - - - &warn.experimental.func; - - Checks whether the terminal has insert- and delete-line-capabilities. - - - - &reftitle.returnvalues; - - Returns &true; if the terminal has insert/delete-line capabilities, - &false; otherwise. - - - - &reftitle.seealso; - - - ncurses_has_ic - - - - - - diff --git a/reference/ncurses/functions/ncurses-has-key.xml b/reference/ncurses/functions/ncurses-has-key.xml deleted file mode 100644 index 6af52875cb..0000000000 --- a/reference/ncurses/functions/ncurses-has-key.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_has_key - Check for presence of a function key on terminal keyboard - - - &reftitle.description; - - intncurses_has_key - intkeycode - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - keycode - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-hide-panel.xml b/reference/ncurses/functions/ncurses-hide-panel.xml deleted file mode 100644 index 07f178750e..0000000000 --- a/reference/ncurses/functions/ncurses-hide-panel.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - ncurses_hide_panel - Remove panel from the stack, making it invisible - - - &reftitle.description; - - intncurses_hide_panel - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-hline.xml b/reference/ncurses/functions/ncurses-hline.xml deleted file mode 100644 index f823e26316..0000000000 --- a/reference/ncurses/functions/ncurses-hline.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_hline - Draw a horizontal line at current position using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_hline - intcharattr - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - charattr - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-inch.xml b/reference/ncurses/functions/ncurses-inch.xml deleted file mode 100644 index 0298867839..0000000000 --- a/reference/ncurses/functions/ncurses-inch.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - ncurses_inch - Get character and attribute at current position - - - &reftitle.description; - - stringncurses_inch - - - &warn.experimental.func; - - Returns the character from the current position. - - - - &reftitle.returnvalues; - - Returns the character, as a string. - - - - - diff --git a/reference/ncurses/functions/ncurses-init-color.xml b/reference/ncurses/functions/ncurses-init-color.xml deleted file mode 100644 index 38de94ee53..0000000000 --- a/reference/ncurses/functions/ncurses-init-color.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - ncurses_init_color - Define a terminal color - - - &reftitle.description; - - intncurses_init_color - intcolor - intr - intg - intb - - - Defines or redefines the given color. When this function is called, all - occurrences of the given color on the screen, if any, immediately change - to the new definition. - - - Color capabilities must be supported by the terminal and initialized using - ncurses_start_color prior to calling this function. - In addition, the terminal must have color changing capabilities; use - ncurses_can_change_color to check for this. - - - - &reftitle.parameters; - - - - color - - - The identification number of the color to redefine. It may be one of - the default color constants. - - - - - r - - - A color value, between 0 and 1000, for the red component. - - - - - g - - - A color value, between 0 and 1000, for the green component. - - - - - b - - - A color value, between 0 and 1000, for the blue component. - - - - - - - - &reftitle.returnvalues; - - Returns -1 if the function was successful, - and 0 if ncurses or terminal - color capabilities have not been initialized or the terminal does not - have color changing capabilities. - - - - &reftitle.seealso; - - - ncurses_color_content - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-init-pair.xml b/reference/ncurses/functions/ncurses-init-pair.xml deleted file mode 100644 index f683ef218d..0000000000 --- a/reference/ncurses/functions/ncurses-init-pair.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - ncurses_init_pair - Define a color pair - - - &reftitle.description; - - intncurses_init_pair - intpair - intfg - intbg - - - Defines or redefines the given color pair to have the given foreground - and background colors. If the color pair was previously initialized, - the screen is refreshed and all occurrences of it are changed to reflect - the new definition. - - - Color capabilities must be initialized using - ncurses_start_color before calling this function. - The first color pair (color pair 0) is assumed to - be white on black by default, but can be changed using - ncurses_assume_default_colors. - - - - &reftitle.parameters; - - - - pair - - - The number of the color pair to define. - - - - - fg - - - The foreground color for the color pair. May be one of the - pre-defined colors - or one defined by ncurses_init_color if - the terminal has color changing capabilities. - - - - - bg - - - The background color for the color pair. May be one of the - pre-defined colors - or one defined by ncurses_init_color if - the terminal has color changing capabilities. - - - - - - - - &reftitle.returnvalues; - - Returns -1 if the function was successful, and - 0 if ncurses or color support were not initialized. - - - - &reftitle.notes; - - Note that color changing capabilities are not required for - defining color pairs of pre-existing colors, but only for changing - definitions (red, green, and blue components) - of colors themselves per ncurses_init_color. - - - - &reftitle.examples; - - - Writing a string with a specified color to the screen - - -]]> - - - - - - &reftitle.seealso; - - - ncurses_pair_content - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-init.xml b/reference/ncurses/functions/ncurses-init.xml deleted file mode 100644 index 503960328d..0000000000 --- a/reference/ncurses/functions/ncurses-init.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - ncurses_init - Initialize ncurses - - - &reftitle.description; - - voidncurses_init - - - - Initializes the ncurses interface. This function must be used before - any other ncurses function call. - - - Note that ncurses_end must be called before - exiting from the program, or the terminal will not - be restored to its proper non-visual mode. - - - - &reftitle.parameters; - &no.function.parameters; - - - &reftitle.returnvalues; - - &return.void; - - - - &reftitle.seealso; - - - ncurses_end - - - - - - diff --git a/reference/ncurses/functions/ncurses-insch.xml b/reference/ncurses/functions/ncurses-insch.xml deleted file mode 100644 index f679aa2896..0000000000 --- a/reference/ncurses/functions/ncurses-insch.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_insch - Insert character moving rest of line including character at current position - - - &reftitle.description; - - intncurses_insch - intcharacter - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - character - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-insdelln.xml b/reference/ncurses/functions/ncurses-insdelln.xml deleted file mode 100644 index 48ffb0d875..0000000000 --- a/reference/ncurses/functions/ncurses-insdelln.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_insdelln - Insert lines before current line scrolling down (negative numbers delete and scroll up) - - - &reftitle.description; - - intncurses_insdelln - intcount - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - count - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-insertln.xml b/reference/ncurses/functions/ncurses-insertln.xml deleted file mode 100644 index 302333c239..0000000000 --- a/reference/ncurses/functions/ncurses-insertln.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - ncurses_insertln - Insert a line, move rest of screen down - - - &reftitle.description; - - intncurses_insertln - - - &warn.experimental.func; - - Inserts a new line above the current line. The bottom line will be lost. - - - - - diff --git a/reference/ncurses/functions/ncurses-insstr.xml b/reference/ncurses/functions/ncurses-insstr.xml deleted file mode 100644 index 3af464c6ee..0000000000 --- a/reference/ncurses/functions/ncurses-insstr.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_insstr - Insert string at current position, moving rest of line right - - - &reftitle.description; - - intncurses_insstr - stringtext - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - text - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-instr.xml b/reference/ncurses/functions/ncurses-instr.xml deleted file mode 100644 index 96797e165d..0000000000 --- a/reference/ncurses/functions/ncurses-instr.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - ncurses_instr - Reads string from terminal screen - - - &reftitle.description; - - intncurses_instr - stringbuffer - - &warn.experimental.func; - - Reads a string from the terminal screen and returns the number of - characters read from the current character position until end of line. - - - - &reftitle.parameters; - - - - buffer - - - The characters. Attributes will be stripped. - - - - - - - - &reftitle.returnvalues; - - Returns the number of characters. - - - - - diff --git a/reference/ncurses/functions/ncurses-isendwin.xml b/reference/ncurses/functions/ncurses-isendwin.xml deleted file mode 100644 index f95b0f4a0d..0000000000 --- a/reference/ncurses/functions/ncurses-isendwin.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_isendwin - Ncurses is in endwin mode, normal screen output may be performed - - - &reftitle.description; - - boolncurses_isendwin - - - &warn.experimental.func; - - Checks if ncurses is in endwin mode. - - - - &reftitle.returnvalues; - - Returns &true;, if ncurses_end has been called - without any subsequent calls to ncurses_wrefresh, - &false; otherwise. - - - - &reftitle.seealso; - - - ncurses_end - ncurses_wrefresh - - - - - - diff --git a/reference/ncurses/functions/ncurses-keyok.xml b/reference/ncurses/functions/ncurses-keyok.xml deleted file mode 100644 index 50513f4179..0000000000 --- a/reference/ncurses/functions/ncurses-keyok.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_keyok - Enable or disable a keycode - - - &reftitle.description; - - intncurses_keyok - intkeycode - boolenable - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - keycode - - - - - - - enable - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-keypad.xml b/reference/ncurses/functions/ncurses-keypad.xml deleted file mode 100644 index 5d47e6a46a..0000000000 --- a/reference/ncurses/functions/ncurses-keypad.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_keypad - Turns keypad on or off - - - &reftitle.description; - - intncurses_keypad - resourcewindow - boolbf - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - bf - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-killchar.xml b/reference/ncurses/functions/ncurses-killchar.xml deleted file mode 100644 index 64ddbd28a9..0000000000 --- a/reference/ncurses/functions/ncurses-killchar.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - ncurses_killchar - Returns current line kill character - - - &reftitle.description; - - stringncurses_killchar - - - &warn.experimental.func; - - Returns the current line kill character. - - - - &reftitle.returnvalues; - - Returns the kill character, as a string. - - - - &reftitle.seealso; - - - ncurses_erasechar - - - - - - diff --git a/reference/ncurses/functions/ncurses-longname.xml b/reference/ncurses/functions/ncurses-longname.xml deleted file mode 100644 index a7b245abf0..0000000000 --- a/reference/ncurses/functions/ncurses-longname.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_longname - Returns terminals description - - - &reftitle.description; - - stringncurses_longname - - - &warn.experimental.func; - - Returns a verbose description of the terminal. - - - - &reftitle.returnvalues; - - Returns the description, as a string truncated to 128 characters. - On errors, returns &null;. - - - - &reftitle.seealso; - - - ncurses_termname - - - - - - diff --git a/reference/ncurses/functions/ncurses-meta.xml b/reference/ncurses/functions/ncurses-meta.xml deleted file mode 100644 index d375ef172f..0000000000 --- a/reference/ncurses/functions/ncurses-meta.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_meta - Enables/Disable 8-bit meta key information - - - &reftitle.description; - - intncurses_meta - resourcewindow - bool8bit - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - 8bit - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mouse-trafo.xml b/reference/ncurses/functions/ncurses-mouse-trafo.xml deleted file mode 100644 index ffcfdcf2ce..0000000000 --- a/reference/ncurses/functions/ncurses-mouse-trafo.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_mouse_trafo - Transforms coordinates - - - &reftitle.description; - - boolncurses_mouse_trafo - inty - intx - booltoscreen - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - toscreen - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mouseinterval.xml b/reference/ncurses/functions/ncurses-mouseinterval.xml deleted file mode 100644 index d7172fbdc8..0000000000 --- a/reference/ncurses/functions/ncurses-mouseinterval.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_mouseinterval - Set timeout for mouse button clicks - - - &reftitle.description; - - intncurses_mouseinterval - intmilliseconds - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - milliseconds - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mousemask.xml b/reference/ncurses/functions/ncurses-mousemask.xml deleted file mode 100644 index d4fc704684..0000000000 --- a/reference/ncurses/functions/ncurses-mousemask.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - ncurses_mousemask - Sets mouse options - - - &reftitle.description; - - intncurses_mousemask - intnewmask - intoldmask - - &warn.experimental.func; - - Sets mouse events to be reported. By default no mouse events will be - reported. - - - Mouse events are represented by NCURSES_KEY_MOUSE in the - ncurses_wgetch input stream. To read the event data - and pop the event of queue, call ncurses_getmouse. - - - - &reftitle.parameters; - - - - newmask - - - Mouse mask options can be set with the following predefined constants: - - NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON2_PRESSED - NCURSES_BUTTON2_RELEASED - NCURSES_BUTTON2_CLICKED - NCURSES_BUTTON2_DOUBLE_CLICKED - NCURSES_BUTTON2_TRIPLE_CLICKED - NCURSES_BUTTON3_PRESSED - NCURSES_BUTTON3_RELEASED - NCURSES_BUTTON3_CLICKED - NCURSES_BUTTON3_DOUBLE_CLICKED - NCURSES_BUTTON3_TRIPLE_CLICKED - NCURSES_BUTTON4_PRESSED - NCURSES_BUTTON4_RELEASED - NCURSES_BUTTON4_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED - NCURSES_BUTTON_SHIFT> - NCURSES_BUTTON_CTRL - NCURSES_BUTTON_ALT - NCURSES_ALL_MOUSE_EVENTS - NCURSES_REPORT_MOUSE_POSITION - - - - As a side effect, setting a zero mousemask in - newmask turns off the mouse - pointer. Setting a non zero value turns mouse pointer on. - - - - - oldmask - - - This will be set to the previous value of the mouse event mask. - - - - - - - - &reftitle.returnvalues; - - Returns the mask of reportable events. On complete failure, it returns - 0. - - - - &reftitle.examples; - - - <function>ncurses_mousemask</function> example - - -]]> - - - - - - &reftitle.seealso; - - - ncurses_getch - ncurses_getmouse - ncurses_ungetmouse - - - - - - diff --git a/reference/ncurses/functions/ncurses-move-panel.xml b/reference/ncurses/functions/ncurses-move-panel.xml deleted file mode 100644 index 3d8f9515b0..0000000000 --- a/reference/ncurses/functions/ncurses-move-panel.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_move_panel - Moves a panel so that its upper-left corner is at [startx, starty] - - - &reftitle.description; - - intncurses_move_panel - resourcepanel - intstartx - intstarty - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - startx - - - - - - - starty - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-move.xml b/reference/ncurses/functions/ncurses-move.xml deleted file mode 100644 index 041db7898a..0000000000 --- a/reference/ncurses/functions/ncurses-move.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_move - Move output position - - - &reftitle.description; - - intncurses_move - inty - intx - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvaddch.xml b/reference/ncurses/functions/ncurses-mvaddch.xml deleted file mode 100644 index 86bc1ec41d..0000000000 --- a/reference/ncurses/functions/ncurses-mvaddch.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - ncurses_mvaddch - Move current position and add character - - - &reftitle.description; - - intncurses_mvaddch - inty - intx - intc - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - c - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvaddchnstr.xml b/reference/ncurses/functions/ncurses-mvaddchnstr.xml deleted file mode 100644 index 3c39ec30b0..0000000000 --- a/reference/ncurses/functions/ncurses-mvaddchnstr.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvaddchnstr - Move position and add attributed string with specified length - - - &reftitle.description; - - intncurses_mvaddchnstr - inty - intx - strings - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - s - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvaddchstr.xml b/reference/ncurses/functions/ncurses-mvaddchstr.xml deleted file mode 100644 index b8c2d2cb3e..0000000000 --- a/reference/ncurses/functions/ncurses-mvaddchstr.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - ncurses_mvaddchstr - Move position and add attributed string - - - &reftitle.description; - - intncurses_mvaddchstr - inty - intx - strings - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - s - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvaddnstr.xml b/reference/ncurses/functions/ncurses-mvaddnstr.xml deleted file mode 100644 index 4039cce6c3..0000000000 --- a/reference/ncurses/functions/ncurses-mvaddnstr.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvaddnstr - Move position and add string with specified length - - - &reftitle.description; - - intncurses_mvaddnstr - inty - intx - strings - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - s - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvaddstr.xml b/reference/ncurses/functions/ncurses-mvaddstr.xml deleted file mode 100644 index 5a94c10e05..0000000000 --- a/reference/ncurses/functions/ncurses-mvaddstr.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - ncurses_mvaddstr - Move position and add string - - - &reftitle.description; - - intncurses_mvaddstr - inty - intx - strings - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - s - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvcur.xml b/reference/ncurses/functions/ncurses-mvcur.xml deleted file mode 100644 index d80ddec677..0000000000 --- a/reference/ncurses/functions/ncurses-mvcur.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvcur - Move cursor immediately - - - &reftitle.description; - - intncurses_mvcur - intold_y - intold_x - intnew_y - intnew_x - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - old_y - - - - - - - old_x - - - - - - - new_y - - - - - - - new_x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvdelch.xml b/reference/ncurses/functions/ncurses-mvdelch.xml deleted file mode 100644 index b8330e9423..0000000000 --- a/reference/ncurses/functions/ncurses-mvdelch.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_mvdelch - Move position and delete character, shift rest of line left - - - &reftitle.description; - - intncurses_mvdelch - inty - intx - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvgetch.xml b/reference/ncurses/functions/ncurses-mvgetch.xml deleted file mode 100644 index 97561eba3c..0000000000 --- a/reference/ncurses/functions/ncurses-mvgetch.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_mvgetch - Move position and get character at new position - - - &reftitle.description; - - intncurses_mvgetch - inty - intx - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvhline.xml b/reference/ncurses/functions/ncurses-mvhline.xml deleted file mode 100644 index 4c6c001d5d..0000000000 --- a/reference/ncurses/functions/ncurses-mvhline.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvhline - Set new position and draw a horizontal line using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_mvhline - inty - intx - intattrchar - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - attrchar - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvinch.xml b/reference/ncurses/functions/ncurses-mvinch.xml deleted file mode 100644 index 7ba22e920b..0000000000 --- a/reference/ncurses/functions/ncurses-mvinch.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_mvinch - Move position and get attributed character at new position - - - &reftitle.description; - - intncurses_mvinch - inty - intx - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvvline.xml b/reference/ncurses/functions/ncurses-mvvline.xml deleted file mode 100644 index 761ca6a17c..0000000000 --- a/reference/ncurses/functions/ncurses-mvvline.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvvline - Set new position and draw a vertical line using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_mvvline - inty - intx - intattrchar - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - y - - - - - - - x - - - - - - - attrchar - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-mvwaddstr.xml b/reference/ncurses/functions/ncurses-mvwaddstr.xml deleted file mode 100644 index 30e183939a..0000000000 --- a/reference/ncurses/functions/ncurses-mvwaddstr.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - ncurses_mvwaddstr - Add string at new position in window - - - &reftitle.description; - - intncurses_mvwaddstr - resourcewindow - inty - intx - stringtext - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - y - - - - - - - x - - - - - - - text - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-napms.xml b/reference/ncurses/functions/ncurses-napms.xml deleted file mode 100644 index 6c1e88257c..0000000000 --- a/reference/ncurses/functions/ncurses-napms.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_napms - Sleep - - - &reftitle.description; - - intncurses_napms - intmilliseconds - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - milliseconds - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-new-panel.xml b/reference/ncurses/functions/ncurses-new-panel.xml deleted file mode 100644 index 53098fec83..0000000000 --- a/reference/ncurses/functions/ncurses-new-panel.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_new_panel - Create a new panel and associate it with window - - - &reftitle.description; - - resourcencurses_new_panel - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-newpad.xml b/reference/ncurses/functions/ncurses-newpad.xml deleted file mode 100644 index 9791fb4ea3..0000000000 --- a/reference/ncurses/functions/ncurses-newpad.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_newpad - Creates a new pad (window) - - - &reftitle.description; - - resourcencurses_newpad - introws - intcols - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - rows - - - - - - - cols - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-newwin.xml b/reference/ncurses/functions/ncurses-newwin.xml deleted file mode 100644 index 9b440c5cba..0000000000 --- a/reference/ncurses/functions/ncurses-newwin.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ncurses_newwin - Create a new window - - - &reftitle.description; - - resourcencurses_newwin - introws - intcols - inty - intx - - &warn.experimental.func; - - Creates a new window to draw elements in. - - - When creating additional windows, remember to use - ncurses_getmaxyx to check for available space, as - terminal size is individual and may vary. - - - - &reftitle.parameters; - - - - rows - - - Number of rows - - - - - cols - - - Number of columns - - - - - y - - - y-coordinate of the origin - - - - - x - - - x-coordinate of the origin - - - - - - - - &reftitle.returnvalues; - - Returns a resource ID for the new window. - - - - - diff --git a/reference/ncurses/functions/ncurses-nl.xml b/reference/ncurses/functions/ncurses-nl.xml deleted file mode 100644 index 3291b9f59b..0000000000 --- a/reference/ncurses/functions/ncurses-nl.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_nl - Translate newline and carriage return / line feed - - - &reftitle.description; - - boolncurses_nl - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-nocbreak.xml b/reference/ncurses/functions/ncurses-nocbreak.xml deleted file mode 100644 index d0d5a15318..0000000000 --- a/reference/ncurses/functions/ncurses-nocbreak.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_nocbreak - Switch terminal to cooked mode - - - &reftitle.description; - - boolncurses_nocbreak - - - &warn.experimental.func; - - Returns terminal to normal (cooked) mode. Initially the terminal may or - may not be in cbreak mode as the mode is inherited. Therefore a program - should call ncurses_cbreak and - ncurses_nocbreak explicitly. - - - - &reftitle.returnvalues; - - Returns &true; if any error occurred, otherwise &false;. - - - - &reftitle.seealso; - - - ncurses_cbreak - - - - - - diff --git a/reference/ncurses/functions/ncurses-noecho.xml b/reference/ncurses/functions/ncurses-noecho.xml deleted file mode 100644 index 6c34a74a08..0000000000 --- a/reference/ncurses/functions/ncurses-noecho.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_noecho - Switch off keyboard input echo - - - &reftitle.description; - - boolncurses_noecho - - - &warn.experimental.func; - - Prevents echoing of user typed characters. - - - - &reftitle.returnvalues; - - Returns &true; if any error occurred, &false; otherwise. - - - - &reftitle.seealso; - - - ncurses_echo - ncurses_getch - - - - - - diff --git a/reference/ncurses/functions/ncurses-nonl.xml b/reference/ncurses/functions/ncurses-nonl.xml deleted file mode 100644 index 8b0a14072b..0000000000 --- a/reference/ncurses/functions/ncurses-nonl.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_nonl - Do not translate newline and carriage return / line feed - - - &reftitle.description; - - boolncurses_nonl - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-noqiflush.xml b/reference/ncurses/functions/ncurses-noqiflush.xml deleted file mode 100644 index 14a7fd0d32..0000000000 --- a/reference/ncurses/functions/ncurses-noqiflush.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_noqiflush - Do not flush on signal characters - - - &reftitle.description; - - voidncurses_noqiflush - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-noraw.xml b/reference/ncurses/functions/ncurses-noraw.xml deleted file mode 100644 index d11bd40385..0000000000 --- a/reference/ncurses/functions/ncurses-noraw.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_noraw - Switch terminal out of raw mode - - - &reftitle.description; - - boolncurses_noraw - - - &warn.experimental.func; - - Switches the terminal out of raw mode. Raw mode is similar to cbreak mode, - in that characters typed are immediately passed through to the user - program. The difference is that in raw mode, the interrupt, quit, - suspend and flow control characters are all passed through uninterpreted, - instead of generating a signal. - - - - &reftitle.returnvalues; - - Returns &true; if any error occurred, otherwise &false;. - - - - &reftitle.seealso; - - - ncurses_raw - ncurses_cbreak - ncurses_nocbreak - - - - - - diff --git a/reference/ncurses/functions/ncurses-pair-content.xml b/reference/ncurses/functions/ncurses-pair-content.xml deleted file mode 100644 index f7c0bcb402..0000000000 --- a/reference/ncurses/functions/ncurses-pair-content.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - ncurses_pair_content - Retrieves foreground and background colors of a color pair - - - &reftitle.description; - - intncurses_pair_content - intpair - intf - intb - - - Retrieves the foreground and background colors that constitute the given - color pair. Terminal color capabilities must be initialized with - ncurses_start_color prior to calling this function. - - - - &reftitle.parameters; - - - - pair - - - The number of the color pair to retrieve information for. - - - - - f - - - A reference to which to return the foreground color of the color - pair. The information returned will be a color number referring to - one of the - pre-defined colors or a - color defined previously by - ncurses_init_color if the terminal supports - color changing. - - - - - b - - - A reference to which to return the background color of the color - pair. The information returned will be a color number referring to - one of the - pre-defined colors or a - color defined previously by - ncurses_init_color if the terminal supports - color changing. - - - - - - - - &reftitle.returnvalues; - - Returns -1 if the function was successful, and - 0 if ncurses or terminal color capabilities have - not been initialized. - - - - &reftitle.seealso; - - - ncurses_init_pair - ncurses_start_color - - - - - - diff --git a/reference/ncurses/functions/ncurses-panel-above.xml b/reference/ncurses/functions/ncurses-panel-above.xml deleted file mode 100644 index 0a2f889a59..0000000000 --- a/reference/ncurses/functions/ncurses-panel-above.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_panel_above - Returns the panel above panel - - - &reftitle.description; - - resourcencurses_panel_above - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - &reftitle.returnvalues; - - If panel is null, returns the bottom panel in the stack. - - - - - diff --git a/reference/ncurses/functions/ncurses-panel-below.xml b/reference/ncurses/functions/ncurses-panel-below.xml deleted file mode 100644 index 9f12eab9fa..0000000000 --- a/reference/ncurses/functions/ncurses-panel-below.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - ncurses_panel_below - Returns the panel below panel - - - &reftitle.description; - - resourcencurses_panel_below - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - &reftitle.parameters; - - If panel is null, returns the top panel in the stack. - - - - - diff --git a/reference/ncurses/functions/ncurses-panel-window.xml b/reference/ncurses/functions/ncurses-panel-window.xml deleted file mode 100644 index c62bfd0b49..0000000000 --- a/reference/ncurses/functions/ncurses-panel-window.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_panel_window - Returns the window associated with panel - - - &reftitle.description; - - resourcencurses_panel_window - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-pnoutrefresh.xml b/reference/ncurses/functions/ncurses-pnoutrefresh.xml deleted file mode 100644 index 95ea4aa6f9..0000000000 --- a/reference/ncurses/functions/ncurses-pnoutrefresh.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - ncurses_pnoutrefresh - Copies a region from a pad into the virtual screen - - - &reftitle.description; - - intncurses_pnoutrefresh - resourcepad - intpminrow - intpmincol - intsminrow - intsmincol - intsmaxrow - intsmaxcol - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - pad - - - - - - - pminrow - - - - - - - pmincol - - - - - - - sminrow - - - - - - - smincol - - - - - - - smaxrow - - - - - - - smaxcol - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-prefresh.xml b/reference/ncurses/functions/ncurses-prefresh.xml deleted file mode 100644 index 4ff749c8f0..0000000000 --- a/reference/ncurses/functions/ncurses-prefresh.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - ncurses_prefresh - Copies a region from a pad into the virtual screen - - - &reftitle.description; - - intncurses_prefresh - resourcepad - intpminrow - intpmincol - intsminrow - intsmincol - intsmaxrow - intsmaxcol - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - pad - - - - - - - pminrow - - - - - - - pmincol - - - - - - - sminrow - - - - - - - smincol - - - - - - - smaxrow - - - - - - - smaxcol - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-putp.xml b/reference/ncurses/functions/ncurses-putp.xml deleted file mode 100644 index aacfeac12a..0000000000 --- a/reference/ncurses/functions/ncurses-putp.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_putp - Apply padding information to the string and output it - - - &reftitle.description; - - intncurses_putp - stringtext - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - text - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-qiflush.xml b/reference/ncurses/functions/ncurses-qiflush.xml deleted file mode 100644 index a4edc63358..0000000000 --- a/reference/ncurses/functions/ncurses-qiflush.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_qiflush - Flush on signal characters - - - &reftitle.description; - - voidncurses_qiflush - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-raw.xml b/reference/ncurses/functions/ncurses-raw.xml deleted file mode 100644 index c0ce156551..0000000000 --- a/reference/ncurses/functions/ncurses-raw.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_raw - Switch terminal into raw mode - - - &reftitle.description; - - boolncurses_raw - - - &warn.experimental.func; - - Places the terminal in raw mode. Raw mode is similar to cbreak mode, in - that characters typed are immediately passed through to the user program. - The difference is that in raw mode, the interrupt, quit, suspend - and flow control characters are all passed through uninterpreted, instead - of generating a signal. - - - - &reftitle.returnvalues; - - Returns &true; if any error occurred, otherwise &false;. - - - - &reftitle.seealso; - - - ncurses_noraw - ncurses_cbreak - ncurses_nocbreak - - - - - - diff --git a/reference/ncurses/functions/ncurses-refresh.xml b/reference/ncurses/functions/ncurses-refresh.xml deleted file mode 100644 index 5124769c67..0000000000 --- a/reference/ncurses/functions/ncurses-refresh.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_refresh - Refresh screen - - - &reftitle.description; - - intncurses_refresh - intch - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - ch - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-replace-panel.xml b/reference/ncurses/functions/ncurses-replace-panel.xml deleted file mode 100644 index 908e0292a3..0000000000 --- a/reference/ncurses/functions/ncurses-replace-panel.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_replace_panel - Replaces the window associated with panel - - - &reftitle.description; - - intncurses_replace_panel - resourcepanel - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-reset-prog-mode.xml b/reference/ncurses/functions/ncurses-reset-prog-mode.xml deleted file mode 100644 index 3469a6ffde..0000000000 --- a/reference/ncurses/functions/ncurses-reset-prog-mode.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - ncurses_reset_prog_mode - Resets the prog mode saved by def_prog_mode - - - &reftitle.description; - - intncurses_reset_prog_mode - - - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-reset-shell-mode.xml b/reference/ncurses/functions/ncurses-reset-shell-mode.xml deleted file mode 100644 index 212cb1eb77..0000000000 --- a/reference/ncurses/functions/ncurses-reset-shell-mode.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - ncurses_reset_shell_mode - Resets the shell mode saved by def_shell_mode - - - &reftitle.description; - - intncurses_reset_shell_mode - - - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-resetty.xml b/reference/ncurses/functions/ncurses-resetty.xml deleted file mode 100644 index fd0b0108a3..0000000000 --- a/reference/ncurses/functions/ncurses-resetty.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_resetty - Restores saved terminal state - - - &reftitle.description; - - boolncurses_resetty - - - &warn.experimental.func; - - Restores the terminal state, which was previously saved by calling - ncurses_savetty. - - - - &reftitle.returnvalues; - - Always returns &false;. - - - - &reftitle.seealso; - - - ncurses_savetty - - - - - - diff --git a/reference/ncurses/functions/ncurses-savetty.xml b/reference/ncurses/functions/ncurses-savetty.xml deleted file mode 100644 index 89313aa7a0..0000000000 --- a/reference/ncurses/functions/ncurses-savetty.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_savetty - Saves terminal state - - - &reftitle.description; - - boolncurses_savetty - - - &warn.experimental.func; - - Saves the current terminal state. The saved terminal state can be restored - with ncurses_resetty. - - - - &reftitle.returnvalues; - - Always returns &false;. - - - - &reftitle.seealso; - - - ncurses_resetty - - - - - - diff --git a/reference/ncurses/functions/ncurses-scr-dump.xml b/reference/ncurses/functions/ncurses-scr-dump.xml deleted file mode 100644 index f30ea818b1..0000000000 --- a/reference/ncurses/functions/ncurses-scr-dump.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_scr_dump - Dump screen content to file - - - &reftitle.description; - - intncurses_scr_dump - stringfilename - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - filename - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-scr-init.xml b/reference/ncurses/functions/ncurses-scr-init.xml deleted file mode 100644 index 660f251bc0..0000000000 --- a/reference/ncurses/functions/ncurses-scr-init.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_scr_init - Initialize screen from file dump - - - &reftitle.description; - - intncurses_scr_init - stringfilename - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - filename - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-scr-restore.xml b/reference/ncurses/functions/ncurses-scr-restore.xml deleted file mode 100644 index e51f7d7772..0000000000 --- a/reference/ncurses/functions/ncurses-scr-restore.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_scr_restore - Restore screen from file dump - - - &reftitle.description; - - intncurses_scr_restore - stringfilename - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - filename - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-scr-set.xml b/reference/ncurses/functions/ncurses-scr-set.xml deleted file mode 100644 index 41d34b4a94..0000000000 --- a/reference/ncurses/functions/ncurses-scr-set.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_scr_set - Inherit screen from file dump - - - &reftitle.description; - - intncurses_scr_set - stringfilename - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - filename - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-scrl.xml b/reference/ncurses/functions/ncurses-scrl.xml deleted file mode 100644 index 72003907b6..0000000000 --- a/reference/ncurses/functions/ncurses-scrl.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_scrl - Scroll window content up or down without changing current position - - - &reftitle.description; - - intncurses_scrl - intcount - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - count - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-show-panel.xml b/reference/ncurses/functions/ncurses-show-panel.xml deleted file mode 100644 index c31ce17dfd..0000000000 --- a/reference/ncurses/functions/ncurses-show-panel.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_show_panel - Places an invisible panel on top of the stack, making it visible - - - &reftitle.description; - - intncurses_show_panel - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-attr.xml b/reference/ncurses/functions/ncurses-slk-attr.xml deleted file mode 100644 index ff3d455cc1..0000000000 --- a/reference/ncurses/functions/ncurses-slk-attr.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - ncurses_slk_attr - Returns current soft label key attribute - - - &reftitle.description; - - intncurses_slk_attr - - - &warn.experimental.func; - - Returns the current soft label key attribute. - - - - &reftitle.returnvalues; - - The attribute, as an integer. - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-attroff.xml b/reference/ncurses/functions/ncurses-slk-attroff.xml deleted file mode 100644 index fd336db36a..0000000000 --- a/reference/ncurses/functions/ncurses-slk-attroff.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_slk_attroff - Turn off the given attributes for soft function-key labels - - - &reftitle.description; - - intncurses_slk_attroff - intintarg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - intarg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-attron.xml b/reference/ncurses/functions/ncurses-slk-attron.xml deleted file mode 100644 index 3e14c5863a..0000000000 --- a/reference/ncurses/functions/ncurses-slk-attron.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_slk_attron - Turn on the given attributes for soft function-key labels - - - &reftitle.description; - - intncurses_slk_attron - intintarg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - intarg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-attrset.xml b/reference/ncurses/functions/ncurses-slk-attrset.xml deleted file mode 100644 index 92772bb8e3..0000000000 --- a/reference/ncurses/functions/ncurses-slk-attrset.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_slk_attrset - Set given attributes for soft function-key labels - - - &reftitle.description; - - intncurses_slk_attrset - intintarg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - intarg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-clear.xml b/reference/ncurses/functions/ncurses-slk-clear.xml deleted file mode 100644 index c807f250a6..0000000000 --- a/reference/ncurses/functions/ncurses-slk-clear.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - ncurses_slk_clear - Clears soft labels from screen - - - &reftitle.description; - - boolncurses_slk_clear - - - &warn.experimental.func; - - The function ncurses_slk_clear clears soft - label keys from screen. - - - - &reftitle.returnvalues; - - Returns &true; on errors, &false; otherwise. - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-color.xml b/reference/ncurses/functions/ncurses-slk-color.xml deleted file mode 100644 index 8942ec6538..0000000000 --- a/reference/ncurses/functions/ncurses-slk-color.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_slk_color - Sets color for soft label keys - - - &reftitle.description; - - intncurses_slk_color - intintarg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - intarg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-init.xml b/reference/ncurses/functions/ncurses-slk-init.xml deleted file mode 100644 index 563f256f25..0000000000 --- a/reference/ncurses/functions/ncurses-slk-init.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - ncurses_slk_init - Initializes soft label key functions - - - &reftitle.description; - - boolncurses_slk_init - intformat - - &warn.experimental.func; - - Initializes soft label key functions - - - This function must be called before ncurses_init - or ncurses_newwin is called. - - - - &reftitle.parameters; - - - - format - - - If ncurses_init eventually uses a line from - stdscr to emulate the soft labels, then this parameter determines how - the labels are arranged of the screen. - - - 0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4 - arrangement and 2 indicates the PC like 4-4-4 mode, but in addition an - index line will be created. - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-noutrefresh.xml b/reference/ncurses/functions/ncurses-slk-noutrefresh.xml deleted file mode 100644 index 4fd4a10fbe..0000000000 --- a/reference/ncurses/functions/ncurses-slk-noutrefresh.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_slk_noutrefresh - Copies soft label keys to virtual screen - - - &reftitle.description; - - boolncurses_slk_noutrefresh - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-slk-refresh.xml b/reference/ncurses/functions/ncurses-slk-refresh.xml deleted file mode 100644 index 5d262268fc..0000000000 --- a/reference/ncurses/functions/ncurses-slk-refresh.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - ncurses_slk_refresh - Copies soft label keys to screen - - - &reftitle.description; - - intncurses_slk_refresh - - - &warn.experimental.func; - - Copies soft label keys from virtual screen to physical screen. - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-restore.xml b/reference/ncurses/functions/ncurses-slk-restore.xml deleted file mode 100644 index 276f419784..0000000000 --- a/reference/ncurses/functions/ncurses-slk-restore.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - ncurses_slk_restore - Restores soft label keys - - - &reftitle.description; - - intncurses_slk_restore - - - &warn.experimental.func; - - Restores the soft label keys after ncurses_slk_clear - has been performed. - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-set.xml b/reference/ncurses/functions/ncurses-slk-set.xml deleted file mode 100644 index e890fbecb1..0000000000 --- a/reference/ncurses/functions/ncurses-slk-set.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_slk_set - Sets function key labels - - - &reftitle.description; - - boolncurses_slk_set - intlabelnr - stringlabel - intformat - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - labelnr - - - - - - - label - - - - - - - format - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-slk-touch.xml b/reference/ncurses/functions/ncurses-slk-touch.xml deleted file mode 100644 index 5463bd7a0a..0000000000 --- a/reference/ncurses/functions/ncurses-slk-touch.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - ncurses_slk_touch - Forces output when ncurses_slk_noutrefresh is performed - - - &reftitle.description; - - intncurses_slk_touch - - - &warn.experimental.func; - - Forces all the soft labels to be output the next time a - ncurses_slk_noutrefresh is performed. - - - - - diff --git a/reference/ncurses/functions/ncurses-standend.xml b/reference/ncurses/functions/ncurses-standend.xml deleted file mode 100644 index 555c267fa8..0000000000 --- a/reference/ncurses/functions/ncurses-standend.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_standend - Stop using 'standout' attribute - - - &reftitle.description; - - intncurses_standend - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-standout.xml b/reference/ncurses/functions/ncurses-standout.xml deleted file mode 100644 index a4d3105fcf..0000000000 --- a/reference/ncurses/functions/ncurses-standout.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_standout - Start using 'standout' attribute - - - &reftitle.description; - - intncurses_standout - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-start-color.xml b/reference/ncurses/functions/ncurses-start-color.xml deleted file mode 100644 index 348c92de6b..0000000000 --- a/reference/ncurses/functions/ncurses-start-color.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - ncurses_start_color - Initializes color functionality - - - - &reftitle.description; - - intncurses_start_color - - - - Initializes color functionality in ncurses. This function must be called - before any color manipulation functions are called and after - ncurses_init is called. It is good practice to call - this function right after ncurses_init. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns 0 on success, or -1 if the - color table could not be allocated or ncurses was not initialized. - - - - - &reftitle.examples; - - - Writing a string with a specified color to the screen - - -]]> - - - - - - - &reftitle.seealso; - - - ncurses_can_change_color - ncurses_has_colors - - - - - - - diff --git a/reference/ncurses/functions/ncurses-termattrs.xml b/reference/ncurses/functions/ncurses-termattrs.xml deleted file mode 100644 index 1f36dd36ad..0000000000 --- a/reference/ncurses/functions/ncurses-termattrs.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_termattrs - Returns a logical OR of all attribute flags supported by terminal - - - &reftitle.description; - - boolncurses_termattrs - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-termname.xml b/reference/ncurses/functions/ncurses-termname.xml deleted file mode 100644 index 2408dede4d..0000000000 --- a/reference/ncurses/functions/ncurses-termname.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - ncurses_termname - Returns terminals (short)-name - - - &reftitle.description; - - stringncurses_termname - - - &warn.experimental.func; - - Returns terminals shortname. - - - - &reftitle.returnvalues; - - Returns the shortname of the terminal, truncated to 14 characters. - On errors, returns &null;. - - - - &reftitle.seealso; - - - ncurses_longname - - - - - - diff --git a/reference/ncurses/functions/ncurses-timeout.xml b/reference/ncurses/functions/ncurses-timeout.xml deleted file mode 100644 index 3426329449..0000000000 --- a/reference/ncurses/functions/ncurses-timeout.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_timeout - Set timeout for special key sequences - - - &reftitle.description; - - voidncurses_timeout - intmillisec - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - millisec - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-top-panel.xml b/reference/ncurses/functions/ncurses-top-panel.xml deleted file mode 100644 index 2c51200854..0000000000 --- a/reference/ncurses/functions/ncurses-top-panel.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_top_panel - Moves a visible panel to the top of the stack - - - &reftitle.description; - - intncurses_top_panel - resourcepanel - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - panel - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-typeahead.xml b/reference/ncurses/functions/ncurses-typeahead.xml deleted file mode 100644 index 70266f4e7e..0000000000 --- a/reference/ncurses/functions/ncurses-typeahead.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_typeahead - Specify different filedescriptor for typeahead checking - - - &reftitle.description; - - intncurses_typeahead - intfd - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - fd - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-ungetch.xml b/reference/ncurses/functions/ncurses-ungetch.xml deleted file mode 100644 index f2caa6c672..0000000000 --- a/reference/ncurses/functions/ncurses-ungetch.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_ungetch - Put a character back into the input stream - - - &reftitle.description; - - intncurses_ungetch - intkeycode - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - keycode - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-ungetmouse.xml b/reference/ncurses/functions/ncurses-ungetmouse.xml deleted file mode 100644 index 2f0dc4eeec..0000000000 --- a/reference/ncurses/functions/ncurses-ungetmouse.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - ncurses_ungetmouse - Pushes mouse event to queue - - - &reftitle.description; - - boolncurses_ungetmouse - arraymevent - - &warn.experimental.func; - - Pushes a KEY_MOUSE event onto the input queue and associates with this - event the given state data and screen-relative character cell coordinates, - specified in mevent. - - - - &reftitle.parameters; - - - - mevent - - - An associative array specifying the event options: - - - "id" : Id to distinguish multiple devices - - - "x" : screen relative x-position in character cells - - - "y" : screen relative y-position in character cells - - - "z" : currently not supported - - - "mmask" : Mouse action - - - - - - - - - - &reftitle.returnvalues; - - Returns &false; on success, &true; otherwise. - - - - &reftitle.seealso; - - - ncurses_getmouse - - - - - - diff --git a/reference/ncurses/functions/ncurses-update-panels.xml b/reference/ncurses/functions/ncurses-update-panels.xml deleted file mode 100644 index 7b2da70fe3..0000000000 --- a/reference/ncurses/functions/ncurses-update-panels.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - ncurses_update_panels - Refreshes the virtual screen to reflect the relations between panels in the stack - - - &reftitle.description; - - voidncurses_update_panels - - - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-use-default-colors.xml b/reference/ncurses/functions/ncurses-use-default-colors.xml deleted file mode 100644 index dd6748c967..0000000000 --- a/reference/ncurses/functions/ncurses-use-default-colors.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - ncurses_use_default_colors - Assign terminal default colors to color id -1 - - - &reftitle.description; - - boolncurses_use_default_colors - - - &warn.experimental.func; - &warn.undocumented.func; - - - - diff --git a/reference/ncurses/functions/ncurses-use-env.xml b/reference/ncurses/functions/ncurses-use-env.xml deleted file mode 100644 index d1f9ca9d65..0000000000 --- a/reference/ncurses/functions/ncurses-use-env.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_use_env - Control use of environment information about terminal size - - - &reftitle.description; - - voidncurses_use_env - boolflag - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - flag - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-use-extended-names.xml b/reference/ncurses/functions/ncurses-use-extended-names.xml deleted file mode 100644 index 4602ed7d58..0000000000 --- a/reference/ncurses/functions/ncurses-use-extended-names.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_use_extended_names - Control use of extended names in terminfo descriptions - - - &reftitle.description; - - intncurses_use_extended_names - boolflag - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - flag - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-vidattr.xml b/reference/ncurses/functions/ncurses-vidattr.xml deleted file mode 100644 index fe1f727fdc..0000000000 --- a/reference/ncurses/functions/ncurses-vidattr.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_vidattr - Display the string on the terminal in the video attribute mode - - - &reftitle.description; - - intncurses_vidattr - intintarg - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - intarg - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-vline.xml b/reference/ncurses/functions/ncurses-vline.xml deleted file mode 100644 index 1856e3b94b..0000000000 --- a/reference/ncurses/functions/ncurses-vline.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - ncurses_vline - Draw a vertical line at current position using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_vline - intcharattr - intn - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - charattr - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-waddch.xml b/reference/ncurses/functions/ncurses-waddch.xml deleted file mode 100644 index 50de623365..0000000000 --- a/reference/ncurses/functions/ncurses-waddch.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_waddch - Adds character at current position in a window and advance cursor - - - &reftitle.description; - - intncurses_waddch - resourcewindow - intch - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - ch - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-waddstr.xml b/reference/ncurses/functions/ncurses-waddstr.xml deleted file mode 100644 index 82cdb71ede..0000000000 --- a/reference/ncurses/functions/ncurses-waddstr.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_waddstr - Outputs text at current postion in window - - - &reftitle.description; - - intncurses_waddstr - resourcewindow - stringstr - intn - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - str - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wattroff.xml b/reference/ncurses/functions/ncurses-wattroff.xml deleted file mode 100644 index 6b9391a962..0000000000 --- a/reference/ncurses/functions/ncurses-wattroff.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_wattroff - Turns off attributes for a window - - - &reftitle.description; - - intncurses_wattroff - resourcewindow - intattrs - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - attrs - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wattron.xml b/reference/ncurses/functions/ncurses-wattron.xml deleted file mode 100644 index ea41dfa250..0000000000 --- a/reference/ncurses/functions/ncurses-wattron.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_wattron - Turns on attributes for a window - - - &reftitle.description; - - intncurses_wattron - resourcewindow - intattrs - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - attrs - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wattrset.xml b/reference/ncurses/functions/ncurses-wattrset.xml deleted file mode 100644 index 44ee7c08b2..0000000000 --- a/reference/ncurses/functions/ncurses-wattrset.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_wattrset - Set the attributes for a window - - - &reftitle.description; - - intncurses_wattrset - resourcewindow - intattrs - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - attrs - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wborder.xml b/reference/ncurses/functions/ncurses-wborder.xml deleted file mode 100644 index e95588a0fb..0000000000 --- a/reference/ncurses/functions/ncurses-wborder.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - ncurses_wborder - Draws a border around the window using attributed characters - - - &reftitle.description; - - intncurses_wborder - resourcewindow - intleft - intright - inttop - intbottom - inttl_corner - inttr_corner - intbl_corner - intbr_corner - - &warn.experimental.func; - - Draws the specified lines and corners around the passed - window. - - - Use ncurses_border for borders around the main - window. - - - - &reftitle.parameters; - - Each parameter expects 0 to draw a line and 1 to skip it. - - - window - - - The window on which we operate - - - - - left - - - - - - - right - - - - - - - top - - - - - - - bottom - - - - - - - tl_corner - - - Top left corner - - - - - tr_corner - - - Top right corner - - - - - bl_corner - - - Bottom left corner - - - - - br_corner - - - Bottom right corner - - - - - - - - &reftitle.seealso; - - - ncurses_border - - - - - - diff --git a/reference/ncurses/functions/ncurses-wclear.xml b/reference/ncurses/functions/ncurses-wclear.xml deleted file mode 100644 index 3da9ffb812..0000000000 --- a/reference/ncurses/functions/ncurses-wclear.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_wclear - Clears window - - - &reftitle.description; - - intncurses_wclear - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wcolor-set.xml b/reference/ncurses/functions/ncurses-wcolor-set.xml deleted file mode 100644 index 8878a5450c..0000000000 --- a/reference/ncurses/functions/ncurses-wcolor-set.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - ncurses_wcolor_set - Sets windows color pairings - - - &reftitle.description; - - intncurses_wcolor_set - resourcewindow - intcolor_pair - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - color_pair - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-werase.xml b/reference/ncurses/functions/ncurses-werase.xml deleted file mode 100644 index 128ee9c3b0..0000000000 --- a/reference/ncurses/functions/ncurses-werase.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_werase - Erase window contents - - - &reftitle.description; - - intncurses_werase - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wgetch.xml b/reference/ncurses/functions/ncurses-wgetch.xml deleted file mode 100644 index 644871cd51..0000000000 --- a/reference/ncurses/functions/ncurses-wgetch.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_wgetch - Reads a character from keyboard (window) - - - &reftitle.description; - - intncurses_wgetch - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-whline.xml b/reference/ncurses/functions/ncurses-whline.xml deleted file mode 100644 index da5ce691ac..0000000000 --- a/reference/ncurses/functions/ncurses-whline.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_whline - Draws a horizontal line in a window at current position using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_whline - resourcewindow - intcharattr - intn - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - charattr - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wmouse-trafo.xml b/reference/ncurses/functions/ncurses-wmouse-trafo.xml deleted file mode 100644 index 9e140230ce..0000000000 --- a/reference/ncurses/functions/ncurses-wmouse-trafo.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - ncurses_wmouse_trafo - Transforms window/stdscr coordinates - - - &reftitle.description; - - boolncurses_wmouse_trafo - resourcewindow - inty - intx - booltoscreen - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - x - - - - - - - y - - - - - - - toscreen - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wmove.xml b/reference/ncurses/functions/ncurses-wmove.xml deleted file mode 100644 index d5e26b41f5..0000000000 --- a/reference/ncurses/functions/ncurses-wmove.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_wmove - Moves windows output position - - - &reftitle.description; - - intncurses_wmove - resourcewindow - inty - intx - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - y - - - - - - - x - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wnoutrefresh.xml b/reference/ncurses/functions/ncurses-wnoutrefresh.xml deleted file mode 100644 index f6b190c003..0000000000 --- a/reference/ncurses/functions/ncurses-wnoutrefresh.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_wnoutrefresh - Copies window to virtual screen - - - &reftitle.description; - - intncurses_wnoutrefresh - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wrefresh.xml b/reference/ncurses/functions/ncurses-wrefresh.xml deleted file mode 100644 index fb6bc51e95..0000000000 --- a/reference/ncurses/functions/ncurses-wrefresh.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - ncurses_wrefresh - Refresh window on terminal screen - - - &reftitle.description; - - intncurses_wrefresh - resourcewindow - - &warn.experimental.func; - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wstandend.xml b/reference/ncurses/functions/ncurses-wstandend.xml deleted file mode 100644 index 642edb9df7..0000000000 --- a/reference/ncurses/functions/ncurses-wstandend.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_wstandend - End standout mode for a window - - - &reftitle.description; - - intncurses_wstandend - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wstandout.xml b/reference/ncurses/functions/ncurses-wstandout.xml deleted file mode 100644 index c52de377af..0000000000 --- a/reference/ncurses/functions/ncurses-wstandout.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - ncurses_wstandout - Enter standout mode for a window - - - &reftitle.description; - - intncurses_wstandout - resourcewindow - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - - - - - diff --git a/reference/ncurses/functions/ncurses-wvline.xml b/reference/ncurses/functions/ncurses-wvline.xml deleted file mode 100644 index 052766bf74..0000000000 --- a/reference/ncurses/functions/ncurses-wvline.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - ncurses_wvline - Draws a vertical line in a window at current position using an attributed character and max. n characters long - - - &reftitle.description; - - intncurses_wvline - resourcewindow - intcharattr - intn - - &warn.undocumented.func; - - - &reftitle.parameters; - - - - window - - - - - - - charattr - - - - - - - n - - - - - - - - - - - diff --git a/reference/ncurses/reference.xml b/reference/ncurses/reference.xml deleted file mode 100644 index 70026b6bbf..0000000000 --- a/reference/ncurses/reference.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Ncurses &Functions; - - &reference.ncurses.entities.functions; - - - - - diff --git a/reference/ncurses/setup.xml b/reference/ncurses/setup.xml deleted file mode 100644 index e738e8a5f7..0000000000 --- a/reference/ncurses/setup.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - - You need the ncurses libraries and headerfiles. Download the - latest version from the &url.ncurses; - or from an other GNU-Mirror. - -
- - - - &reference.ncurses.configure; - - - -
- &reftitle.runtime; - &no.config; -
- - - -
- &reftitle.resources; - - This extension defines window, panel and pad resources. - -
- - -
- - - diff --git a/reference/ncurses/versions.xml b/reference/ncurses/versions.xml deleted file mode 100644 index e68becd6ae..0000000000 --- a/reference/ncurses/versions.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 51e3bd3d3849489508dc638f5d6a4fe907b28d73 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:00:19 +0100 Subject: [PATCH 181/444] Remove paradox docs --- appendices/extensions.xml | 3 - reference/paradox/book.xml | 55 ----- reference/paradox/configure.xml | 35 ---- reference/paradox/constants.xml | 169 ---------------- reference/paradox/functions/px-close.xml | 77 ------- reference/paradox/functions/px-create-fp.xml | 151 -------------- .../paradox/functions/px-date2string.xml | 173 ---------------- .../paradox/functions/px-delete-record.xml | 85 -------- reference/paradox/functions/px-delete.xml | 67 ------- reference/paradox/functions/px-get-field.xml | 77 ------- reference/paradox/functions/px-get-info.xml | 158 --------------- .../paradox/functions/px-get-parameter.xml | 107 ---------- reference/paradox/functions/px-get-record.xml | 109 ---------- reference/paradox/functions/px-get-schema.xml | 88 -------- reference/paradox/functions/px-get-value.xml | 88 -------- .../paradox/functions/px-insert-record.xml | 167 ---------------- reference/paradox/functions/px-new.xml | 112 ----------- reference/paradox/functions/px-numfields.xml | 68 ------- reference/paradox/functions/px-numrecords.xml | 68 ------- reference/paradox/functions/px-open-fp.xml | 92 --------- reference/paradox/functions/px-put-record.xml | 92 --------- .../paradox/functions/px-retrieve-record.xml | 113 ----------- .../paradox/functions/px-set-blob-file.xml | 92 --------- .../paradox/functions/px-set-parameter.xml | 122 ------------ .../paradox/functions/px-set-tablename.xml | 85 -------- .../functions/px-set-targetencoding.xml | 98 --------- reference/paradox/functions/px-set-value.xml | 99 --------- .../paradox/functions/px-timestamp2string.xml | 188 ------------------ .../paradox/functions/px-update-record.xml | 106 ---------- reference/paradox/reference.xml | 161 --------------- reference/paradox/setup.xml | 63 ------ reference/paradox/versions.xml | 53 ----- 32 files changed, 3221 deletions(-) delete mode 100644 reference/paradox/book.xml delete mode 100644 reference/paradox/configure.xml delete mode 100644 reference/paradox/constants.xml delete mode 100644 reference/paradox/functions/px-close.xml delete mode 100644 reference/paradox/functions/px-create-fp.xml delete mode 100644 reference/paradox/functions/px-date2string.xml delete mode 100644 reference/paradox/functions/px-delete-record.xml delete mode 100644 reference/paradox/functions/px-delete.xml delete mode 100644 reference/paradox/functions/px-get-field.xml delete mode 100644 reference/paradox/functions/px-get-info.xml delete mode 100644 reference/paradox/functions/px-get-parameter.xml delete mode 100644 reference/paradox/functions/px-get-record.xml delete mode 100644 reference/paradox/functions/px-get-schema.xml delete mode 100644 reference/paradox/functions/px-get-value.xml delete mode 100644 reference/paradox/functions/px-insert-record.xml delete mode 100644 reference/paradox/functions/px-new.xml delete mode 100644 reference/paradox/functions/px-numfields.xml delete mode 100644 reference/paradox/functions/px-numrecords.xml delete mode 100644 reference/paradox/functions/px-open-fp.xml delete mode 100644 reference/paradox/functions/px-put-record.xml delete mode 100644 reference/paradox/functions/px-retrieve-record.xml delete mode 100644 reference/paradox/functions/px-set-blob-file.xml delete mode 100644 reference/paradox/functions/px-set-parameter.xml delete mode 100644 reference/paradox/functions/px-set-tablename.xml delete mode 100644 reference/paradox/functions/px-set-targetencoding.xml delete mode 100644 reference/paradox/functions/px-set-value.xml delete mode 100644 reference/paradox/functions/px-timestamp2string.xml delete mode 100644 reference/paradox/functions/px-update-record.xml delete mode 100644 reference/paradox/reference.xml delete mode 100644 reference/paradox/setup.xml delete mode 100644 reference/paradox/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 4adeef018b..ec257b604a 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -100,7 +100,6 @@ - @@ -347,7 +346,6 @@ - @@ -408,7 +406,6 @@ - diff --git a/reference/paradox/book.xml b/reference/paradox/book.xml deleted file mode 100644 index 11a5874302..0000000000 --- a/reference/paradox/book.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - Paradox File Access - Paradox - - - - &reftitle.intro; - - This module allows to read and write Paradox databases, primary index - files and blob files. Write support has been proven to be quite reliable, - though due to lack of documentation the produced files may not in - any case be readable by other applications. Encrypted databases can - be read without specifying a password if pxlib >= 0.5.0 is used. - - - - This module is also in development and may change, though major changes to - the API are not expected. - - - &warn.experimental; - - - - &reference.paradox.setup; - &reference.paradox.constants; - &reference.paradox.reference; - - - - - diff --git a/reference/paradox/configure.xml b/reference/paradox/configure.xml deleted file mode 100644 index e10dd65dc5..0000000000 --- a/reference/paradox/configure.xml +++ /dev/null @@ -1,35 +0,0 @@ - - -
- &reftitle.install; - - &pecl.info; - &url.pecl.package;paradox - - - Make sure you have pxlib installed before. If you install - pxlib from an rpm or debian package, do not forget to install the development - package as well. - -
- - diff --git a/reference/paradox/constants.xml b/reference/paradox/constants.xml deleted file mode 100644 index 613d096ab8..0000000000 --- a/reference/paradox/constants.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - &reftitle.constants; - &extension.constants; - - The following two tables lists all constants defined by the paradox - extension. - - Contants for field types - - - - Name - Meaning - - - - - PX_FIELD_ALPHA - Character data with fixed length - - - PX_FIELD_DATE - Date, number of days since 1.1.0000 - - - PX_FIELD_SHORT - Short integer (2 Bytes) - - - PX_FIELD_LONG - Long integer (4 Bytes) - - - PX_FIELD_CURRENCY - same as PX_FIELD_NUMBER - - - PX_FIELD_NUMBER - Double - - - PX_FIELD_LOGICAL - Boolean - - - PX_FIELD_MEMOBLOB - Binary large object - - - PX_FIELD_BLOB - Binary large object (not supported) - - - PX_FIELD_FMTMEMOBLOB - Binary large object - - - PX_FIELD_OLE - OLE object (basically a blob, not supported) - - - PX_FIELD_GRAPHIC - Graphic (basically a blob, not supported) - - - PX_FIELD_TIME - time, number of milli seconds since midnight - - - PX_FIELD_TIMESTAMP - timestamp, number of milli seconds since 1.1.0000 - - - PX_FIELD_AUTOINC - Auto incrementing interger (like PX_FIELD_LONG) - - - PX_FIELD_BCD - Decimal number stored in bcd format (not supported) - - - PX_FIELD_BYTES - Array of Bytes with not more than 255 bytes (not supported) - - - PX_KEYTOLOWER - Turn all field names into lower case - - - PX_KEYTOUPPER - Turn all field names into upper case - - - -
- - Contants for file types - - - - Name - Meaning - - - - - PX_FILE_INDEX_DB - Indexed database - - - PX_FILE_PRIM_INDEX - Primary index - - - PX_FILE_NON_INDEX_DB - None indexed database - - - PX_FILE_NON_INC_SEC_INDEX - None incremental secondary index - - - PX_FILE_SEC_INDEX - Secondary index - - - PX_FILE_INC_SEC_INDEX - Incremental secondary index - - - PX_FILE_NON_INC_SEC_INDEX_G - Non incremental secondary index - - - PX_FILE_SEC_INDEX_G - Secondary index - - - PX_FILE_INC_SEC_INDEX_G - Non incremental secondary index - - - -
-
-
- - diff --git a/reference/paradox/functions/px-close.xml b/reference/paradox/functions/px-close.xml deleted file mode 100644 index ca110a9f59..0000000000 --- a/reference/paradox/functions/px-close.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - px_close - Closes a paradox database - - - - &reftitle.description; - - boolpx_close - resourcepxdoc - - - Closes the paradox database. This function will not close the file. You will - have to call fclose afterwards. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - px_open_fp - The example at px_new - - - - - - - diff --git a/reference/paradox/functions/px-create-fp.xml b/reference/paradox/functions/px-create-fp.xml deleted file mode 100644 index 3e6f1b5607..0000000000 --- a/reference/paradox/functions/px-create-fp.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - px_create_fp - Create a new paradox database - - - - &reftitle.description; - - boolpx_create_fp - resourcepxdoc - resourcefile - arrayfielddesc - - - Create a new paradox database file. The actual file has to be opened before - with fopen. Make sure the file is writable. - - - Calling this functions issues a warning about an empty tablename which - can be safely ignored. Just set the tablename afterwards with - px_set_parameter. - - - This function is highly experimental, due to insufficient - documentation of the paradox file format. Database files created with this - function can be opened by px_open_fp and has been - successfully opened by the Paradox software, but your milage may vary. - - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - file - - File handle as returned by fopen. - - - - - fielddesc - - - is an array containing one element for each - field specification. A field specification is an array itself with - either two or three elements.The first element is always a string value - used as the name of the field. It may not be larger than ten - characters. The second element contains the field type which is one of - the constants listed in the table Constants for field types. - In the case of a character field or bcd field, you will have to provide - a third element specifying the length respectively the precesion of the - field. If your field specification contains blob fields, you will have - to make sure to either make the field large enough for all field values - to fit or specify a blob file with - px_set_blob_file for storing the blobs. If this is - not done the field data is truncated. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - - Creating a Paradox database with two fields - - -]]> - - - - - - - &reftitle.seealso; - - - px_new - px_put_record - fopen - - - - - - - diff --git a/reference/paradox/functions/px-date2string.xml b/reference/paradox/functions/px-date2string.xml deleted file mode 100644 index 9ccc3bebbc..0000000000 --- a/reference/paradox/functions/px-date2string.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - px_date2string - - Converts a date into a string - - - - &reftitle.description; - - stringpx_date2string - resourcepxdoc - intvalue - stringformat - - - - Turns a date as it stored in the paradox file into human readable - format. Paradox dates are the number of days since 1.1.0000. - This function is just for convenience. It can be easily replaced by some - math and the calendar functions as demonstrated in the example below. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - value - - - Value as stored in paradox database field of type - PX_FIELD_DATE. - - - - - format - - - String format similar to the format used by date. - The placeholders support by this function is a subset of those - supported by date (Y, y, m, n, d, j, L). - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - - - - - &reftitle.examples; - - - Turn a paradox date into a human readable form - - -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - px_timestamp2string - jdtogregorian - - - - - - - - diff --git a/reference/paradox/functions/px-delete-record.xml b/reference/paradox/functions/px-delete-record.xml deleted file mode 100644 index 1cb510e37f..0000000000 --- a/reference/paradox/functions/px-delete-record.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - px_delete_record - Deletes record from paradox database - - - - &reftitle.description; - - boolpx_delete_record - resourcepxdoc - intnum - - - - This function deletes a record from the database. It does not free - the space in the database file but just marks it as deleted. Inserting - a new record afterwards will reuse the space. - - - - This function is only available if pxlib >= 0.6.0 is used. - - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - num - - - The record number is an artificial number counting records in the order - as they are stored in the database. The first record has number 0. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - diff --git a/reference/paradox/functions/px-delete.xml b/reference/paradox/functions/px-delete.xml deleted file mode 100644 index c4d92f65cf..0000000000 --- a/reference/paradox/functions/px-delete.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - px_delete - Deletes resource of paradox database - - - - &reftitle.description; - - boolpx_delete - resourcepxdoc - - - Deletes the resource of the paradox file and frees all memory. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - diff --git a/reference/paradox/functions/px-get-field.xml b/reference/paradox/functions/px-get-field.xml deleted file mode 100644 index cba9f39d67..0000000000 --- a/reference/paradox/functions/px-get-field.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - px_get_field - Returns the specification of a single field - - - - &reftitle.description; - - arraypx_get_field - resourcepxdoc - intfieldno - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - fieldno - - - Number of the field. The first field has number 0. Specifying a field - number less than 0 and greater or equal the number of fields will - trigger an error. - - - - - - - - - &reftitle.returnvalues; - - Returns the specification of the 'th database - field as an associated array. The array contains three fields named - name, type, and - size. - - - - - - diff --git a/reference/paradox/functions/px-get-info.xml b/reference/paradox/functions/px-get-info.xml deleted file mode 100644 index 8dbf2ab84e..0000000000 --- a/reference/paradox/functions/px-get-info.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - px_get_info - Return lots of information about a paradox file - - - - &reftitle.description; - - arraypx_get_info - resourcepxdoc - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - - - - - &reftitle.returnvalues; - - Returns an associated array with lots of information about a paradox - file. This array is likely to be extended in the future. - - - - fileversion - - Version of file multiplied by 10, e.g. 70. - - - - tablename - - Name of table as stored in the file. If the database was created - by pxlib, then this will be the name of the file without the - extension. - - - - numrecords - - Number of records in this table. - - - - numfields - - Number of fields in this table. - - - - headersize - - Number of bytes used for the header. This is usually 0x800. - - - - recordsize - - Number of bytes used for each record. This is the sum of all - field sizes (available since version 1.4.2). - - - - maxtablesize - - - This value multiplied by 0x400 is the size of a data block in bytes. - The maximum number of records in a datablock is the integer part of - (maxtablesize * 0x400 - 8) / recordsize. - - - - - numdatablocks - - - The number of data blocks in the file. Each data block contains a - certain number of records which depends on the record size and the data - block size (maxtablesize). Data blocks may not necessarily be - completely filled. - - - - - numindexfields - - - Number of fields used for the primary index. The fields do always start - with field number 1. - - - - - codepage - - - The DOS codepage which was used for encoding fields with character data. - If the target encoding is not set with - px_set_targetencoding this will be the encoding for - character fields when records are being accessed with - px_get_record or - px_retrieve_record. - - - - - - - - &reftitle.seealso; - - - px_numfields - px_numrecords - - - - - - - diff --git a/reference/paradox/functions/px-get-parameter.xml b/reference/paradox/functions/px-get-parameter.xml deleted file mode 100644 index b92774f83b..0000000000 --- a/reference/paradox/functions/px-get-parameter.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - px_get_parameter - Gets a parameter - - - - &reftitle.description; - - stringfalsepx_get_parameter - resourcepxdoc - stringname - - - Gets various parameters. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - name - - - The name can be one of the following: - - - - tablename - - - The name of the table as it will be stored in the database header. - - - - - targetencoding - - - The encoding for the output. Data which is being read from character - fields with px_get_record or - px_retrieve_record is recoded into the - targetencoding. If it is not set, then the data - will be delivered as stored in the database file. - - - - - inputencoding - - - The encoding of the input data which is to be stored into the database. - When storing data of character fields in the database, the data is - expected to be delivered in this encoding. - - - - - - - - - - - - &reftitle.returnvalues; - - Returns the value of the parameter&return.falseforfailure;. - - - - - - diff --git a/reference/paradox/functions/px-get-record.xml b/reference/paradox/functions/px-get-record.xml deleted file mode 100644 index c0e77fa030..0000000000 --- a/reference/paradox/functions/px-get-record.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - px_get_record - Returns record of paradox database - - - - &reftitle.description; - - arraypx_get_record - resourcepxdoc - intnum - intmode0 - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - num - - - The record number is an artificial number counting records in the order - as they are stored in the database. The first record has number 0. - - - - - mode - - - The optional mode can be - PX_KEYTOLOWER or PX_KEYTOUPPER - in order to convert the keys of the returned array into lower or - upper case. If - mode is not passed or is 0, then the key will be - exactly like the field name. The element values will contain the field - values. NULL values will be retained and are different from 0.0, 0 or - the empty string. Fields of type PX_FIELD_TIME - will be returned as an integer counting the number of milliseconds - starting at midnight. A timestamp - (PX_FIELD_TIMESTAMP) and date - (PX_FIELD_DATE) are floating point respectively - int values counting milliseconds respectively days starting - at the beginning of julian calendar. - Use the functions px-timestamp2string and - px-date2string to convert them into a character - representation. - - - - - - - - - &reftitle.returnvalues; - - Returns the num'th record from the paradox - database. The record is returned as an associated array with its keys - being the field names. - - - - - &reftitle.seealso; - - - px_retrieve_record - - - - - - - diff --git a/reference/paradox/functions/px-get-schema.xml b/reference/paradox/functions/px-get-schema.xml deleted file mode 100644 index c6c51a6907..0000000000 --- a/reference/paradox/functions/px-get-schema.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - px_get_schema - Returns the database schema - - - - &reftitle.description; - - arraypx_get_schema - resourcepxdoc - intmode0 - - - px_get_schema returns the database schema. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - mode - - - If the optional mode is - PX_KEYTOLOWER or - PX_KEYTOUPPER the keys of the returned array - will be converted to lower - or upper case. If mode is 0 or not passed at all, - then the key name will be identical to the field name. - - - - - - - - - &reftitle.returnvalues; - - Returns the schema of a database file as an associated array. The key name - is equal to the field name. Each array element is itself an associated - array containing the two fields type and - size. type is one of the constants in - table Constants for field - types. size is the number of bytes this field - consumes in the record. The total of all field sizes is equal to the - record size as it can be retrieved with px-get-info. - - - - - - - diff --git a/reference/paradox/functions/px-get-value.xml b/reference/paradox/functions/px-get-value.xml deleted file mode 100644 index 5b3403a0a5..0000000000 --- a/reference/paradox/functions/px-get-value.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - px_get_value - Gets a value - - - - &reftitle.description; - - floatfalsepx_get_value - resourcepxdoc - stringname - - - Gets various values. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - name - - - name can be one of the following. - - - numprimkeys - - - The number of primary keys. Paradox databases always use the - first numprimkeys fields for the primary - index. - - - - - - - - - - - - - &reftitle.returnvalues; - - Returns the value of the parameter&return.falseforfailure;. - - - - - - - diff --git a/reference/paradox/functions/px-insert-record.xml b/reference/paradox/functions/px-insert-record.xml deleted file mode 100644 index 09fce75dcd..0000000000 --- a/reference/paradox/functions/px-insert-record.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - px_insert_record - Inserts record into paradox database - - - - &reftitle.description; - - intpx_insert_record - resourcepxdoc - arraydata - - - - Inserts a new record into the database. The record is not necessarily - inserted at the end of the database, but may be inserted at any - position depending on where the first free slot is found. - - - The record data is passed as an array of field values. The elements in - the array must correspond to the fields in the database. If the array - has less elements than fields in the database, the remaining fields - will be set to null. - - - Most field values can be passed as its equivalent php type e.g. a long - value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and - PX_FIELD_AUTOINC, a double values is used for fields of type - PX_FIELD_CURRENCY and PX_FIELD_NUMBER. - Field values for blob and alpha fields are passed as strings. - - - Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long - value. In the first case this is the number of milliseconds since - midnight. In the second case this is the number of days since 1.1.0000. - Below there are two examples to convert the current date or timestamp - into a value suitable for one of paradox's date/time fields. - - - - This function is only available if pxlib >= 0.6.0 is used. - - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - data - - - Associated or indexed array containing the field values as e.g. - returned by px_retrieve_record. - - - - - - - - - &reftitle.returnvalues; - - Returns &false; on failure or the record number in case of success. - - - - - &reftitle.examples; - - - Set the date/time fields in a paradox database to the current - date/time - - -]]> - - &example.outputs; - - - - - - - - The Julian day count as passed to jdtogregorian - has a different base of 1.1.4714 b.c. and must therefore be calculated - by adding 1721425 to the day count used in the paradox file. Turning the - day count into a timestamp is easily done by multiplying with 86400000.0 - to obtain milli seconds. - - - - - &reftitle.seealso; - - px_update_record - - - - - - diff --git a/reference/paradox/functions/px-new.xml b/reference/paradox/functions/px-new.xml deleted file mode 100644 index 46d6acc8b7..0000000000 --- a/reference/paradox/functions/px-new.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - px_new - Create a new paradox object - - - - &reftitle.description; - - resourcepx_new - - - - Create a new paradox object. You will have to call this function before any - further functions. px_new does not create any file on - the disk, it just creates an instance of a paradox object. This function - must not be called if the object oriented interface is used. Use new - paradox_db() instead. - - - - - &reftitle.returnvalues; - - Returns &false; on failure. - - - - - - &reftitle.examples; - - - Opening a Paradox database - - -]]> - - - - - If you prefer the object oriented API, then the above example will look - like the following. - - Opening a Paradox database - -open_fp($fp)) { - /* Error handling */ -} -// ... -$pxdoc->close(); -fclose($fp); -?> -]]> - - - - - - - &reftitle.seealso; - - - px_delete - px_open_fp - - - - - - - - diff --git a/reference/paradox/functions/px-numfields.xml b/reference/paradox/functions/px-numfields.xml deleted file mode 100644 index b4353e6a85..0000000000 --- a/reference/paradox/functions/px-numfields.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - px_numfields - Returns number of fields in a database - - - - &reftitle.description; - - intpx_numfields - resourcepxdoc - - - Get the number of fields in a database file. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - - - - - &reftitle.returnvalues; - - Returns the number of fields in a database file. The return value of this - function is identical to the element numfields in the - array returned by px_get_info. - - - - - - diff --git a/reference/paradox/functions/px-numrecords.xml b/reference/paradox/functions/px-numrecords.xml deleted file mode 100644 index d5abf06c1b..0000000000 --- a/reference/paradox/functions/px-numrecords.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - px_numrecords - Returns number of records in a database - - - - &reftitle.description; - - intpx_numrecords - resourcepxdoc - - - Get the number of records in a database file. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - - - - - &reftitle.returnvalues; - - Returns the number of records in a database file. The return value of this - function is identical to the element numrecords in the - array returned by px_get_info. - - - - - - diff --git a/reference/paradox/functions/px-open-fp.xml b/reference/paradox/functions/px-open-fp.xml deleted file mode 100644 index 58c45288af..0000000000 --- a/reference/paradox/functions/px-open-fp.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - px_open_fp - Open paradox database - - - - &reftitle.description; - - boolpx_open_fp - resourcepxdoc - resourcefile - - - Open an existing paradox database file. The actual file has to be opened - before with fopen. This function can also be used to - open primary index files and tread them like a paradox database. This is - supported for those who would like to investigate a primary index. It - cannot be used to accelerate access to a database file. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - file - - - file is the return value from - fopen with the actual database file as parameter. - Make sure the database is writable if you plan to update or insert - records. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - fopen - The example at px_new - - - - - - - diff --git a/reference/paradox/functions/px-put-record.xml b/reference/paradox/functions/px-put-record.xml deleted file mode 100644 index d276e93f8b..0000000000 --- a/reference/paradox/functions/px-put-record.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - px_put_record - Stores record into paradox database - - - - &reftitle.description; - - boolpx_put_record - resourcepxdoc - arrayrecord - intrecpos-1 - - - Stores a record into a paradox database. The record is always added at - the end of the database, regardless of any free slots. Use - px_insert_record to add a new record into the first - free slot found in the database. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - record - - - Associated or indexed array containing the field values as e.g. - returned by px_retrieve_record. - - - - - recpos - - - This optional parameter may be used to specify a record number - greater than the current number of records in the database. The - function will add as many empty records as needed. There is hardly - any need for this parameter. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - diff --git a/reference/paradox/functions/px-retrieve-record.xml b/reference/paradox/functions/px-retrieve-record.xml deleted file mode 100644 index 43e11100b5..0000000000 --- a/reference/paradox/functions/px-retrieve-record.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - px_retrieve_record - Returns record of paradox database - - - - &reftitle.description; - - arraypx_retrieve_record - resourcepxdoc - intnum - intmode0 - - - This function is very similar to px_get_record - but uses internally a different approach to retrieve the data. It - relies on pxlib for reading each single field value, which usually - results in support for more field types. - - - - This function is only available if pxlib >= 0.6.0 is used. - - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - num - - - The record number is an artificial number counting records in the order - as they are stored in the database. The first record has number 0. - - - - - mode - - - The optional mode can be - PX_KEYTOLOWER or PX_KEYTOUPPER - in order to convert the keys into lower or upper case. If - mode is not passed or is 0, then the key will be - exactly like the field name. The element values will contain the field - values. NULL values will be retained and are different from 0.0, 0 or - the empty string. Fields of type PX_FIELD_TIME - will be returned as an integer counting the number of milliseconds - starting at midnight. A timestamp is a floating point value also - counting milliseconds starting at the beginning of julian calendar. - - - - - - - - - &reftitle.returnvalues; - - Returns the num'th record from the paradox - database. The record is returned as an associated array with its keys - being the field names. - - - - - &reftitle.seealso; - - - px_get_record - - - - - - - diff --git a/reference/paradox/functions/px-set-blob-file.xml b/reference/paradox/functions/px-set-blob-file.xml deleted file mode 100644 index 0dd350d85f..0000000000 --- a/reference/paradox/functions/px-set-blob-file.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - px_set_blob_file - Sets the file where blobs are read from - - - - &reftitle.description; - - boolpx_set_blob_file - resourcepxdoc - stringfilename - - - Sets the name of the file where blobs are going to be read from or written - into. Without - calling this function, px_get_record or - px_retrieve_record will only return - data in blob fields if the data is part of the record and not stored in the - blob file. Blob data is stored in the record if it is small enough to fit - in the size of the blob field. - - Calling px_put_record, - px_insert_record, or - px_update_record without calling - px_set_blob_file will result in truncated blob fields - unless the data fits into the database file. - - - Calling this function twice will close the first blob file and open the new - one. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - filename - - - The name of the file. Its extension should be .MB. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - diff --git a/reference/paradox/functions/px-set-parameter.xml b/reference/paradox/functions/px-set-parameter.xml deleted file mode 100644 index 487bc181fe..0000000000 --- a/reference/paradox/functions/px-set-parameter.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - px_set_parameter - Sets a parameter - - - - &reftitle.description; - - boolpx_set_parameter - resourcepxdoc - stringname - stringvalue - - - Sets various parameters. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - name - - - Depending on the parameter you want to set, name - can be one of the following. - - - - tablename - - - The name of the table as it will be stored in the database header. - - - - - targetencoding - - - The encoding for the output. Data which is being read from - character fields is recoded into the targetencoding. - - - - - inputencoding - - - The encoding of the input data which is to be stored into the - database. - - - - - - - - value - - - The value of parameter to set. For inputencoding and targetencoding - this must be the name of the encoding as understood by iconv or - recode, e.g. iso-8859-1, utf-8, cp850. - - - - - - - - - &reftitle.returnvalues; - &return.success; - - - - &reftitle.seealso; - - - px_get_info to determine the DOS code page. - - - - - - - diff --git a/reference/paradox/functions/px-set-tablename.xml b/reference/paradox/functions/px-set-tablename.xml deleted file mode 100644 index 24d5502eff..0000000000 --- a/reference/paradox/functions/px-set-tablename.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - px_set_tablename - Sets the name of a table (deprecated) - - - - &reftitle.description; - - voidfalsepx_set_tablename - resourcepxdoc - stringname - - - Sets the table name of a paradox database, which was created with - px_create_fp. This function is deprecated use - px_set_parameter instead. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - tablename - - - The name of the table. If it is not set explicitly it will be set - to the name of the database file. - - - - - - - - - &reftitle.returnvalues; - - Returns &null; on success&return.falseforfailure;. - - - - - &reftitle.seealso; - - px_set_parameter - - - - - - diff --git a/reference/paradox/functions/px-set-targetencoding.xml b/reference/paradox/functions/px-set-targetencoding.xml deleted file mode 100644 index 351544943c..0000000000 --- a/reference/paradox/functions/px-set-targetencoding.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - px_set_targetencoding - Sets the encoding for character fields (deprecated) - - - - &reftitle.description; - - boolpx_set_targetencoding - resourcepxdoc - stringencoding - - - Set the encoding for data retrieved from a character field. All character - fields will be recoded to the encoding set by this function. If the - encoding is not set, the character data will be returned in the DOS code - page encoding as specified in the database file. The - encoding can be any string identifier known to - iconv or recode. On Unix systems run iconv -l for - a list of available encodings. - - This function is deprecated and should be replaced by calling - px_set_parameter. - - - See also px_get_info to determine the DOS code page - as stored in the database file. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - encoding - - - The encoding for the output. Data which is being read from - character fields is recoded into the targetencoding. - - - - - - - - - &reftitle.returnvalues; - - Returns &false; if the encoding could not be set, e.g. the encoding is - unknown, or pxlib does not support recoding at all. In the second case a - warning will be issued. - - - - - &reftitle.seealso; - - px_set_parameter - - - - - - diff --git a/reference/paradox/functions/px-set-value.xml b/reference/paradox/functions/px-set-value.xml deleted file mode 100644 index a47a5a104f..0000000000 --- a/reference/paradox/functions/px-set-value.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - px_set_value - Sets a value - - - - &reftitle.description; - - boolpx_set_value - resourcepxdoc - stringname - floatvalue - - - Sets various values. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - name - - - name can be one of the following. - - - numprimkeys - - - The number of primary keys. Paradox databases always use the first - fields for the primary index. - - - - - - - - value - - - - - - - - - - - &reftitle.returnvalues; - &return.success; - - - - &reftitle.seealso; - - px_set_parameter - - - - - - - diff --git a/reference/paradox/functions/px-timestamp2string.xml b/reference/paradox/functions/px-timestamp2string.xml deleted file mode 100644 index e427bcf2e9..0000000000 --- a/reference/paradox/functions/px-timestamp2string.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - px_timestamp2string - - Converts the timestamp into a string - - - - &reftitle.description; - - stringpx_timestamp2string - resourcepxdoc - floatvalue - stringformat - - - - Turns a timestamp as it stored in the paradox file into human readable - format. Paradox timestamps are the number of miliseconds since 0001-01-02. - This function is just for convenience. It can be easily replaced by some - math and the calendar functions as demonstrated in the following example. - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database. - - - - - value - - - Value as stored in paradox database field of type - PX_FIELD_TIME, or PX_FIELD_TIMESTAMP. - - - - - format - - - String format similar to the format used by date. - The placeholders support by this function is a subset of those - supported by date (Y, y, m, n, d, j, H, h, G, g, - i, s, A, a, L). - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - - - - - - &reftitle.examples; - - - Turn a paradox timestamp into a human readable form - - -]]> - - &example.outputs; - - - - - - - - The Julian day count as passed to jdtogregorian - has a different base of 1.1.4714 b.c. and must therefore be calculated - by adding 1721425 to the day count used in the paradox file. Turning the - day count into a timestamp is easily done by multiplying with 86400000.0 - to obtain miliseconds. - - - - - - &reftitle.seealso; - - - px_date2string - jdtogregorian - - - - - - - - diff --git a/reference/paradox/functions/px-update-record.xml b/reference/paradox/functions/px-update-record.xml deleted file mode 100644 index 538efa2118..0000000000 --- a/reference/paradox/functions/px-update-record.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - px_update_record - Updates record in paradox database - - - - &reftitle.description; - - boolpx_update_record - resourcepxdoc - arraydata - intnum - - - - Updates an exiting record in the database. The record starts at 0. - - - The record data is passed as an array of field values. The elements in - the array must correspond to the fields in the database. If the array - has less elements than fields in the database, the remaining fields - will be set to null. - - - - This function is only available if pxlib >= 0.6.0 is used. - - - - - - - &reftitle.parameters; - - - - pxdoc - - - Resource identifier of the paradox database - as returned by px_new. - - - - - data - - - Associated array containing the field values as returned by - px_retrieve_record. - - - - - num - - - The record number is an artificial number counting records in the order - as they are stored in the database. The first record has number 0. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - px_insert_record - - - - - - diff --git a/reference/paradox/reference.xml b/reference/paradox/reference.xml deleted file mode 100644 index 25376c6026..0000000000 --- a/reference/paradox/reference.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - Paradox &Functions; - - - - -
- Object oriented API - - The paradox extension provides also an object oriented API. It consists of - only one class called paradox_db. Its methods only differ from the - functions in its name and of course the missing first parameter. The - following table will list all methods and its equivalent functions. - - - Methods of class paradox_db - - - - Name of method - Equivalent function - - - - - Constructor - px_new - - - Destructor - px_delete - - - open_fp - px_open_fp - - - create_fp - px_create_fp - - - close - px_close - - - numrecords - px_numrecords - - - numfields - px_numfields - - - get_record - px_get_record - - - put_record - px_put_record - - - retrieve_record - px_retrieve_record - - - delete_record - px_delete_record - - - insert_record - px_insert_record - - - update_record - px_update_record - - - get_field - px_get_field - - - get_schema - px_get_schema - - - get_info - px_get_info - - - set_parameter - px_set_parameter - - - get_parameter - px_get_parameter - - - set_value - px_set_value - - - get_value - px_get_value - - - get_info - px_get_info - - - set_targetencoding - px_set_targetencoding - - - set_tablename - px_set_tablename - - - set_blob_file - px_set_blob_file - - - date2string - px_date2string - - - timestamp2string - px_timestamp2string - - - -
-
-
-
- - &reference.paradox.entities.functions; - -
- - diff --git a/reference/paradox/setup.xml b/reference/paradox/setup.xml deleted file mode 100644 index c161ebbbde..0000000000 --- a/reference/paradox/setup.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - - You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set - of functions. Some newer functions are only available with pxlib >= - 0.6.0. Reading and writing of encrypted databases requires at least - pxlib >= 0.5.0. The paradox library (pxlib) is available at - &url.paradox.pxlib;. - -
- - - - &reference.paradox.configure; - - - -
- &reftitle.runtime; - &no.config; -
- - - -
- &reftitle.resources; - - px_new creates a new Paradox object required by all - Paradox functions. - -
- - -
- - - diff --git a/reference/paradox/versions.xml b/reference/paradox/versions.xml deleted file mode 100644 index ce82352bfc..0000000000 --- a/reference/paradox/versions.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 02f9eb8bf38a192db7b7108d26547d95c7be13c3 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:05:46 +0100 Subject: [PATCH 182/444] Remove proctile docs --- appendices/extensions.xml | 2 - reference/proctitle/book.xml | 42 -------- reference/proctitle/configure.xml | 34 ------ reference/proctitle/constants.xml | 28 ----- .../proctitle/functions/setproctitle.xml | 100 ------------------ .../proctitle/functions/setthreadtitle.xml | 99 ----------------- reference/proctitle/reference.xml | 30 ------ reference/proctitle/setup.xml | 53 ---------- reference/proctitle/versions.xml | 32 ------ 9 files changed, 420 deletions(-) delete mode 100644 reference/proctitle/book.xml delete mode 100644 reference/proctitle/configure.xml delete mode 100644 reference/proctitle/constants.xml delete mode 100644 reference/proctitle/functions/setproctitle.xml delete mode 100644 reference/proctitle/functions/setthreadtitle.xml delete mode 100644 reference/proctitle/reference.xml delete mode 100644 reference/proctitle/setup.xml delete mode 100644 reference/proctitle/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index ec257b604a..c3120a3482 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -119,7 +119,6 @@ - @@ -350,7 +349,6 @@ - diff --git a/reference/proctitle/book.xml b/reference/proctitle/book.xml deleted file mode 100644 index 95e06b7d3d..0000000000 --- a/reference/proctitle/book.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - Proctitle - Proctitle - - - &reftitle.intro; - - This extension allows changing the current process', and thread, name on Linux and *BSD - systems. This is useful when using pcntl_fork to identify running - processes in process list - - - - &reference.proctitle.setup; - &reference.proctitle.constants; - &reference.proctitle.reference; - - - - diff --git a/reference/proctitle/configure.xml b/reference/proctitle/configure.xml deleted file mode 100644 index 0cb4bc410b..0000000000 --- a/reference/proctitle/configure.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.info; - &url.pecl.package;proctitle. - - -
- - - diff --git a/reference/proctitle/constants.xml b/reference/proctitle/constants.xml deleted file mode 100644 index 7ab37de5c2..0000000000 --- a/reference/proctitle/constants.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - diff --git a/reference/proctitle/functions/setproctitle.xml b/reference/proctitle/functions/setproctitle.xml deleted file mode 100644 index bf0147391a..0000000000 --- a/reference/proctitle/functions/setproctitle.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - setproctitle - Set the process title - - - - &reftitle.description; - - voidsetproctitle - stringtitle - - - Sets the process title of the current process. - - - - - &reftitle.parameters; - - - - title - - - The title to use as the process title. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - <function>setproctitle</function> example - - Running the example below will change the process title (visible with - ps a for example). - - - -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - cli_set_process_title - pcntl_fork - setthreadtitle - - - - - - diff --git a/reference/proctitle/functions/setthreadtitle.xml b/reference/proctitle/functions/setthreadtitle.xml deleted file mode 100644 index c123be24fa..0000000000 --- a/reference/proctitle/functions/setthreadtitle.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - setthreadtitle - Set the thread title - - - - &reftitle.description; - - boolsetthreadtitle - stringtitle - - - Sets the thread title. - - - - - &reftitle.parameters; - - - - title - - - The title to use as the thread title. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - <function>setthreadtitle</function> example - - Running the example below will change the thread title (visible with - ps c for example). - - - -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - pcntl_fork - setproctitle - - - - - - diff --git a/reference/proctitle/reference.xml b/reference/proctitle/reference.xml deleted file mode 100644 index 3cd3662dc5..0000000000 --- a/reference/proctitle/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Proctitle &Functions; - - &reference.proctitle.entities.functions; - - - - diff --git a/reference/proctitle/setup.xml b/reference/proctitle/setup.xml deleted file mode 100644 index 3a12a7da2a..0000000000 --- a/reference/proctitle/setup.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - Nothing special. - -
- -
- &reftitle.install; - - &pecl.info; - &url.pecl.package;proctitle. - -
- -
- &reftitle.runtime; - &no.config; -
- -
- &reftitle.resources; - &no.resource; -
- -
- - diff --git a/reference/proctitle/versions.xml b/reference/proctitle/versions.xml deleted file mode 100644 index e54b5efd7c..0000000000 --- a/reference/proctitle/versions.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - From a6ce8d349d7e362385ab8a42612872d1e828c51e Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:07:11 +0100 Subject: [PATCH 183/444] Remove quickhash docs --- appendices/extensions.xml | 2 - reference/quickhash/book.xml | 46 ----- reference/quickhash/constants.xml | 29 --- reference/quickhash/examples.xml | 150 -------------- reference/quickhash/quickhashinthash.xml | 157 -------------- reference/quickhash/quickhashinthash/add.xml | 138 ------------- .../quickhash/quickhashinthash/construct.xml | 108 ---------- .../quickhash/quickhashinthash/delete.xml | 102 ---------- .../quickhash/quickhashinthash/exists.xml | 112 ---------- reference/quickhash/quickhashinthash/get.xml | 99 --------- .../quickhash/quickhashinthash/getsize.xml | 92 --------- .../quickhashinthash/loadfromfile.xml | 162 --------------- .../quickhashinthash/loadfromstring.xml | 130 ------------ .../quickhash/quickhashinthash/savetofile.xml | 89 -------- .../quickhashinthash/savetostring.xml | 74 ------- reference/quickhash/quickhashinthash/set.xml | 118 ----------- .../quickhash/quickhashinthash/update.xml | 107 ---------- reference/quickhash/quickhashintset.xml | 155 -------------- reference/quickhash/quickhashintset/add.xml | 112 ---------- .../quickhash/quickhashintset/construct.xml | 108 ---------- .../quickhash/quickhashintset/delete.xml | 97 --------- .../quickhash/quickhashintset/exists.xml | 112 ---------- .../quickhash/quickhashintset/getsize.xml | 92 --------- .../quickhashintset/loadfromfile.xml | 139 ------------- .../quickhashintset/loadfromstring.xml | 139 ------------- .../quickhash/quickhashintset/savetofile.xml | 89 -------- .../quickhashintset/savetostring.xml | 74 ------- .../quickhash/quickhashintstringhash.xml | 157 -------------- .../quickhash/quickhashintstringhash/add.xml | 130 ------------ .../quickhashintstringhash/construct.xml | 108 ---------- .../quickhashintstringhash/delete.xml | 102 ---------- .../quickhashintstringhash/exists.xml | 67 ------ .../quickhash/quickhashintstringhash/get.xml | 99 --------- .../quickhashintstringhash/getsize.xml | 76 ------- .../quickhashintstringhash/loadfromfile.xml | 181 ----------------- .../quickhashintstringhash/loadfromstring.xml | 138 ------------- .../quickhashintstringhash/savetofile.xml | 89 -------- .../quickhashintstringhash/savetostring.xml | 74 ------- .../quickhash/quickhashintstringhash/set.xml | 120 ----------- .../quickhashintstringhash/update.xml | 117 ----------- .../quickhash/quickhashstringinthash.xml | 115 ----------- .../quickhash/quickhashstringinthash/add.xml | 135 ------------ .../quickhashstringinthash/construct.xml | 100 --------- .../quickhashstringinthash/delete.xml | 106 ---------- .../quickhashstringinthash/exists.xml | 67 ------ .../quickhash/quickhashstringinthash/get.xml | 94 --------- .../quickhashstringinthash/getsize.xml | 92 --------- .../quickhashstringinthash/loadfromfile.xml | 192 ------------------ .../quickhashstringinthash/loadfromstring.xml | 137 ------------- .../quickhashstringinthash/savetofile.xml | 87 -------- .../quickhashstringinthash/savetostring.xml | 71 ------- .../quickhash/quickhashstringinthash/set.xml | 120 ----------- .../quickhashstringinthash/update.xml | 119 ----------- reference/quickhash/reference.xml | 31 --- reference/quickhash/setup.xml | 49 ----- reference/quickhash/versions.xml | 69 ------- 56 files changed, 5874 deletions(-) delete mode 100644 reference/quickhash/book.xml delete mode 100644 reference/quickhash/constants.xml delete mode 100644 reference/quickhash/examples.xml delete mode 100644 reference/quickhash/quickhashinthash.xml delete mode 100644 reference/quickhash/quickhashinthash/add.xml delete mode 100644 reference/quickhash/quickhashinthash/construct.xml delete mode 100644 reference/quickhash/quickhashinthash/delete.xml delete mode 100644 reference/quickhash/quickhashinthash/exists.xml delete mode 100644 reference/quickhash/quickhashinthash/get.xml delete mode 100644 reference/quickhash/quickhashinthash/getsize.xml delete mode 100644 reference/quickhash/quickhashinthash/loadfromfile.xml delete mode 100644 reference/quickhash/quickhashinthash/loadfromstring.xml delete mode 100644 reference/quickhash/quickhashinthash/savetofile.xml delete mode 100644 reference/quickhash/quickhashinthash/savetostring.xml delete mode 100644 reference/quickhash/quickhashinthash/set.xml delete mode 100644 reference/quickhash/quickhashinthash/update.xml delete mode 100644 reference/quickhash/quickhashintset.xml delete mode 100644 reference/quickhash/quickhashintset/add.xml delete mode 100644 reference/quickhash/quickhashintset/construct.xml delete mode 100644 reference/quickhash/quickhashintset/delete.xml delete mode 100644 reference/quickhash/quickhashintset/exists.xml delete mode 100644 reference/quickhash/quickhashintset/getsize.xml delete mode 100644 reference/quickhash/quickhashintset/loadfromfile.xml delete mode 100644 reference/quickhash/quickhashintset/loadfromstring.xml delete mode 100644 reference/quickhash/quickhashintset/savetofile.xml delete mode 100644 reference/quickhash/quickhashintset/savetostring.xml delete mode 100644 reference/quickhash/quickhashintstringhash.xml delete mode 100644 reference/quickhash/quickhashintstringhash/add.xml delete mode 100644 reference/quickhash/quickhashintstringhash/construct.xml delete mode 100644 reference/quickhash/quickhashintstringhash/delete.xml delete mode 100644 reference/quickhash/quickhashintstringhash/exists.xml delete mode 100644 reference/quickhash/quickhashintstringhash/get.xml delete mode 100644 reference/quickhash/quickhashintstringhash/getsize.xml delete mode 100644 reference/quickhash/quickhashintstringhash/loadfromfile.xml delete mode 100644 reference/quickhash/quickhashintstringhash/loadfromstring.xml delete mode 100644 reference/quickhash/quickhashintstringhash/savetofile.xml delete mode 100644 reference/quickhash/quickhashintstringhash/savetostring.xml delete mode 100644 reference/quickhash/quickhashintstringhash/set.xml delete mode 100644 reference/quickhash/quickhashintstringhash/update.xml delete mode 100644 reference/quickhash/quickhashstringinthash.xml delete mode 100644 reference/quickhash/quickhashstringinthash/add.xml delete mode 100644 reference/quickhash/quickhashstringinthash/construct.xml delete mode 100644 reference/quickhash/quickhashstringinthash/delete.xml delete mode 100644 reference/quickhash/quickhashstringinthash/exists.xml delete mode 100644 reference/quickhash/quickhashstringinthash/get.xml delete mode 100644 reference/quickhash/quickhashstringinthash/getsize.xml delete mode 100644 reference/quickhash/quickhashstringinthash/loadfromfile.xml delete mode 100644 reference/quickhash/quickhashstringinthash/loadfromstring.xml delete mode 100644 reference/quickhash/quickhashstringinthash/savetofile.xml delete mode 100644 reference/quickhash/quickhashstringinthash/savetostring.xml delete mode 100644 reference/quickhash/quickhashstringinthash/set.xml delete mode 100644 reference/quickhash/quickhashstringinthash/update.xml delete mode 100644 reference/quickhash/reference.xml delete mode 100644 reference/quickhash/setup.xml delete mode 100644 reference/quickhash/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index c3120a3482..6e556742a6 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -122,7 +122,6 @@ - @@ -351,7 +350,6 @@ - diff --git a/reference/quickhash/book.xml b/reference/quickhash/book.xml deleted file mode 100644 index 3b96e09076..0000000000 --- a/reference/quickhash/book.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - Quickhash - Quickhash - - - &reftitle.intro; - - The quickhash extension contains a set of specific strongly-typed classes - to deal with specific set and hash implementations. - - - - &reference.quickhash.setup; - &reference.quickhash.constants; - &reference.quickhash.examples; - - &reference.quickhash.quickhashintset; - &reference.quickhash.quickhashinthash; - &reference.quickhash.quickhashstringinthash; - &reference.quickhash.quickhashintstringhash; - - - - diff --git a/reference/quickhash/constants.xml b/reference/quickhash/constants.xml deleted file mode 100644 index 4407f951b7..0000000000 --- a/reference/quickhash/constants.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - - diff --git a/reference/quickhash/examples.xml b/reference/quickhash/examples.xml deleted file mode 100644 index e21c1e6330..0000000000 --- a/reference/quickhash/examples.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - &reftitle.examples; - - Quickhash Example - -add( 1 ); -$set->add( 3 ); - -var_dump( $set->exists( 3 ) ); -var_dump( $set->exists( 4 ) ); - -$set->saveToFile( "/tmp/test-set.set" ); - -$newSet = QuickHashIntSet::loadFromFile( - "/tmp/test-set.set" -); - -var_dump( $newSet->exists( 3 ) ); -var_dump( $newSet->exists( 4 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - Quickhash ArrayAccess Example - - -]]> - - &example.outputs.similar; - - - - - - Quickhash Iterator Example - - $value ) -{ - echo $key, ' => ', $value, "\n"; -} -?> -]]> - - &example.outputs.similar; - - -4234 -4 => 712314 -1 => 145926 -2 => 1415926 -3 => 72 -]]> - - - - Quickhash String Values Example - -add( 2, "one more" ); - -foreach( $hash as $key => $value ) -{ - echo $key, ' => ', $value, "\n"; -} -?> -]]> - - &example.outputs.similar; - - one million four hundred fifteen thousand nine hundred twenty six -2 => one more -]]> - - - - - - diff --git a/reference/quickhash/quickhashinthash.xml b/reference/quickhash/quickhashinthash.xml deleted file mode 100644 index de2912c2c5..0000000000 --- a/reference/quickhash/quickhashinthash.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - The QuickHashIntHash class - QuickHashIntHash - - - - -
- &reftitle.intro; - - This class wraps around a hash containing integer numbers, where the - values are also integer numbers. Hashes are also available as - implementation of the ArrayAccess interface. - - - Hashes can also be iterated over with foreach as the Iterator interface is - implemented as well. The order of which elements are returned in is not - guaranteed. - -
- - -
- &reftitle.classsynopsis; - - - - QuickHashIntHash - - - - - QuickHashIntHash - - - - Constants - - const - int - QuickHashIntHash::CHECK_FOR_DUPES - 1 - - - const - int - QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC - 2 - - - const - int - QuickHashIntHash::HASHER_NO_HASH - 256 - - - const - int - QuickHashIntHash::HASHER_JENKINS1 - 512 - - - const - int - QuickHashIntHash::HASHER_JENKINS2 - 1024 - - - Methods - - - - -
- - -
- &reftitle.constants; - - - - QuickHashIntHash::CHECK_FOR_DUPES - - If enabled, adding duplicate elements to a set (through either add() or - loadFromFile()) will result in those elements to be dropped from the - set. This will take up extra time, so only used when it is required. - - - - - QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC - - Disables the use of PHP's internal memory manager for internal - set structures. With this option enabled, internal allocations will not - count towards the memory_limit settings. - - - - - QuickHashIntHash::HASHER_NO_HASH - - Selects to not use a hashing function, but merely use a modulo to - find the bucket list index. This is not faster than normal hashing, and - gives more collisions. - - - - - QuickHashIntHash::HASHER_JENKINS1 - - This is the default hashing function to turn the integer hashes - into bucket list indexes. - - - - - QuickHashIntHash::HASHER_JENKINS2 - - Selects a variant hashing algorithm. - - - - -
- - - -
- - &reference.quickhash.entities.quickhashinthash; - -
- - diff --git a/reference/quickhash/quickhashinthash/add.xml b/reference/quickhash/quickhashinthash/add.xml deleted file mode 100644 index e0abc73c6c..0000000000 --- a/reference/quickhash/quickhashinthash/add.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - QuickHashIntHash::add - This method adds a new entry to the hash - - - - &reftitle.description; - - public boolQuickHashIntHash::add - intkey - intvalue - - - This method adds a new entry to the hash, and returns whether the entry was - added. Entries are by default always added unless - QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was created. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The optional value of the entry to add. If no value is specified, - 1 will be used. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was added, and &false; if the entry was not added. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::add</function> example - -exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, 22 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, 12 ) ); - -echo "\nwith dupe checking\n"; -$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, 78 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, 9 ) ); - -echo "\ndefault value\n"; -var_dump( $hash->add( 5 ) ); -var_dump( $hash->get( 5 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/construct.xml b/reference/quickhash/quickhashinthash/construct.xml deleted file mode 100644 index a7d19dc45d..0000000000 --- a/reference/quickhash/quickhashinthash/construct.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - QuickHashIntHash::__construct - Creates a new QuickHashIntHash object - - - - &reftitle.description; - - public QuickHashIntHash::__construct - intsize - intoptions - - - This constructor creates a new QuickHashIntHash. The size is the amount of - bucket lists to create. The more lists there are, the less collisions you - will have. Options are also supported. - - - - - &reftitle.parameters; - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 64 to 4194304. - - - - - options - - - The options that you can pass in are: QuickHashIntHash::CHECK_FOR_DUPES, - which makes sure no duplicate entries are added to the hash; - QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory - manager as well as one of QuickHashIntHash::HASHER_NO_HASH, - QuickHashIntHash::HASHER_JENKINS1 or QuickHashIntHash::HASHER_JENKINS2. - These last three configure which hashing algorithm to use. All options - can be combined using bitmasks. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntHash object. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::__construct</function> example - - -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/delete.xml b/reference/quickhash/quickhashinthash/delete.xml deleted file mode 100644 index 4ea3f92ea6..0000000000 --- a/reference/quickhash/quickhashinthash/delete.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - QuickHashIntHash::delete - This method deletes am entry from the hash - - - - &reftitle.description; - - public boolQuickHashIntHash::delete - intkey - - - This method deletes an entry from the hash, and returns whether the entry was - deleted or not. Associated memory structures will not be freed immediately, - but rather when the hash itself is freed. - - - Elements can not be deleted when the hash is used in an iterator. The - method will not throw an exception, but simply return &false; like would - happen with any other deletion failure. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to delete. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was deleted, and &false; if the entry was not deleted. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::delete</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, 5 ) ); -var_dump( $hash->delete( 4 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->delete( 4 ) ); -?>]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/exists.xml b/reference/quickhash/quickhashinthash/exists.xml deleted file mode 100644 index d8a91c37c6..0000000000 --- a/reference/quickhash/quickhashinthash/exists.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - QuickHashIntHash::exists - This method checks whether a key is part of the hash - - - - &reftitle.description; - - public boolQuickHashIntHash::exists - intkey - - - This method checks whether an entry with the provided key exists in the - hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to check for whether it exists in the hash. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; when the entry was found, or &false; when the entry is not - found. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::exists</function> example - -add( $key, 56 ); -} - -echo "Doing 1000 tests: ", microtime( true ), "\n"; -foreach( $testForEntries as $key ) -{ - $foundCount += $hash->exists( $key ); -} -echo "Done, $foundCount found: ", microtime( true ), "\n"; -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/get.xml b/reference/quickhash/quickhashinthash/get.xml deleted file mode 100644 index 75a2f7d3db..0000000000 --- a/reference/quickhash/quickhashinthash/get.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - QuickHashIntHash::get - This method retrieves a value from the hash by its key - - - - &reftitle.description; - - public intQuickHashIntHash::get - intkey - - - This method retrieves a value from the hash by its key. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The value if the key exists, or &null; if the key wasn't part of the hash. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::get</function> example - -get( 1 ) ); - -var_dump( $hash->add( 2 ) ); -var_dump( $hash->get( 2 ) ); - -var_dump( $hash->add( 3, 5 ) ); -var_dump( $hash->get( 3 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/getsize.xml b/reference/quickhash/quickhashinthash/getsize.xml deleted file mode 100644 index c8722174f3..0000000000 --- a/reference/quickhash/quickhashinthash/getsize.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - QuickHashIntHash::getSize - Returns the number of elements in the hash - - - - &reftitle.description; - - public intQuickHashIntHash::getSize - - - Returns the number of elements in the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The number of elements in the hash. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::getSize</function> example - -add( 2 ) ); -var_dump( $hash->add( 3, 5 ) ); -var_dump( $hash->getSize() ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/loadfromfile.xml b/reference/quickhash/quickhashinthash/loadfromfile.xml deleted file mode 100644 index 1768319ee6..0000000000 --- a/reference/quickhash/quickhashinthash/loadfromfile.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - QuickHashIntHash::loadFromFile - This factory method creates a hash from a file - - - - &reftitle.description; - - public static QuickHashIntHashQuickHashIntHash::loadFromFile - stringfilename - intoptions - - - This factory method creates a new hash from a definition file on disk. The - file format consists of a signature 'QH\0x11\0', the number of elements as - a 32 bit signed integer in system Endianness, followed by 32 bit signed - integers packed together in the Endianness that the system that the code - runs on uses. For each hash element there are two 32 bit signed integers - stored. The first of each element is the key, and the second is the value - belonging to the key. An example could be: - - - - QuickHash IntHash file format - - - - - - QuickHash IntHash file format - - - - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to read the hash from. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the hash, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntHash. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::loadFromFile</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/loadfromstring.xml b/reference/quickhash/quickhashinthash/loadfromstring.xml deleted file mode 100644 index 4f46c3554d..0000000000 --- a/reference/quickhash/quickhashinthash/loadfromstring.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - QuickHashIntHash::loadFromString - This factory method creates a hash from a string - - - - &reftitle.description; - - public static QuickHashIntHashQuickHashIntHash::loadFromString - stringcontents - intoptions - - - This factory method creates a new hash from a definition in a string. The - file format consists of 32 bit signed integers packed together in the - Endianness that the system that the code runs on uses. For each element - there are two 32 bit signed integers stored. The first of each element is - the key, and the second is the value belonging to the key. - - - - - &reftitle.parameters; - - - - contents - - - The string containing a serialized format of the hash. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the hash, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntHash. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::loadFromString</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/savetofile.xml b/reference/quickhash/quickhashinthash/savetofile.xml deleted file mode 100644 index c2d017ca72..0000000000 --- a/reference/quickhash/quickhashinthash/savetofile.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - QuickHashIntHash::saveToFile - This method stores an in-memory hash to disk - - - - &reftitle.description; - - public voidQuickHashIntHash::saveToFile - stringfilename - - - This method stores an existing hash to a file on disk, in the same format - that loadFromFile() can read. - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to store the hash in. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::saveToFile</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, 43 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->add( 4, 52 ) ); - -$hash->saveToFile( '/tmp/test.hash' ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/savetostring.xml b/reference/quickhash/quickhashinthash/savetostring.xml deleted file mode 100644 index fc7bf92863..0000000000 --- a/reference/quickhash/quickhashinthash/savetostring.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - QuickHashIntHash::saveToString - This method returns a serialized version of the hash - - - - &reftitle.description; - - public stringQuickHashIntHash::saveToString - - - This method returns a serialized version of the hash in the same format that - loadFromString() can read. - - - - - &reftitle.returnvalues; - - This method returns a string containing a serialized format of the hash. - Each element is stored as a four byte value in the Endianness that the - current system uses. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::saveToString</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, 34 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->add( 4, 55 ) ); - -var_dump( $hash->saveToString() ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/set.xml b/reference/quickhash/quickhashinthash/set.xml deleted file mode 100644 index cc18e40040..0000000000 --- a/reference/quickhash/quickhashinthash/set.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - QuickHashIntHash::set - This method updates an entry in the hash with a new value, or - adds a new one if the entry doesn't exist - - - - &reftitle.description; - - public boolQuickHashIntHash::set - intkey - intvalue - - - This method tries to update an entry with a new value. In case the entry - did not yet exist, it will instead add a new entry. It returns whether the - entry was added or update. If there are duplicate keys, only the first - found element will get an updated value. Use - QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate - keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add or update. - - - - - value - - - The new value to set the entry with. - - - - - - - - - &reftitle.returnvalues; - - 2 if the entry was found and updated, 1 if the entry was newly added or 0 - if there was an error. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::set</function> example - -Add\n"; -var_dump( $hash->get( 46692 ) ); -var_dump( $hash->set( 46692, 16091 ) ); -var_dump( $hash->get( 46692 ) ); - -echo "Set->Update\n"; -var_dump( $hash->set( 46692, 29906 ) ); -var_dump( $hash->get( 46692 ) ); -?> -]]> - - &example.outputs.similar; - -Update -int(1) -int(29906) -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashinthash/update.xml b/reference/quickhash/quickhashinthash/update.xml deleted file mode 100644 index 1ccfa361ed..0000000000 --- a/reference/quickhash/quickhashinthash/update.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - QuickHashIntHash::update - This method updates an entry in the hash with a new value - - - - &reftitle.description; - - public boolQuickHashIntHash::update - intkey - intvalue - - - This method updates an entry with a new value, and returns whether the entry was - update. If there are duplicate keys, only the first found element will get - an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash - creation to prevent duplicate keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The new value to update the entry with. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was found and updated, and &false; if the entry was - not part of the hash already. - - - - - &reftitle.examples; - - - <function>QuickHashIntHash::update</function> example - -add( 141421, 173205 ) ); -var_dump( $hash->update( 141421, 223606 ) ); -var_dump( $hash->get( 141421 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset.xml b/reference/quickhash/quickhashintset.xml deleted file mode 100644 index cdd50463ff..0000000000 --- a/reference/quickhash/quickhashintset.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - The QuickHashIntSet class - QuickHashIntSet - - - - -
- &reftitle.intro; - - This class wraps around a set containing integer numbers. - - - Sets can also be iterated over with foreach as the Iterator interface is - implemented as well. The order of which elements are returned in is not - guaranteed. - -
- - -
- &reftitle.classsynopsis; - - - - QuickHashIntSet - - - - - QuickHashIntSet - - - - Constants - - const - int - QuickHashIntSet::CHECK_FOR_DUPES - 1 - - - const - int - QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC - 2 - - - const - int - QuickHashIntSet::HASHER_NO_HASH - 256 - - - const - int - QuickHashIntSet::HASHER_JENKINS1 - 512 - - - const - int - QuickHashIntSet::HASHER_JENKINS2 - 1024 - - - Methods - - - - -
- - -
- &reftitle.constants; - - - - QuickHashIntSet::CHECK_FOR_DUPES - - If enabled, adding duplicate elements to a set (through either add() or - loadFromFile()) will result in those elements to be dropped from the - set. This will take up extra time, so only used when it is required. - - - - - QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC - - Disables the use of PHP's internal memory manager for internal - set structures. With this option enabled, internal allocations will not - count towards the memory_limit settings. - - - - - QuickHashIntSet::HASHER_NO_HASH - - Selects to not use a hashing function, but merely use a modulo to - find the bucket list index. This is not faster than normal hashing, and - gives more collisions. - - - - - QuickHashIntSet::HASHER_JENKINS1 - - This is the default hashing function to turn the integer hashes - into bucket list indexes. - - - - - QuickHashIntSet::HASHER_JENKINS2 - - Selects a variant hashing algorithm. - - - - -
- - - -
- - &reference.quickhash.entities.quickhashintset; - -
- - diff --git a/reference/quickhash/quickhashintset/add.xml b/reference/quickhash/quickhashintset/add.xml deleted file mode 100644 index 32193ad561..0000000000 --- a/reference/quickhash/quickhashintset/add.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - QuickHashIntSet::add - This method adds a new entry to the set - - - - &reftitle.description; - - public boolQuickHashIntSet::add - intkey - - - This method adds a new entry to the set, and returns whether the entry was - added. Entries are by default always added unless - QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was created. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was added, and &false; if the entry was not added. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::add</function> example - -exists( 4 ) ); -var_dump( $set->add( 4 ) ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->add( 4 ) ); - -echo "\nwith dupe checking\n"; -$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->add( 4 ) ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->add( 4 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/construct.xml b/reference/quickhash/quickhashintset/construct.xml deleted file mode 100644 index f90a56bd59..0000000000 --- a/reference/quickhash/quickhashintset/construct.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - QuickHashIntSet::__construct - Creates a new QuickHashIntSet object - - - - &reftitle.description; - - public QuickHashIntSet::__construct - intsize - intoptions - - - This constructor creates a new QuickHashIntSet. The size is the amount of - bucket lists to create. The more lists there are, the less collisions you - will have. Options are also supported. - - - - - &reftitle.parameters; - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The options that you can pass in are: QuickHashIntSet::CHECK_FOR_DUPES, - which makes sure no duplicate entries are added to the set; - QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory - manager as well as one of QuickHashIntSet::HASHER_NO_HASH, - QuickHashIntSet::HASHER_JENKINS1 or QuickHashIntSet::HASHER_JENKINS2. - These last three configure which hashing algorithm to use. All options - can be combined using bitmasks. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntSet object. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::__construct</function> example - - -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/delete.xml b/reference/quickhash/quickhashintset/delete.xml deleted file mode 100644 index 0edd3cb9e4..0000000000 --- a/reference/quickhash/quickhashintset/delete.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - QuickHashIntSet::delete - This method deletes an entry from the set - - - - &reftitle.description; - - public boolQuickHashIntSet::delete - intkey - - - This method deletes an entry from the set, and returns whether the entry was - deleted or not. Associated memory structures will not be freed immediately, - but rather when the set itself is freed. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to delete. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was deleted, and &false; if the entry was not deleted. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::delete</function> example - -exists( 4 ) ); -var_dump( $set->add( 4 ) ); -var_dump( $set->delete( 4 ) ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->delete( 4 ) ); -?>]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/exists.xml b/reference/quickhash/quickhashintset/exists.xml deleted file mode 100644 index a9b6082347..0000000000 --- a/reference/quickhash/quickhashintset/exists.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - QuickHashIntSet::exists - This method checks whether a key is part of the set - - - - &reftitle.description; - - public boolQuickHashIntSet::exists - intkey - - - This method checks whether an entry with the provided key exists in the - set. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to check for whether it exists in the set. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; when the entry was found, or &false; when the entry is not - found. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::exists</function> example - -add( $key ); -} - -echo "Doing 1000 tests: ", microtime( true ), "\n"; -foreach( $testForEntries as $key ) -{ - $foundCount += $set->exists( $key ); -} -echo "Done, $foundCount found: ", microtime( true ), "\n"; -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/getsize.xml b/reference/quickhash/quickhashintset/getsize.xml deleted file mode 100644 index 7078319681..0000000000 --- a/reference/quickhash/quickhashintset/getsize.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - QuickHashIntSet::getSize - Returns the number of elements in the set - - - - &reftitle.description; - - publicintQuickHashIntSet::getSize - - - Returns the number of elements in the set. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The number of elements in the set. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::getSize</function> example - -add( 2 ) ); -var_dump( $set->add( 3 ) ); -var_dump( $set->getSize() ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/loadfromfile.xml b/reference/quickhash/quickhashintset/loadfromfile.xml deleted file mode 100644 index 21b137c82c..0000000000 --- a/reference/quickhash/quickhashintset/loadfromfile.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - QuickHashIntSet::loadFromFile - This factory method creates a set from a file - - - - &reftitle.description; - - public static QuickHashIntSetQuickHashIntSet::loadFromFile - stringfilename - intsize - intoptions - - - This factory method creates a new set from a definition file on disk. The - file format consists of 32 bit signed integers packed together in the - Endianness that the system that the code runs on uses. - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to read the set from. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the set, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntSet. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::loadFromFile</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/loadfromstring.xml b/reference/quickhash/quickhashintset/loadfromstring.xml deleted file mode 100644 index 76ac082f27..0000000000 --- a/reference/quickhash/quickhashintset/loadfromstring.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - QuickHashIntSet::loadFromString - This factory method creates a set from a string - - - - &reftitle.description; - - public static QuickHashIntSetQuickHashIntSet::loadFromString - stringcontents - intsize - intoptions - - - This factory method creates a new set from a definition in a string. The - file format consists of 32 bit signed integers packed together in the - Endianness that the system that the code runs on uses. - - - - - &reftitle.parameters; - - - - contents - - - The string containing a serialized format of the set. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the set, rounded up to the nearest power of two - automatically limited from 64 to 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntSet. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::loadFromString</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/savetofile.xml b/reference/quickhash/quickhashintset/savetofile.xml deleted file mode 100644 index fc1fb46356..0000000000 --- a/reference/quickhash/quickhashintset/savetofile.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - QuickHashIntSet::saveToFile - This method stores an in-memory set to disk - - - - &reftitle.description; - - public voidQuickHashIntSet::saveToFile - stringfilename - - - This method stores an existing set to a file on disk, in the same format - that loadFromFile() can read. - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to store the hash in. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::saveToFile</function> example - -exists( 4 ) ); -var_dump( $set->add( 4 ) ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->add( 4 ) ); - -$set->saveToFile( '/tmp/test.set' ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintset/savetostring.xml b/reference/quickhash/quickhashintset/savetostring.xml deleted file mode 100644 index f6b985d8ab..0000000000 --- a/reference/quickhash/quickhashintset/savetostring.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - QuickHashIntSet::saveToString - This method returns a serialized version of the set - - - - &reftitle.description; - - public stringQuickHashIntSet::saveToString - - - This method returns a serialized version of the set in the same format that - loadFromString() can read. - - - - - &reftitle.returnvalues; - - This method returns a string containing a serialized format of the set. - Each element is stored as a four byte value in the Endianness that the - current system uses. - - - - - &reftitle.examples; - - - <function>QuickHashIntSet::saveToString</function> example - -exists( 4 ) ); -var_dump( $set->add( 4 ) ); -var_dump( $set->exists( 4 ) ); -var_dump( $set->add( 4 ) ); - -var_dump( $set->saveToString() ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash.xml b/reference/quickhash/quickhashintstringhash.xml deleted file mode 100644 index 2dc4a5ed5e..0000000000 --- a/reference/quickhash/quickhashintstringhash.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - The QuickHashIntStringHash class - QuickHashIntStringHash - - - - -
- &reftitle.intro; - - This class wraps around a hash containing integer numbers, where the - values are strings. Hashes are also available as implementation of the - ArrayAccess interface. - - - Hashes can also be iterated over with foreach as the Iterator interface is - implemented as well. The order of which elements are returned in is not - guaranteed. - -
- - -
- &reftitle.classsynopsis; - - - - QuickHashIntStringHash - - - - - QuickHashIntStringHash - - - - Constants - - const - int - QuickHashIntStringHash::CHECK_FOR_DUPES - 1 - - - const - int - QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC - 2 - - - const - int - QuickHashIntStringHash::HASHER_NO_HASH - 256 - - - const - int - QuickHashIntStringHash::HASHER_JENKINS1 - 512 - - - const - int - QuickHashIntStringHash::HASHER_JENKINS2 - 1024 - - - Methods - - - - -
- - -
- &reftitle.constants; - - - - QuickHashIntStringHash::CHECK_FOR_DUPES - - If enabled, adding duplicate elements to a set (through either add() or - loadFromFile()) will result in those elements to be dropped from the - set. This will take up extra time, so only used when it is required. - - - - - QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC - - Disables the use of PHP's internal memory manager for internal - set structures. With this option enabled, internal allocations will not - count towards the memory_limit settings. - - - - - QuickHashIntStringHash::HASHER_NO_HASH - - Selects to not use a hashing function, but merely use a modulo to - find the bucket list index. This is not faster than normal hashing, and - gives more collisions. - - - - - QuickHashIntStringHash::HASHER_JENKINS1 - - This is the default hashing function to turn the integer hashes - into bucket list indexes. - - - - - QuickHashIntStringHash::HASHER_JENKINS2 - - Selects a variant hashing algorithm. - - - - -
- - - -
- - &reference.quickhash.entities.quickhashintstringhash; - -
- - diff --git a/reference/quickhash/quickhashintstringhash/add.xml b/reference/quickhash/quickhashintstringhash/add.xml deleted file mode 100644 index f0239cab51..0000000000 --- a/reference/quickhash/quickhashintstringhash/add.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - QuickHashIntStringHash::add - This method adds a new entry to the hash - - - - &reftitle.description; - - public boolQuickHashIntStringHash::add - intkey - stringvalue - - - This method adds a new entry to the hash, and returns whether the entry was - added. Entries are by default always added unless - QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash was created. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The value of the entry to add. If a non-string is passed, it will be - converted to a string automatically if possible. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was added, and &false; if the entry was not added. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::add</function> example - -exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, "twenty two" ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, "twelve" ) ); - -echo "\nwith dupe checking\n"; -$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, "seventy eight" ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->get( 4 ) ); -var_dump( $hash->add( 4, "nine" ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/construct.xml b/reference/quickhash/quickhashintstringhash/construct.xml deleted file mode 100644 index 44b7c50421..0000000000 --- a/reference/quickhash/quickhashintstringhash/construct.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - QuickHashIntStringHash::__construct - Creates a new QuickHashIntStringHash object - - - - &reftitle.description; - - public QuickHashIntStringHash::__construct - intsize - intoptions0 - - - This constructor creates a new QuickHashIntStringHash. The size is the amount of - bucket lists to create. The more lists there are, the less collisions you - will have. Options are also supported. - - - - - &reftitle.parameters; - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 64 to 4194304. - - - - - options - - - The options that you can pass in are: QuickHashIntStringHash::CHECK_FOR_DUPES, - which makes sure no duplicate entries are added to the hash; - QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory - manager as well as one of QuickHashIntStringHash::HASHER_NO_HASH, - QuickHashIntStringHash::HASHER_JENKINS1 or QuickHashIntStringHash::HASHER_JENKINS2. - These last three configure which hashing algorithm to use. All options - can be combined using bitmasks. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntStringHash object. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::__construct</function> example - - -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/delete.xml b/reference/quickhash/quickhashintstringhash/delete.xml deleted file mode 100644 index 73f784f477..0000000000 --- a/reference/quickhash/quickhashintstringhash/delete.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - QuickHashIntStringHash::delete - This method deletes am entry from the hash - - - - &reftitle.description; - - public boolQuickHashIntStringHash::delete - intkey - - - This method deletes an entry from the hash, and returns whether the entry was - deleted or not. Associated memory structures will not be freed immediately, - but rather when the hash itself is freed. - - - Elements can not be deleted when the hash is used in an iterator. The - method will not throw an exception, but simply return &false; like would - happen with any other deletion failure. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to delete. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was deleted, and &false; if the entry was not deleted. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::delete</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, "five" ) ); -var_dump( $hash->delete( 4 ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->delete( 4 ) ); -?>]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/exists.xml b/reference/quickhash/quickhashintstringhash/exists.xml deleted file mode 100644 index d46833bbb3..0000000000 --- a/reference/quickhash/quickhashintstringhash/exists.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - QuickHashIntStringHash::exists - This method checks whether a key is part of the hash - - - - &reftitle.description; - - public boolQuickHashIntStringHash::exists - intkey - - - This method checks whether an entry with the provided key exists in the - hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to check for whether it exists in the hash. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; when the entry was found, or &false; when the entry is not - found. - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/get.xml b/reference/quickhash/quickhashintstringhash/get.xml deleted file mode 100644 index 5945335f37..0000000000 --- a/reference/quickhash/quickhashintstringhash/get.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - QuickHashIntStringHash::get - This method retrieves a value from the hash by its key - - - - &reftitle.description; - - public mixedQuickHashIntStringHash::get - intkey - - - This method retrieves a value from the hash by its key. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The value if the key exists, or &null; if the key wasn't part of the hash. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::get</function> example - -get( 1 ) ); - -var_dump( $hash->add( 2, "two" ) ); -var_dump( $hash->get( 2 ) ); - -var_dump( $hash->add( 3, 5 ) ); -var_dump( $hash->get( 3 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/getsize.xml b/reference/quickhash/quickhashintstringhash/getsize.xml deleted file mode 100644 index 1de848c82c..0000000000 --- a/reference/quickhash/quickhashintstringhash/getsize.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - QuickHashIntStringHash::getSize - Returns the number of elements in the hash - - - - &reftitle.description; - - public intQuickHashIntStringHash::getSize - - - Returns the number of elements in the hash. - - - - - &reftitle.returnvalues; - - The number of elements in the hash. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::getSize</function> example - -add( 2, "two" ) ); -var_dump( $hash->add( 3, 5 ) ); -var_dump( $hash->getSize() ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/loadfromfile.xml b/reference/quickhash/quickhashintstringhash/loadfromfile.xml deleted file mode 100644 index 34f26edf21..0000000000 --- a/reference/quickhash/quickhashintstringhash/loadfromfile.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - QuickHashIntStringHash::loadFromFile - This factory method creates a hash from a file - - - - &reftitle.description; - - public static QuickHashIntStringHashQuickHashIntStringHash::loadFromFile - stringfilename - intsize0 - intoptions0 - - - This factory method creates a new hash from a definition file on disk. The - file format consists of a signature 'QH\0x12\0', the number of elements as - a 32 bit signed integer in system Endianness, an unsigned 32 bit integer - containing the number of element data to follow in characters. This element - data contains all the strings. After the header and the strings, the - elements follow in pairs of two unsigned 32 bit integers where the first - one is the key, and the second one the index in the element data - string. An example could be: - - - - QuickHash IntString file format - - - - - - QuickHash IntString file format - - - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to read the hash from. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the hash, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntStringHash. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::loadFromFile</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/loadfromstring.xml b/reference/quickhash/quickhashintstringhash/loadfromstring.xml deleted file mode 100644 index 4e9cd98eea..0000000000 --- a/reference/quickhash/quickhashintstringhash/loadfromstring.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - QuickHashIntStringHash::loadFromString - This factory method creates a hash from a string - - - - &reftitle.description; - - public static QuickHashIntStringHashQuickHashIntStringHash::loadFromString - stringcontents - intsize0 - intoptions0 - - - This factory method creates a new hash from a definition in a string. The - format is the same as the one used in "loadFromFile". - - - - - &reftitle.parameters; - - - - contents - - - The string containing a serialized format of the hash. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the hash, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashIntStringHash. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::loadFromString</function> example - -exists( $key ) ? 'set' : 'unset' - ); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/savetofile.xml b/reference/quickhash/quickhashintstringhash/savetofile.xml deleted file mode 100644 index 3789fdf763..0000000000 --- a/reference/quickhash/quickhashintstringhash/savetofile.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - QuickHashIntStringHash::saveToFile - This method stores an in-memory hash to disk - - - - &reftitle.description; - - public voidQuickHashIntStringHash::saveToFile - stringfilename - - - This method stores an existing hash to a file on disk, in the same format - that loadFromFile() can read. - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to store the hash in. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::saveToFile</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, "forty three" ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->add( 4, "fifty two" ) ); - -$hash->saveToFile( '/tmp/test.string.hash' ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/savetostring.xml b/reference/quickhash/quickhashintstringhash/savetostring.xml deleted file mode 100644 index c20d511f41..0000000000 --- a/reference/quickhash/quickhashintstringhash/savetostring.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - QuickHashIntStringHash::saveToString - This method returns a serialized version of the hash - - - - &reftitle.description; - - public stringQuickHashIntStringHash::saveToString - - - This method returns a serialized version of the hash in the same format that - loadFromString() can read. - - - - - &reftitle.returnvalues; - - This method returns a string containing a serialized format of the hash. - Each element is stored as a four byte value in the Endianness that the - current system uses. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::saveToString</function> example - -exists( 4 ) ); -var_dump( $hash->add( 4, "thirty four" ) ); -var_dump( $hash->exists( 4 ) ); -var_dump( $hash->add( 5, "fifty five" ) ); - -var_dump( $hash->saveToString() ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/set.xml b/reference/quickhash/quickhashintstringhash/set.xml deleted file mode 100644 index 5b4d9f45a9..0000000000 --- a/reference/quickhash/quickhashintstringhash/set.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - QuickHashIntStringHash::set - This method updates an entry in the hash with a new value, or - adds a new one if the entry doesn't exist - - - - &reftitle.description; - - public intQuickHashIntStringHash::set - intkey - stringvalue - - - This method tries to update an entry with a new value. In case the entry - did not yet exist, it will instead add a new entry. It returns whether the - entry was added or update. If there are duplicate keys, only the first - found element will get an updated value. Use - QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate - keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add or update. - - - - - value - - - The value of the entry to add. If a non-string is passed, it will be - converted to a string automatically if possible. - - - - - - - - - &reftitle.returnvalues; - - 2 if the entry was found and updated, 1 if the entry was newly added or 0 - if there was an error. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::set</function> example - -Add\n"; -var_dump( $hash->get( 46692 ) ); -var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) ); -var_dump( $hash->get( 46692 ) ); - -echo "Set->Update\n"; -var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) ); -var_dump( $hash->get( 46692 ) ); -?> -]]> - - &example.outputs.similar; - -Add -bool(false) -int(2) -string(27) "sixteen thousand ninety one" -Set->Update -int(1) -string(37) "twenty nine thousand nine hundred six" -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashintstringhash/update.xml b/reference/quickhash/quickhashintstringhash/update.xml deleted file mode 100644 index e02d1fff7e..0000000000 --- a/reference/quickhash/quickhashintstringhash/update.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - QuickHashIntStringHash::update - This method updates an entry in the hash with a new value - - - - &reftitle.description; - - public boolQuickHashIntStringHash::update - intkey - stringvalue - - - This method updates an entry with a new value, and returns whether the entry was - update. If there are duplicate keys, only the first found element will get - an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash - creation to prevent duplicate keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The new value for the entry. If a non-string is passed, it will be - converted to a string automatically if possible. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was found and updated, and &false; if the entry was - not part of the hash already. - - - - - &reftitle.examples; - - - <function>QuickHashIntStringHash::update</function> example - -add( 161803398, "--" ); -$hash->add( 314159265, "a lot" ); - -echo $hash->get( 161803398 ), "\n"; -echo $hash->get( 314159265 ), "\n"; - -var_dump( $hash->update( 314159265, "a lot plus one" ) ); -var_dump( $hash->update( 314159999, "a lot plus one" ) ); - -echo $hash->get( 161803398 ), "\n"; -echo $hash->get( 314159265 ), "\n"; -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash.xml b/reference/quickhash/quickhashstringinthash.xml deleted file mode 100644 index d750449d8b..0000000000 --- a/reference/quickhash/quickhashstringinthash.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - The QuickHashStringIntHash class - QuickHashStringIntHash - - - - -
- &reftitle.intro; - - This class wraps around a hash containing strings, where the - values are integer numbers. Hashes are also available as - implementation of the ArrayAccess interface. - - - Hashes can also be iterated over with foreach as the Iterator interface is - implemented as well. The order of which elements are returned in is not - guaranteed. - -
- - -
- &reftitle.classsynopsis; - - - - QuickHashStringIntHash - - - - - QuickHashStringIntHash - - - - Constants - - const - int - QuickHashStringIntHash::CHECK_FOR_DUPES - 1 - - - const - int - QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC - 2 - - - Methods - - - - -
- - -
- &reftitle.constants; - - - - QuickHashStringIntHash::CHECK_FOR_DUPES - - If enabled, adding duplicate elements to a set (through either add() or - loadFromFile()) will result in those elements to be dropped from the - set. This will take up extra time, so only used when it is required. - - - - - QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC - - Disables the use of PHP's internal memory manager for internal - set structures. With this option enabled, internal allocations will not - count towards the memory_limit settings. - - - - -
- - - -
- - &reference.quickhash.entities.quickhashstringinthash; - -
- - diff --git a/reference/quickhash/quickhashstringinthash/add.xml b/reference/quickhash/quickhashstringinthash/add.xml deleted file mode 100644 index 026ef6bc38..0000000000 --- a/reference/quickhash/quickhashstringinthash/add.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - QuickHashStringIntHash::add - This method adds a new entry to the hash - - - - &reftitle.description; - - public boolQuickHashStringIntHash::add - stringkey - intvalue - - - This method adds a new entry to the hash, and returns whether the entry was - added. Entries are by default always added unless - QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash was created. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The value of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was added, and &false; if the entry was not added. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::add</function> example - -exists( "four" ) ); -var_dump( $hash->get( "four" ) ); -var_dump( $hash->add( "four", 22 ) ); -var_dump( $hash->exists( "four" ) ); -var_dump( $hash->get( "four" ) ); -var_dump( $hash->add( "four", 12 ) ); - -echo "\nwith dupe checking\n"; -$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ); -var_dump( $hash ); -var_dump( $hash->exists( "four" ) ); -var_dump( $hash->get( "four" ) ); -var_dump( $hash->add( "four", 78 ) ); -var_dump( $hash->exists( "four" ) ); -var_dump( $hash->get( "four" ) ); -var_dump( $hash->add( "four", 9 ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/construct.xml b/reference/quickhash/quickhashstringinthash/construct.xml deleted file mode 100644 index 20f5247f79..0000000000 --- a/reference/quickhash/quickhashstringinthash/construct.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - QuickHashStringIntHash::__construct - Creates a new QuickHashStringIntHash object - - - - &reftitle.description; - - public QuickHashStringIntHash::__construct - intsize - intoptions0 - - - This constructor creates a new QuickHashStringIntHash. The size is the amount of - bucket lists to create. The more lists there are, the less collisions you - will have. Options are also supported. - - - - - &reftitle.parameters; - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 64 to 4194304. - - - - - options - - - The options that you can pass in are: - QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no duplicate - entries are added to the hash and - QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal - memory manager. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashStringIntHash object. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::__construct</function> example - - -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/delete.xml b/reference/quickhash/quickhashstringinthash/delete.xml deleted file mode 100644 index d8724d2ec4..0000000000 --- a/reference/quickhash/quickhashstringinthash/delete.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - QuickHashStringIntHash::delete - This method deletes am entry from the hash - - - - &reftitle.description; - - public boolQuickHashStringIntHash::delete - stringkey - - - This method deletes an entry from the hash, and returns whether the entry was - deleted or not. Associated memory structures will not be freed immediately, - but rather when the hash itself is freed. - - - Elements can not be deleted when the hash is used in an iterator. The - method will not throw an exception, but simply return &false; like would - happen with any other deletion failure. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to delete. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was deleted, and &false; if the entry was not deleted. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::delete</function> example - -exists( 'four' ) ); -var_dump( $hash->add( 'four', 5 ) ); -var_dump( $hash->get( 'four' ) ); -var_dump( $hash->delete( 'four' ) ); -var_dump( $hash->exists( 'four' ) ); -var_dump( $hash->get( 'four' ) ); -var_dump( $hash->delete( 'four' ) ); -?>]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/exists.xml b/reference/quickhash/quickhashstringinthash/exists.xml deleted file mode 100644 index fd334454c4..0000000000 --- a/reference/quickhash/quickhashstringinthash/exists.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - QuickHashStringIntHash::exists - This method checks whether a key is part of the hash - - - - &reftitle.description; - - public boolQuickHashStringIntHash::exists - stringkey - - - This method checks whether an entry with the provided key exists in the - hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to check for whether it exists in the hash. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; when the entry was found, or &false; when the entry is not - found. - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/get.xml b/reference/quickhash/quickhashstringinthash/get.xml deleted file mode 100644 index b5de095933..0000000000 --- a/reference/quickhash/quickhashstringinthash/get.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - QuickHashStringIntHash::get - This method retrieves a value from the hash by its key - - - - &reftitle.description; - - public mixedQuickHashStringIntHash::get - stringkey - - - This method retrieves a value from the hash by its key. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The value if the key exists, or &null; if the key wasn't part of the hash. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::get</function> example - -get( "one" ) ); - -var_dump( $hash->add( "two", 2 ) ); -var_dump( $hash->get( "two" ) ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/getsize.xml b/reference/quickhash/quickhashstringinthash/getsize.xml deleted file mode 100644 index 2ea1c74780..0000000000 --- a/reference/quickhash/quickhashstringinthash/getsize.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - QuickHashStringIntHash::getSize - Returns the number of elements in the hash - - - - &reftitle.description; - - public intQuickHashStringIntHash::getSize - - - Returns the number of elements in the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - - - - - &reftitle.returnvalues; - - The number of elements in the hash. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::getSize</function> example - -add( "two", 2 ) ); -var_dump( $hash->add( "three", 5 ) ); -var_dump( $hash->getSize() ); -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/loadfromfile.xml b/reference/quickhash/quickhashstringinthash/loadfromfile.xml deleted file mode 100644 index 1aa42545e4..0000000000 --- a/reference/quickhash/quickhashstringinthash/loadfromfile.xml +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - QuickHashStringIntHash::loadFromFile - This factory method creates a hash from a file - - - - &reftitle.description; - - public static QuickHashStringIntHashQuickHashStringIntHash::loadFromFile - stringfilename - intsize0 - intoptions0 - - - This factory method creates a new hash from a definition file on disk. The - file format consists of a signature 'QH\0x21\0', the number of elements as - a 32 bit signed integer in system Endianness, an unsigned 32 bit integer - containing the number of element data to follow in characters. This element - data contains all the strings. The follows another signed 32 bit integer - containing the number of bucket lists. After the header and the strings, - the elements follow. They are ordered by bucket list so that the keys don't - have to be hashed in order to restore the hash. For each bucket list, the - following information is stored (all as 32 bit integers): the bucket list - index, the number of elements in that list, and then in pairs of two - unsigned 32 bit integers the elements, where the first one is the index - into the string list containing the keys, and the second one the value. An - example could be: - - - - QuickHash StringIntHash file format - - - - - - QuickHash IntHash file format - - - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to read the hash from. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is read from the file format (unlike the - QuickHashIntHash and QuickHashIntStringHash classes, where it is - automatically calculated from the number of entries in the hash.) - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashStringIntHash. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::loadFromFile</function> example - - ', $hash->get( $k ), "\n"; -} -?> -]]> - - &example.outputs.similar; - - 48712 -12uf => 50343 -143q => 51974 -15d1 => 53605 -16mc => 55236 -17vn => 56867 -194y => 58498 -1ae9 => 60129 -1bnk => 61760 -1cwv => 63391 -1e66 => 65022 -1ffh => 66653 -1gos => 68284 -1hy3 => 69915 -1j7e => 71546 -1kgp => 73177 -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/loadfromstring.xml b/reference/quickhash/quickhashstringinthash/loadfromstring.xml deleted file mode 100644 index 731a6870d4..0000000000 --- a/reference/quickhash/quickhashstringinthash/loadfromstring.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - QuickHashStringIntHash::loadFromString - This factory method creates a hash from a string - - - - &reftitle.description; - - public static QuickHashStringIntHashQuickHashStringIntHash::loadFromString - stringcontents - intsize0 - intoptions0 - - - This factory method creates a new hash from a definition in a string. The - format is the same as the one used in "loadFromFile". - - - - - &reftitle.parameters; - - - - contents - - - The string containing a serialized format of the hash. - - - - - size - - - The amount of bucket lists to configure. The number you pass in will be - automatically rounded up to the next power of two. It is also - automatically limited from 4 to 4194304. - - - - - options - - - The same options that the class' constructor takes; except that the size - option is ignored. It is automatically calculated to be the same as the - number of entries in the hash, rounded up to the nearest power of two - with a maximum limit of 4194304. - - - - - - - - - &reftitle.returnvalues; - - Returns a new QuickHashStringIntHash. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::loadFromString</function> example - - ', $hash->get( $k ), "\n"; -} -?> -]]> - - &example.outputs.similar; - - 48712 -12uf => 50343 -143q => 51974 -15d1 => 53605 -16mc => 55236 -17vn => 56867 -194y => 58498 -1ae9 => 60129 -1bnk => 61760 -1cwv => 63391 -1e66 => 65022 -1ffh => 66653 -1gos => 68284 -1hy3 => 69915 -1j7e => 71546 -1kgp => 73177 -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/savetofile.xml b/reference/quickhash/quickhashstringinthash/savetofile.xml deleted file mode 100644 index 331efdeee2..0000000000 --- a/reference/quickhash/quickhashstringinthash/savetofile.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - QuickHashStringIntHash::saveToFile - This method stores an in-memory hash to disk - - - - &reftitle.description; - - public voidQuickHashStringIntHash::saveToFile - stringfilename - - - This method stores an existing hash to a file on disk, in the same format - that loadFromFile() can read. - - - - - &reftitle.parameters; - - - - filename - - - The filename of the file to store the hash in. - - - - - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::saveToFile</function> example - -add( "forty three", 42 ) ); -var_dump( $hash->add( "fifty two", 52 ) ); - -$hash->saveToFile( '/tmp/test.hash.string' ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/savetostring.xml b/reference/quickhash/quickhashstringinthash/savetostring.xml deleted file mode 100644 index ef4eb785bc..0000000000 --- a/reference/quickhash/quickhashstringinthash/savetostring.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - QuickHashStringIntHash::saveToString - This method returns a serialized version of the hash - - - - &reftitle.description; - - public stringQuickHashStringIntHash::saveToString - - - This method returns a serialized version of the hash in the same format that - loadFromString() can read. - - - - - &reftitle.returnvalues; - - This method returns a serialized format of an existing hash, in the same format - that loadFromString() can read. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::saveToString</function> example - -add( "forty three", 42 ) ); -var_dump( $hash->add( "fifty two", 52 ) ); - -var_dump( $hash->saveToString() ); -?> -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/set.xml b/reference/quickhash/quickhashstringinthash/set.xml deleted file mode 100644 index 00795add42..0000000000 --- a/reference/quickhash/quickhashstringinthash/set.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - QuickHashStringIntHash::set - This method updates an entry in the hash with a new value, or - adds a new one if the entry doesn't exist - - - - &reftitle.description; - - public intQuickHashStringIntHash::set - stringkey - intvalue - - - This method tries to update an entry with a new value. In case the entry - did not yet exist, it will instead add a new entry. It returns whether the - entry was added or update. If there are duplicate keys, only the first - found element will get an updated value. Use - QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate - keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add or update. - - - - - value - - - The value of the entry to add. If a non-string is passed, it will be - converted to a string automatically if possible. - - - - - - - - - &reftitle.returnvalues; - - 2 if the entry was found and updated, 1 if the entry was newly added or 0 - if there was an error. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::set</function> example - -Add\n"; -var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); -var_dump( $hash->set( "forty six thousand six hundred ninety two", 16091 ) ); -var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); - -echo "Set->Update\n"; -var_dump( $hash->set( "forty six thousand six hundred ninety two", 29906 ) ); -var_dump( $hash->get( "forty six thousand six hundred ninety two" ) ); -?> -]]> - - &example.outputs.similar; - -Add -bool(false) -int(2) -int(16091) -Set->Update -int(1) -int(29906) -]]> - - - - - - - - - diff --git a/reference/quickhash/quickhashstringinthash/update.xml b/reference/quickhash/quickhashstringinthash/update.xml deleted file mode 100644 index 6836460cc0..0000000000 --- a/reference/quickhash/quickhashstringinthash/update.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - QuickHashStringIntHash::update - This method updates an entry in the hash with a new value - - - - &reftitle.description; - - public boolQuickHashStringIntHash::update - stringkey - intvalue - - - This method updates an entry with a new value, and returns whether the entry was - update. If there are duplicate keys, only the first found element will get - an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash - creation to prevent duplicate keys from being part of the hash. - - - - - &reftitle.parameters; - - - - key - - - The key of the entry to add. - - - - - value - - - The new value for the entry. If a non-string is passed, it will be - converted to a string automatically if possible. - - - - - - - - - &reftitle.returnvalues; - - &true; when the entry was found and updated, and &false; if the entry was - not part of the hash already. - - - - - &reftitle.examples; - - - <function>QuickHashStringIntHash::update</function> example - -add( 'six', 314159265 ); -$hash->add( "a lot", 314159265 ); - -echo $hash->get( 'six' ), "\n"; -echo $hash->get( 'a lot' ), "\n"; - -var_dump( $hash->update( 'a lot', 314159266 ) ); -var_dump( $hash->update( "a lot plus one", 314159999 ) ); - -echo $hash->get( 'six' ), "\n"; -echo $hash->get( 'a lot' ), "\n"; -?> -]]> - - &example.outputs.similar; - - - - - - - - - - - diff --git a/reference/quickhash/reference.xml b/reference/quickhash/reference.xml deleted file mode 100644 index 6524387406..0000000000 --- a/reference/quickhash/reference.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Quickhash &Functions; - - &reference.quickhash.entities.functions; - - - - - diff --git a/reference/quickhash/setup.xml b/reference/quickhash/setup.xml deleted file mode 100644 index e6b918bbd8..0000000000 --- a/reference/quickhash/setup.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - This extension requires no additional libraries. - -
- -
- &reftitle.install; - - &pecl.info; - &url.pecl.package;quickhash - -
- -
- &reftitle.runtime; - &no.config; -
- -
- - - diff --git a/reference/quickhash/versions.xml b/reference/quickhash/versions.xml deleted file mode 100644 index ab265c6cbc..0000000000 --- a/reference/quickhash/versions.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From f5721a51e39bd0f3c67f1a1dfdc0490cb378ea75 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:08:42 +0100 Subject: [PATCH 184/444] Remove sphinx docs --- appendices/extensions.xml | 2 - reference/sphinx/book.xml | 48 --- reference/sphinx/configure.xml | 39 -- reference/sphinx/constants.xml | 393 ------------------ reference/sphinx/examples.xml | 99 ----- reference/sphinx/reference.xml | 31 -- reference/sphinx/setup.xml | 50 --- reference/sphinx/sphinxclient.xml | 66 --- reference/sphinx/sphinxclient/addquery.xml | 94 ----- .../sphinx/sphinxclient/buildexcerpts.xml | 136 ------ .../sphinx/sphinxclient/buildkeywords.xml | 86 ---- reference/sphinx/sphinxclient/close.xml | 88 ---- reference/sphinx/sphinxclient/construct.xml | 47 --- .../sphinx/sphinxclient/escapestring.xml | 66 --- .../sphinx/sphinxclient/getlasterror.xml | 65 --- .../sphinx/sphinxclient/getlastwarning.xml | 65 --- reference/sphinx/sphinxclient/open.xml | 88 ---- reference/sphinx/sphinxclient/query.xml | 136 ------ .../sphinx/sphinxclient/resetfilters.xml | 62 --- .../sphinx/sphinxclient/resetgroupby.xml | 59 --- reference/sphinx/sphinxclient/runqueries.xml | 60 --- .../sphinx/sphinxclient/setarrayresult.xml | 70 ---- .../sphinx/sphinxclient/setconnecttimeout.xml | 74 ---- .../sphinx/sphinxclient/setfieldweights.xml | 85 ---- reference/sphinx/sphinxclient/setfilter.xml | 94 ----- .../sphinxclient/setfilterfloatrange.xml | 108 ----- .../sphinx/sphinxclient/setfilterrange.xml | 108 ----- .../sphinx/sphinxclient/setgeoanchor.xml | 109 ----- reference/sphinx/sphinxclient/setgroupby.xml | 102 ----- .../sphinx/sphinxclient/setgroupdistinct.xml | 80 ---- reference/sphinx/sphinxclient/setidrange.xml | 78 ---- .../sphinx/sphinxclient/setindexweights.xml | 68 --- reference/sphinx/sphinxclient/setlimits.xml | 99 ----- .../sphinx/sphinxclient/setmatchmode.xml | 118 ------ .../sphinx/sphinxclient/setmaxquerytime.xml | 66 --- reference/sphinx/sphinxclient/setoverride.xml | 112 ----- .../sphinx/sphinxclient/setrankingmode.xml | 105 ----- reference/sphinx/sphinxclient/setretries.xml | 84 ---- reference/sphinx/sphinxclient/setselect.xml | 91 ---- reference/sphinx/sphinxclient/setserver.xml | 76 ---- reference/sphinx/sphinxclient/setsortmode.xml | 123 ------ reference/sphinx/sphinxclient/status.xml | 80 ---- .../sphinx/sphinxclient/updateattributes.xml | 86 ---- reference/sphinx/versions.xml | 66 --- 44 files changed, 3862 deletions(-) delete mode 100644 reference/sphinx/book.xml delete mode 100644 reference/sphinx/configure.xml delete mode 100644 reference/sphinx/constants.xml delete mode 100644 reference/sphinx/examples.xml delete mode 100644 reference/sphinx/reference.xml delete mode 100644 reference/sphinx/setup.xml delete mode 100644 reference/sphinx/sphinxclient.xml delete mode 100644 reference/sphinx/sphinxclient/addquery.xml delete mode 100644 reference/sphinx/sphinxclient/buildexcerpts.xml delete mode 100644 reference/sphinx/sphinxclient/buildkeywords.xml delete mode 100644 reference/sphinx/sphinxclient/close.xml delete mode 100644 reference/sphinx/sphinxclient/construct.xml delete mode 100644 reference/sphinx/sphinxclient/escapestring.xml delete mode 100644 reference/sphinx/sphinxclient/getlasterror.xml delete mode 100644 reference/sphinx/sphinxclient/getlastwarning.xml delete mode 100644 reference/sphinx/sphinxclient/open.xml delete mode 100644 reference/sphinx/sphinxclient/query.xml delete mode 100644 reference/sphinx/sphinxclient/resetfilters.xml delete mode 100644 reference/sphinx/sphinxclient/resetgroupby.xml delete mode 100644 reference/sphinx/sphinxclient/runqueries.xml delete mode 100644 reference/sphinx/sphinxclient/setarrayresult.xml delete mode 100644 reference/sphinx/sphinxclient/setconnecttimeout.xml delete mode 100644 reference/sphinx/sphinxclient/setfieldweights.xml delete mode 100644 reference/sphinx/sphinxclient/setfilter.xml delete mode 100644 reference/sphinx/sphinxclient/setfilterfloatrange.xml delete mode 100644 reference/sphinx/sphinxclient/setfilterrange.xml delete mode 100644 reference/sphinx/sphinxclient/setgeoanchor.xml delete mode 100644 reference/sphinx/sphinxclient/setgroupby.xml delete mode 100644 reference/sphinx/sphinxclient/setgroupdistinct.xml delete mode 100644 reference/sphinx/sphinxclient/setidrange.xml delete mode 100644 reference/sphinx/sphinxclient/setindexweights.xml delete mode 100644 reference/sphinx/sphinxclient/setlimits.xml delete mode 100644 reference/sphinx/sphinxclient/setmatchmode.xml delete mode 100644 reference/sphinx/sphinxclient/setmaxquerytime.xml delete mode 100644 reference/sphinx/sphinxclient/setoverride.xml delete mode 100644 reference/sphinx/sphinxclient/setrankingmode.xml delete mode 100644 reference/sphinx/sphinxclient/setretries.xml delete mode 100644 reference/sphinx/sphinxclient/setselect.xml delete mode 100644 reference/sphinx/sphinxclient/setserver.xml delete mode 100644 reference/sphinx/sphinxclient/setsortmode.xml delete mode 100644 reference/sphinx/sphinxclient/status.xml delete mode 100644 reference/sphinx/sphinxclient/updateattributes.xml delete mode 100644 reference/sphinx/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 6e556742a6..5918cb2fe3 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -139,7 +139,6 @@ - @@ -357,7 +356,6 @@ - diff --git a/reference/sphinx/book.xml b/reference/sphinx/book.xml deleted file mode 100644 index e59f572b07..0000000000 --- a/reference/sphinx/book.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - Sphinx Client - Sphinx - - - &reftitle.intro; - - This extension provides bindings for Sphinx search client library. - Sphinx is a standalone search engine meant to provide fast, - size-efficient and relevant fulltext search functions to other - applications. Sphinx was specially designed to integrate well with - SQL databases and scripting languages. - Both Sphinx and its client library can be obtained from the - official site - - - - &reference.sphinx.setup; - &reference.sphinx.constants; - &reference.sphinx.examples; - &reference.sphinx.sphinxclient; - - - - - diff --git a/reference/sphinx/configure.xml b/reference/sphinx/configure.xml deleted file mode 100644 index 244a7524ef..0000000000 --- a/reference/sphinx/configure.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - -
- &reftitle.install; - - &pecl.info; - . - - - If the ./configure script generated by - phpize is having trouble finding the libsphinxclient - files (for example, it was installed into a custom prefix directory), use - ./configure --with-sphinx=$PREFIX, where $PREFIX is - installation prefix of libsphinxclient. - -
- - - diff --git a/reference/sphinx/constants.xml b/reference/sphinx/constants.xml deleted file mode 100644 index 178091fda9..0000000000 --- a/reference/sphinx/constants.xml +++ /dev/null @@ -1,393 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - - - SEARCHD_OK - (int) - - - - - - - - - SEARCHD_ERROR - (int) - - - - - - - - - SEARCHD_RETRY - (int) - - - - - - - - - SEARCHD_WARNING - (int) - - - - - - - - - SPH_MATCH_ALL - (int) - - - - - - - - - SPH_MATCH_ANY - (int) - - - - - - - - - SPH_MATCH_PHRASE - (int) - - - - - - - - - SPH_MATCH_BOOLEAN - (int) - - - - - - - - - SPH_MATCH_EXTENDED - (int) - - - - - - - - - SPH_MATCH_FULLSCAN - (int) - - - - - - - - - SPH_MATCH_EXTENDED2 - (int) - - - - - - - - - SPH_RANK_PROXIMITY_BM25 - (int) - - - - - - - - - SPH_RANK_BM25 - (int) - - - - - - - - - SPH_RANK_NONE - (int) - - - - - - - - - SPH_RANK_WORDCOUNT - (int) - - - - - - - - - SPH_SORT_RELEVANCE - (int) - - - - - - - - - SPH_SORT_ATTR_DESC - (int) - - - - - - - - - SPH_SORT_ATTR_ASC - (int) - - - - - - - - - SPH_SORT_TIME_SEGMENTS - (int) - - - - - - - - - SPH_SORT_EXTENDED - (int) - - - - - - - - - SPH_SORT_EXPR - (int) - - - - - - - - - SPH_FILTER_VALUES - (int) - - - - - - - - - SPH_FILTER_RANGE - (int) - - - - - - - - - SPH_FILTER_FLOATRANGE - (int) - - - - - - - - - SPH_ATTR_INTEGER - (int) - - - - - - - - - SPH_ATTR_TIMESTAMP - (int) - - - - - - - - - SPH_ATTR_ORDINAL - (int) - - - - - - - - - SPH_ATTR_BOOL - (int) - - - - - - - - - SPH_ATTR_FLOAT - (int) - - - - - - - - - SPH_ATTR_MULTI - (int) - - - - - - - - - SPH_GROUPBY_DAY - (int) - - - - - - - - - SPH_GROUPBY_WEEK - (int) - - - - - - - - - SPH_GROUPBY_MONTH - (int) - - - - - - - - - SPH_GROUPBY_YEAR - (int) - - - - - - - - - SPH_GROUPBY_ATTR - (int) - - - - - - - - - SPH_GROUPBY_ATTRPAIR - (int) - - - - - - - - - - - - diff --git a/reference/sphinx/examples.xml b/reference/sphinx/examples.xml deleted file mode 100644 index 62460eed05..0000000000 --- a/reference/sphinx/examples.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - &reftitle.examples; - - Basic usage example - -setServer("localhost", 6712); -$s->setMatchMode(SPH_MATCH_ANY); -$s->setMaxQueryTime(3); - -$result = $s->query("test"); - -var_dump($result); - -?> -]]> - - &example.outputs.similar; - - - string(0) "" - ["warning"]=> - string(0) "" - ["status"]=> - int(0) - ["fields"]=> - array(3) { - [0]=> - string(7) "subject" - [1]=> - string(4) "body" - [2]=> - string(6) "author" - } - ["attrs"]=> - array(0) { - } - ["matches"]=> - array(1) { - [3]=> - array(2) { - ["weight"]=> - int(1) - ["attrs"]=> - array(0) { - } - } - } - ["total"]=> - int(1) - ["total_found"]=> - int(1) - ["time"]=> - float(0) - ["words"]=> - array(1) { - ["to"]=> - array(2) { - ["docs"]=> - int(1) - ["hits"]=> - int(1) - } - } -} -]]> - - - - - - diff --git a/reference/sphinx/reference.xml b/reference/sphinx/reference.xml deleted file mode 100644 index 44cf131e0c..0000000000 --- a/reference/sphinx/reference.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Sphinx &Functions; - - &reference.sphinx.entities.functions; - - - - - diff --git a/reference/sphinx/setup.xml b/reference/sphinx/setup.xml deleted file mode 100644 index a14b34a86e..0000000000 --- a/reference/sphinx/setup.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- - - &reference.sphinx.configure; - - - -
- &reftitle.runtime; - &no.config; -
- - -
- &reftitle.resources; - &no.resource; -
- -
- - - diff --git a/reference/sphinx/sphinxclient.xml b/reference/sphinx/sphinxclient.xml deleted file mode 100644 index 4c08ee765e..0000000000 --- a/reference/sphinx/sphinxclient.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - The SphinxClient class - SphinxClient - - - - -
- &reftitle.intro; - - The SphinxClient class provides object-oriented interface to Sphinx. - -
- - -
- &reftitle.classsynopsis; - - - - SphinxClient - - - - - SphinxClient - - - - - &Methods; - - - - -
- -
- - &reference.sphinx.entities.sphinxclient; - -
- - diff --git a/reference/sphinx/sphinxclient/addquery.xml b/reference/sphinx/sphinxclient/addquery.xml deleted file mode 100644 index 0851b6ee9e..0000000000 --- a/reference/sphinx/sphinxclient/addquery.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - SphinxClient::addQuery - Add query to multi-query batch - - - - &reftitle.description; - - public intSphinxClient::addQuery - stringquery - stringindex"*" - stringcomment"" - - - Adds query with the current settings to multi-query batch. This method - doesn't affect current settings (sorting, filtering, grouping etc.) in any way. - - - - - &reftitle.parameters; - - - - query - - - Query string. - - - - - index - - - An index name (or names). - - - - - comment - - - - - - - - - - - &reftitle.returnvalues; - - Returns an index in an array of results that will be returned - by call or false on error. - - - - - &reftitle.seealso; - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/buildexcerpts.xml b/reference/sphinx/sphinxclient/buildexcerpts.xml deleted file mode 100644 index dbe0404fe2..0000000000 --- a/reference/sphinx/sphinxclient/buildexcerpts.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - SphinxClient::buildExcerpts - Build text snippets - - - - &reftitle.description; - - public arrayfalseSphinxClient::buildExcerpts - arraydocs - stringindex - stringwords - arrayopts - - - Connects to searchd, requests it to generate excerpts (snippets) from the - given documents, and returns the results. - - - - - &reftitle.parameters; - - - - docs - - - Array of strings with documents' contents. - - - - - index - - - Index name. - - - - - words - - - Keywords to highlight. - - - - - opts - - - Associative array of additional highlighting options (see below). - - - - - - - Highlighting options - - - - Option - Description - - - - - "before_match" - A string to insert before a keyword match. Default is "<b>". - - - "after_match" - A string to insert after a keyword match. Default is "</b>". - - - "chunk_separator" - A string to insert between snippet chunks (passages). Default is " ... ". - - - "limit" - Maximum snippet size, in symbols (codepoints). Integer, default is 256. - - - "around" - How much words to pick around each matching keywords block. Integer, default is 5. - - - "exact_phrase" - Whether to highlight exact query phrase matches only instead of - individual keywords. Boolean, default is &false;. - - - "single_passage" - Whether to extract single best passage only. Boolean, default is &false;. - - - -
-
-
- - - &reftitle.returnvalues; - - Returns array of snippets on success&return.falseforfailure;. - - - -
- - diff --git a/reference/sphinx/sphinxclient/buildkeywords.xml b/reference/sphinx/sphinxclient/buildkeywords.xml deleted file mode 100644 index aade712903..0000000000 --- a/reference/sphinx/sphinxclient/buildkeywords.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - SphinxClient::buildKeywords - Extract keywords from query - - - - &reftitle.description; - - public arraySphinxClient::buildKeywords - stringquery - stringindex - boolhits - - - Extracts keywords from query using tokenizer - settings for the given index, optionally with - per-keyword occurrence statistics. - - - - - &reftitle.parameters; - - - - query - - - A query to extract keywords from. - - - - - index - - - An index to get tokenizing settings and keyword occurrence statistics - from. - - - - - hits - - - A boolean flag to enable/disable keyword statistics generation. - - - - - - - - - &reftitle.returnvalues; - - Returns an array of associative arrays with per-keyword information. - - - - - - diff --git a/reference/sphinx/sphinxclient/close.xml b/reference/sphinx/sphinxclient/close.xml deleted file mode 100644 index 013602e5aa..0000000000 --- a/reference/sphinx/sphinxclient/close.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - SphinxClient::close - Closes previously opened persistent connection - - - - &reftitle.description; - - public boolSphinxClient::close - - - - Closes previously opened persistent connection. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.changelog; - - - - - - PECL/sphinx &Version; - &Description; - - - - - PECL sphinx 1.0.3 - - Added SphinxClient::close(), available only if compiled with - libsphinxclient >= 0.9.9. - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/construct.xml b/reference/sphinx/sphinxclient/construct.xml deleted file mode 100644 index 67b52b6e40..0000000000 --- a/reference/sphinx/sphinxclient/construct.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - SphinxClient::__construct - Create a new SphinxClient object - - - - &reftitle.description; - - public SphinxClient::__construct - - - - Creates a new SphinxClient object. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - - diff --git a/reference/sphinx/sphinxclient/escapestring.xml b/reference/sphinx/sphinxclient/escapestring.xml deleted file mode 100644 index 2b52a9edd7..0000000000 --- a/reference/sphinx/sphinxclient/escapestring.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - SphinxClient::escapeString - Escape special characters - - - - &reftitle.description; - - public stringSphinxClient::escapeString - stringstring - - - Escapes characters that are treated as special operators by the query - language parser. - - - - - &reftitle.parameters; - - - - string - - - String to escape. - - - - - - - - - &reftitle.returnvalues; - - Returns escaped string. - - - - - - diff --git a/reference/sphinx/sphinxclient/getlasterror.xml b/reference/sphinx/sphinxclient/getlasterror.xml deleted file mode 100644 index 5d38e8f5af..0000000000 --- a/reference/sphinx/sphinxclient/getlasterror.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - SphinxClient::getLastError - Get the last error message - - - - &reftitle.description; - - public stringSphinxClient::getLastError - - - - Returns string with the last error message. If there were no errors during - the previous API call, empty string is returned. This method doesn't reset - the error message, so you can safely call it several times. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the last error message or an empty string if there were no errors. - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/getlastwarning.xml b/reference/sphinx/sphinxclient/getlastwarning.xml deleted file mode 100644 index b5d064b522..0000000000 --- a/reference/sphinx/sphinxclient/getlastwarning.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - SphinxClient::getLastWarning - Get the last warning - - - - &reftitle.description; - - public stringSphinxClient::getLastWarning - - - - Returns last warning message. If there were no warnings during - the previous API call, empty string is returned. This method doesn't reset - the warning, so you can safely call it several times. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the last warning message or an empty string if there were no warnings. - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/open.xml b/reference/sphinx/sphinxclient/open.xml deleted file mode 100644 index 07651a6f47..0000000000 --- a/reference/sphinx/sphinxclient/open.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - SphinxClient::open - Opens persistent connection to the server - - - - &reftitle.description; - - public boolSphinxClient::open - - - - Opens persistent connection to the server. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.changelog; - - - - - - PECL/sphinx &Version; - &Description; - - - - - PECL sphinx 1.0.3 - - Added SphinxClient::open(), available only if compiled with - libsphinxclient >= 0.9.9. - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/query.xml b/reference/sphinx/sphinxclient/query.xml deleted file mode 100644 index 93ffe53ca0..0000000000 --- a/reference/sphinx/sphinxclient/query.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - SphinxClient::query - Execute search query - - - - &reftitle.description; - - public arraySphinxClient::query - stringquery - stringindex"*" - stringcomment"" - - - Connects to searchd server, runs the given search query with the current settings, - obtains and returns the result set. - - - - - &reftitle.parameters; - - - - query - - - Query string. - - - - - index - - - An index name (or names). - - - - - comment - - - - - - - - - - - &reftitle.returnvalues; - - On success, SphinxClient::query returns a list of - found matches and additional per-query statistics. The result set is a - hash utilize other structures instead of hash) with the following keys and - values: - - Result set structure - - - - Key - Value description - - - - - "matches" - An array with found document IDs as keys and their weight and - attributes values as values - - - "total" - Total number of matches found and retrieved (depends on your - settings) - - - "total_found" - Total number of found documents matching the query - - - "words" - An array with words (case-folded and stemmed) as keys and - per-word statistics as values - - - "error" - Query error message reported by searchd - - - "warning" - Query warning reported by searchd - - - -
-
-
- - - &reftitle.seealso; - - - - - - - - -
- - diff --git a/reference/sphinx/sphinxclient/resetfilters.xml b/reference/sphinx/sphinxclient/resetfilters.xml deleted file mode 100644 index 2620c21a04..0000000000 --- a/reference/sphinx/sphinxclient/resetfilters.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - SphinxClient::resetFilters - Clear all filters - - - - &reftitle.description; - - public voidSphinxClient::resetFilters - - - - Clears all currently set filters. This call is normally required when - using multi-queries. You might want to set different filters for different - queries in the batch. To do that, you should call - SphinxClient::resetFilters and add new filters using - the respective calls. - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/resetgroupby.xml b/reference/sphinx/sphinxclient/resetgroupby.xml deleted file mode 100644 index f1d196fb20..0000000000 --- a/reference/sphinx/sphinxclient/resetgroupby.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - SphinxClient::resetGroupBy - Clear all group-by settings - - - - &reftitle.description; - - public voidSphinxClient::resetGroupBy - - - - Clears all currently group-by settings, and disables group-by. - This call is normally required only when using multi-queries. - - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/runqueries.xml b/reference/sphinx/sphinxclient/runqueries.xml deleted file mode 100644 index f702f99950..0000000000 --- a/reference/sphinx/sphinxclient/runqueries.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - SphinxClient::runQueries - Run a batch of search queries - - - - &reftitle.description; - - public arraySphinxClient::runQueries - - - - Connects to searchd, runs a batch of all queries added using , obtains and returns the result sets. - - - - - &reftitle.returnvalues; - - Returns &false; on failure and array of result sets on success. - - - - - &reftitle.seealso; - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setarrayresult.xml b/reference/sphinx/sphinxclient/setarrayresult.xml deleted file mode 100644 index 6d01f52c94..0000000000 --- a/reference/sphinx/sphinxclient/setarrayresult.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - SphinxClient::setArrayResult - Change the format of result set array - - - - &reftitle.description; - - public boolSphinxClient::setArrayResult - boolarray_result&false; - - - Controls the format of search results set arrays (whether matches should - be returned as an array or a hash). - - - - - &reftitle.parameters; - - - - array_result - - - If array_result is &false;, matches - are returned as a hash with document IDs as keys, and other information (weight, - attributes) as values. If array_result is &true;, matches - are returned as a plain array with complete per-match information including - document IDs. - - - - - - - - - &reftitle.returnvalues; - - Always returns &true;. - - - - - - diff --git a/reference/sphinx/sphinxclient/setconnecttimeout.xml b/reference/sphinx/sphinxclient/setconnecttimeout.xml deleted file mode 100644 index a7c6820e52..0000000000 --- a/reference/sphinx/sphinxclient/setconnecttimeout.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - SphinxClient::setConnectTimeout - Set connection timeout - - - - &reftitle.description; - - public boolSphinxClient::setConnectTimeout - floattimeout - - - Sets connection timeout (in seconds) for searchd connection. - - - - - &reftitle.parameters; - - - - timeout - - - Timeout in seconds. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setfieldweights.xml b/reference/sphinx/sphinxclient/setfieldweights.xml deleted file mode 100644 index 1264cd4ac3..0000000000 --- a/reference/sphinx/sphinxclient/setfieldweights.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - SphinxClient::setFieldWeights - Set field weights - - - - &reftitle.description; - - public boolSphinxClient::setFieldWeights - arrayweights - - - Binds per-field weights by name. - - - Match ranking can be affected by per-field weights. See Sphinx documentation for an explanation - on how phrase proximity ranking is affected. This call lets you specify - non-default weights for full-text fields. - - - The weights must be positive 32-bit integers, so be careful not to hit - 32-bit integer maximum. The final weight is a 32-bit integer too. - Default weight value is 1. Unknown field names are silently ignored. - - - - - &reftitle.parameters; - - - - weights - - - Associative array of field names and field weights. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setfilter.xml b/reference/sphinx/sphinxclient/setfilter.xml deleted file mode 100644 index bcbe9b3862..0000000000 --- a/reference/sphinx/sphinxclient/setfilter.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - SphinxClient::setFilter - Add new integer values set filter - - - - &reftitle.description; - - public boolSphinxClient::setFilter - stringattribute - arrayvalues - boolexclude&false; - - - Adds new integer values set filter to the existing list of filters. - - - - - &reftitle.parameters; - - - - attribute - - - An attribute name. - - - - - values - - - Plain array of integer values. - - - - - exclude - - - If set to &true;, matching documents are excluded from the result set. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setfilterfloatrange.xml b/reference/sphinx/sphinxclient/setfilterfloatrange.xml deleted file mode 100644 index 9b0b38b7ce..0000000000 --- a/reference/sphinx/sphinxclient/setfilterfloatrange.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - SphinxClient::setFilterFloatRange - Add new float range filter - - - - &reftitle.description; - - public boolSphinxClient::setFilterFloatRange - stringattribute - floatmin - floatmax - boolexclude&false; - - - Adds new float range filter to the existing list of filters. - Only those documents which have attribute - value stored in the index between min and - max (including values that are exactly equal - to min or max) will - be matched (or rejected, if exclude is &true;). - - - - - &reftitle.parameters; - - - - attribute - - - An attribute name. - - - - - min - - - Minimum value. - - - - - max - - - Maximum value. - - - - - exclude - - - If set to &true;, matching documents are excluded from the result set. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setfilterrange.xml b/reference/sphinx/sphinxclient/setfilterrange.xml deleted file mode 100644 index 5793311105..0000000000 --- a/reference/sphinx/sphinxclient/setfilterrange.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - SphinxClient::setFilterRange - Add new integer range filter - - - - &reftitle.description; - - public boolSphinxClient::setFilterRange - stringattribute - intmin - intmax - boolexclude&false; - - - Adds new integer range filter to the existing list of filters. - Only those documents which have attribute - value stored in the index between min and - max (including values that are exactly equal - to min or max) will - be matched (or rejected, if exclude is &true;). - - - - - &reftitle.parameters; - - - - attribute - - - An attribute name. - - - - - min - - - Minimum value. - - - - - max - - - Maximum value. - - - - - exclude - - - If set to &true;, matching documents are excluded from the result set. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setgeoanchor.xml b/reference/sphinx/sphinxclient/setgeoanchor.xml deleted file mode 100644 index faefc12ec5..0000000000 --- a/reference/sphinx/sphinxclient/setgeoanchor.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - SphinxClient::setGeoAnchor - Set anchor point for a geosphere distance calculations - - - - &reftitle.description; - - public boolSphinxClient::setGeoAnchor - stringattrlat - stringattrlong - floatlatitude - floatlongitude - - - Sets anchor point for a geosphere distance (geodistance) calculations - and enables them. - - - Once an anchor point is set, you can use magic "@geodist" attribute name in - your filters and/or sorting expressions. - - - - - &reftitle.parameters; - - - - attrlat - - - Name of a latitude attribute. - - - - - attrlong - - - Name of a longitude attribute. - - - - - latitude - - - Anchor latitude in radians. - - - - - longitude - - - Anchor longitude in radians. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setgroupby.xml b/reference/sphinx/sphinxclient/setgroupby.xml deleted file mode 100644 index 7f7d90344e..0000000000 --- a/reference/sphinx/sphinxclient/setgroupby.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - SphinxClient::setGroupBy - Set grouping attribute - - - - &reftitle.description; - - public boolSphinxClient::setGroupBy - stringattribute - intfunc - stringgroupsort"@group desc" - - - Sets grouping attribute, function, and group sorting mode, and enables - grouping. - - - Grouping feature is very similar to GROUP BY clause in SQL. - Results produced by this function call are going to be the same as produced - by the following pseudo code: - SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort. - - - - - &reftitle.parameters; - - - - attribute - - - A string containing group-by attribute name. - - - - - func - - - Constant, which sets a function applied to the attribute value in order - to compute group-by key. - - - - - groupsort - - - An optional clause controlling how the groups are sorted. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setgroupdistinct.xml b/reference/sphinx/sphinxclient/setgroupdistinct.xml deleted file mode 100644 index 84acbab399..0000000000 --- a/reference/sphinx/sphinxclient/setgroupdistinct.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - SphinxClient::setGroupDistinct - Set attribute name for per-group distinct values count calculations - - - - &reftitle.description; - - public boolSphinxClient::setGroupDistinct - stringattribute - - - Sets attribute name for per-group distinct values count calculations. Only - available for grouping queries. For each group, all values of - attribute will be stored, then the amount of - distinct values will be calculated and returned to the client. This feature - is similar to COUNT(DISTINCT) clause in SQL. - - - - - &reftitle.parameters; - - - - attribute - - - A string containing group-by attribute name. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/sphinx/sphinxclient/setidrange.xml b/reference/sphinx/sphinxclient/setidrange.xml deleted file mode 100644 index 0974a7e299..0000000000 --- a/reference/sphinx/sphinxclient/setidrange.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - SphinxClient::setIDRange - Set a range of accepted document IDs - - - - &reftitle.description; - - public boolSphinxClient::setIDRange - intmin - intmax - - - Sets an accepted range of document IDs. Default range is from 0 to 0, i.e. - no limit. Only those records that have document ID between - min and max - (including IDs exactly equal to min or - max) will be matched. - - - - - &reftitle.parameters; - - - - min - - - Minimum ID value. - - - - - max - - - Maximum ID value. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setindexweights.xml b/reference/sphinx/sphinxclient/setindexweights.xml deleted file mode 100644 index b13cc19daf..0000000000 --- a/reference/sphinx/sphinxclient/setindexweights.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - SphinxClient::setIndexWeights - Set per-index weights - - - - &reftitle.description; - - public boolSphinxClient::setIndexWeights - arrayweights - - - Sets per-index weights and enables weighted summing of match weights across - different indexes. - - - - - &reftitle.parameters; - - - - weights - - - An associative array mapping string index names to integer - weights. Default is empty array, i.e. weighting summing is disabled. - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setlimits.xml b/reference/sphinx/sphinxclient/setlimits.xml deleted file mode 100644 index e7a998f1bb..0000000000 --- a/reference/sphinx/sphinxclient/setlimits.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - SphinxClient::setLimits - Set offset and limit of the result set - - - - &reftitle.description; - - public boolSphinxClient::setLimits - intoffset - intlimit - intmax_matches0 - intcutoff0 - - - Sets offset into server-side result set and amount - of matches to return to client starting from that offset - (limit). Can additionally control maximum - server-side result set size for current query - (max_matches) and the threshold amount of matches - to stop searching at (cutoff). - - - - - &reftitle.parameters; - - - - offset - - - Result set offset. - - - - - limit - - - Amount of matches to return. - - - - - max_matches - - - Controls how much matches searchd will keep in RAM while searching. - - - - - cutoff - - - Used for advanced performance control. It tells searchd to forcibly - stop search query once cutoff matches have been - found and processed. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setmatchmode.xml b/reference/sphinx/sphinxclient/setmatchmode.xml deleted file mode 100644 index 3788dbb572..0000000000 --- a/reference/sphinx/sphinxclient/setmatchmode.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - SphinxClient::setMatchMode - Set full-text query matching mode - - - - &reftitle.description; - - public boolSphinxClient::setMatchMode - intmode - - - Sets full-text query matching mode. mode is one of - the constants listed below. - - Match modes - - - - Constant - Description - - - - - SPH_MATCH_ALL - Match all query words (default mode). - - - SPH_MATCH_ANY - Match any of query words. - - - SPH_MATCH_PHRASE - Match query as a phrase, requiring perfect match. - - - SPH_MATCH_BOOLEAN - Match query as a boolean expression. - - - SPH_MATCH_EXTENDED - Match query as an expression in Sphinx internal query language. - - - SPH_MATCH_FULLSCAN - Enables fullscan. - - - SPH_MATCH_EXTENDED2 - The same as SPH_MATCH_EXTENDED plus ranking - and quorum searching support. - - - -
-
-
- - - &reftitle.parameters; - - - - mode - - - Matching mode. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - -
- - diff --git a/reference/sphinx/sphinxclient/setmaxquerytime.xml b/reference/sphinx/sphinxclient/setmaxquerytime.xml deleted file mode 100644 index 95343c728e..0000000000 --- a/reference/sphinx/sphinxclient/setmaxquerytime.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - SphinxClient::setMaxQueryTime - Set maximum query time - - - - &reftitle.description; - - public boolSphinxClient::setMaxQueryTime - intqtime - - - Sets maximum search query time. - - - - - &reftitle.parameters; - - - - qtime - - - Maximum query time, in milliseconds. It must be a - non-negative integer. Default value is 0, i.e. no limit. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setoverride.xml b/reference/sphinx/sphinxclient/setoverride.xml deleted file mode 100644 index 491e0d16dc..0000000000 --- a/reference/sphinx/sphinxclient/setoverride.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - SphinxClient::setOverride - Sets temporary per-document attribute value - overrides - - - - &reftitle.description; - - public boolSphinxClient::setOverride - stringattribute - inttype - arrayvalues - - - Sets temporary (per-query) per-document attribute value overrides. Override - feature lets you "temporary" update attribute values for some documents - within a single query, leaving all other queries unaffected. This might be - useful for personalized data - - - - &reftitle.parameters; - - - - attribute - - - An attribute name. - - - - - type - - - An attribute type. Only supports scalar attributes. - - - - - values - - - Array of attribute values that maps document IDs to overridden - attribute values. - - - - - - - - - &reftitle.changelog; - - - - - - PECL/sphinx &Version; - &Description; - - - - - PECL sphinx 1.0.3 - - Added SphinxClient::setOverride(), available only if compiled with - libsphinxclient >= 0.9.9. - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setrankingmode.xml b/reference/sphinx/sphinxclient/setrankingmode.xml deleted file mode 100644 index eec36a9712..0000000000 --- a/reference/sphinx/sphinxclient/setrankingmode.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - SphinxClient::setRankingMode - Set ranking mode - - - - &reftitle.description; - - public boolSphinxClient::setRankingMode - intranker - - - Sets ranking mode. Only available in - SPH_MATCH_EXTENDED2 matching mode. - - Ranking modes - - - - Constant - Description - - - - - SPH_RANK_PROXIMITY_BM25 - Default ranking mode which uses both proximity and BM25 - ranking. - - - SPH_RANK_BM25 - Statistical ranking mode which uses BM25 ranking only (similar - to most of other full-text engines). This mode is faster, but may result - in worse quality on queries which contain more than 1 keyword. - - - SPH_RANK_NONE - Disables ranking. This mode is the fastest. It is essentially - equivalent to boolean searching, a weight of 1 is assigned to all - matches. - - - -
-
-
- - - &reftitle.parameters; - - - - ranker - - - Ranking mode. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - -
- - diff --git a/reference/sphinx/sphinxclient/setretries.xml b/reference/sphinx/sphinxclient/setretries.xml deleted file mode 100644 index 85a91eaa60..0000000000 --- a/reference/sphinx/sphinxclient/setretries.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - SphinxClient::setRetries - Set retry count and delay - - - - &reftitle.description; - - public boolSphinxClient::setRetries - intcount - intdelay0 - - - Sets distributed retry count and delay. - - - On temporary failures searchd will attempt up to - count retries per agent. - delay is the delay between the retries, - in milliseconds. Retries are disabled by default. - Note that this call will not make the API itself retry - on temporary failure; it only tells searchd to do so. - - - - - &reftitle.parameters; - - - - count - - - Number of retries. - - - - - - - delay - - - Delay between retries, in milliseconds. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setselect.xml b/reference/sphinx/sphinxclient/setselect.xml deleted file mode 100644 index 817d97f781..0000000000 --- a/reference/sphinx/sphinxclient/setselect.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - SphinxClient::setSelect - Set select clause - - - - &reftitle.description; - - public boolSphinxClient::setSelect - stringclause - - - Sets the select clause, listing specific attributes to fetch, and - expressions to compute and fetch. - - - - - &reftitle.parameters; - - - - clause - - - SQL-like clause. - - - - - - - - - &reftitle.changelog; - - - - - - PECL/sphinx &Version; - &Description; - - - - - PECL sphinx 1.0.1 - - Added SphinxClient::setSelect(), available only if compiled with - libsphinxclient >= 0.9.9. - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setserver.xml b/reference/sphinx/sphinxclient/setserver.xml deleted file mode 100644 index e5f30cf046..0000000000 --- a/reference/sphinx/sphinxclient/setserver.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - SphinxClient::setServer - Set searchd host and port - - - - &reftitle.description; - - public boolSphinxClient::setServer - stringserver - intport - - - Sets searchd host name and TCP port. All subsequent requests will use the - new host and port settings. Default host and port are 'localhost' and 3312, - respectively. - - - - - &reftitle.parameters; - - - - server - - - IP or hostname. - - - - - port - - - Port number. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - diff --git a/reference/sphinx/sphinxclient/setsortmode.xml b/reference/sphinx/sphinxclient/setsortmode.xml deleted file mode 100644 index 9ebfc19a35..0000000000 --- a/reference/sphinx/sphinxclient/setsortmode.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - SphinxClient::setSortMode - Set matches sorting mode - - - - &reftitle.description; - - public boolSphinxClient::setSortMode - intmode - stringsortby - - - Sets matches sorting mode. See available modes below. - - Sorting modes - - - - Constant - Description - - - - - SPH_SORT_RELEVANCE - Sort by relevance in descending order (best matches first). - - - SPH_SORT_ATTR_DESC - Sort by an attribute in descending order (bigger attribute - values first). - - - SPH_SORT_ATTR_ASC - Sort by an attribute in ascending order (smaller attribute - values first). - - - SPH_SORT_TIME_SEGMENTS - Sort by time segments (last hour/day/week/month) in descending - order, and then by relevance in descending order. - - - SPH_SORT_EXTENDED - Sort by SQL-like combination of columns in ASC/DESC order. - - - SPH_SORT_EXPR - Sort by an arithmetic expression. - - - -
-
-
- - - &reftitle.parameters; - - - - mode - - - Sorting mode. - - - - - sortby - - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.seealso; - - - - - - - - -
- - diff --git a/reference/sphinx/sphinxclient/status.xml b/reference/sphinx/sphinxclient/status.xml deleted file mode 100644 index 0acaa5fb6c..0000000000 --- a/reference/sphinx/sphinxclient/status.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - SphinxClient::status - Queries searchd status - - - - &reftitle.description; - - public arraySphinxClient::status - - - - Queries searchd status, and returns an array of status variable name and - value pairs. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.changelog; - - - - - - PECL/sphinx &Version; - &Description; - - - - - PECL sphinx 1.0.3 - - Added SphinxClient::status(), available only if compiled with - libsphinxclient >= 0.9.9. - - - - - - - - - - &reftitle.returnvalues; - - Returns an associative array of search server statistics&return.falseforfailure;. - - - - - - diff --git a/reference/sphinx/sphinxclient/updateattributes.xml b/reference/sphinx/sphinxclient/updateattributes.xml deleted file mode 100644 index 7e9df0afa7..0000000000 --- a/reference/sphinx/sphinxclient/updateattributes.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - SphinxClient::updateAttributes - Update document attributes - - - - &reftitle.description; - - public intSphinxClient::updateAttributes - stringindex - arrayattributes - arrayvalues - boolmva&false; - - - Instantly updates given attribute values in given documents. - - - - - &reftitle.parameters; - - - - index - - - Name of the index (or indexes) to be updated. - - - - - attributes - - - Array of attribute names, listing attributes that are updated. - - - - - values - - - Associative array containing document IDs as keys and array of - attribute values as values. - - - - - - - - - &reftitle.returnvalues; - - Returns number of actually updated documents (0 or more) on success, or - &false; on failure. - - - - - - diff --git a/reference/sphinx/versions.xml b/reference/sphinx/versions.xml deleted file mode 100644 index 691f677b46..0000000000 --- a/reference/sphinx/versions.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 3bf6ef79a5530578410aaf1256a9d69a05089cab Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:10:43 +0100 Subject: [PATCH 185/444] Remove suhosin docs It was already not included --- appendices/extensions.xml | 1 - reference/suhosin/book.xml | 43 - reference/suhosin/configure.xml | 38 - reference/suhosin/constants.xml | 151 -- reference/suhosin/functions/sha256-file.xml | 95 - reference/suhosin/functions/sha256.xml | 95 - .../functions/suhosin-encrypt-cookie.xml | 78 - .../functions/suhosin-get-raw-cookies.xml | 58 - reference/suhosin/ini.xml | 1726 ----------------- reference/suhosin/reference.xml | 30 - reference/suhosin/setup.xml | 42 - reference/suhosin/versions.xml | 34 - 12 files changed, 2391 deletions(-) delete mode 100644 reference/suhosin/book.xml delete mode 100644 reference/suhosin/configure.xml delete mode 100644 reference/suhosin/constants.xml delete mode 100644 reference/suhosin/functions/sha256-file.xml delete mode 100644 reference/suhosin/functions/sha256.xml delete mode 100644 reference/suhosin/functions/suhosin-encrypt-cookie.xml delete mode 100644 reference/suhosin/functions/suhosin-get-raw-cookies.xml delete mode 100644 reference/suhosin/ini.xml delete mode 100644 reference/suhosin/reference.xml delete mode 100644 reference/suhosin/setup.xml delete mode 100644 reference/suhosin/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 5918cb2fe3..9bee64b321 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -148,7 +148,6 @@ - diff --git a/reference/suhosin/book.xml b/reference/suhosin/book.xml deleted file mode 100644 index aaa73e7d0f..0000000000 --- a/reference/suhosin/book.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - Suhosin extension - Suhosin - - - &reftitle.intro; - - - Suhosin is an advanced protection - system for PHP installations. It was designed to protect servers and users - from known and unknown flaws in PHP applications and the PHP core. - - - - &reference.suhosin.setup; - &reference.suhosin.constants; - &reference.suhosin.reference; - - - - diff --git a/reference/suhosin/configure.xml b/reference/suhosin/configure.xml deleted file mode 100644 index 895649f92e..0000000000 --- a/reference/suhosin/configure.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - -
- &reftitle.install; - - - Some Linux distributions have Suhosin packages. There are also detailed installation instructions. - - - - There is no official Windows release. - - -
- - - diff --git a/reference/suhosin/constants.xml b/reference/suhosin/constants.xml deleted file mode 100644 index 1cd3c216e6..0000000000 --- a/reference/suhosin/constants.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - - S_MEMORY - (int) - - - - - - - - - - S_VARS - (int) - - - - - - - - - - S_FILES - (int) - - - - - - - - - - S_INCLUDE - (int) - - - - - - - - - - S_SQL - (int) - - - - - - - - - - S_EXECUTOR - (int) - - - - - - - - - - S_MAIL - (int) - - - - - - - - - - S_SESSION - (int) - - - - - - - - - - S_MISC - (int) - - - - - - - - - - S_INTERNAL - (int) - - - - - - - - - - S_ALL - (int) - - - - - - - - - - - diff --git a/reference/suhosin/functions/sha256-file.xml b/reference/suhosin/functions/sha256-file.xml deleted file mode 100644 index 2ef89bb829..0000000000 --- a/reference/suhosin/functions/sha256-file.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - sha256_file - Calculate the sha256 hash of given filename - - - - &reftitle.description; - - stringfalsesha256_file - stringfilename - boolraw_output - - - - - - - - - &reftitle.parameters; - - - - filename - - - Name of the file. - - - - - raw_output - - - Whether to return raw binary format (32 bytes). - - - - - - - - - &reftitle.returnvalues; - - Returns the hash&return.falseforfailure;. - - - - - &reftitle.notes; - - - This function is available only with Suhosin extension. You can also use - hash_file function with "sha256" algorithm. - - - - - - &reftitle.seealso; - - - sha256 - hash_file - - - - - - - diff --git a/reference/suhosin/functions/sha256.xml b/reference/suhosin/functions/sha256.xml deleted file mode 100644 index ed01802f46..0000000000 --- a/reference/suhosin/functions/sha256.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - sha256 - Calculate the sha256 hash of a string - - - - &reftitle.description; - - stringfalsesha256 - stringstr - boolraw_output - - - - - - - - - &reftitle.parameters; - - - - str - - - The string. - - - - - raw_output - - - Whether to return raw binary format (32 bytes). - - - - - - - - - &reftitle.returnvalues; - - Returns the hash&return.falseforfailure;. - - - - - &reftitle.notes; - - - This function is available only with Suhosin extension. You can also use - hash function with "sha256" algorithm. - - - - - - &reftitle.seealso; - - - sha256_file - hash - - - - - - - diff --git a/reference/suhosin/functions/suhosin-encrypt-cookie.xml b/reference/suhosin/functions/suhosin-encrypt-cookie.xml deleted file mode 100644 index 600a501b36..0000000000 --- a/reference/suhosin/functions/suhosin-encrypt-cookie.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - suhosin_encrypt_cookie - Encrypts a cookie value according to current cookie encrpytion setting - - - - &reftitle.description; - - stringfalsesuhosin_encrypt_cookie - stringname - stringvalue - - - - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - - name - - - Cookie name. - - - - - value - - - Cookie value. - - - - - - - - - &reftitle.returnvalues; - - Returns the encrypted string&return.falseforfailure;. - - - - - - - diff --git a/reference/suhosin/functions/suhosin-get-raw-cookies.xml b/reference/suhosin/functions/suhosin-get-raw-cookies.xml deleted file mode 100644 index 3efd51455f..0000000000 --- a/reference/suhosin/functions/suhosin-get-raw-cookies.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - suhosin_get_raw_cookies - Returns an array containing the raw cookie values - - - - &reftitle.description; - - arraysuhosin_get_raw_cookies - - - - - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an array containing the raw cookie values. - - - - - - - diff --git a/reference/suhosin/ini.xml b/reference/suhosin/ini.xml deleted file mode 100644 index f39d4ad427..0000000000 --- a/reference/suhosin/ini.xml +++ /dev/null @@ -1,1726 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - Suhosin &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - suhosin.log.syslog - - PHP_INI_PERDIR - - - - suhosin.log.syslog.facility - - PHP_INI_PERDIR - - - - suhosin.log.syslog.priority - - PHP_INI_PERDIR - - - - suhosin.log.sapi - 0 - PHP_INI_PERDIR - - - - suhosin.log.script - 0 - PHP_INI_PERDIR - - - - suhosin.log.script.name - - PHP_INI_PERDIR - - - - suhosin.log.use-x-forwarded-for - 0 - PHP_INI_PERDIR - - - - suhosin.log.phpscript - 0 - PHP_INI_PERDIR - - - - suhosin.log.phpscript.name - - PHP_INI_PERDIR - - - - suhosin.log.file - 0 - PHP_INI_PERDIR - - - - suhosin.log.file.name - - PHP_INI_PERDIR - - - - suhosin.log.phpscript.is_safe - 0 - PHP_INI_PERDIR - - - - suhosin.perdir - 0 - PHP_INI_SYSTEM - - - - suhosin.executor.include.max_traversal - 0 - PHP_INI_PERDIR - - - - suhosin.executor.include.whitelist - - PHP_INI_PERDIR - - - - suhosin.executor.include.blacklist - - PHP_INI_PERDIR - - - - suhosin.executor.include.allow_writable_files - 1 - PHP_INI_PERDIR - - - - suhosin.executor.eval.whitelist - - PHP_INI_PERDIR - - - - suhosin.executor.eval.blacklist - - PHP_INI_PERDIR - - - - suhosin.executor.func.whitelist - - PHP_INI_PERDIR - - - - suhosin.executor.func.blacklist - - PHP_INI_PERDIR - - - - suhosin.executor.disable_eval - 0 - PHP_INI_PERDIR - - - - suhosin.executor.disable_emodifier - 0 - PHP_INI_PERDIR - - - - suhosin.executor.allow_symlink - 0 - PHP_INI_PERDIR - - - - suhosin.executor.max_depth - 0 - PHP_INI_PERDIR - - - - suhosin.multiheader - 0 - PHP_INI_PERDIR - - - - suhosin.mail.protect - 0 - PHP_INI_PERDIR - - - - suhosin.memory_limit - 0 - PHP_INI_PERDIR - - - - suhosin.simulation - 0 - PHP_INI_PERDIR - - - - suhosin.filter.action - - PHP_INI_PERDIR - - - - suhosin.protectkey - 1 - PHP_INI_SYSTEM - - - - suhosin.coredump - 0 - PHP_INI_SYSTEM - - - - suhosin.stealth - 1 - PHP_INI_SYSTEM - - - - suhosin.apc_bug_workaround - 0 - PHP_INI_SYSTEM - - - - suhosin.disable.display_errors - 0 - PHP_INI_SYSTEM - - - - suhosin.request.max_vars - 1000 - PHP_INI_PERDIR - - - - suhosin.request.max_varname_length - 64 - PHP_INI_PERDIR - - - - suhosin.request.max_value_length - 1000000 - PHP_INI_PERDIR - - - - suhosin.request.max_array_depth - 50 - PHP_INI_PERDIR - - - - suhosin.request.max_totalname_length - 256 - PHP_INI_PERDIR - - - - suhosin.request.max_array_index_length - 64 - PHP_INI_PERDIR - - - - suhosin.request.disallow_nul - 1 - PHP_INI_PERDIR - - - - suhosin.request.disallow_ws - 0 - PHP_INI_PERDIR - - - - suhosin.cookie.max_vars - 100 - PHP_INI_PERDIR - - - - suhosin.cookie.max_name_length - 64 - PHP_INI_PERDIR - - - - suhosin.cookie.max_totalname_length - 256 - PHP_INI_PERDIR - - - - suhosin.cookie.max_value_length - 10000 - PHP_INI_PERDIR - - - - suhosin.cookie.max_array_depth - 50 - PHP_INI_PERDIR - - - - suhosin.cookie.max_array_index_length - 64 - PHP_INI_PERDIR - - - - suhosin.cookie.disallow_nul - 1 - PHP_INI_PERDIR - - - - suhosin.cookie.disallow_ws - 1 - PHP_INI_PERDIR - - - - suhosin.get.max_vars - 100 - PHP_INI_PERDIR - - - - suhosin.get.max_name_length - 64 - PHP_INI_PERDIR - - - - suhosin.get.max_totalname_length - 256 - PHP_INI_PERDIR - - - - suhosin.get.max_value_length - 512 - PHP_INI_PERDIR - - - - suhosin.get.max_array_depth - 50 - PHP_INI_PERDIR - - - - suhosin.get.max_array_index_length - 64 - PHP_INI_PERDIR - - - - suhosin.get.disallow_nul - 1 - PHP_INI_PERDIR - - - - suhosin.get.disallow_ws - 0 - PHP_INI_PERDIR - - - - suhosin.post.max_vars - 1000 - PHP_INI_PERDIR - - - - suhosin.post.max_name_length - 64 - PHP_INI_PERDIR - - - - suhosin.post.max_totalname_length - 256 - PHP_INI_PERDIR - - - - suhosin.post.max_value_length - 1000000 - PHP_INI_PERDIR - - - - suhosin.post.max_array_depth - 50 - PHP_INI_PERDIR - - - - suhosin.post.max_array_index_length - 64 - PHP_INI_PERDIR - - - - suhosin.post.disallow_nul - 1 - PHP_INI_PERDIR - - - - suhosin.post.disallow_ws - 0 - PHP_INI_PERDIR - - - - suhosin.upload.max_uploads - 25 - PHP_INI_PERDIR - - - - suhosin.upload.disallow_elf - 1 - PHP_INI_PERDIR - - - - suhosin.upload.disallow_binary - 0 - PHP_INI_PERDIR - - - - suhosin.upload.remove_binary - 0 - PHP_INI_PERDIR - - - - suhosin.upload.verification_script - - PHP_INI_PERDIR - - - - suhosin.sql.bailout_on_error - 0 - PHP_INI_PERDIR - - - - suhosin.sql.user_prefix - - PHP_INI_PERDIR - - - - suhosin.sql.user_postfix - - PHP_INI_PERDIR - - - - suhosin.sql.comment - 0 - PHP_INI_PERDIR - - - - suhosin.sql.opencomment - 0 - PHP_INI_PERDIR - - - - suhosin.sql.multiselect - 0 - PHP_INI_PERDIR - - - - suhosin.sql.union - 0 - PHP_INI_PERDIR - - - - suhosin.session.encrypt - 1 - PHP_INI_PERDIR - - - - suhosin.session.cryptkey - - PHP_INI_PERDIR - - - - suhosin.session.cryptua - 0 - PHP_INI_PERDIR - - - - suhosin.session.cryptdocroot - 1 - PHP_INI_PERDIR - - - - suhosin.session.cryptraddr - 0 - PHP_INI_PERDIR - - - - suhosin.session.checkraddr - 0 - PHP_INI_PERDIR - - - - suhosin.session.max_id_length - 128 - PHP_INI_PERDIR - - - - suhosin.cookie.encrypt - 0 - PHP_INI_PERDIR - - - - suhosin.cookie.cryptkey - - PHP_INI_ALL - - - - suhosin.cookie.cryptua - 1 - PHP_INI_PERDIR - - - - suhosin.cookie.cryptdocroot - 1 - PHP_INI_PERDIR - - - - suhosin.cookie.cryptraddr - 0 - PHP_INI_PERDIR - - - - suhosin.cookie.checkraddr - 0 - PHP_INI_PERDIR - - - - suhosin.cookie.cryptlist - - PHP_INI_PERDIR - - - - suhosin.cookie.plainlist - - PHP_INI_PERDIR - - - - suhosin.server.encode - 1 - PHP_INI_PERDIR - - - - suhosin.server.strip - 1 - PHP_INI_PERDIR - - - - suhosin.srand.ignore - 1 - PHP_INI_PERDIR - - - - suhosin.mt_srand.ignore - 1 - PHP_INI_PERDIR - - - - -
-
- - &ini.descriptions.title; - - - - - - suhosin.log.syslog - string - - - - - - - - - - suhosin.log.syslog.facility - string - - - - - - - - - - suhosin.log.syslog.priority - string - - - - - - - - - - suhosin.log.sapi - int - - - - - - - - - - suhosin.log.script - int - - - - - - - - - - suhosin.log.script.name - string - - - - - - - - - - suhosin.log.use-x-forwarded-for - int - - - - - - - - - - suhosin.log.phpscript - int - - - - - - - - - - suhosin.log.phpscript.name - string - - - - - - - - - - suhosin.log.file - int - - - - - - - - - - suhosin.log.file.name - string - - - - - - - - - - suhosin.log.phpscript.is_safe - int - - - - - - - - - - suhosin.perdir - int - - - - - - - - - - suhosin.executor.include.max_traversal - int - - - - - - - - - - suhosin.executor.include.whitelist - string - - - - - - - - - - suhosin.executor.include.blacklist - string - - - - - - - - - - suhosin.executor.include.allow_writable_files - int - - - - - - - - - - suhosin.executor.eval.whitelist - string - - - - - - - - - - suhosin.executor.eval.blacklist - string - - - - - - - - - - suhosin.executor.func.whitelist - string - - - - - - - - - - suhosin.executor.func.blacklist - string - - - - - - - - - - suhosin.executor.disable_eval - int - - - - - - - - - - suhosin.executor.disable_emodifier - int - - - - - - - - - - suhosin.executor.allow_symlink - int - - - - - - - - - - suhosin.executor.max_depth - int - - - - - - - - - - suhosin.multiheader - int - - - - - - - - - - suhosin.mail.protect - int - - - - - - - - - - suhosin.memory_limit - int - - - - - - - - - - suhosin.simulation - int - - - - - - - - - - suhosin.filter.action - string - - - - - - - - - - suhosin.protectkey - int - - - - - - - - - - suhosin.coredump - int - - - - - - - - - - suhosin.stealth - int - - - - - - - - - - suhosin.apc_bug_workaround - int - - - - - - - - - - suhosin.disable.display_errors - int - - - - - - - - - - suhosin.request.max_vars - int - - - - - - - - - - suhosin.request.max_varname_length - int - - - - - - - - - - suhosin.request.max_value_length - int - - - - - - - - - - suhosin.request.max_array_depth - int - - - - - - - - - - suhosin.request.max_totalname_length - int - - - - - - - - - - suhosin.request.max_array_index_length - int - - - - - - - - - - suhosin.request.disallow_nul - int - - - - - - - - - - suhosin.request.disallow_ws - int - - - - - - - - - - suhosin.cookie.max_vars - int - - - - - - - - - - suhosin.cookie.max_name_length - int - - - - - - - - - - suhosin.cookie.max_totalname_length - int - - - - - - - - - - suhosin.cookie.max_value_length - int - - - - - - - - - - suhosin.cookie.max_array_depth - int - - - - - - - - - - suhosin.cookie.max_array_index_length - int - - - - - - - - - - suhosin.cookie.disallow_nul - int - - - - - - - - - - suhosin.cookie.disallow_ws - int - - - - - - - - - - suhosin.get.max_vars - int - - - - - - - - - - suhosin.get.max_name_length - int - - - - - - - - - - suhosin.get.max_totalname_length - int - - - - - - - - - - suhosin.get.max_value_length - int - - - - - - - - - - suhosin.get.max_array_depth - int - - - - - - - - - - suhosin.get.max_array_index_length - int - - - - - - - - - - suhosin.get.disallow_nul - int - - - - - - - - - - suhosin.get.disallow_ws - int - - - - - - - - - - suhosin.post.max_vars - int - - - - - - - - - - suhosin.post.max_name_length - int - - - - - - - - - - suhosin.post.max_totalname_length - int - - - - - - - - - - suhosin.post.max_value_length - int - - - - - - - - - - suhosin.post.max_array_depth - int - - - - - - - - - - suhosin.post.max_array_index_length - int - - - - - - - - - - suhosin.post.disallow_nul - int - - - - - - - - - - suhosin.post.disallow_ws - int - - - - - - - - - - suhosin.upload.max_uploads - int - - - - - - - - - - suhosin.upload.disallow_elf - int - - - - - - - - - - suhosin.upload.disallow_binary - int - - - - - - - - - - suhosin.upload.remove_binary - int - - - - - - - - - - suhosin.upload.verification_script - string - - - - - - - - - - suhosin.sql.bailout_on_error - int - - - - - - - - - - suhosin.sql.user_prefix - string - - - - - - - - - - suhosin.sql.user_postfix - string - - - - - - - - - - suhosin.sql.comment - int - - - - - - - - - - suhosin.sql.opencomment - int - - - - - - - - - - suhosin.sql.multiselect - int - - - - - - - - - - suhosin.sql.union - int - - - - - - - - - - suhosin.session.encrypt - int - - - - - - - - - - suhosin.session.cryptkey - string - - - - - - - - - - suhosin.session.cryptua - int - - - - - - - - - - suhosin.session.cryptdocroot - int - - - - - - - - - - suhosin.session.cryptraddr - int - - - - - - - - - - suhosin.session.checkraddr - int - - - - - - - - - - suhosin.session.max_id_length - int - - - - - - - - - - suhosin.cookie.encrypt - int - - - - - - - - - - suhosin.cookie.cryptkey - string - - - - - - - - - - suhosin.cookie.cryptua - int - - - - - - - - - - suhosin.cookie.cryptdocroot - int - - - - - - - - - - suhosin.cookie.cryptraddr - int - - - - - - - - - - suhosin.cookie.checkraddr - int - - - - - - - - - - suhosin.cookie.cryptlist - string - - - - - - - - - - suhosin.cookie.plainlist - string - - - - - - - - - - suhosin.server.encode - int - - - - - - - - - - suhosin.server.strip - int - - - - - - - - - - suhosin.srand.ignore - int - - - - - - - - - - suhosin.mt_srand.ignore - int - - - - - - - - - - - - - There is a detailed description of configuration - directives on the project's web. - - -
- - diff --git a/reference/suhosin/reference.xml b/reference/suhosin/reference.xml deleted file mode 100644 index 34526e9928..0000000000 --- a/reference/suhosin/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Suhosin &Functions; - - &reference.suhosin.entities.functions; - - - - diff --git a/reference/suhosin/setup.xml b/reference/suhosin/setup.xml deleted file mode 100644 index 5bbedd7428..0000000000 --- a/reference/suhosin/setup.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - &no.requirement; -
- - &reference.suhosin.configure; - - &reference.suhosin.ini; - -
- &reftitle.resources; - &no.resource; -
- -
- - diff --git a/reference/suhosin/versions.xml b/reference/suhosin/versions.xml deleted file mode 100644 index 9f45670a1a..0000000000 --- a/reference/suhosin/versions.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - From 0e2405ef82305a84ce2e9d05af61470c65c1536c Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 23:11:59 +0100 Subject: [PATCH 186/444] Remove Tokyo Tyrant docs --- appendices/extensions.xml | 2 - reference/tokyo_tyrant/book.xml | 56 -- reference/tokyo_tyrant/configure.xml | 104 --- reference/tokyo_tyrant/constants.xml | 31 - reference/tokyo_tyrant/examples.xml | 49 -- reference/tokyo_tyrant/ini.xml | 157 ---- reference/tokyo_tyrant/setup.xml | 52 -- reference/tokyo_tyrant/tokyotyrant.xml | 690 ------------------ reference/tokyo_tyrant/tokyotyrant/add.xml | 125 ---- .../tokyo_tyrant/tokyotyrant/connect.xml | 109 --- .../tokyo_tyrant/tokyotyrant/connecturi.xml | 91 --- .../tokyo_tyrant/tokyotyrant/construct.xml | 93 --- reference/tokyo_tyrant/tokyotyrant/copy.xml | 92 --- reference/tokyo_tyrant/tokyotyrant/ext.xml | 109 --- .../tokyo_tyrant/tokyotyrant/fwmkeys.xml | 121 --- reference/tokyo_tyrant/tokyotyrant/get.xml | 110 --- .../tokyo_tyrant/tokyotyrant/getiterator.xml | 85 --- reference/tokyo_tyrant/tokyotyrant/num.xml | 89 --- reference/tokyo_tyrant/tokyotyrant/out.xml | 98 --- reference/tokyo_tyrant/tokyotyrant/put.xml | 119 --- reference/tokyo_tyrant/tokyotyrant/putcat.xml | 118 --- .../tokyo_tyrant/tokyotyrant/putkeep.xml | 125 ---- reference/tokyo_tyrant/tokyotyrant/putnr.xml | 120 --- reference/tokyo_tyrant/tokyotyrant/putshl.xml | 126 ---- .../tokyo_tyrant/tokyotyrant/restore.xml | 87 --- .../tokyo_tyrant/tokyotyrant/setmaster.xml | 117 --- reference/tokyo_tyrant/tokyotyrant/size.xml | 91 --- reference/tokyo_tyrant/tokyotyrant/stat.xml | 117 --- reference/tokyo_tyrant/tokyotyrant/sync.xml | 54 -- reference/tokyo_tyrant/tokyotyrant/tune.xml | 75 -- reference/tokyo_tyrant/tokyotyrant/vanish.xml | 80 -- .../tokyo_tyrant/tokyotyrantexception.xml | 96 --- .../tokyo_tyrant/tokyotyrantiterator.xml | 76 -- .../tokyotyrantiterator/construct.xml | 107 --- .../tokyotyrantiterator/current.xml | 66 -- .../tokyo_tyrant/tokyotyrantiterator/key.xml | 66 -- .../tokyo_tyrant/tokyotyrantiterator/next.xml | 66 -- .../tokyotyrantiterator/rewind.xml | 66 -- .../tokyotyrantiterator/valid.xml | 66 -- reference/tokyo_tyrant/tokyotyrantquery.xml | 72 -- .../tokyo_tyrant/tokyotyrantquery/addcond.xml | 139 ---- .../tokyotyrantquery/construct.xml | 94 --- .../tokyo_tyrant/tokyotyrantquery/count.xml | 105 --- .../tokyo_tyrant/tokyotyrantquery/current.xml | 106 --- .../tokyo_tyrant/tokyotyrantquery/hint.xml | 101 --- .../tokyo_tyrant/tokyotyrantquery/key.xml | 106 --- .../tokyotyrantquery/metasearch.xml | 140 ---- .../tokyo_tyrant/tokyotyrantquery/next.xml | 106 --- .../tokyo_tyrant/tokyotyrantquery/out.xml | 98 --- .../tokyo_tyrant/tokyotyrantquery/rewind.xml | 106 --- .../tokyo_tyrant/tokyotyrantquery/search.xml | 120 --- .../tokyotyrantquery/setlimit.xml | 74 -- .../tokyotyrantquery/setorder.xml | 97 --- .../tokyo_tyrant/tokyotyrantquery/valid.xml | 106 --- reference/tokyo_tyrant/tokyotyranttable.xml | 79 -- .../tokyo_tyrant/tokyotyranttable/add.xml | 95 --- .../tokyo_tyrant/tokyotyranttable/genuid.xml | 88 --- .../tokyo_tyrant/tokyotyranttable/get.xml | 119 --- .../tokyotyranttable/getiterator.xml | 85 --- .../tokyotyranttable/getquery.xml | 108 --- .../tokyo_tyrant/tokyotyranttable/out.xml | 98 --- .../tokyo_tyrant/tokyotyranttable/put.xml | 131 ---- .../tokyo_tyrant/tokyotyranttable/putcat.xml | 132 ---- .../tokyo_tyrant/tokyotyranttable/putkeep.xml | 138 ---- .../tokyo_tyrant/tokyotyranttable/putnr.xml | 87 --- .../tokyo_tyrant/tokyotyranttable/putshl.xml | 98 --- .../tokyotyranttable/setindex.xml | 75 -- reference/tokyo_tyrant/versions.xml | 117 --- 68 files changed, 7121 deletions(-) delete mode 100644 reference/tokyo_tyrant/book.xml delete mode 100644 reference/tokyo_tyrant/configure.xml delete mode 100644 reference/tokyo_tyrant/constants.xml delete mode 100644 reference/tokyo_tyrant/examples.xml delete mode 100644 reference/tokyo_tyrant/ini.xml delete mode 100644 reference/tokyo_tyrant/setup.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/add.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/connect.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/connecturi.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/construct.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/copy.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/ext.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/fwmkeys.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/get.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/getiterator.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/num.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/out.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/put.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/putcat.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/putkeep.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/putnr.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/putshl.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/restore.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/setmaster.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/size.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/stat.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/sync.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/tune.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrant/vanish.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantexception.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/construct.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/current.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/key.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/next.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/rewind.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantiterator/valid.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/addcond.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/construct.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/count.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/current.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/hint.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/key.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/metasearch.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/next.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/out.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/rewind.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/search.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/setlimit.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/setorder.xml delete mode 100644 reference/tokyo_tyrant/tokyotyrantquery/valid.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/add.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/genuid.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/get.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/getiterator.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/getquery.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/out.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/put.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/putcat.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/putkeep.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/putnr.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/putshl.xml delete mode 100644 reference/tokyo_tyrant/tokyotyranttable/setindex.xml delete mode 100644 reference/tokyo_tyrant/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 9bee64b321..90712b2c1a 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -156,7 +156,6 @@ - @@ -365,7 +364,6 @@ - diff --git a/reference/tokyo_tyrant/book.xml b/reference/tokyo_tyrant/book.xml deleted file mode 100644 index 370fa2b68f..0000000000 --- a/reference/tokyo_tyrant/book.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - tokyo_tyrant - tokyo_tyrant - - - &reftitle.intro; - - tokyo_tyrant extension provides a wrapper for Tokyo Tyrant client libraries. The extension - contains the normal key-value API and the table API. - - - - "Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications." --Tokyo Tyrant documentation - - - - Tokyo Tyrant is written by Mikio Hirabayashi and is licensed under GNU Lesser General Public License. - - - - &reference.tokyo-tyrant.setup; - &reference.tokyo-tyrant.constants; - &reference.tokyo-tyrant.examples; - - &reference.tokyo-tyrant.tokyotyrant; - &reference.tokyo-tyrant.tokyotyranttable; - &reference.tokyo-tyrant.tokyotyrantquery; - &reference.tokyo-tyrant.tokyotyrantiterator; - &reference.tokyo-tyrant.tokyotyrantexception; - - - - - diff --git a/reference/tokyo_tyrant/configure.xml b/reference/tokyo_tyrant/configure.xml deleted file mode 100644 index a8e21bb018..0000000000 --- a/reference/tokyo_tyrant/configure.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.info; - &url.pecl.package;tokyo_tyrant - - -
- Configure options - - --with-tokyo-tyrant[=DIR] DIR is the prefix to the Tokyo Tyrant installation - --with-tokyo-cabinet-dir[=DIR] DIR is the prefix to the Tokyo Cabinet installation - --disable-tokyo-tyrant-session Disable Tokyo Tyrant session handler support - -
- -
- Enabling the extension - - The extension can be enabled by adding extension=tokyo_tyrant.so to the INI-configuration - -
- -
- Running Tokyo Tyrant for the session handler - - ttserver -port 2000 -ext /path/to/expire.lua -extpc expire 30.0 '/tmp/sessions.tct#idx=ts:dec' - - - - expire.lua is included in the tokyo_tyrant extension source distribution - - -
- -
- Configuring session handler - - - tokyo_tyrant.session_salt="randomlongstring" - session.save_handler=tokyo_tyrant - session.save_path="tcp://hostname1:2000,tcp://hostname2:2000" - - - - - It is important to make sure that tokyo_tyrant.session_salt matches on all servers. - - -
- -
- How it works? - - The session handler creates a session id like the following: - 8b0e27a823fa4a6cf7246945b82c1d51-a5eadbbed1f2075952900628456bfd6830541629-0-5460 - - - - The parts from left to right: - - - - Session id - Generated session id - Checksum - Checksum of session salt, session id, node id and primary key - Node id - The id of the node where the session maps to - Primary key - The primary key of the row where the session is stored - - - - The checksum contains SHA1 sum of the node id, primary key, session id and the salt which is known only on the server side. This allows quick mapping of session id to node and primary key since there is no need to do an additional search. During session id regeneration only the parts 1 and 2 change but the mapping to the node and primary key stays constant. - - - In case some of the nodes fail tokyo_tyrant.allow_failover, tokyo_tyrant.fail_threshold and tokyo_tyrant.health_check_divisor INI-settings control the behavior during failover. If failover is allowed the session handler will map the session to a healthy node and creates a new empty session. - -
- -
- - - diff --git a/reference/tokyo_tyrant/constants.xml b/reference/tokyo_tyrant/constants.xml deleted file mode 100644 index b83851af8c..0000000000 --- a/reference/tokyo_tyrant/constants.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - &reftitle.constants; - - TokyoTyrant constants - - - - - diff --git a/reference/tokyo_tyrant/examples.xml b/reference/tokyo_tyrant/examples.xml deleted file mode 100644 index 35c2a54bc9..0000000000 --- a/reference/tokyo_tyrant/examples.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - &reftitle.examples; - - Basic usage - - - Putting and getting a key-value pair - -put("key", "value"); -echo $tt->get("key"); -?> -]]> - - &example.outputs; - - - - - - - - diff --git a/reference/tokyo_tyrant/ini.xml b/reference/tokyo_tyrant/ini.xml deleted file mode 100644 index 18cebc40bd..0000000000 --- a/reference/tokyo_tyrant/ini.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - tokyo_tyrant &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - tokyo_tyrant.default_timeout - 2.0 - PHP_INI_ALL - - - - tokyo_tyrant.session_salt - &null; - PHP_INI_ALL - - - - tokyo_tyrant.key_prefix - &null; - PHP_INI_ALL - - - - tokyo_tyrant.allow_failover - 1 - PHP_INI_ALL - - - - tokyo_tyrant.fail_threshold - 5 - PHP_INI_ALL - - - - tokyo_tyrant.health_check_divisor - 1000 - PHP_INI_ALL - - - - tokyo_tyrant.php_expiration - 0 - PHP_INI_ALL - - - - -
-
- - &ini.descriptions.title; - - - - - - tokyo_tyrant.default_timeout - int - - - - Default timeout when connecting to databases - - - - - - tokyo_tyrant.session_salt - string - - - - The secret that is used to salt session id - - - - - - tokyo_tyrant.key_prefix - string - - - - Prefix all keys with this string. The prefix is transparent - to the developer but helps making sure that keys won't collide if multiple - applications are using the same database. - - - - - - tokyo_tyrant.allow_failover - int - - - - Whether to allow session failover in case a server dies. - - - - - - tokyo_tyrant.fail_threshold - int - - - - How many read/write or connection failures is allowed - before server is marked as failed. - - - - - - tokyo_tyrant.health_check_divisor - int - - - - Defines the divisor for the health check probability. If there are failed - servers and the probability matches, the servers are health checked and - in case the server seems healthy, it will be added back to the pool. - - - - - - tokyo_tyrant.php_expiration - int - - - - Whether to use built in session expiration mechanism or delegate - the expiration to a lua-script on the server-side. - - - - - - -
diff --git a/reference/tokyo_tyrant/setup.xml b/reference/tokyo_tyrant/setup.xml deleted file mode 100644 index 24fac25b52..0000000000 --- a/reference/tokyo_tyrant/setup.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - - Before using this extension Tokyo Cabinet and Tokyo Tyrant must be installed. - -
- - - &reference.tokyo-tyrant.configure; - - - - - &reference.tokyo-tyrant.ini; - - - -
- &reftitle.resources; - &no.resource; -
- -
- - - diff --git a/reference/tokyo_tyrant/tokyotyrant.xml b/reference/tokyo_tyrant/tokyotyrant.xml deleted file mode 100644 index 43ae609cb0..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant.xml +++ /dev/null @@ -1,690 +0,0 @@ - - - - - - The TokyoTyrant class - TokyoTyrant - - - - -
- &reftitle.intro; - - The main Tokyo Tyrant class - -
- - -
- &reftitle.classsynopsis; - - - - TokyoTyrant - - - - - TokyoTyrant - - - - &Constants; - - const - int - TokyoTyrant::RDBDEF_PORT - 1978 - - - const - int - TokyoTyrant::RDBQC_STREQ - 0 - - - const - int - TokyoTyrant::RDBQC_STRINC - 1 - - - const - int - TokyoTyrant::RDBQC_STRBW - 2 - - - const - int - TokyoTyrant::RDBQC_STREW - 3 - - - const - int - TokyoTyrant::RDBQC_STRAND - 4 - - - const - int - TokyoTyrant::RDBQC_STROR - 5 - - - const - int - TokyoTyrant::RDBQC_STROREQ - 6 - - - const - int - TokyoTyrant::RDBQC_STRRX - 7 - - - const - int - TokyoTyrant::RDBQC_NUMEQ - 8 - - - const - int - TokyoTyrant::RDBQC_NUMGT - 9 - - - const - int - TokyoTyrant::RDBQC_NUMGE - 10 - - - const - int - TokyoTyrant::RDBQC_NUMLT - 11 - - - const - int - TokyoTyrant::RDBQC_NUMLE - 12 - - - const - int - TokyoTyrant::RDBQC_NUMBT - 13 - - - const - int - TokyoTyrant::RDBQC_NUMOREQ - 14 - - - const - int - TokyoTyrant::RDBQC_NEGATE - 16777216 - - - const - int - TokyoTyrant::RDBQC_NOIDX - 33554432 - - - const - int - TokyoTyrant::RDBQO_STRASC - 0 - - - const - int - TokyoTyrant::RDBQO_STRDESC - 1 - - - const - int - TokyoTyrant::RDBQO_NUMASC - 2 - - - const - int - TokyoTyrant::RDBQO_NUMDESC - 3 - - - const - int - TokyoTyrant::RDBIT_LEXICAL - 0 - - - const - int - TokyoTyrant::RDBIT_DECIMAL - 1 - - - const - int - TokyoTyrant::RDBIT_TOKEN - 2 - - - const - int - TokyoTyrant::RDBIT_QGRAM - 3 - - - const - int - TokyoTyrant::RDBIT_OPT - 9998 - - - const - int - TokyoTyrant::RDBIT_VOID - 9999 - - - const - int - TokyoTyrant::RDBIT_KEEP - 16777216 - - - - const - int - TokyoTyrant::RDBQCFTS_PH - 15 - - - - const - int - TokyoTyrant::RDBQCFTS_AND - 16 - - - - const - int - TokyoTyrant::RDBQCFTS_OR - 17 - - - - const - int - TokyoTyrant::RDBQCFTS_EX - 18 - - - - const - int - TokyoTyrant::RDBXO_LCKREC - 1 - - - - const - int - TokyoTyrant::RDBXOLCK_GLB - 2 - - - - const - int - TokyoTyrant::RDBREC_INT - 1 - - - - const - int - TokyoTyrant::RDBREC_DBL - 2 - - - - const - int - TokyoTyrant::RDBMS_UNION - 0 - - - - const - int - TokyoTyrant::RDBMS_ISECT - 1 - - - - const - int - TokyoTyrant::RDBMS_DIFF - 2 - - - - const - int - TokyoTyrant::RDBT_RECON - 1 - - - &Methods; - - - - -
- - -
- &reftitle.constants; -
- TokyoTyrant Constants - - - - TokyoTyrant::RDBDEF_PORT - - The default port of the Tokyo Tyrant database - - - - - TokyoTyrant::RDBQC_STREQ - - string is equal to - - - - - TokyoTyrant::RDBQC_STRINC - - string is included in - - - - - TokyoTyrant::RDBQC_STRBW - - string begins with - - - - - TokyoTyrant::RDBQC_STREW - - string ends with - - - - - TokyoTyrant::RDBQC_STRAND - - string includes all tokens in - - - - - TokyoTyrant::RDBQC_STROR - - string includes at least one token in - - - - - TokyoTyrant::RDBQC_STROREQ - - string is equal to at least one token in - - - - - TokyoTyrant::RDBQC_STRRX - - string matches regular expressions of - - - - - TokyoTyrant::RDBQC_NUMEQ - - number is equal to - - - - - TokyoTyrant::RDBQC_NUMGT - - number is greater than - - - - - TokyoTyrant::RDBQC_NUMGE - - number is greater than or equal to - - - - - TokyoTyrant::RDBQC_NUMLT - - number is less than - - - - - TokyoTyrant::RDBQC_NUMLE - - number is less than or equal to - - - - - TokyoTyrant::RDBQC_NUMBT - - number is between two tokens of - - - - - TokyoTyrant::RDBQC_NUMOREQ - - number is equal to at least one token in - - - - - TokyoTyrant::RDBQC_NEGATE - - negation flag - - - - - TokyoTyrant::RDBQC_NOIDX - - no index flag - - - - - TokyoTyrant::RDBQO_STRASC - - string ascending - - - - - TokyoTyrant::RDBQO_STRDESC - - string descending - - - - - TokyoTyrant::RDBQO_NUMASC - - number ascending - - - - - TokyoTyrant::RDBQO_NUMDESC - - number descending - - - - - TokyoTyrant::RDBIT_LEXICAL - - lexical string - - - - - TokyoTyrant::RDBIT_DECIMAL - - decimal string - - - - - TokyoTyrant::RDBIT_TOKEN - - token inverted index (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBIT_QGRAM - - QGRAM inverted index (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBIT_OPT - - optimize - - - - - TokyoTyrant::RDBIT_VOID - - void - - - - - TokyoTyrant::RDBIT_KEEP - - keep existing index - - - - - TokyoTyrant::RDBQCFTS_PH - - full-text search with the phrase of (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBQCFTS_AND - - full-text search with all tokens in (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBQCFTS_OR - - full-text search with at least one token in (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBQCFTS_EX - - full-text search with the compound expression of (Tokyo Tyrant >= 1.1.29) - - - - - TokyoTyrant::RDBQCFTS_AND - - Metasearch union between records (Tokyo Tyrant >= 1.1.33) - - - - - TokyoTyrant::RDBQCFTS_OR - - Metasearch intersection between records (Tokyo Tyrant >= 1.1.33) - - - - - TokyoTyrant::RDBQCFTS_EX - - Metasearch difference between records (Tokyo Tyrant >= 1.1.33) - - - - - TokyoTyrant::RDBT_RECON - - Whether to reconnect on connection failure. - It is recommended to have this parameter on for persistent connections - - - - - TokyoTyrant::RDBXOLCK_REC - - record locking - - - - - TokyoTyrant::RDBXOLCK_GLB - - global locking - - - - - TokyoTyrant::RDBREC_INT - - record type int - - - - - TokyoTyrant::RDBREC_DBL - - record type float (double) - - - - - TokyoTyrant::TTE_SUCCESS - - success - - - - - TokyoTyrant::TTE_INVALID - - invalid operation - - - - - TokyoTyrant::TTE_NOHOST - - host not found - - - - - TokyoTyrant::TTE_REFUSED - - connection refused - - - - - TokyoTyrant::TTE_SEND - - send error - - - - - TokyoTyrant::TTE_RECV - - recv error - - - - - TokyoTyrant::TTE_KEEP - - record exist - - - - - TokyoTyrant::TTE_NOREC - - no record found - - - - - TokyoTyrant::TTE_MISC - - miscellaneous error - - - - -
-
- - - -
- - &reference.tokyo-tyrant.entities.tokyotyrant; - -
- - diff --git a/reference/tokyo_tyrant/tokyotyrant/add.xml b/reference/tokyo_tyrant/tokyotyrant/add.xml deleted file mode 100644 index 2c8132647a..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/add.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - TokyoTyrant::add - Adds to a numeric key - - - - &reftitle.description; - - public intfloatTokyoTyrant::add - stringkey - intfloatincrement - inttype0 - - - Adds to an int or double value. This increments the value by the given amount - and returns the new value. If the key does not exist a new key is created with - initial value of the increment parameter. - - - - - &reftitle.parameters; - - - - key - - - The string key - - - - - increment - - - The amount to increment - - - - - type - - - TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL constant. - If this parameter is omitted the type is guessed from the increment - parameters type. - - - - - - - - - &reftitle.returnvalues; - - Returns the new value on success - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::add</methodname> example - -add("test", 3); - -/* String value is converted to double */ -echo $tt->add("test", "3.5", TokyoTyrant::RDBREC_DBL); -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - TokyoTyrant::putcat - TokyoTyrant::putkeep - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/connect.xml b/reference/tokyo_tyrant/tokyotyrant/connect.xml deleted file mode 100644 index 2ce49af5b8..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/connect.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - TokyoTyrant::connect - Connect to a database - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::connect - stringhost - intportTokyoTyrant::RDBDEF_PORT - arrayoptions - - - Connects to a remote database - - - - - &reftitle.parameters; - - - - host - - - The hostname - - - - - port - - - The port. Default: 1978 - - - - - options - - - Connection options: timeout (default: 5.0), reconnect (default: &true;) and persistent (default: &true;) - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::connect</methodname> example - -connect("localhost", TokyoTyrant::RDBDEF_PORT)->put("test", "value"); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::connectUri - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/connecturi.xml b/reference/tokyo_tyrant/tokyotyrant/connecturi.xml deleted file mode 100644 index eb3f7786ab..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/connecturi.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - TokyoTyrant::connectUri - Connects to a database - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::connectUri - stringuri - - - Connects to a database using an uri - - - - - &reftitle.parameters; - - - - uri - - - An URI to the database. For example tcp://localhost:1979/ - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::connectUri</methodname> example - -connectUri("tcp://localhost:1978/")->put("test", "hi"); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::connect - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/construct.xml b/reference/tokyo_tyrant/tokyotyrant/construct.xml deleted file mode 100644 index 5e1f47f1c7..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/construct.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - TokyoTyrant::__construct - Construct a new TokyoTyrant object - - - - &reftitle.description; - - public TokyoTyrant::__construct - stringhost - intportTokyoTyrant::RDBDEF_PORT - arrayoptions - - - Constructs a new TokyoTyrant object and optionally connects to the database - - - - - &reftitle.parameters; - - - - host - - - The hostname. Default: &null; - - - - - port - - - port number. Default: 1978 - - - - - options - - - Connection options: timeout (default: 5.0), reconnect (default: &true;) and persistent (default: &true;) - - - - - - - - - &reftitle.returnvalues; - - Throws TokyoTyrantException if connection to database fails - - - - - &reftitle.seealso; - - - TokyoTyrant::connect - TokyoTyrant::connectUri - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/copy.xml b/reference/tokyo_tyrant/tokyotyrant/copy.xml deleted file mode 100644 index 421729676a..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/copy.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - TokyoTyrant::copy - Copies the database - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::copy - stringpath - - - Makes a copy of the current database - - - - - &reftitle.parameters; - - - - path - - - Path to where to copy the database. The user running the remote - database must have a write access to the directory. - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::copy</methodname> example - -copy("/tmp/foobar.tct"); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::restore - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/ext.xml b/reference/tokyo_tyrant/tokyotyrant/ext.xml deleted file mode 100644 index 56ee571a43..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/ext.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - TokyoTyrant::ext - Execute a remote script - - - - &reftitle.description; - - public stringTokyoTyrant::ext - stringname - intoptions - stringkey - stringvalue - - - Executes a remote script extension. - - - - - &reftitle.parameters; - - - - name - - - Name of the function to execute - - - - - options - - - Either TokyoTyrant::RDBXO_LCKREC for record locking and - TokyoTyrant::RDBXO_LCKGLB for global locking. - - - - - key - - - The key to pass to the function - - - - - value - - - The value to pass to the function - - - - - - - - - &reftitle.returnvalues; - - Returns the result of the script function - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::ext</methodname> example - -ext("somefunc", TokyoTyrant::RDBXO_LCKREC, "some_key", "some_value"); -?> -]]> - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/fwmkeys.xml b/reference/tokyo_tyrant/tokyotyrant/fwmkeys.xml deleted file mode 100644 index 7062446e19..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/fwmkeys.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - TokyoTyrant::fwmKeys - Returns the forward matching keys - - - - &reftitle.description; - - public arrayTokyoTyrant::fwmKeys - stringprefix - intmax_recs - - - Returns the forward matching keys from the database - - - - - &reftitle.parameters; - - - - prefix - - - Prefix of the keys - - - - - max_recs - - - Maximum records to return - - - - - - - - - &reftitle.returnvalues; - - Returns an array of matching keys. The values are not returned - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::fwmKeys</methodname> example - -put("key_" . $i, "value_" . $i); -} - -/* Create 20 non-macthing keys */ -for ($i = 0; $i < 20; $i++) { - $tt->put("something_" . $i, "data_" . $i); -} - -/* Get five matching keys */ -var_dump($tt->fwmKeys("key_", 5)); -?> -]]> - - &example.outputs.similar; - - - string(5) "key_5" - [1]=> - string(6) "key_14" - [2]=> - string(5) "key_6" - [3]=> - string(6) "key_15" - [4]=> - string(5) "key_7" -} -]]> - - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/get.xml b/reference/tokyo_tyrant/tokyotyrant/get.xml deleted file mode 100644 index 6758a9d387..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/get.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - TokyoTyrant::get - The get purpose - - - - &reftitle.description; - - public mixedTokyoTyrant::get - mixedkeys - - - This method is used to return a value or multiple values. This method accepts a string - or an array as a value. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of string keys - - - - - - - - - &reftitle.returnvalues; - - Returns a string or an array based on the given parameters. Throws a TokyoTyrantException - on error. If string is passed null is returned if the key is not found. In case an array - is given as an parameter only existing keys will be returned. It is not an error to pass - a key that does not exist. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::get</methodname> example - -put("key1", "value1"); -$tt->put("key2", "value2"); -var_dump($tt->get(array("key1", "key2"))); -var_dump($tt->get("key1")); -?> -]]> - - &example.outputs; - - - string(6) "value1" - ["key2"]=> - string(6) "value2" -} -string(6) "value1" -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/getiterator.xml b/reference/tokyo_tyrant/tokyotyrant/getiterator.xml deleted file mode 100644 index 1ed0866f9c..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/getiterator.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - TokyoTyrant::getIterator - Get an iterator - - - - &reftitle.description; - - public TokyoTyrantIteratorTokyoTyrant::getIterator - - - - Gets an iterator for iterating all keys / values in the database. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::getIterator</methodname> example - -getIterator(); - -foreach ($it as $k => $v) { - -} -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::getQuery - TokyoTyrantTable::getIterator - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/num.xml b/reference/tokyo_tyrant/tokyotyrant/num.xml deleted file mode 100644 index 3d55bd5277..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/num.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - TokyoTyrant::num - Number of records in the database - - - - &reftitle.description; - - public intTokyoTyrant::num - - - - Returns the number of records in the database - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns number of records in the database - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::num</methodname> example - -num(); -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::stat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/out.xml b/reference/tokyo_tyrant/tokyotyrant/out.xml deleted file mode 100644 index 557c7ad3d2..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/out.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - TokyoTyrant::out - Removes records - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::out - mixedkeys - - - - Removes a record or multiple records. This method accepts a string for a single key - or an array of keys for multiple records. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of string keys - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::out</methodname> example - -put("test1", "value1"); -$tt->put("test2", "value2"); - -$tt->out(array("test1", "test2")); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/put.xml b/reference/tokyo_tyrant/tokyotyrant/put.xml deleted file mode 100644 index 95f2a2a52b..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/put.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - TokyoTyrant::put - Puts values - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::put - mixedkeys - stringvalueNULL - - - Puts a key-value pair into the database or multiple key-value pairs. If keys is - string then the second parameter value defines the value. - The second parameter is mandatory if keys is a string. If the key exists the value - will be replaced with new value. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of key-value pairs - - - - - value - - - The value in case a string key is used - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::put</methodname> example - -put("key", "value"); - -/* Put key-value pairs, new value overwrites the old */ -$tt->put(array("key1" => "value1", "key" => "value2")); - -/* Get back one key */ -echo $tt->get("key"); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::putKeep - TokyoTyrant::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/putcat.xml b/reference/tokyo_tyrant/tokyotyrant/putcat.xml deleted file mode 100644 index c2795d76dc..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/putcat.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - TokyoTyrant::putCat - Concatenates to a record - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::putCat - mixedkeys - stringvalue - - - Appends a value into existing key or multiple values if keys is an array. - The second parameter is mandatory if keys is a string. If the record does - not exist a new record is created. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of key-value pairs - - - - - value - - - The value in case a string key is used - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::putCat</methodname> example - -put("key", "value"); - -/* Concatenate single key-value pair */ -$tt->putCat("key", " has more data"); - -/* Echo the key */ -echo $tt->get("key"); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - TokyoTyrant::putKeep - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/putkeep.xml b/reference/tokyo_tyrant/tokyotyrant/putkeep.xml deleted file mode 100644 index b53f6850d8..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/putkeep.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - TokyoTyrant::putKeep - Puts a record - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::putKeep - mixedkeys - stringvalue - - - Puts a key-value pair into the database or multiple key-value pairs. If keys is - string then the second parameter value defines the value. - The second parameter is mandatory if keys is a string. If the key already - exists this method throws an exception indicating that the records exists. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of key-value pairs - - - - - value - - - The string value - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>tokyotyrant::putKeep</methodname> example - -put("key", "value"); - -try { - $tt->putKeep("key", "new value"); -} catch (TokyoTyrantException $e) { - if ($e->getCode() === TokyoTyrant::TTE_KEEP) { - echo "Existing record! Not modified\n"; - } else { - echo "Error: " , $e->getMessage() , "\n"; - } -} -echo $tt->get("key"); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - TokyoTyrant::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/putnr.xml b/reference/tokyo_tyrant/tokyotyrant/putnr.xml deleted file mode 100644 index d3ab70f72b..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/putnr.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - TokyoTyrant::putNr - Puts value - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::putNr - mixedkeys - stringvalueNULL - - - Puts a key-value pair into the database or multiple key-value pairs. If keys is - string then the second parameter value defines the value. - The second parameter is mandatory if keys is a string. This method does not wait - for the response from the server. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of key-value pairs - - - - - value - - - The value in case a string key is used - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::putNr</methodname> example - -putNr("key", "value"); - -/* Put key-value pairs */ -$tt->putNr(array("key1" => "value1", "key2" => "value2")); - -/* Get back one key */ -echo $tt->get("key1"); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::putNr - TokyoTyrant::putKeep - TokyoTyrant::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/putshl.xml b/reference/tokyo_tyrant/tokyotyrant/putshl.xml deleted file mode 100644 index ccce44ae95..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/putshl.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - TokyoTyrant::putShl - Concatenates to a record - - - - &reftitle.description; - - public mixedTokyoTyrant::putShl - stringkey - stringvalue - intwidth - - - Concatenate to a record and shift to left. - - - - - &reftitle.parameters; - - - - key - - - A string key - - - - - value - - - The value to concatenate - - - - - width - - - The width of the record - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::putShl</methodname> example - -put("key", "just a long piece of data"); - -/* Concatenate and shift to left */ -$tt->putShl("key", " and string", 15); - -/* Echo the key */ -echo $tt->get("key"); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrant::put - TokyoTyrant::putKeep - TokyoTyrant::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/restore.xml b/reference/tokyo_tyrant/tokyotyrant/restore.xml deleted file mode 100644 index ffcd6b477e..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/restore.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - TokyoTyrant::restore - Restore the database - - - - &reftitle.description; - - public mixedTokyoTyrant::restore - stringlog_dir - inttimestamp - boolcheck_consistency&true; - - - Restore the database from the update log. - - - - This method is not supported on 32bit platforms. - - - - - - &reftitle.parameters; - - - - log_dir - - - Directory where the log is - - - - - timestamp - - - Beginning timestamp with microseconds - - - - - check_consistency - - - Whether to check consistency: Default: &true; - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/setmaster.xml b/reference/tokyo_tyrant/tokyotyrant/setmaster.xml deleted file mode 100644 index c77068c419..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/setmaster.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - TokyoTyrant::setMaster - Set the replication master - - - - &reftitle.description; - - public mixedTokyoTyrant::setMaster - stringhost - intport - inttimestamp - boolcheck_consistency&true; - - - Sets the replication master of the database - - - - This method is not supported on 32bit platforms. - - - - - - &reftitle.parameters; - - - - host - - - Hostname of the replication master. If &null; the replication is disabled. - - - - - port - - - Port of the replication master - - - - - timestamp - - - Beginning timestamp with microseconds - - - - - check_consistency - - - Whether to check consistency. - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::setMaster</methodname> example - -setMaster(NULL, 0, 0); -?> -]]> - - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/size.xml b/reference/tokyo_tyrant/tokyotyrant/size.xml deleted file mode 100644 index 4361812cbd..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/size.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - TokyoTyrant::size - Returns the size of the value - - - - &reftitle.description; - - public intTokyoTyrant::size - stringkey - - - Returns the size of a value by key - - - - - &reftitle.parameters; - - - - key - - - The key of which size to fetch - - - - - - - - - &reftitle.returnvalues; - - Returns the size of the key or throw TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::size</methodname> example - -put("test_key", "12345"); - -echo $tt->size("test_key"); -?> -]]> - - &example.outputs; - - - - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/stat.xml b/reference/tokyo_tyrant/tokyotyrant/stat.xml deleted file mode 100644 index 5c637e2712..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/stat.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - TokyoTyrant::stat - Get statistics - - - - &reftitle.description; - - public arrayTokyoTyrant::stat - - - - Returns statistics of the remote database - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an array of key value pairs describing the statistics - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::stat</methodname> example - -stat()); -?> -]]> - - &example.outputs.similar; - - - string(6) "1.1.28" - ["libver"]=> - string(3) "311" - ["protver"]=> - string(4) "0.91" - ["os"]=> - string(5) "Linux" - ["time"]=> - string(17) "1247358357.665630" - ["pid"]=> - string(5) "14348" - ["sid"]=> - string(8) "59025947" - ["type"]=> - string(9) "on-memory" - ["path"]=> - string(1) "*" - ["rnum"]=> - string(1) "4" - ["size"]=> - string(6) "262856" - ["bigend"]=> - string(1) "0" - ["fd"]=> - string(1) "5" - ["loadavg"]=> - string(8) "0.000000" - ["memsize"]=> - string(8) "77328384" - ["memrss"]=> - string(7) "1183744" - ["ru_real"]=> - string(13) "162776.042152" - ["ru_user"]=> - string(8) "0.476029" - ["ru_sys"]=> - string(8) "8.652540" -} -]]> - - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/sync.xml b/reference/tokyo_tyrant/tokyotyrant/sync.xml deleted file mode 100644 index 7b420861da..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/sync.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - TokyoTyrant::sync - Synchronize the database - - - - &reftitle.description; - - public mixedTokyoTyrant::sync - - - - Synchronizes the database on to the physical device - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/tune.xml b/reference/tokyo_tyrant/tokyotyrant/tune.xml deleted file mode 100644 index 7034f9add3..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/tune.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - TokyoTyrant::tune - Tunes connection values - - - - &reftitle.description; - - public TokyoTyrantTokyoTyrant::tune - floattimeout - intoptionsTokyoTyrant::RDBT_RECON - - - Tunes database connection options. - - - - - &reftitle.parameters; - - - - timeout - - - The objects timeout value (default: 5.0) - - - - - options - - - Bitmask of options to tune. This can be either 0 or TokyoTyrant::RDBT_RECON. - It is recommended not to change the second parameter. - - - - - - - - - &reftitle.returnvalues; - - This method returns a reference to the current object and throws TokyoTyrantException on failure. - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrant/vanish.xml b/reference/tokyo_tyrant/tokyotyrant/vanish.xml deleted file mode 100644 index e909358611..0000000000 --- a/reference/tokyo_tyrant/tokyotyrant/vanish.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - TokyoTyrant::vanish - Empties the database - - - - &reftitle.description; - - public mixedTokyoTyrant::vanish - - - - Empties a remote database - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrant::vanish</methodname> example - -vanish(); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrant::out - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantexception.xml b/reference/tokyo_tyrant/tokyotyrantexception.xml deleted file mode 100644 index 829bf7389e..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantexception.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - The TokyoTyrantException class - TokyoTyrantException - - - - -
- &reftitle.intro; - - TokyoTyrantException - -
- - -
- &reftitle.classsynopsis; - - - - tokyotyrantexception - - - - - tokyotyrantexception - - - - extends - Exception - - - - &Properties; - - protected - int - code - - - &InheritedProperties; - - - &InheritedMethods; - - - - - -
- - - -
- &reftitle.properties; - - - code - - The exception code. This can be compared to TokyoTyrant::TTE_* constants - - - -
- - - -
- -
- - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator.xml b/reference/tokyo_tyrant/tokyotyrantiterator.xml deleted file mode 100644 index 4c64a5b852..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - The TokyoTyrantIterator class - TokyoTyrantIterator - - - - -
- &reftitle.intro; - - Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The iterator iterates over - all keys and values in the database. TokyoTyrantIterator was added in version 0.2.0. - -
- - -
- &reftitle.classsynopsis; - - - - TokyoTyrantIterator - - - - - TokyoTyrantIterator - - - - Iterator - - - - - Methods - - - Inherited methods - - - - - -
- -
- - &reference.tokyo-tyrant.entities.tokyotyrantiterator; - -
- - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/construct.xml b/reference/tokyo_tyrant/tokyotyrantiterator/construct.xml deleted file mode 100644 index 1c7e7cc189..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/construct.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - TokyoTyrantIterator::__construct - Construct an iterator - - - - &reftitle.description; - - public TokyoTyrantIterator::__construct - mixedobject - - - Construct a new TokyoTyrantIterator object. One connection can have multiple iterators but it is not quaranteed - that all items are traversed in that case. object parameter can be either an of instance - TokyoTyrant or TokyoTyrantTable. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Throws an exception if iterator initialization fails. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantIterator::__construct</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Construct an iterator */ -$it = new TokyoTyrantIterator($tt); - -foreach ($it as $value) { - var_dump($value); -} -?> -]]> - - &example.outputs; - - - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::key - TokyoTyrantIterator::current - TokyoTyrantIterator::next - TokyoTyrantIterator::rewind - TokyoTyrantIterator::key - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/current.xml b/reference/tokyo_tyrant/tokyotyrantiterator/current.xml deleted file mode 100644 index 6ec67871fa..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/current.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - TokyoTyrantIterator::current - Get the current value - - - - &reftitle.description; - - public mixedTokyoTyrantIterator::current - - - - Returns the current value during iteration. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current value on success and false on failure. - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::valid - TokyoTyrantIterator::key - TokyoTyrantIterator::next - TokyoTyrantIterator::rewind - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/key.xml b/reference/tokyo_tyrant/tokyotyrantiterator/key.xml deleted file mode 100644 index 1bb96bc645..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/key.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - TokyoTyrantIterator::key - Returns the current key - - - - &reftitle.description; - - public mixedTokyoTyrantIterator::key - - - - Returns the current key. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current key on success and false on failure. - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::valid - TokyoTyrantIterator::current - TokyoTyrantIterator::next - TokyoTyrantIterator::rewind - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/next.xml b/reference/tokyo_tyrant/tokyotyrantiterator/next.xml deleted file mode 100644 index fa7fc6ab47..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/next.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - TokyoTyrantIterator::next - Move to next key - - - - &reftitle.description; - - public mixedTokyoTyrantIterator::next - - - - Move to next key during iteration and return it's value. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the next value on success and false on failure. - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::valid - TokyoTyrantIterator::key - TokyoTyrantIterator::current - TokyoTyrantIterator::rewind - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/rewind.xml b/reference/tokyo_tyrant/tokyotyrantiterator/rewind.xml deleted file mode 100644 index 0621e2f025..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/rewind.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - TokyoTyrantIterator::rewind - Rewinds the iterator - - - - &reftitle.description; - - public voidTokyoTyrantIterator::rewind - - - - Rewinds the iterator for new iteration. Called automatically at the beginning of foreach. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Throws TokyoTyrantException if iterator initialization fails. - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::valid - TokyoTyrantIterator::current - TokyoTyrantIterator::next - TokyoTyrantIterator::rewind - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantiterator/valid.xml b/reference/tokyo_tyrant/tokyotyrantiterator/valid.xml deleted file mode 100644 index edbb27adf7..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantiterator/valid.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - TokyoTyrantIterator::valid - Rewinds the iterator - - - - &reftitle.description; - - public boolTokyoTyrantIterator::valid - - - - Checks whether the internal pointer points to valid element. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the current item is valid and &false; if not. - - - - - &reftitle.seealso; - - - TokyoTyrantIterator::key - TokyoTyrantIterator::current - TokyoTyrantIterator::next - TokyoTyrantIterator::rewind - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery.xml b/reference/tokyo_tyrant/tokyotyrantquery.xml deleted file mode 100644 index 42d34af223..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - The TokyoTyrantQuery class - TokyoTyrantQuery - - - - -
- &reftitle.intro; - - This class is used to query the table databases - -
- - -
- &reftitle.classsynopsis; - - - - TokyoTyrantQuery - - - - - TokyoTyrantQuery - - - - Iterator - - - - - - &Methods; - - - - -
- -
- - &reference.tokyo-tyrant.entities.tokyotyrantquery; - -
- - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/addcond.xml b/reference/tokyo_tyrant/tokyotyrantquery/addcond.xml deleted file mode 100644 index 063cfe1aee..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/addcond.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - TokyoTyrantQuery::addCond - Adds a condition to the query - - - - &reftitle.description; - - public mixedTokyoTyrantQuery::addCond - stringname - intop - stringexpr - - - Adds a condition to the query. Condition can be something like: get all keys which value - matches expr. - - - - - &reftitle.parameters; - - - - name - - - Name of the column in the condition - - - - - op - - - The operator. One of the TokyoTyrant::RDBQC_* constants - - - - - expr - - - The expression - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::addCond</methodname> example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "not here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Dump the search results */ -var_dump($query->search()); -?> -]]> - - &example.outputs; - - - array(2) { - ["column1"]=> - string(9) "some data" - ["column2"]=> - string(14) "something here" - } - [4]=> - array(2) { - ["column45"]=> - string(11) "random data" - ["column2"]=> - string(25) "something along the lines" - } -} -]]> - - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/construct.xml b/reference/tokyo_tyrant/tokyotyrantquery/construct.xml deleted file mode 100644 index c5b4c7f57d..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/construct.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - TokyoTyrantQuery::__construct - Construct a new query - - - - &reftitle.description; - - public TokyoTyrantQuery::__construct - TokyoTyrantTabletable - - - Construct a new query object - - - - - &reftitle.parameters; - - - - table - - - TokyoTyrantTable object with active database connection - - - - - - - - - &reftitle.returnvalues; - - Returns a new TokyoTyrantQuery object and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::__construct</methodname> example - - -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::getQuery - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/count.xml b/reference/tokyo_tyrant/tokyotyrantquery/count.xml deleted file mode 100644 index a63e435184..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/count.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - TokyoTyrantQuery::count - Counts records - - - - &reftitle.description; - - public intTokyoTyrantQuery::count - - - - Returns a count of how many records a query returns. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns a count of matching rows and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::count</methodname> example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "not here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Count the results */ -var_dump($query->count()); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::out - TokyoTyrantQuery::search - TokyoTyrantQuery::metaSearch - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/current.xml b/reference/tokyo_tyrant/tokyotyrantquery/current.xml deleted file mode 100644 index f8c11871eb..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/current.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - TokyoTyrantQuery::current - Returns the current element - - - - &reftitle.description; - - public arrayTokyoTyrantQuery::current - - - - Returns the current element. Part of Iterator interface - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current row - - - - - &reftitle.examples; - - - TokyoTyrantQuery iterator example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Iterate the results */ -foreach ($query as $key => $value) { - echo "pk: $key, columns: ", count($value) ,"\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/hint.xml b/reference/tokyo_tyrant/tokyotyrantquery/hint.xml deleted file mode 100644 index 1424c1fc36..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/hint.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - TokyoTyrantQuery::hint - Get the hint string of the query - - - - &reftitle.description; - - public stringTokyoTyrantQuery::hint - - - - Get the hint string of the query. The hint string contains information about an executed query and - it could be compared to for example MySQL EXPLAIN statement. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method always returns a string - - - - - &reftitle.examples; - - - TokyoTyrantQuery::hint example - -vanish(); - -for ($i = 0; $i < 11; $i++) { - $tt->put(null, array('a_col' => 'a' . $i, 'b_col' => 'b' . $i)); -} - -$query = $tt->getQuery(); -$query->addCond('a_col', TokyoTyrant::RDBQC_STRBW, 'a'); - -$query->search(); -var_dump($query->hint()); -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/key.xml b/reference/tokyo_tyrant/tokyotyrantquery/key.xml deleted file mode 100644 index be40d82e22..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/key.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - TokyoTyrantQuery::key - Returns the current key - - - - &reftitle.description; - - public stringTokyoTyrantQuery::key - - - - Returns the current key. Part of the Iterator interface - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current key and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - TokyoTyrantQuery iterator example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Iterate the results */ -foreach ($query as $key => $value) { - echo "pk: $key, columns: ", count($value) ,"\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/metasearch.xml b/reference/tokyo_tyrant/tokyotyrantquery/metasearch.xml deleted file mode 100644 index c4c4a2c606..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/metasearch.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - TokyoTyrantQuery::metaSearch - Retrieve records with multiple queries - - - - &reftitle.description; - - public arrayTokyoTyrantQuery::metaSearch - arrayqueries - inttype - - - Executes multiple queries on a database and returns matching records. The current object - is always the left most object in the search. - - - - - &reftitle.parameters; - - - - queries - - - Array of TokyoTyrantQuery objects - - - - - type - - - One of the TokyoTyrant::RDBMS_* constants - - - - - - - - - &reftitle.returnvalues; - - Returns the matching rows and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::metaSearch</methodname> example - -put('cherry', array('color' => 'red')); -$tt->put('strawberry', array('color' => 'red')); -$tt->put('apple', array('color' => 'green')); -$tt->put('lemon', array('color' => 'yellow')); - -/* First query */ -$query = $tt->getQuery(); -$query->addCond('color', TokyoTyrant::RDBQC_STREQ, 'red')->setOrder('color', TokyoTyrant::RDBQO_STRASC); - -/* Second query */ -$query1 = $tt->getQuery(); -$query1->addCond('color', TokyoTyrant::RDBQC_STREQ, 'yellow'); - -/* Get union between the queries */ -var_dump($query->metaSearch(array($query1), TokyoTyrant::RDBMS_UNION)); -?> -]]> - - &example.outputs; - - - array(1) { - ["color"]=> - string(3) "red" - } - ["strawberry"]=> - array(1) { - ["color"]=> - string(3) "red" - } - ["lemon"]=> - array(1) { - ["color"]=> - string(6) "yellow" - } -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::search - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/next.xml b/reference/tokyo_tyrant/tokyotyrantquery/next.xml deleted file mode 100644 index f9dbc98f8f..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/next.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - TokyoTyrantQuery::next - Moves the iterator to next entry - - - - &reftitle.description; - - public arrayTokyoTyrantQuery::next - - - - Returns the next result in the resultset. Part of the Iterator interface. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the next row and throws TokyoTyrantException on error. - - - - - &reftitle.examples; - - - TokyoTyrantQuery iterator example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Iterate the results */ -foreach ($query as $key => $value) { - echo "pk: $key, columns: ", count($value) ,"\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/out.xml b/reference/tokyo_tyrant/tokyotyrantquery/out.xml deleted file mode 100644 index 0b0b5ed176..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/out.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - TokyoTyrantQuery::out - Removes records based on query - - - - &reftitle.description; - - public TokyoTyrantQueryTokyoTyrantQuery::out - - - - Removes all records that match the query. Works exactly like search but removes the records instead - of returning them. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::out</methodname> example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Remove matching records */ -$query->out(); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/rewind.xml b/reference/tokyo_tyrant/tokyotyrantquery/rewind.xml deleted file mode 100644 index d8bf0f006e..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/rewind.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - TokyoTyrantQuery::rewind - Rewinds the iterator - - - - &reftitle.description; - - public boolTokyoTyrantQuery::rewind - - - - Rewind the resultset and executes the query if it has not been executed. Part of the Iterator interface. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; - - - - - &reftitle.examples; - - - TokyoTyrantQuery iterator example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Iterate the results */ -foreach ($query as $key => $value) { - echo "pk: $key, columns: ", count($value) ,"\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/search.xml b/reference/tokyo_tyrant/tokyotyrantquery/search.xml deleted file mode 100644 index 45720bae71..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/search.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - TokyoTyrantQuery::search - Searches records - - - - &reftitle.description; - - public arrayTokyoTyrantQuery::search - - - - Executes a search on the table database. Returns an array of arrays containing the matching records. - In the returned array the first level is the primary key of the data and the second level is the row data. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the matching rows and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantQuery::search</methodname> example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "not here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Dump the search results */ -var_dump($query->search()); -?> -]]> - - &example.outputs; - - - array(2) { - ["column1"]=> - string(9) "some data" - ["column2"]=> - string(14) "something here" - } - [4]=> - array(2) { - ["column45"]=> - string(11) "random data" - ["column2"]=> - string(25) "something along the lines" - } -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::out - TokyoTyrantQuery::metaSearch - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/setlimit.xml b/reference/tokyo_tyrant/tokyotyrantquery/setlimit.xml deleted file mode 100644 index 2269cdf938..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/setlimit.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - TokyoTyrantQuery::setLimit - Limit results - - - - &reftitle.description; - - public mixedTokyoTyrantQuery::setLimit - intmax - intskip - - - Set the maximum amount of records to return on a query. - - - - - &reftitle.parameters; - - - - max - - - Maximum amount of records. Default: -1 - - - - - skip - - - How many records to skip from the start. Default: -1 - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/setorder.xml b/reference/tokyo_tyrant/tokyotyrantquery/setorder.xml deleted file mode 100644 index 00138c4ca1..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/setorder.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - TokyoTyrantQuery::setOrder - Orders results - - - - &reftitle.description; - - public mixedTokyoTyrantQuery::setOrder - stringname - inttype - - - Sets the order of a query - - - - - &reftitle.parameters; - - - - name - - - The column name to apply the ordering on. - - - - - type - - - The type can be one of the following - constants: - - - - - TokyoTyrant::RDBQO_STRASC - String ascending - - - - - TokyoTyrant::RDBQO_STRDESC - String descending - - - - - TokyoTyrant::RDBQO_NUMASC - Numberic ascending - - - - - TokyoTyrant::RDBQO_NUMDESC - String descending - - - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object. - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyrantquery/valid.xml b/reference/tokyo_tyrant/tokyotyrantquery/valid.xml deleted file mode 100644 index 7728e02335..0000000000 --- a/reference/tokyo_tyrant/tokyotyrantquery/valid.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - TokyoTyrantQuery::valid - Checks the validity of current item - - - - &reftitle.description; - - public boolTokyoTyrantQuery::valid - - - - Checks if the current item is valid. Part of the Iterator interface - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if the current item is valid and &false; if not. - - - - - &reftitle.examples; - - - TokyoTyrantQuery iterator example - -put(null, array("column1" => "some data", "column2" => "something here")); -$tt->put(null, array("column1" => "more data", "column2" => "best data this far")); -$tt->put(null, array("column1" => "again data", "column3" => "foobar here")); -$tt->put(null, array("column45" => "random data", "column2" => "something along the lines")); -$tt->put(null, array("column21" => "test data", "column2" => "generating..")); -$tt->put(null, array("column1" => "foobar data", "column2" => "value here")); - -/* Get a new query object */ -$query = $tt->getQuery(); - -/* Add a search condition */ -$query->addCond("column2", TokyoTyrant::RDBQC_STROR, "something"); - -/* Iterate the results */ -foreach ($query as $key => $value) { - echo "pk: $key, columns: ", count($value) ,"\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::addCond - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable.xml b/reference/tokyo_tyrant/tokyotyranttable.xml deleted file mode 100644 index 2f8b10d599..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - The TokyoTyrantTable class - TokyoTyrantTable - - - - -
- &reftitle.intro; - - Provides an API to the table databases. A table database can be create using the following - command: ttserver -port 1979 /tmp/tt_table.tct. In Tokyo Tyrant the table - API is a schemaless database which can store arbitrary amount of key-value pairs under a single - primary key. - -
- - -
- &reftitle.classsynopsis; - - - - TokyoTyrantTable - - - - - TokyoTyrantTable - - - - extends - TokyoTyrant - - - - - &Methods; - - - &InheritedMethods; - - - - - -
- -
- - &reference.tokyo-tyrant.entities.tokyotyranttable; - -
- - diff --git a/reference/tokyo_tyrant/tokyotyranttable/add.xml b/reference/tokyo_tyrant/tokyotyranttable/add.xml deleted file mode 100644 index ded5b81ce1..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/add.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - TokyoTyrantTable::add - Adds a record - - - - &reftitle.description; - - public voidTokyoTyrantTable::add - stringkey - mixedincrement - stringtype - - - This method is not supported with table databases. - - - - - &reftitle.parameters; - - - - key - - - The string key - - - - - increment - - - The amount to increment - - - - - type - - - TokyoTyrant::RDB_RECINT or TokyoTyrant::RDB_RECDBL constant. - If this parameter is omitted the type is guessed from the increment - parameters type. - - - - - - - - - &reftitle.returnvalues; - - This method throws an TokyoTyrantException if used through this class. - - - - - - &reftitle.seealso; - - - TokyoTyrant::add - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/genuid.xml b/reference/tokyo_tyrant/tokyotyranttable/genuid.xml deleted file mode 100644 index 1da711718e..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/genuid.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - TokyoTyrantTable::genUid - Generate unique id - - - - &reftitle.description; - - public intTokyoTyrantTable::genUid - - - - Generates an unique id inside the table database. In table databases rows are referenced - using a numeric primary key. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an unique id or throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::genUid</methodname> example - -genUid(); -?> -]]> - - &example.outputs.similar; - - - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/get.xml b/reference/tokyo_tyrant/tokyotyranttable/get.xml deleted file mode 100644 index 918c391754..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/get.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - TokyoTyrantTable::get - Get a row - - - - &reftitle.description; - - public arrayTokyoTyrantTable::get - mixedkeys - - - Gets a row from table database. keys is a single integer for - the primary key of the row or an array of integers for multiple rows. - - - - - &reftitle.parameters; - - - - keys - - - The primary key, can be a string or an integer - - - - - - - - - &reftitle.returnvalues; - - Returns the row as an array - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::get</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Get the row back */ -var_dump($tt->get($index)); -?> -]]> - - &example.outputs; - - - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -]]> - - - - - - - &reftitle.notes; - - - Starting from version 0.3.0 this method accepts array as parameter. Please note - that multi-get on tables is not binary-safe. - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/getiterator.xml b/reference/tokyo_tyrant/tokyotyranttable/getiterator.xml deleted file mode 100644 index 9bfa003b81..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/getiterator.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - TokyoTyrantTable::getIterator - Get an iterator - - - - &reftitle.description; - - public TokyoTyrantIteratorTokyoTyrantTable::getIterator - - - - Gets an iterator for iterating all keys / values in the database. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This method returns TokyoTyrantIterator object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::getIterator</methodname> example - -getIterator(); - -foreach ($it as $k => $v) { - var_dump($k, $v); -} -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::getQuery - TokyoTyrant::getIterator - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/getquery.xml b/reference/tokyo_tyrant/tokyotyranttable/getquery.xml deleted file mode 100644 index ec46775abf..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/getquery.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - TokyoTyrantTable::getQuery - Get a query object - - - - &reftitle.description; - - public TokyoTyrantQueryTokyoTyrantTable::getQuery - - - - Get a query object to execute searches on the database - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns TokyoTyrantQuery on success and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::getQuery</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); -$table->put(null, array("something" => "value", "data" => "good data")); - -/* Get query object */ -$query = $table->getQuery(); - -/* Add condition to query */ -$query->addCond('data', TokyoTyrant::RDBQC_STREQ, 'good data'); - -/* Get matching rows */ -var_dump($query->search()); -?> -]]> - - &example.outputs.similar; - - - array(2) { - ["something"]=> - string(5) "value" - ["data"]=> - string(9) "good data" - } -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantQuery::search - TokyoTyrantQuery::out - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/out.xml b/reference/tokyo_tyrant/tokyotyranttable/out.xml deleted file mode 100644 index 6dec42b787..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/out.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - TokyoTyrantTable::out - Remove records - - - - &reftitle.description; - - public voidTokyoTyrantTable::out - mixedkeys - - - - Removes records from a table database. - - - - - &reftitle.parameters; - - - - keys - - - A single integer key or an array of integers - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::out</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Delete the row */ -$tt->out($index); -?> -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/put.xml b/reference/tokyo_tyrant/tokyotyranttable/put.xml deleted file mode 100644 index 8d0983dab8..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/put.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - TokyoTyrantTable::put - Store a row - - - - &reftitle.description; - - public intTokyoTyrantTable::put - stringkey - arraycolumns - - - Puts a new row into the database. This method parameters are key which is - the primary key of the row, passing &null; will generate a new unique id. value - is an array containing the row contents which is usually key value pairs. - - - - - &reftitle.parameters; - - - - key - - - The primary key of the row - - - - - columns - - - The row contents - - - - - - - - - &reftitle.returnvalues; - - Returns the primary key on success and throws TokyoTyrantException on error - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::put</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Get the row back */ -var_dump($tt->get($index)); - -/* Modify an existing row */ -$tt->put($index, array("column1" => "other data", "column2" => "better data")); - -/* Get the row back */ -var_dump($tt->get($index)); -?> -]]> - - &example.outputs; - - - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -array(2) { - ["column1"]=> - string(10) "other data" - ["column2"]=> - string(11) "better data" -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::get - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/putcat.xml b/reference/tokyo_tyrant/tokyotyranttable/putcat.xml deleted file mode 100644 index 786d1769de..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/putcat.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - TokyoTyrantTable::putCat - Concatenates to a row - - - - &reftitle.description; - - public voidTokyoTyrantTable::putCat - stringkey - arraycolumns - - - This method can be used to add new columns to existing records. Existing keys will be left unmodified - but any new columns will be appended to the row. Passing null as key will generate a new row. - - - - - &reftitle.parameters; - - - - key - - - The primary key of the row or &null; - - - - - columns - - - Array of row contents - - - - - - - - - &reftitle.returnvalues; - - Returns the primary key and throws TokyoTyrantException on error. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::putCat</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Get the row back */ -var_dump($tt->get($index)); - -/* Modify an existing row */ -$tt->putcat($index, array("column1" => "something new", "new_column" => "other data")); - -/* Get the row back */ -var_dump($tt->get($index)); -?> -]]> - - &example.outputs; - - - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -array(3) { - ["column1"]=> - string(9) "some data" - ["column2"]=> - string(9) "more data" - ["new_column"]=> - string(10) "other data" -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/putkeep.xml b/reference/tokyo_tyrant/tokyotyranttable/putkeep.xml deleted file mode 100644 index eca07ce059..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/putkeep.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - TokyoTyrantTable::putKeep - Put a new record - - - - &reftitle.description; - - public voidTokyoTyrantTable::putKeep - stringkey - arraycolumns - - - Puts a new record into the database. If the key already exists this method throws an exception - indicating that the records exists. - - - - - &reftitle.parameters; - - - - key - - - The primary key of the row or &null; - - - - - columns - - - Array of the row contents - - - - - - - - - &reftitle.returnvalues; - - Returns the primary key and throws TokyoTyrantException on error. - - - - - &reftitle.examples; - - - <methodname>TokyoTyrantTable::putKeep</methodname> example - -put(null, array("column1" => "some data", "column2" => "more data")); - -/* Get the row back */ -var_dump($tt->get($index)); - -try { - $tt->putKeep($index, array("column1" => "something new", "new_column" => "other data")); -} catch (TokyoTyrantException $e) { - if ($e->getCode() === TokyoTyrant::TTE_KEEP) { - echo "Existing record! Not modified\n"; - } else { - echo "Error: " , $e->getMessage() , "\n"; - } -} - -/* Get the row back */ -var_dump($tt->get($index)); -?> -]]> - - &example.outputs.similar; - - - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -Existing record! Not modified -array(2) { - ["column1"]=> - string(9) "some data" - ["column2"]=> - string(9) "more data" -} -]]> - - - - - - - &reftitle.seealso; - - - TokyoTyrantTable::put - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/putnr.xml b/reference/tokyo_tyrant/tokyotyranttable/putnr.xml deleted file mode 100644 index 9cd581b984..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/putnr.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - TokyoTyrantTable::putNr - Puts value - - - - &reftitle.description; - - public voidTokyoTyrantTable::putNr - mixedkeys - stringvalue - - - This method is not supported on table databases. Calling this method through TokyoTyrantTable - is considered an error and an TokyoTyrantException will be thrown. - - - - - &reftitle.parameters; - - - - keys - - - A string key or an array of key-value pairs - - - - - value - - - The value in case a string key is used - - - - - - - - - &reftitle.returnvalues; - - This method is not supported on table databases. Calling this method through TokyoTyrantTable - is considered an error and an TokyoTyrantException will be thrown. - - - - - &reftitle.seealso; - - - TokyoTyrant::putNr - TokyoTyrant::putKeep - TokyoTyrant::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/putshl.xml b/reference/tokyo_tyrant/tokyotyranttable/putshl.xml deleted file mode 100644 index 3c555b7017..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/putshl.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - TokyoTyrantTable::putShl - Concatenates to a record - - - - &reftitle.description; - - public voidTokyoTyrantTable::putShl - stringkey - stringvalue - intwidth - - - This method is not supported on table databases. Calling this method through TokyoTyrantTable - is considered an error and an TokyoTyrantException will be thrown. - - - - - &reftitle.parameters; - - - - key - - - A string key - - - - - value - - - The value to concatenate - - - - - width - - - The width of the record - - - - - - - - - &reftitle.returnvalues; - - This method is not supported on table databases. - - - - - &reftitle.seealso; - - - TokyoTyrant::put - TokyoTyrant::putKeep - TokyoTyrant::putCat - TokyoTyrantTable::put - TokyoTyrantTable::putKeep - TokyoTyrantTable::putCat - - - - - - - diff --git a/reference/tokyo_tyrant/tokyotyranttable/setindex.xml b/reference/tokyo_tyrant/tokyotyranttable/setindex.xml deleted file mode 100644 index 1b2da7bfc3..0000000000 --- a/reference/tokyo_tyrant/tokyotyranttable/setindex.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - TokyoTyrantTable::setIndex - Sets index - - - - &reftitle.description; - - public mixedTokyoTyrantTable::setIndex - stringcolumn - inttype - - - Sets an index on a specified column. The index type is one of the TokyoTyrant::RDBIT_* constants. - Passing TokyoTyrant::RDBIT_VOID removes the index. - - - - - &reftitle.parameters; - - - - column - - - The name of the column - - - - - type - - - The index type - - - - - - - - - &reftitle.returnvalues; - - This method returns the current object and throws TokyoTyrantException on failure. - - - - - - diff --git a/reference/tokyo_tyrant/versions.xml b/reference/tokyo_tyrant/versions.xml deleted file mode 100644 index a0df1b535c..0000000000 --- a/reference/tokyo_tyrant/versions.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 1d00d0ad21c0eb626e224d2ed586a20ad7271bc7 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 24 May 2021 19:28:15 +0100 Subject: [PATCH 187/444] Remove stats extension docs --- appendices/extensions.xml | 2 - reference/stats/book.xml | 47 ---- reference/stats/constants.xml | 29 --- .../functions/stats-absolute-deviation.xml | 142 ---------- reference/stats/functions/stats-cdf-beta.xml | 221 ---------------- .../stats/functions/stats-cdf-binomial.xml | 221 ---------------- .../stats/functions/stats-cdf-cauchy.xml | 221 ---------------- .../stats/functions/stats-cdf-chisquare.xml | 201 --------------- .../stats/functions/stats-cdf-exponential.xml | 201 --------------- reference/stats/functions/stats-cdf-f.xml | 221 ---------------- reference/stats/functions/stats-cdf-gamma.xml | 221 ---------------- .../stats/functions/stats-cdf-laplace.xml | 221 ---------------- .../stats/functions/stats-cdf-logistic.xml | 221 ---------------- .../functions/stats-cdf-negative-binomial.xml | 221 ---------------- .../stats-cdf-noncentral-chisquare.xml | 222 ---------------- .../functions/stats-cdf-noncentral-f.xml | 244 ------------------ .../functions/stats-cdf-noncentral-t.xml | 221 ---------------- .../stats/functions/stats-cdf-normal.xml | 220 ---------------- .../stats/functions/stats-cdf-poisson.xml | 200 -------------- reference/stats/functions/stats-cdf-t.xml | 201 --------------- .../stats/functions/stats-cdf-uniform.xml | 221 ---------------- .../stats/functions/stats-cdf-weibull.xml | 221 ---------------- .../stats/functions/stats-covariance.xml | 152 ----------- reference/stats/functions/stats-dens-beta.xml | 162 ------------ .../stats/functions/stats-dens-cauchy.xml | 162 ------------ .../stats/functions/stats-dens-chisquare.xml | 153 ----------- .../functions/stats-dens-exponential.xml | 153 ----------- reference/stats/functions/stats-dens-f.xml | 162 ------------ .../stats/functions/stats-dens-gamma.xml | 162 ------------ .../stats/functions/stats-dens-laplace.xml | 162 ------------ .../stats/functions/stats-dens-logistic.xml | 162 ------------ .../stats/functions/stats-dens-normal.xml | 163 ------------ .../functions/stats-dens-pmf-binomial.xml | 162 ------------ .../stats-dens-pmf-hypergeometric.xml | 172 ------------ .../stats-dens-pmf-negative-binomial.xml | 162 ------------ .../functions/stats-dens-pmf-poisson.xml | 152 ----------- reference/stats/functions/stats-dens-t.xml | 153 ----------- .../stats/functions/stats-dens-uniform.xml | 161 ------------ .../stats/functions/stats-dens-weibull.xml | 162 ------------ .../stats/functions/stats-harmonic-mean.xml | 143 ---------- reference/stats/functions/stats-kurtosis.xml | 143 ---------- .../stats/functions/stats-rand-gen-beta.xml | 154 ----------- .../functions/stats-rand-gen-chisquare.xml | 143 ---------- .../functions/stats-rand-gen-exponential.xml | 143 ---------- .../stats/functions/stats-rand-gen-f.xml | 153 ----------- .../functions/stats-rand-gen-funiform.xml | 152 ----------- .../stats/functions/stats-rand-gen-gamma.xml | 155 ----------- .../stats-rand-gen-ibinomial-negative.xml | 152 ----------- .../functions/stats-rand-gen-ibinomial.xml | 152 ----------- .../stats/functions/stats-rand-gen-int.xml | 135 ---------- .../functions/stats-rand-gen-ipoisson.xml | 142 ---------- .../functions/stats-rand-gen-iuniform.xml | 152 ----------- .../stats-rand-gen-noncentral-chisquare.xml | 151 ----------- .../functions/stats-rand-gen-noncentral-f.xml | 162 ------------ .../functions/stats-rand-gen-noncentral-t.xml | 152 ----------- .../stats/functions/stats-rand-gen-normal.xml | 152 ----------- .../stats/functions/stats-rand-gen-t.xml | 142 ---------- .../stats/functions/stats-rand-get-seeds.xml | 134 ---------- .../functions/stats-rand-phrase-to-seeds.xml | 142 ---------- reference/stats/functions/stats-rand-ranf.xml | 135 ---------- .../stats/functions/stats-rand-setall.xml | 152 ----------- reference/stats/functions/stats-skew.xml | 144 ----------- .../functions/stats-standard-deviation.xml | 151 ----------- .../functions/stats-stat-binomial-coef.xml | 151 ----------- .../functions/stats-stat-correlation.xml | 152 ----------- .../stats/functions/stats-stat-factorial.xml | 139 ---------- .../functions/stats-stat-independent-t.xml | 155 ----------- .../functions/stats-stat-innerproduct.xml | 152 ----------- .../stats/functions/stats-stat-paired-t.xml | 152 ----------- .../stats/functions/stats-stat-percentile.xml | 151 ----------- .../stats/functions/stats-stat-powersum.xml | 151 ----------- reference/stats/functions/stats-variance.xml | 153 ----------- reference/stats/reference.xml | 29 --- reference/stats/setup.xml | 68 ----- reference/stats/versions.xml | 107 -------- 75 files changed, 11953 deletions(-) delete mode 100644 reference/stats/book.xml delete mode 100644 reference/stats/constants.xml delete mode 100644 reference/stats/functions/stats-absolute-deviation.xml delete mode 100644 reference/stats/functions/stats-cdf-beta.xml delete mode 100644 reference/stats/functions/stats-cdf-binomial.xml delete mode 100644 reference/stats/functions/stats-cdf-cauchy.xml delete mode 100644 reference/stats/functions/stats-cdf-chisquare.xml delete mode 100644 reference/stats/functions/stats-cdf-exponential.xml delete mode 100644 reference/stats/functions/stats-cdf-f.xml delete mode 100644 reference/stats/functions/stats-cdf-gamma.xml delete mode 100644 reference/stats/functions/stats-cdf-laplace.xml delete mode 100644 reference/stats/functions/stats-cdf-logistic.xml delete mode 100644 reference/stats/functions/stats-cdf-negative-binomial.xml delete mode 100644 reference/stats/functions/stats-cdf-noncentral-chisquare.xml delete mode 100644 reference/stats/functions/stats-cdf-noncentral-f.xml delete mode 100644 reference/stats/functions/stats-cdf-noncentral-t.xml delete mode 100644 reference/stats/functions/stats-cdf-normal.xml delete mode 100644 reference/stats/functions/stats-cdf-poisson.xml delete mode 100644 reference/stats/functions/stats-cdf-t.xml delete mode 100644 reference/stats/functions/stats-cdf-uniform.xml delete mode 100644 reference/stats/functions/stats-cdf-weibull.xml delete mode 100644 reference/stats/functions/stats-covariance.xml delete mode 100644 reference/stats/functions/stats-dens-beta.xml delete mode 100644 reference/stats/functions/stats-dens-cauchy.xml delete mode 100644 reference/stats/functions/stats-dens-chisquare.xml delete mode 100644 reference/stats/functions/stats-dens-exponential.xml delete mode 100644 reference/stats/functions/stats-dens-f.xml delete mode 100644 reference/stats/functions/stats-dens-gamma.xml delete mode 100644 reference/stats/functions/stats-dens-laplace.xml delete mode 100644 reference/stats/functions/stats-dens-logistic.xml delete mode 100644 reference/stats/functions/stats-dens-normal.xml delete mode 100644 reference/stats/functions/stats-dens-pmf-binomial.xml delete mode 100644 reference/stats/functions/stats-dens-pmf-hypergeometric.xml delete mode 100644 reference/stats/functions/stats-dens-pmf-negative-binomial.xml delete mode 100644 reference/stats/functions/stats-dens-pmf-poisson.xml delete mode 100644 reference/stats/functions/stats-dens-t.xml delete mode 100644 reference/stats/functions/stats-dens-uniform.xml delete mode 100644 reference/stats/functions/stats-dens-weibull.xml delete mode 100644 reference/stats/functions/stats-harmonic-mean.xml delete mode 100644 reference/stats/functions/stats-kurtosis.xml delete mode 100644 reference/stats/functions/stats-rand-gen-beta.xml delete mode 100644 reference/stats/functions/stats-rand-gen-chisquare.xml delete mode 100644 reference/stats/functions/stats-rand-gen-exponential.xml delete mode 100644 reference/stats/functions/stats-rand-gen-f.xml delete mode 100644 reference/stats/functions/stats-rand-gen-funiform.xml delete mode 100644 reference/stats/functions/stats-rand-gen-gamma.xml delete mode 100644 reference/stats/functions/stats-rand-gen-ibinomial-negative.xml delete mode 100644 reference/stats/functions/stats-rand-gen-ibinomial.xml delete mode 100644 reference/stats/functions/stats-rand-gen-int.xml delete mode 100644 reference/stats/functions/stats-rand-gen-ipoisson.xml delete mode 100644 reference/stats/functions/stats-rand-gen-iuniform.xml delete mode 100644 reference/stats/functions/stats-rand-gen-noncentral-chisquare.xml delete mode 100644 reference/stats/functions/stats-rand-gen-noncentral-f.xml delete mode 100644 reference/stats/functions/stats-rand-gen-noncentral-t.xml delete mode 100644 reference/stats/functions/stats-rand-gen-normal.xml delete mode 100644 reference/stats/functions/stats-rand-gen-t.xml delete mode 100644 reference/stats/functions/stats-rand-get-seeds.xml delete mode 100644 reference/stats/functions/stats-rand-phrase-to-seeds.xml delete mode 100644 reference/stats/functions/stats-rand-ranf.xml delete mode 100644 reference/stats/functions/stats-rand-setall.xml delete mode 100644 reference/stats/functions/stats-skew.xml delete mode 100644 reference/stats/functions/stats-standard-deviation.xml delete mode 100644 reference/stats/functions/stats-stat-binomial-coef.xml delete mode 100644 reference/stats/functions/stats-stat-correlation.xml delete mode 100644 reference/stats/functions/stats-stat-factorial.xml delete mode 100644 reference/stats/functions/stats-stat-independent-t.xml delete mode 100644 reference/stats/functions/stats-stat-innerproduct.xml delete mode 100644 reference/stats/functions/stats-stat-paired-t.xml delete mode 100644 reference/stats/functions/stats-stat-percentile.xml delete mode 100644 reference/stats/functions/stats-stat-powersum.xml delete mode 100644 reference/stats/functions/stats-variance.xml delete mode 100644 reference/stats/reference.xml delete mode 100644 reference/stats/setup.xml delete mode 100644 reference/stats/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 90712b2c1a..1f12083846 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -144,7 +144,6 @@ - @@ -357,7 +356,6 @@ - diff --git a/reference/stats/book.xml b/reference/stats/book.xml deleted file mode 100644 index dc8a7ea134..0000000000 --- a/reference/stats/book.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - Statistics - - - - &reftitle.intro; - - This is the statistics extension. It contains few dozens of functions - useful for statistical computations. It is a wrapper around 2 scientific - libraries, namely DCDFLIB (Library of C routines for Cumulative - Distributions Functions, Inverses, and Other parameters) by B. Brown & - J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. - Includes CD and PD functions. - - - - - &reference.stats.setup; - &reference.stats.constants; - &reference.stats.reference; - - - - - diff --git a/reference/stats/constants.xml b/reference/stats/constants.xml deleted file mode 100644 index db0033b20f..0000000000 --- a/reference/stats/constants.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - &reftitle.constants; - &no.constants; - - - - diff --git a/reference/stats/functions/stats-absolute-deviation.xml b/reference/stats/functions/stats-absolute-deviation.xml deleted file mode 100644 index e79c08d859..0000000000 --- a/reference/stats/functions/stats-absolute-deviation.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - stats_absolute_deviation - Returns the absolute deviation of an array of values - - - &reftitle.description; - - floatstats_absolute_deviation - arraya - - - Returns the absolute deviation of the values in a. - - - - &reftitle.parameters; - - - - a - - - The input array - - - - - - - - - &reftitle.returnvalues; - - Returns the absolute deviation of the values in a, - or &false; if a is empty or is not an array. - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-cdf-beta.xml b/reference/stats/functions/stats-cdf-beta.xml deleted file mode 100644 index b20ecf6bff..0000000000 --- a/reference/stats/functions/stats-cdf-beta.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_beta - Calculates any one parameter of the beta distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_beta - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the beta distribution. The kind of the return value and parameters (par1, - par2, and par3) are determined by - which. - - - The following table lists the return value and parameters by which. - CDF, x, alpha, and beta denotes cumulative distribution function, the value of the random - variable, and shape parameters of the beta distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - alpha - beta - - - 2 - x - CDF - alpha - beta - - - 3 - alpha - x - CDF - beta - - - 4 - beta - x - CDF - alpha - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, alpha, or beta, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-binomial.xml b/reference/stats/functions/stats-cdf-binomial.xml deleted file mode 100644 index a9421844a6..0000000000 --- a/reference/stats/functions/stats-cdf-binomial.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_binomial - Calculates any one parameter of the binomial distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_binomial - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the binomial distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, n, and p denotes cumulative distribution function, the number of successes, - the number of trials, and the success rate for each trial, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - n - p - - - 2 - x - CDF - n - p - - - 3 - n - x - CDF - p - - - 4 - p - x - CDF - n - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, n, or p, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-cauchy.xml b/reference/stats/functions/stats-cdf-cauchy.xml deleted file mode 100644 index 9245450d24..0000000000 --- a/reference/stats/functions/stats-cdf-cauchy.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_cauchy - Calculates any one parameter of the Cauchy distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_cauchy - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the Cauchy distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, x0, and gamma denotes cumulative distribution function, the value of the random - variable, the location and the scale parameter of the Cauchy distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - x0 - gamma - - - 2 - x - CDF - x0 - gamma - - - 3 - x0 - x - CDF - gamma - - - 4 - gamma - x - CDF - x0 - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, x0, or gamma, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-chisquare.xml b/reference/stats/functions/stats-cdf-chisquare.xml deleted file mode 100644 index 7f3764a670..0000000000 --- a/reference/stats/functions/stats-cdf-chisquare.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - stats_cdf_chisquare - Calculates any one parameter of the chi-square distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_chisquare - floatpar1 - floatpar2 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the chi-square distribution. The kind of the return value and parameters - (par1 and par2) are determined by - which. - - - The following table lists the return value and parameters by which. - CDF, x, and k denotes cumulative distribution function, the value of the random variable, - and the degree of freedom of the chi-square distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - - - - - 1 - CDF - x - k - - - 2 - x - CDF - k - - - 3 - k - x - CDF - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, or k, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-exponential.xml b/reference/stats/functions/stats-cdf-exponential.xml deleted file mode 100644 index b22f5fda63..0000000000 --- a/reference/stats/functions/stats-cdf-exponential.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - stats_cdf_exponential - Calculates any one parameter of the exponential distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_exponential - floatpar1 - floatpar2 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the exponential distribution. The kind of the return value and parameters - (par1 and par2) are determined by - which. - - - The following table lists the return value and parameters by which. - CDF, x, and lambda denotes cumulative distribution function, the value of the random - variable, and the rate parameter of the exponential distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - - - - - 1 - CDF - x - lambda - - - 2 - x - CDF - lambda - - - 3 - lambda - x - CDF - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, or lambda, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-f.xml b/reference/stats/functions/stats-cdf-f.xml deleted file mode 100644 index 18e5973624..0000000000 --- a/reference/stats/functions/stats-cdf-f.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_f - Calculates any one parameter of the F distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_f - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the F distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, d1, and d2 denotes cumulative distribution function, the value of the random - variable, and the degree of freedoms of the F distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - d1 - d2 - - - 2 - x - CDF - d1 - d2 - - - 3 - d1 - x - CDF - d2 - - - 4 - d2 - x - CDF - d1 - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, d1, or d2, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-gamma.xml b/reference/stats/functions/stats-cdf-gamma.xml deleted file mode 100644 index e58a70ec27..0000000000 --- a/reference/stats/functions/stats-cdf-gamma.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_gamma - Calculates any one parameter of the gamma distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_gamma - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the gamma distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, k, and theta denotes cumulative distribution function, the value of the random - variable, and the shape and the scale parameter of the gamma distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - k - theta - - - 2 - x - CDF - k - theta - - - 3 - k - x - CDF - theta - - - 4 - theta - x - CDF - k - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, k, or theta, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-laplace.xml b/reference/stats/functions/stats-cdf-laplace.xml deleted file mode 100644 index 38ef88db64..0000000000 --- a/reference/stats/functions/stats-cdf-laplace.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_laplace - Calculates any one parameter of the Laplace distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_laplace - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the Laplace distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, mu, and b denotes cumulative distribution function, the value of the random - variable, and the location and the scale parameter of the Laplace distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - mu - b - - - 2 - x - CDF - mu - b - - - 3 - mu - x - CDF - b - - - 4 - b - x - CDF - mu - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, mu, or b, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-logistic.xml b/reference/stats/functions/stats-cdf-logistic.xml deleted file mode 100644 index 6d3cb1bcb1..0000000000 --- a/reference/stats/functions/stats-cdf-logistic.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_logistic - Calculates any one parameter of the logistic distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_logistic - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the logistic distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, mu, and s denotes cumulative distribution function, the value of the random - variable, and the location and the scale parameter of the logistic distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - mu - s - - - 2 - x - CDF - mu - s - - - 3 - mu - x - CDF - s - - - 4 - s - x - CDF - mu - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, mu, or s, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-negative-binomial.xml b/reference/stats/functions/stats-cdf-negative-binomial.xml deleted file mode 100644 index eea959c7ed..0000000000 --- a/reference/stats/functions/stats-cdf-negative-binomial.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_negative_binomial - Calculates any one parameter of the negative binomial distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_negative_binomial - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the negative binomial distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, r, and p denotes cumulative distribution function, the number of failure, the number - of success, and the success rate for each trial, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - r - p - - - 2 - x - CDF - r - p - - - 3 - r - x - CDF - p - - - 4 - p - x - CDF - r - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, r, or p, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-noncentral-chisquare.xml b/reference/stats/functions/stats-cdf-noncentral-chisquare.xml deleted file mode 100644 index 7003018494..0000000000 --- a/reference/stats/functions/stats-cdf-noncentral-chisquare.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - stats_cdf_noncentral_chisquare - Calculates any one parameter of the non-central chi-square distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_noncentral_chisquare - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the non-central chi-square distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, k, and lambda denotes cumulative distribution function, the value of the random - variable, the degree of freedom and the non-centrality parameter of the distribution, - respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - k - lambda - - - 2 - x - CDF - k - lambda - - - 3 - k - x - CDF - lambda - - - 4 - lambda - x - CDF - k - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, k, or lambda, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-noncentral-f.xml b/reference/stats/functions/stats-cdf-noncentral-f.xml deleted file mode 100644 index de8e1651c1..0000000000 --- a/reference/stats/functions/stats-cdf-noncentral-f.xml +++ /dev/null @@ -1,244 +0,0 @@ - - - - - stats_cdf_noncentral_f - Calculates any one parameter of the non-central F distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_noncentral_f - floatpar1 - floatpar2 - floatpar3 - floatpar4 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the non-central F distribution. The kind of the return value and parameters - (par1, par2, par3, - and par4) are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, nu1, nu2, and lambda denotes cumulative distribution function, the value of the - random variable, the degree of freedoms and the non-centrality parameter of the distribution, - respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - par4 - - - - - 1 - CDF - x - nu1 - nu2 - lambda - - - 2 - x - CDF - nu1 - nu2 - lambda - - - 3 - nu1 - x - CDF - nu2 - lambda - - - 4 - nu2 - x - CDF - nu1 - lambda - - - 5 - lambda - x - CDF - nu1 - nu2 - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - par4 - - - The fourth parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, nu1, nu2, or lambda, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-noncentral-t.xml b/reference/stats/functions/stats-cdf-noncentral-t.xml deleted file mode 100644 index 4e2bf39b3c..0000000000 --- a/reference/stats/functions/stats-cdf-noncentral-t.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - stats_cdf_noncentral_t - Calculates any one parameter of the non-central t-distribution give values for the others - - - - &reftitle.description; - - floatstats_cdf_noncentral_t - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the non-central t-distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, nu, and mu denotes cumulative distribution function, the value of the random - variable, the degrees of freedom and the non-centrality parameter of the distribution, - respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - nu - mu - - - 2 - x - CDF - nu - mu - - - 3 - nu - x - CDF - mu - - - 4 - mu - x - CDF - nu - - - -
-
-
- - - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, nu, or mu, determined by which. - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-normal.xml b/reference/stats/functions/stats-cdf-normal.xml deleted file mode 100644 index 1a58ea588e..0000000000 --- a/reference/stats/functions/stats-cdf-normal.xml +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - stats_cdf_normal - Calculates any one parameter of the normal distribution given values for the others - - - - &reftitle.description; - - floatstats_cdf_normal - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the normal distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, mu, and sigma denotes cumulative distribution function, the value of the random - variable, the mean and the standard deviation of the normal distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - mu - sigma - - - 2 - x - CDF - mu - sigma - - - 3 - mu - x - CDF - sigma - - - 4 - sigma - x - CDF - mu - - - -
-
-
- - - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, mu, or sigma, determined by which. - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-poisson.xml b/reference/stats/functions/stats-cdf-poisson.xml deleted file mode 100644 index 302b783298..0000000000 --- a/reference/stats/functions/stats-cdf-poisson.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - stats_cdf_poisson - Calculates any one parameter of the Poisson distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_poisson - floatpar1 - floatpar2 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, of the Poisson distribution. - The kind of the return value and parameters (par1 and par2) are - determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, and lambda denotes cumulative distribution function, the value of the random variable, - and the parameter of the Poisson distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - - - - - 1 - CDF - x - lambda - - - 2 - x - CDF - lambda - - - 3 - lambda - x - CDF - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, or lambda, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-t.xml b/reference/stats/functions/stats-cdf-t.xml deleted file mode 100644 index 17daaf3f70..0000000000 --- a/reference/stats/functions/stats-cdf-t.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - stats_cdf_t - Calculates any one parameter of the t-distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_t - floatpar1 - floatpar2 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the t-distribution. The kind of the return value and parameters - (par1 and par2) are determined by - which. - - - The following table lists the return value and parameters by which. - CDF, x, and nu denotes cumulative distribution function, the value of the random - variable, and the degrees of freedom of the t-distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - - - - - 1 - CDF - x - nu - - - 2 - x - CDF - nu - - - 3 - nu - x - CDF - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, or nu, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-uniform.xml b/reference/stats/functions/stats-cdf-uniform.xml deleted file mode 100644 index 93604c06d3..0000000000 --- a/reference/stats/functions/stats-cdf-uniform.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_uniform - Calculates any one parameter of the uniform distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_uniform - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the uniform distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, a, and b denotes cumulative distribution function, the value of the random variable, - the lower bound and the higher bound of the uniform distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - a - b - - - 2 - x - CDF - a - b - - - 3 - a - x - CDF - b - - - 4 - b - x - CDF - a - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, a, or b, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-cdf-weibull.xml b/reference/stats/functions/stats-cdf-weibull.xml deleted file mode 100644 index 0fc5ae789f..0000000000 --- a/reference/stats/functions/stats-cdf-weibull.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - stats_cdf_weibull - Calculates any one parameter of the Weibull distribution given values for the others - - - &reftitle.description; - - floatstats_cdf_weibull - floatpar1 - floatpar2 - floatpar3 - intwhich - - - Returns the cumulative distribution function, its inverse, or one of its parameters, - of the Weibull distribution. The kind of the return value and parameters - (par1, par2, and par3) - are determined by which. - - - The following table lists the return value and parameters by which. - CDF, x, k, and lambda denotes cumulative distribution function, the value of the random variable, - the shape and the scale parameter of the Weibull distribution, respectively. - - Return value and parameters - - - - which - Return value - par1 - par2 - par3 - - - - - 1 - CDF - x - k - lambda - - - 2 - x - CDF - k - lambda - - - 3 - k - x - CDF - lambda - - - 4 - lambda - x - CDF - k - - - -
-
-
- - &reftitle.parameters; - - - - par1 - - - The first parameter - - - - - par2 - - - The second parameter - - - - - par3 - - - The third parameter - - - - - which - - - The flag to determine what to be calculated - - - - - - - - - &reftitle.returnvalues; - - Returns CDF, x, k, or lambda, determined by which. - - - - - - - - - - - - - - - -
- - diff --git a/reference/stats/functions/stats-covariance.xml b/reference/stats/functions/stats-covariance.xml deleted file mode 100644 index 303d71813b..0000000000 --- a/reference/stats/functions/stats-covariance.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_covariance - Computes the covariance of two data sets - - - &reftitle.description; - - floatstats_covariance - arraya - arrayb - - - Returns the covariance of a and b. - - - - &reftitle.parameters; - - - - a - - - The first array - - - - - b - - - The second array - - - - - - - - - &reftitle.returnvalues; - - Returns the covariance of a and b, - or &false; on failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-beta.xml b/reference/stats/functions/stats-dens-beta.xml deleted file mode 100644 index 8df89f19f9..0000000000 --- a/reference/stats/functions/stats-dens-beta.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_beta - Probability density function of the beta distribution - - - &reftitle.description; - - floatstats_dens_beta - floatx - floata - floatb - - - Returns the probability density at x, where the - random variable follows the beta distribution of which the shape parameters - are a and b. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - a - - - The shape parameter of the distribution - - - - - b - - - The shape parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-cauchy.xml b/reference/stats/functions/stats-dens-cauchy.xml deleted file mode 100644 index 3048d0833c..0000000000 --- a/reference/stats/functions/stats-dens-cauchy.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_cauchy - Probability density function of the Cauchy distribution - - - &reftitle.description; - - floatstats_dens_cauchy - floatx - floatave - floatstdev - - - Returns the probability density at x, where the - random variable follows the Cauchy distribution whose location and scale are - ave and stdev, respectively. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - ave - - - The location parameter of the distribution - - - - - stdev - - - The scale parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-chisquare.xml b/reference/stats/functions/stats-dens-chisquare.xml deleted file mode 100644 index 812fb4ad30..0000000000 --- a/reference/stats/functions/stats-dens-chisquare.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - stats_dens_chisquare - Probability density function of the chi-square distribution - - - &reftitle.description; - - floatstats_dens_chisquare - floatx - floatdfr - - - Returns the probability density at x, where the - random variable follows the chi-square distribution of which the degree of - freedom is dfr. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - dfr - - - The degree of freedom of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-exponential.xml b/reference/stats/functions/stats-dens-exponential.xml deleted file mode 100644 index dffa0e5e15..0000000000 --- a/reference/stats/functions/stats-dens-exponential.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - stats_dens_exponential - Probability density function of the exponential distribution - - - &reftitle.description; - - floatstats_dens_exponential - floatx - floatscale - - - Returns the probability density at x, where the - random variable follows the exponential distribution of which the scale is - scale. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - scale - - - The scale of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-f.xml b/reference/stats/functions/stats-dens-f.xml deleted file mode 100644 index b1eb378007..0000000000 --- a/reference/stats/functions/stats-dens-f.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_f - Probability density function of the F distribution - - - &reftitle.description; - - floatstats_dens_f - floatx - floatdfr1 - floatdfr2 - - - Returns the probability density at x, where the - random variable follows the F distribution of which the degree of freedoms - are dfr1 and dfr2. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - dfr1 - - - The degree of freedom of the distribution - - - - - dfr2 - - - The degree of freedom of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-gamma.xml b/reference/stats/functions/stats-dens-gamma.xml deleted file mode 100644 index 7493ecf771..0000000000 --- a/reference/stats/functions/stats-dens-gamma.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_gamma - Probability density function of the gamma distribution - - - &reftitle.description; - - floatstats_dens_gamma - floatx - floatshape - floatscale - - - Returns the probability density at x, where the - random variable follows the gamma distribution of which the shape parameter - is shape and the scale parameter is scale. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - shape - - - The shape parameter of the distribution - - - - - scale - - - The scale parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-laplace.xml b/reference/stats/functions/stats-dens-laplace.xml deleted file mode 100644 index e2443edb84..0000000000 --- a/reference/stats/functions/stats-dens-laplace.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_laplace - Probability density function of the Laplace distribution - - - &reftitle.description; - - floatstats_dens_laplace - floatx - floatave - floatstdev - - - Returns the probability density at x, where the - random variable follows the Laplace distribution of which the location parameter - is ave and the scale parameter is stdev. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - ave - - - The location parameter of the distribution - - - - - stdev - - - The shape parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-logistic.xml b/reference/stats/functions/stats-dens-logistic.xml deleted file mode 100644 index 1b0959644f..0000000000 --- a/reference/stats/functions/stats-dens-logistic.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_logistic - Probability density function of the logistic distribution - - - &reftitle.description; - - floatstats_dens_logistic - floatx - floatave - floatstdev - - - Returns the probability density at x, where the - random variable follows the logistic distribution of which the location parameter - is ave and the scale parameter is stdev. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - ave - - - The location parameter of the distribution - - - - - stdev - - - The shape parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-normal.xml b/reference/stats/functions/stats-dens-normal.xml deleted file mode 100644 index 8053d8e3fa..0000000000 --- a/reference/stats/functions/stats-dens-normal.xml +++ /dev/null @@ -1,163 +0,0 @@ - - - - - stats_dens_normal - Probability density function of the normal distribution - - - &reftitle.description; - - floatstats_dens_normal - floatx - floatave - floatstdev - - - Returns the probability density at x, where the - random variable follows the normal distribution of which the mean is - ave and the standard deviation is - stdev. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - ave - - - The mean of the distribution - - - - - stdev - - - The standard deviation of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-pmf-binomial.xml b/reference/stats/functions/stats-dens-pmf-binomial.xml deleted file mode 100644 index 3f6422c6da..0000000000 --- a/reference/stats/functions/stats-dens-pmf-binomial.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_pmf_binomial - Probability mass function of the binomial distribution - - - &reftitle.description; - - floatstats_dens_pmf_binomial - floatx - floatn - floatpi - - - Returns the probability mass at x, where the random variable - follows the binomial distribution of which the number of trials is n - and the success rate is pi. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability mass is calculated - - - - - n - - - The number of trials of the distribution - - - - - pi - - - The success rate of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability mass at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-pmf-hypergeometric.xml b/reference/stats/functions/stats-dens-pmf-hypergeometric.xml deleted file mode 100644 index 26867dbac0..0000000000 --- a/reference/stats/functions/stats-dens-pmf-hypergeometric.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - stats_dens_pmf_hypergeometric - Probability mass function of the hypergeometric distribution - - - &reftitle.description; - - floatstats_dens_pmf_hypergeometric - floatn1 - floatn2 - floatN1 - floatN2 - - - Returns the probability mass at n1, where the random variable - follows the hypergeometric distribution of which the number of failure is - n2, the number of success samples is N1, - and the number of failure samples is N2. - - - - &reftitle.parameters; - - - - n1 - - - The number of success, at which the probability mass is calculated - - - - - n2 - - - The number of failure of the distribution - - - - - N1 - - - The number of success samples of the distribution - - - - - N2 - - - The number of failure samples of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability mass at n1 or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-pmf-negative-binomial.xml b/reference/stats/functions/stats-dens-pmf-negative-binomial.xml deleted file mode 100644 index 80e1c5c581..0000000000 --- a/reference/stats/functions/stats-dens-pmf-negative-binomial.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - stats_dens_pmf_negative_binomial - Probability mass function of the negative binomial distribution - - - - &reftitle.description; - - floatstats_dens_pmf_negative_binomial - floatx - floatn - floatpi - - - Returns the probability mass at x, where the - random variable follows the negative binomial distribution of which - the number of the success is n and the success - rate is pi. - - - - - &reftitle.parameters; - - - - x - - - The value at which the probability mass is calculated - - - - - n - - - The number of the success of the distribution - - - - - pi - - - The success rate of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability mass at x or &false; for failure. - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-pmf-poisson.xml b/reference/stats/functions/stats-dens-pmf-poisson.xml deleted file mode 100644 index 633aee3c8f..0000000000 --- a/reference/stats/functions/stats-dens-pmf-poisson.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_dens_pmf_poisson - Probability mass function of the Poisson distribution - - - &reftitle.description; - - floatstats_dens_pmf_poisson - floatx - floatlb - - - Returns the probability mass at x, where the random variable - follows the Poisson distribution whose parameter is lb. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability mass is calculated - - - - - lb - - - The parameter of the Poisson distribution - - - - - - - - - &reftitle.returnvalues; - - The probability mass at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-t.xml b/reference/stats/functions/stats-dens-t.xml deleted file mode 100644 index 1f5415b7e6..0000000000 --- a/reference/stats/functions/stats-dens-t.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - stats_dens_t - Probability density function of the t-distribution - - - &reftitle.description; - - floatstats_dens_t - floatx - floatdfr - - - Returns the probability density at x, where the - random variable follows the t-distribution of which the degree of - freedom is dfr. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - dfr - - - The degree of freedom of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-uniform.xml b/reference/stats/functions/stats-dens-uniform.xml deleted file mode 100644 index 27aabb0943..0000000000 --- a/reference/stats/functions/stats-dens-uniform.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - stats_dens_uniform - Probability density function of the uniform distribution - - - - &reftitle.description; - - floatstats_dens_uniform - floatx - floata - floatb - - - Returns the probability density at x, where the - random variable follows the uniform distribution of which the lower bound is - a and the upper bound is b. - - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - a - - - The lower bound of the distribution - - - - - b - - - The upper bound of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-dens-weibull.xml b/reference/stats/functions/stats-dens-weibull.xml deleted file mode 100644 index d71b612d1b..0000000000 --- a/reference/stats/functions/stats-dens-weibull.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_dens_weibull - Probability density function of the Weibull distribution - - - &reftitle.description; - - floatstats_dens_weibull - floatx - floata - floatb - - - Returns the probability density at x, where the - random variable follows the Weibull distribution of which the shape parameter - is a and the scale parameter is b. - - - - &reftitle.parameters; - - - - x - - - The value at which the probability density is calculated - - - - - a - - - The shape parameter of the distribution - - - - - b - - - The scale parameter of the distribution - - - - - - - - - &reftitle.returnvalues; - - The probability density at x or &false; for failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-harmonic-mean.xml b/reference/stats/functions/stats-harmonic-mean.xml deleted file mode 100644 index 1327fbd197..0000000000 --- a/reference/stats/functions/stats-harmonic-mean.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - stats_harmonic_mean - Returns the harmonic mean of an array of values - - - &reftitle.description; - - numberstats_harmonic_mean - arraya - - - Returns the harmonic mean of the values in a. - - - - &reftitle.parameters; - - - - a - - - The input array - - - - - - - - - &reftitle.returnvalues; - - Returns the harmonic mean of the values in a, - or &false; if a is empty or is not an array. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-kurtosis.xml b/reference/stats/functions/stats-kurtosis.xml deleted file mode 100644 index 47b7d42654..0000000000 --- a/reference/stats/functions/stats-kurtosis.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - stats_kurtosis - Computes the kurtosis of the data in the array - - - &reftitle.description; - - floatstats_kurtosis - arraya - - - Returns the kurtosis of the values in a. - - - - &reftitle.parameters; - - - - a - - - The input array - - - - - - - - - &reftitle.returnvalues; - - Returns the kurtosis of the values in a, - or &false; if a is empty or is not an array. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-beta.xml b/reference/stats/functions/stats-rand-gen-beta.xml deleted file mode 100644 index 5d5405b653..0000000000 --- a/reference/stats/functions/stats-rand-gen-beta.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - stats_rand_gen_beta - Generates a random deviate from the beta distribution - - - &reftitle.description; - - floatstats_rand_gen_beta - floata - floatb - - - Returns a random deviate from the beta distribution with parameters A and - B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x - <. Method R. C. H. Cheng. - - - - - &reftitle.parameters; - - - - a - - - The shape parameter of the beta distribution - - - - - b - - - The shape parameter of the beta distribution - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-chisquare.xml b/reference/stats/functions/stats-rand-gen-chisquare.xml deleted file mode 100644 index 372b57b7a5..0000000000 --- a/reference/stats/functions/stats-rand-gen-chisquare.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - stats_rand_gen_chisquare - Generates a random deviate from the chi-square distribution - - - &reftitle.description; - - floatstats_rand_gen_chisquare - floatdf - - - Returns a random deviate from the chi-square distribution where the degrees of - freedom is df. - - - - &reftitle.parameters; - - - - df - - - The degrees of freedom - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-exponential.xml b/reference/stats/functions/stats-rand-gen-exponential.xml deleted file mode 100644 index 88d58536cd..0000000000 --- a/reference/stats/functions/stats-rand-gen-exponential.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - stats_rand_gen_exponential - Generates a random deviate from the exponential distribution - - - &reftitle.description; - - floatstats_rand_gen_exponential - floatav - - - Returns a random deviate from the exponential distribution of which the scale is - av. - - - - &reftitle.parameters; - - - - av - - - The scale parameter - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-f.xml b/reference/stats/functions/stats-rand-gen-f.xml deleted file mode 100644 index 0574db6aae..0000000000 --- a/reference/stats/functions/stats-rand-gen-f.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - stats_rand_gen_f - Generates a random deviate from the F distribution - - - &reftitle.description; - - floatstats_rand_gen_f - floatdfn - floatdfd - - - Generates a random deviate from the F (variance ratio) distribution with - "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in - the denominator. Method : directly generates ratio of chisquare variates. - - - - &reftitle.parameters; - - - - dfn - - - The degrees of freedom in the numerator - - - - - dfd - - - The degrees of freedom in the denominator - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-funiform.xml b/reference/stats/functions/stats-rand-gen-funiform.xml deleted file mode 100644 index 087da301cd..0000000000 --- a/reference/stats/functions/stats-rand-gen-funiform.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_funiform - Generates uniform float between low (exclusive) and high (exclusive) - - - &reftitle.description; - - floatstats_rand_gen_funiform - floatlow - floathigh - - - Returns a random deviate from the uniform distribution from - low to high. - - - - &reftitle.parameters; - - - - low - - - The lower bound (inclusive) - - - - - high - - - The upper bound (exclusive) - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-gamma.xml b/reference/stats/functions/stats-rand-gen-gamma.xml deleted file mode 100644 index 85523b087d..0000000000 --- a/reference/stats/functions/stats-rand-gen-gamma.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - stats_rand_gen_gamma - Generates a random deviate from the gamma distribution - - - &reftitle.description; - - floatstats_rand_gen_gamma - floata - floatr - - - Generates a random deviate from the gamma distribution whose density is - (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X). - - - - - &reftitle.parameters; - - - - a - - - location parameter of Gamma distribution (a - > 0). - - - - - r - - - shape parameter of Gamma distribution (r > - 0). - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-ibinomial-negative.xml b/reference/stats/functions/stats-rand-gen-ibinomial-negative.xml deleted file mode 100644 index ac7edfee03..0000000000 --- a/reference/stats/functions/stats-rand-gen-ibinomial-negative.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_ibinomial_negative - Generates a random deviate from the negative binomial distribution - - - &reftitle.description; - - intstats_rand_gen_ibinomial_negative - intn - floatp - - - Returns a random deviate from a negative binomial distribution where the number of success is - n and the success rate is p. - - - - &reftitle.parameters; - - - - n - - - The number of success - - - - - p - - - The success rate - - - - - - - - - &reftitle.returnvalues; - - A random deviate, which is the number of failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-ibinomial.xml b/reference/stats/functions/stats-rand-gen-ibinomial.xml deleted file mode 100644 index 348d4e9338..0000000000 --- a/reference/stats/functions/stats-rand-gen-ibinomial.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_ibinomial - Generates a random deviate from the binomial distribution - - - &reftitle.description; - - intstats_rand_gen_ibinomial - intn - floatpp - - - Returns a random deviate from the binomial distribution whose number of trials is n - and whose probability of an event in each trial is pp. - - - - &reftitle.parameters; - - - - n - - - The number of trials - - - - - pp - - - The probability of an event in each trial - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-int.xml b/reference/stats/functions/stats-rand-gen-int.xml deleted file mode 100644 index 28aefa0574..0000000000 --- a/reference/stats/functions/stats-rand-gen-int.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - stats_rand_gen_int - Generates random integer between 1 and 2147483562 - - - &reftitle.description; - - intstats_rand_gen_int - - - - Returns a random integer between 1 and 2147483562 - - - - - - - &reftitle.returnvalues; - - A random integer - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-ipoisson.xml b/reference/stats/functions/stats-rand-gen-ipoisson.xml deleted file mode 100644 index 087ff4806f..0000000000 --- a/reference/stats/functions/stats-rand-gen-ipoisson.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - stats_rand_gen_ipoisson - Generates a single random deviate from a Poisson distribution - - - &reftitle.description; - - intstats_rand_gen_ipoisson - floatmu - - - Returns a random deviate from the Poisson distribution with parameter mu. - - - - &reftitle.parameters; - - - - mu - - - The parameter of the Poisson distribution - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-iuniform.xml b/reference/stats/functions/stats-rand-gen-iuniform.xml deleted file mode 100644 index b676c1196f..0000000000 --- a/reference/stats/functions/stats-rand-gen-iuniform.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_iuniform - Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive) - - - &reftitle.description; - - intstats_rand_gen_iuniform - intlow - inthigh - - - Returns a random integer from the discrete uniform distribution between low (inclusive) - and high (inclusive). - - - - &reftitle.parameters; - - - - low - - - The lower bound - - - - - high - - - The upper bound - - - - - - - - - &reftitle.returnvalues; - - A random integer - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-noncentral-chisquare.xml b/reference/stats/functions/stats-rand-gen-noncentral-chisquare.xml deleted file mode 100644 index a9ef7c83da..0000000000 --- a/reference/stats/functions/stats-rand-gen-noncentral-chisquare.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - stats_rand_gen_noncentral_chisquare - Generates a random deviate from the non-central chi-square distribution - - - - &reftitle.description; - - floatstats_rand_gen_noncentral_chisquare - floatdf - floatxnonc - - - Returns a random deviate from the non-central chi-square distribution with degrees of freedom, - df, and non-centrality parameter, xnonc. - - - - - &reftitle.parameters; - - - - df - - - The degrees of freedom - - - - - xnonc - - - The non-centrality parameter - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-noncentral-f.xml b/reference/stats/functions/stats-rand-gen-noncentral-f.xml deleted file mode 100644 index de5e2cc632..0000000000 --- a/reference/stats/functions/stats-rand-gen-noncentral-f.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - stats_rand_gen_noncentral_f - Generates a random deviate from the noncentral F distribution - - - &reftitle.description; - - floatstats_rand_gen_noncentral_f - floatdfn - floatdfd - floatxnonc - - - Returns a random deviate from the non-central F distribution where the degrees of freedoms are - dfn (numerator) and dfd (denominator), and the non-centrality - parameter is xnonc. - - - - &reftitle.parameters; - - - - dfn - - - The degrees of freedom of the numerator - - - - - dfd - - - The degrees of freedom of the denominator - - - - - xnonc - - - The non-centrality parameter - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-noncentral-t.xml b/reference/stats/functions/stats-rand-gen-noncentral-t.xml deleted file mode 100644 index ede7d12f2b..0000000000 --- a/reference/stats/functions/stats-rand-gen-noncentral-t.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_noncentral_t - Generates a single random deviate from a non-central t-distribution - - - &reftitle.description; - - floatstats_rand_gen_noncentral_t - floatdf - floatxnonc - - - Returns a random deviate from the non-central t-distribution with the degrees of freedom, - df, and the non-centrality parameter, xnonc. - - - - &reftitle.parameters; - - - - df - - - The degrees of freedom - - - - - xnonc - - - The non-centrality parameter - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-normal.xml b/reference/stats/functions/stats-rand-gen-normal.xml deleted file mode 100644 index 5853e8ec6c..0000000000 --- a/reference/stats/functions/stats-rand-gen-normal.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_gen_normal - Generates a single random deviate from a normal distribution - - - &reftitle.description; - - floatstats_rand_gen_normal - floatav - floatsd - - - Returns a random deviate from the normal distribution with mean, av, and standard deviation, - sd. - - - - &reftitle.parameters; - - - - av - - - The mean of the normal distribution - - - - - sd - - - The standard deviation of the normal distribution - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-gen-t.xml b/reference/stats/functions/stats-rand-gen-t.xml deleted file mode 100644 index 3294ece5f8..0000000000 --- a/reference/stats/functions/stats-rand-gen-t.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - stats_rand_gen_t - Generates a single random deviate from a t-distribution - - - &reftitle.description; - - floatstats_rand_gen_t - floatdf - - - Returns a random deviate from the t-distribution with the degrees of freedom, df. - - - - &reftitle.parameters; - - - - df - - - The degrees of freedom - - - - - - - - - &reftitle.returnvalues; - - A random deviate - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-get-seeds.xml b/reference/stats/functions/stats-rand-get-seeds.xml deleted file mode 100644 index 488129a5e9..0000000000 --- a/reference/stats/functions/stats-rand-get-seeds.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - stats_rand_get_seeds - Get the seed values of the random number generator - - - &reftitle.description; - - arraystats_rand_get_seeds - - - - Returns the current seed values of the random number generator - - - - - - &reftitle.returnvalues; - - Returns an array of two integers. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-phrase-to-seeds.xml b/reference/stats/functions/stats-rand-phrase-to-seeds.xml deleted file mode 100644 index f15b1abefd..0000000000 --- a/reference/stats/functions/stats-rand-phrase-to-seeds.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - stats_rand_phrase_to_seeds - Generate two seeds for the RGN random number generator - - - &reftitle.description; - - arraystats_rand_phrase_to_seeds - stringphrase - - - Generate two seeds for the random number generator from a phrase. - - - - &reftitle.parameters; - - - - phrase - - - The input phrase - - - - - - - - - &reftitle.returnvalues; - - Returns an array of two integers. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-ranf.xml b/reference/stats/functions/stats-rand-ranf.xml deleted file mode 100644 index 13b4720ecd..0000000000 --- a/reference/stats/functions/stats-rand-ranf.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - stats_rand_ranf - Generates a random floating point number between 0 and 1 - - - &reftitle.description; - - floatstats_rand_ranf - - - - Returns a random floating point number from a uniform distribution between 0 (exclusive) and 1 (exclusive). - - - - - - - &reftitle.returnvalues; - - A random floating point number - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-rand-setall.xml b/reference/stats/functions/stats-rand-setall.xml deleted file mode 100644 index dcdf15030b..0000000000 --- a/reference/stats/functions/stats-rand-setall.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_rand_setall - Set seed values to the random generator - - - &reftitle.description; - - voidstats_rand_setall - intiseed1 - intiseed2 - - - Set iseed1 and iseed2 as seed values to the random generator - used in statistic functions. - - - - &reftitle.parameters; - - - - iseed1 - - - The value which is used as the random seed - - - - - iseed2 - - - The value which is used as the random seed - - - - - - - - - &reftitle.returnvalues; - - No values are returned. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-skew.xml b/reference/stats/functions/stats-skew.xml deleted file mode 100644 index 2180f4b2ef..0000000000 --- a/reference/stats/functions/stats-skew.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - stats_skew - Computes the skewness of the data in the array - - - &reftitle.description; - - floatstats_skew - arraya - - - Returns the skewness of the values in a. - - - - &reftitle.parameters; - - - - a - - - The input array - - - - - - - - - &reftitle.returnvalues; - - Returns the skewness of the values in a, - or &false; if a is empty or is not an array. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-standard-deviation.xml b/reference/stats/functions/stats-standard-deviation.xml deleted file mode 100644 index f58c68a05c..0000000000 --- a/reference/stats/functions/stats-standard-deviation.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - stats_standard_deviation - Returns the standard deviation - - - &reftitle.description; - - floatstats_standard_deviation - arraya - boolsample&false; - - - Returns the standard deviation of the values in a. - - - - &reftitle.parameters; - - - - a - - - The array of data to find the standard deviation for. Note that all - values of the array will be cast to float. - - - - - sample - - - Indicates if a represents a sample of the - population; defaults to &false;. - - - - - - - - - &reftitle.returnvalues; - - Returns the standard deviation on success; &false; on failure. - - - - - &reftitle.errors; - - Raises an E_WARNING when there are fewer than 2 - values in a. - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-binomial-coef.xml b/reference/stats/functions/stats-stat-binomial-coef.xml deleted file mode 100644 index 94f5f7171e..0000000000 --- a/reference/stats/functions/stats-stat-binomial-coef.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - stats_stat_binomial_coef - Returns a binomial coefficient - - - &reftitle.description; - - floatstats_stat_binomial_coef - intx - intn - - - Returns the binomial coefficient of n choose x. - - - - &reftitle.parameters; - - - - x - - - The number of chooses from the set - - - - - n - - - The number of elements in the set - - - - - - - - - &reftitle.returnvalues; - - Returns the binomial coefficient - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-correlation.xml b/reference/stats/functions/stats-stat-correlation.xml deleted file mode 100644 index 20bbf43c9f..0000000000 --- a/reference/stats/functions/stats-stat-correlation.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_stat_correlation - Returns the Pearson correlation coefficient of two data sets - - - &reftitle.description; - - floatstats_stat_correlation - arrayarr1 - arrayarr2 - - - Returns the Pearson correlation coefficient between arr1 and arr2. - - - - &reftitle.parameters; - - - - arr1 - - - The first array - - - - - arr2 - - - The second array - - - - - - - - - &reftitle.returnvalues; - - Returns the Pearson correlation coefficient between arr1 and arr2, - or &false; on failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-factorial.xml b/reference/stats/functions/stats-stat-factorial.xml deleted file mode 100644 index f3bb459a18..0000000000 --- a/reference/stats/functions/stats-stat-factorial.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - stats_stat_factorial - Returns the factorial of an integer - - - - &reftitle.description; - - floatstats_stat_factorial - intn - - - Returns the factorial of an integer, n. - - - - - &reftitle.parameters; - - - n - - - An integer - - - - - - - - &reftitle.returnvalues; - - The factorial of n. - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-independent-t.xml b/reference/stats/functions/stats-stat-independent-t.xml deleted file mode 100644 index 4ac049fff4..0000000000 --- a/reference/stats/functions/stats-stat-independent-t.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - stats_stat_independent_t - Returns the t-value from the independent two-sample t-test - - - &reftitle.description; - - floatstats_stat_independent_t - arrayarr1 - arrayarr2 - - - Returns the t-value of the independent two-sample t-test between - arr1 and arr2. - - &warn.undocumented.func; - - - - &reftitle.parameters; - - - - arr1 - - - The first set of values - - - - - arr2 - - - The second set of values - - - - - - - - - &reftitle.returnvalues; - - Returns the t-value, or &false; if failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-innerproduct.xml b/reference/stats/functions/stats-stat-innerproduct.xml deleted file mode 100644 index cbfe91f099..0000000000 --- a/reference/stats/functions/stats-stat-innerproduct.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_stat_innerproduct - Returns the inner product of two vectors - - - &reftitle.description; - - floatstats_stat_innerproduct - arrayarr1 - arrayarr2 - - - Returns the inner product of arr1 and arr2. - - - - &reftitle.parameters; - - - - arr1 - - - The first array - - - - - arr2 - - - The second array - - - - - - - - - &reftitle.returnvalues; - - Returns the inner product of arr1 and arr2, - or &false; on failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-paired-t.xml b/reference/stats/functions/stats-stat-paired-t.xml deleted file mode 100644 index b4a0e02873..0000000000 --- a/reference/stats/functions/stats-stat-paired-t.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - stats_stat_paired_t - Returns the t-value of the dependent t-test for paired samples - - - &reftitle.description; - - floatstats_stat_paired_t - arrayarr1 - arrayarr2 - - - Returns the t-value of the dependent t-test for paired samples - arr1 and arr2. - - - - &reftitle.parameters; - - - - arr1 - - - The first samples - - - - - arr2 - - - The second samples - - - - - - - - - &reftitle.returnvalues; - - Returns the t-value, or &false; if failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-percentile.xml b/reference/stats/functions/stats-stat-percentile.xml deleted file mode 100644 index 35901a186d..0000000000 --- a/reference/stats/functions/stats-stat-percentile.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - stats_stat_percentile - Returns the percentile value - - - &reftitle.description; - - floatstats_stat_percentile - arrayarr - floatperc - - - Returns the perc-th percentile value of the array arr. - - - - &reftitle.parameters; - - - - arr - - - The input array - - - - - perc - - - The percentile - - - - - - - - - &reftitle.returnvalues; - - Returns the percentile values of the input array. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-stat-powersum.xml b/reference/stats/functions/stats-stat-powersum.xml deleted file mode 100644 index 29f1d83a5a..0000000000 --- a/reference/stats/functions/stats-stat-powersum.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - stats_stat_powersum - Returns the power sum of a vector - - - &reftitle.description; - - floatstats_stat_powersum - arrayarr - floatpower - - - Returns the sum of the power-th power of a vector represented as an array arr. - - - - &reftitle.parameters; - - - - arr - - - The input array - - - - - power - - - The power - - - - - - - - - &reftitle.returnvalues; - - Returns the power sum of the input array. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/functions/stats-variance.xml b/reference/stats/functions/stats-variance.xml deleted file mode 100644 index 8d28e43b1b..0000000000 --- a/reference/stats/functions/stats-variance.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - stats_variance - Returns the variance - - - &reftitle.description; - - floatstats_variance - arraya - boolsample&false; - - - Returns the variance of the values in a. - - - - &reftitle.parameters; - - - - a - - - The array of data to find the standard deviation for. Note that all - values of the array will be cast to float. - - - - - sample - - - Indicates if a represents a sample of the - population; defaults to &false;. - - - - - - - - - &reftitle.returnvalues; - - Returns the variance on success; &false; on failure. - - - - - - - - - - - - - - - - - - diff --git a/reference/stats/reference.xml b/reference/stats/reference.xml deleted file mode 100644 index 0328879932..0000000000 --- a/reference/stats/reference.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - Statistic &Functions; - - &reference.stats.entities.functions; - - - - diff --git a/reference/stats/setup.xml b/reference/stats/setup.xml deleted file mode 100644 index f95bf8a337..0000000000 --- a/reference/stats/setup.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - &reftitle.setup; - - -
- &reftitle.required; - - No external libraries are needed. The extension comes bundled with the libraries used. - -
- - - -
- &reftitle.install; - - &pecl.moved; - - - &pecl.info; - &url.pecl.package;stats. - - - &pecl.windows.download; - -
- - - -
- &reftitle.runtime; - &no.config; -
- - - -
- &reftitle.resources; - &no.resource; -
- - -
- - - diff --git a/reference/stats/versions.xml b/reference/stats/versions.xml deleted file mode 100644 index b5540ec717..0000000000 --- a/reference/stats/versions.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 1fc853737aff47054e81741af5ebba3c492ff09a Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 24 May 2021 19:35:23 +0100 Subject: [PATCH 188/444] Remove legacy MongoDb driver docs --- appendices/extensions.xml | 2 - appendices/ini.list.xml | 1 - language/context.xml | 1 - language/context/mongodb.xml | 158 ---- reference/mongo/batch.xml | 13 - reference/mongo/book.xml | 43 - reference/mongo/changelog.xml | 125 --- reference/mongo/configure.xml | 302 ------- reference/mongo/connecting.xml | 775 ---------------- reference/mongo/constants.xml | 299 ------ reference/mongo/context.xml | 64 -- reference/mongo/context/log-cmd-delete.xml | 114 --- reference/mongo/context/log-cmd-insert.xml | 95 -- reference/mongo/context/log-cmd-update.xml | 122 --- reference/mongo/context/log-getmore.xml | 91 -- reference/mongo/context/log-killcursor.xml | 83 -- reference/mongo/context/log-reply.xml | 141 --- reference/mongo/context/log-write-batch.xml | 95 -- reference/mongo/core.xml | 23 - reference/mongo/exceptions.xml | 45 - reference/mongo/functions/bson-decode.xml | 66 -- reference/mongo/functions/bson-encode.xml | 66 -- reference/mongo/gridfs.xml | 12 - reference/mongo/ini.xml | 340 ------- reference/mongo/manual.xml | 53 -- reference/mongo/misc.xml | 12 - reference/mongo/mongo.xml | 93 -- reference/mongo/mongo/connectutil.xml | 63 -- reference/mongo/mongo/construct.xml | 62 -- reference/mongo/mongo/getpoolsize.xml | 127 --- reference/mongo/mongo/getslave.xml | 112 --- reference/mongo/mongo/getslaveokay.xml | 89 -- reference/mongo/mongo/pooldebug.xml | 141 --- reference/mongo/mongo/setpoolsize.xml | 129 --- reference/mongo/mongo/setslaveokay.xml | 98 -- reference/mongo/mongo/switchslave.xml | 112 --- reference/mongo/mongobindata.xml | 260 ------ reference/mongo/mongobindata/construct.xml | 130 --- reference/mongo/mongobindata/tostring.xml | 60 -- reference/mongo/mongoclient.xml | 297 ------ reference/mongo/mongoclient/close.xml | 175 ---- reference/mongo/mongoclient/connect.xml | 63 -- reference/mongo/mongoclient/construct.xml | 855 ------------------ reference/mongo/mongoclient/dropdb.xml | 76 -- reference/mongo/mongoclient/get.xml | 94 -- .../mongo/mongoclient/getconnections.xml | 117 --- reference/mongo/mongoclient/gethosts.xml | 159 ---- .../mongo/mongoclient/getreadpreference.xml | 138 --- .../mongo/mongoclient/getwriteconcern.xml | 97 -- reference/mongo/mongoclient/killcursor.xml | 129 --- reference/mongo/mongoclient/listdbs.xml | 102 --- .../mongo/mongoclient/selectcollection.xml | 106 --- reference/mongo/mongoclient/selectdb.xml | 76 -- .../mongo/mongoclient/setreadpreference.xml | 89 -- .../mongo/mongoclient/setwriteconcern.xml | 86 -- reference/mongo/mongoclient/tostring.xml | 52 -- reference/mongo/mongocode.xml | 77 -- reference/mongo/mongocode/construct.xml | 137 --- reference/mongo/mongocode/tostring.xml | 83 -- reference/mongo/mongocollection.xml | 175 ---- reference/mongo/mongocollection/aggregate.xml | 570 ------------ .../mongo/mongocollection/aggregatecursor.xml | 232 ----- .../mongo/mongocollection/batchinsert.xml | 316 ------- reference/mongo/mongocollection/construct.xml | 83 -- reference/mongo/mongocollection/count.xml | 197 ---- .../mongo/mongocollection/createdbref.xml | 101 --- .../mongo/mongocollection/createindex.xml | 248 ----- .../mongo/mongocollection/deleteindex.xml | 170 ---- .../mongo/mongocollection/deleteindexes.xml | 87 -- reference/mongo/mongocollection/distinct.xml | 156 ---- reference/mongo/mongocollection/drop.xml | 82 -- .../mongo/mongocollection/ensureindex.xml | 347 ------- reference/mongo/mongocollection/find.xml | 392 -------- .../mongo/mongocollection/findandmodify.xml | 288 ------ reference/mongo/mongocollection/findone.xml | 196 ---- reference/mongo/mongocollection/get.xml | 76 -- reference/mongo/mongocollection/getdbref.xml | 113 --- .../mongo/mongocollection/getindexinfo.xml | 149 --- reference/mongo/mongocollection/getname.xml | 77 -- .../mongocollection/getreadpreference.xml | 135 --- .../mongo/mongocollection/getslaveokay.xml | 84 -- .../mongo/mongocollection/getwriteconcern.xml | 94 -- reference/mongo/mongocollection/group.xml | 274 ------ reference/mongo/mongocollection/insert.xml | 453 ---------- .../parallelcollectionscan.xml | 122 --- reference/mongo/mongocollection/remove.xml | 239 ----- reference/mongo/mongocollection/save.xml | 210 ----- .../mongocollection/setreadpreference.xml | 86 -- .../mongo/mongocollection/setslaveokay.xml | 99 -- .../mongo/mongocollection/setwriteconcern.xml | 83 -- .../mongo/mongocollection/toindexstring.xml | 128 --- reference/mongo/mongocollection/tostring.xml | 77 -- reference/mongo/mongocollection/update.xml | 395 -------- reference/mongo/mongocollection/validate.xml | 61 -- reference/mongo/mongocommandcursor.xml | 132 --- .../mongo/mongocommandcursor/batchsize.xml | 93 -- .../mongo/mongocommandcursor/construct.xml | 142 --- .../mongocommandcursor/createfromdocument.xml | 182 ---- .../mongo/mongocommandcursor/current.xml | 59 -- reference/mongo/mongocommandcursor/dead.xml | 62 -- .../mongocommandcursor/getreadpreference.xml | 96 -- reference/mongo/mongocommandcursor/info.xml | 198 ---- reference/mongo/mongocommandcursor/key.xml | 55 -- reference/mongo/mongocommandcursor/next.xml | 64 -- reference/mongo/mongocommandcursor/rewind.xml | 123 --- .../mongocommandcursor/setreadpreference.xml | 107 --- .../mongo/mongocommandcursor/timeout.xml | 130 --- reference/mongo/mongocommandcursor/valid.xml | 55 -- reference/mongo/mongoconnectionexception.xml | 175 ---- reference/mongo/mongocursor.xml | 221 ----- reference/mongo/mongocursor/addoption.xml | 200 ---- reference/mongo/mongocursor/awaitdata.xml | 120 --- reference/mongo/mongocursor/batchsize.xml | 186 ---- reference/mongo/mongocursor/construct.xml | 95 -- reference/mongo/mongocursor/count.xml | 110 --- reference/mongo/mongocursor/current.xml | 59 -- reference/mongo/mongocursor/dead.xml | 68 -- reference/mongo/mongocursor/doquery.xml | 130 --- reference/mongo/mongocursor/explain.xml | 137 --- reference/mongo/mongocursor/fields.xml | 98 -- reference/mongo/mongocursor/getnext.xml | 42 - .../mongo/mongocursor/getreadpreference.xml | 107 --- reference/mongo/mongocursor/hasnext.xml | 57 -- reference/mongo/mongocursor/hint.xml | 99 -- reference/mongo/mongocursor/immortal.xml | 85 -- reference/mongo/mongocursor/info.xml | 191 ---- reference/mongo/mongocursor/key.xml | 57 -- reference/mongo/mongocursor/limit.xml | 79 -- reference/mongo/mongocursor/maxtimems.xml | 119 --- reference/mongo/mongocursor/next.xml | 64 -- reference/mongo/mongocursor/partial.xml | 87 -- reference/mongo/mongocursor/reset.xml | 48 - reference/mongo/mongocursor/rewind.xml | 79 -- reference/mongo/mongocursor/setflag.xml | 145 --- .../mongo/mongocursor/setreadpreference.xml | 90 -- reference/mongo/mongocursor/skip.xml | 78 -- reference/mongo/mongocursor/slaveokay.xml | 180 ---- reference/mongo/mongocursor/snapshot.xml | 76 -- reference/mongo/mongocursor/sort.xml | 101 --- reference/mongo/mongocursor/tailable.xml | 126 --- reference/mongo/mongocursor/timeout.xml | 133 --- reference/mongo/mongocursor/valid.xml | 55 -- reference/mongo/mongocursorexception.xml | 435 --------- .../mongo/mongocursorexception/gethost.xml | 56 -- reference/mongo/mongocursorinterface.xml | 83 -- .../mongo/mongocursorinterface/batchsize.xml | 68 -- reference/mongo/mongocursorinterface/dead.xml | 56 -- .../getreadpreference.xml | 56 -- reference/mongo/mongocursorinterface/info.xml | 56 -- .../setreadpreference.xml | 64 -- .../mongo/mongocursorinterface/timeout.xml | 84 -- .../mongo/mongocursortimeoutexception.xml | 73 -- reference/mongo/mongodate.xml | 114 --- reference/mongo/mongodate/construct.xml | 128 --- reference/mongo/mongodate/todatetime.xml | 93 -- reference/mongo/mongodate/tostring.xml | 62 -- reference/mongo/mongodb.xml | 225 ----- reference/mongo/mongodb/authenticate.xml | 177 ---- reference/mongo/mongodb/command.xml | 348 ------- reference/mongo/mongodb/construct.xml | 117 --- reference/mongo/mongodb/createcollection.xml | 245 ----- reference/mongo/mongodb/createdbref.xml | 152 ---- reference/mongo/mongodb/drop.xml | 95 -- reference/mongo/mongodb/dropcollection.xml | 71 -- reference/mongo/mongodb/execute.xml | 258 ------ reference/mongo/mongodb/forceerror.xml | 90 -- reference/mongo/mongodb/get.xml | 76 -- reference/mongo/mongodb/getcollectioninfo.xml | 145 --- .../mongo/mongodb/getcollectionnames.xml | 151 ---- reference/mongo/mongodb/getdbref.xml | 87 -- reference/mongo/mongodb/getgridfs.xml | 85 -- reference/mongo/mongodb/getprofilinglevel.xml | 83 -- reference/mongo/mongodb/getreadpreference.xml | 135 --- reference/mongo/mongodb/getslaveokay.xml | 86 -- reference/mongo/mongodb/getwriteconcern.xml | 94 -- reference/mongo/mongodb/lasterror.xml | 119 --- reference/mongo/mongodb/listcollections.xml | 160 ---- reference/mongo/mongodb/preverror.xml | 77 -- reference/mongo/mongodb/repair.xml | 131 --- reference/mongo/mongodb/reseterror.xml | 90 -- reference/mongo/mongodb/selectcollection.xml | 68 -- reference/mongo/mongodb/setprofilinglevel.xml | 106 --- reference/mongo/mongodb/setreadpreference.xml | 86 -- reference/mongo/mongodb/setslaveokay.xml | 100 -- reference/mongo/mongodb/setwriteconcern.xml | 83 -- reference/mongo/mongodb/tostring.xml | 48 - reference/mongo/mongodbref.xml | 164 ---- reference/mongo/mongodbref/create.xml | 138 --- reference/mongo/mongodbref/get.xml | 114 --- reference/mongo/mongodbref/isref.xml | 77 -- reference/mongo/mongodeletebatch.xml | 76 -- .../mongo/mongodeletebatch/construct.xml | 66 -- .../mongo/mongoduplicatekeyexception.xml | 103 --- reference/mongo/mongoexception.xml | 268 ------ .../mongo/mongoexecutiontimeoutexception.xml | 75 -- reference/mongo/mongogridfs.xml | 292 ------ reference/mongo/mongogridfs/construct.xml | 78 -- reference/mongo/mongogridfs/delete.xml | 83 -- reference/mongo/mongogridfs/drop.xml | 49 - reference/mongo/mongogridfs/find.xml | 73 -- reference/mongo/mongogridfs/findone.xml | 125 --- reference/mongo/mongogridfs/get.xml | 62 -- reference/mongo/mongogridfs/put.xml | 111 --- reference/mongo/mongogridfs/remove.xml | 87 -- reference/mongo/mongogridfs/storebytes.xml | 144 --- reference/mongo/mongogridfs/storefile.xml | 148 --- reference/mongo/mongogridfs/storeupload.xml | 167 ---- reference/mongo/mongogridfscursor.xml | 76 -- .../mongo/mongogridfscursor/construct.xml | 106 --- reference/mongo/mongogridfscursor/current.xml | 48 - reference/mongo/mongogridfscursor/getnext.xml | 48 - reference/mongo/mongogridfscursor/key.xml | 75 -- reference/mongo/mongogridfsexception.xml | 178 ---- reference/mongo/mongogridfsfile.xml | 81 -- reference/mongo/mongogridfsfile/construct.xml | 71 -- reference/mongo/mongogridfsfile/getbytes.xml | 73 -- .../mongo/mongogridfsfile/getfilename.xml | 45 - .../mongo/mongogridfsfile/getresource.xml | 82 -- reference/mongo/mongogridfsfile/getsize.xml | 45 - reference/mongo/mongogridfsfile/write.xml | 77 -- reference/mongo/mongoid.xml | 138 --- reference/mongo/mongoid/construct.xml | 160 ---- reference/mongo/mongoid/gethostname.xml | 75 -- reference/mongo/mongoid/getinc.xml | 56 -- reference/mongo/mongoid/getpid.xml | 59 -- reference/mongo/mongoid/gettimestamp.xml | 61 -- reference/mongo/mongoid/isvalid.xml | 75 -- reference/mongo/mongoid/set-state.xml | 88 -- reference/mongo/mongoid/tostring.xml | 93 -- reference/mongo/mongoinsertbatch.xml | 76 -- .../mongo/mongoinsertbatch/construct.xml | 66 -- reference/mongo/mongoint32.xml | 97 -- reference/mongo/mongoint32/construct.xml | 77 -- reference/mongo/mongoint32/tostring.xml | 61 -- reference/mongo/mongoint64.xml | 97 -- reference/mongo/mongoint64/construct.xml | 77 -- reference/mongo/mongoint64/tostring.xml | 61 -- reference/mongo/mongolog.xml | 347 ------- reference/mongo/mongolog/getcallback.xml | 63 -- reference/mongo/mongolog/getlevel.xml | 76 -- reference/mongo/mongolog/getmodule.xml | 76 -- reference/mongo/mongolog/setcallback.xml | 202 ----- reference/mongo/mongolog/setlevel.xml | 85 -- reference/mongo/mongolog/setmodule.xml | 84 -- reference/mongo/mongomaxkey.xml | 112 --- reference/mongo/mongominkey.xml | 112 --- reference/mongo/mongopool.xml | 102 --- reference/mongo/mongopool/getsize.xml | 118 --- reference/mongo/mongopool/info.xml | 159 ---- reference/mongo/mongopool/setsize.xml | 144 --- reference/mongo/mongoprotocolexception.xml | 106 --- reference/mongo/mongoregex.xml | 138 --- reference/mongo/mongoregex/construct.xml | 105 --- reference/mongo/mongoregex/tostring.xml | 91 -- reference/mongo/mongoresultexception.xml | 100 -- .../mongoresultexception/getdocument.xml | 134 --- reference/mongo/mongotimestamp.xml | 99 -- reference/mongo/mongotimestamp/construct.xml | 99 -- reference/mongo/mongotimestamp/tostring.xml | 62 -- reference/mongo/mongoupdatebatch.xml | 76 -- .../mongo/mongoupdatebatch/construct.xml | 66 -- reference/mongo/mongowritebatch.xml | 200 ---- reference/mongo/mongowritebatch/add.xml | 213 ----- reference/mongo/mongowritebatch/construct.xml | 93 -- reference/mongo/mongowritebatch/execute.xml | 261 ------ .../mongo/mongowriteconcernexception.xml | 82 -- .../getdocument.xml | 56 -- reference/mongo/queries.xml | 382 -------- reference/mongo/readpreferences.xml | 312 ------- reference/mongo/reference.xml | 31 - reference/mongo/security.xml | 169 ---- reference/mongo/setup.xml | 49 - reference/mongo/sqltomongo.xml | 254 ------ reference/mongo/testing.xml | 61 -- reference/mongo/trouble.xml | 63 -- reference/mongo/tutorial.xml | 576 ------------ reference/mongo/types.xml | 317 ------- reference/mongo/updates.xml | 163 ---- reference/mongo/versions.xml | 342 ------- reference/mongo/writeconcerns.xml | 413 --------- reference/mongo/writes.xml | 90 -- reference/mongodb/architecture.xml | 9 +- reference/mongodb/set.xml | 3 +- 283 files changed, 5 insertions(+), 36443 deletions(-) delete mode 100644 language/context/mongodb.xml delete mode 100644 reference/mongo/batch.xml delete mode 100644 reference/mongo/book.xml delete mode 100644 reference/mongo/changelog.xml delete mode 100644 reference/mongo/configure.xml delete mode 100644 reference/mongo/connecting.xml delete mode 100644 reference/mongo/constants.xml delete mode 100644 reference/mongo/context.xml delete mode 100644 reference/mongo/context/log-cmd-delete.xml delete mode 100644 reference/mongo/context/log-cmd-insert.xml delete mode 100644 reference/mongo/context/log-cmd-update.xml delete mode 100644 reference/mongo/context/log-getmore.xml delete mode 100644 reference/mongo/context/log-killcursor.xml delete mode 100644 reference/mongo/context/log-reply.xml delete mode 100644 reference/mongo/context/log-write-batch.xml delete mode 100644 reference/mongo/core.xml delete mode 100644 reference/mongo/exceptions.xml delete mode 100644 reference/mongo/functions/bson-decode.xml delete mode 100644 reference/mongo/functions/bson-encode.xml delete mode 100644 reference/mongo/gridfs.xml delete mode 100644 reference/mongo/ini.xml delete mode 100644 reference/mongo/manual.xml delete mode 100644 reference/mongo/misc.xml delete mode 100644 reference/mongo/mongo.xml delete mode 100644 reference/mongo/mongo/connectutil.xml delete mode 100644 reference/mongo/mongo/construct.xml delete mode 100644 reference/mongo/mongo/getpoolsize.xml delete mode 100644 reference/mongo/mongo/getslave.xml delete mode 100644 reference/mongo/mongo/getslaveokay.xml delete mode 100644 reference/mongo/mongo/pooldebug.xml delete mode 100644 reference/mongo/mongo/setpoolsize.xml delete mode 100644 reference/mongo/mongo/setslaveokay.xml delete mode 100644 reference/mongo/mongo/switchslave.xml delete mode 100644 reference/mongo/mongobindata.xml delete mode 100644 reference/mongo/mongobindata/construct.xml delete mode 100644 reference/mongo/mongobindata/tostring.xml delete mode 100644 reference/mongo/mongoclient.xml delete mode 100644 reference/mongo/mongoclient/close.xml delete mode 100644 reference/mongo/mongoclient/connect.xml delete mode 100644 reference/mongo/mongoclient/construct.xml delete mode 100644 reference/mongo/mongoclient/dropdb.xml delete mode 100644 reference/mongo/mongoclient/get.xml delete mode 100644 reference/mongo/mongoclient/getconnections.xml delete mode 100644 reference/mongo/mongoclient/gethosts.xml delete mode 100644 reference/mongo/mongoclient/getreadpreference.xml delete mode 100644 reference/mongo/mongoclient/getwriteconcern.xml delete mode 100644 reference/mongo/mongoclient/killcursor.xml delete mode 100644 reference/mongo/mongoclient/listdbs.xml delete mode 100644 reference/mongo/mongoclient/selectcollection.xml delete mode 100644 reference/mongo/mongoclient/selectdb.xml delete mode 100644 reference/mongo/mongoclient/setreadpreference.xml delete mode 100644 reference/mongo/mongoclient/setwriteconcern.xml delete mode 100644 reference/mongo/mongoclient/tostring.xml delete mode 100644 reference/mongo/mongocode.xml delete mode 100644 reference/mongo/mongocode/construct.xml delete mode 100644 reference/mongo/mongocode/tostring.xml delete mode 100644 reference/mongo/mongocollection.xml delete mode 100644 reference/mongo/mongocollection/aggregate.xml delete mode 100644 reference/mongo/mongocollection/aggregatecursor.xml delete mode 100644 reference/mongo/mongocollection/batchinsert.xml delete mode 100644 reference/mongo/mongocollection/construct.xml delete mode 100644 reference/mongo/mongocollection/count.xml delete mode 100644 reference/mongo/mongocollection/createdbref.xml delete mode 100644 reference/mongo/mongocollection/createindex.xml delete mode 100644 reference/mongo/mongocollection/deleteindex.xml delete mode 100644 reference/mongo/mongocollection/deleteindexes.xml delete mode 100644 reference/mongo/mongocollection/distinct.xml delete mode 100644 reference/mongo/mongocollection/drop.xml delete mode 100644 reference/mongo/mongocollection/ensureindex.xml delete mode 100644 reference/mongo/mongocollection/find.xml delete mode 100644 reference/mongo/mongocollection/findandmodify.xml delete mode 100644 reference/mongo/mongocollection/findone.xml delete mode 100644 reference/mongo/mongocollection/get.xml delete mode 100644 reference/mongo/mongocollection/getdbref.xml delete mode 100644 reference/mongo/mongocollection/getindexinfo.xml delete mode 100644 reference/mongo/mongocollection/getname.xml delete mode 100644 reference/mongo/mongocollection/getreadpreference.xml delete mode 100644 reference/mongo/mongocollection/getslaveokay.xml delete mode 100644 reference/mongo/mongocollection/getwriteconcern.xml delete mode 100644 reference/mongo/mongocollection/group.xml delete mode 100644 reference/mongo/mongocollection/insert.xml delete mode 100644 reference/mongo/mongocollection/parallelcollectionscan.xml delete mode 100644 reference/mongo/mongocollection/remove.xml delete mode 100644 reference/mongo/mongocollection/save.xml delete mode 100644 reference/mongo/mongocollection/setreadpreference.xml delete mode 100644 reference/mongo/mongocollection/setslaveokay.xml delete mode 100644 reference/mongo/mongocollection/setwriteconcern.xml delete mode 100644 reference/mongo/mongocollection/toindexstring.xml delete mode 100644 reference/mongo/mongocollection/tostring.xml delete mode 100644 reference/mongo/mongocollection/update.xml delete mode 100644 reference/mongo/mongocollection/validate.xml delete mode 100644 reference/mongo/mongocommandcursor.xml delete mode 100644 reference/mongo/mongocommandcursor/batchsize.xml delete mode 100644 reference/mongo/mongocommandcursor/construct.xml delete mode 100644 reference/mongo/mongocommandcursor/createfromdocument.xml delete mode 100644 reference/mongo/mongocommandcursor/current.xml delete mode 100644 reference/mongo/mongocommandcursor/dead.xml delete mode 100644 reference/mongo/mongocommandcursor/getreadpreference.xml delete mode 100644 reference/mongo/mongocommandcursor/info.xml delete mode 100644 reference/mongo/mongocommandcursor/key.xml delete mode 100644 reference/mongo/mongocommandcursor/next.xml delete mode 100644 reference/mongo/mongocommandcursor/rewind.xml delete mode 100644 reference/mongo/mongocommandcursor/setreadpreference.xml delete mode 100644 reference/mongo/mongocommandcursor/timeout.xml delete mode 100644 reference/mongo/mongocommandcursor/valid.xml delete mode 100644 reference/mongo/mongoconnectionexception.xml delete mode 100644 reference/mongo/mongocursor.xml delete mode 100644 reference/mongo/mongocursor/addoption.xml delete mode 100644 reference/mongo/mongocursor/awaitdata.xml delete mode 100644 reference/mongo/mongocursor/batchsize.xml delete mode 100644 reference/mongo/mongocursor/construct.xml delete mode 100644 reference/mongo/mongocursor/count.xml delete mode 100644 reference/mongo/mongocursor/current.xml delete mode 100644 reference/mongo/mongocursor/dead.xml delete mode 100644 reference/mongo/mongocursor/doquery.xml delete mode 100644 reference/mongo/mongocursor/explain.xml delete mode 100644 reference/mongo/mongocursor/fields.xml delete mode 100644 reference/mongo/mongocursor/getnext.xml delete mode 100644 reference/mongo/mongocursor/getreadpreference.xml delete mode 100644 reference/mongo/mongocursor/hasnext.xml delete mode 100644 reference/mongo/mongocursor/hint.xml delete mode 100644 reference/mongo/mongocursor/immortal.xml delete mode 100644 reference/mongo/mongocursor/info.xml delete mode 100644 reference/mongo/mongocursor/key.xml delete mode 100644 reference/mongo/mongocursor/limit.xml delete mode 100644 reference/mongo/mongocursor/maxtimems.xml delete mode 100644 reference/mongo/mongocursor/next.xml delete mode 100644 reference/mongo/mongocursor/partial.xml delete mode 100644 reference/mongo/mongocursor/reset.xml delete mode 100644 reference/mongo/mongocursor/rewind.xml delete mode 100644 reference/mongo/mongocursor/setflag.xml delete mode 100644 reference/mongo/mongocursor/setreadpreference.xml delete mode 100644 reference/mongo/mongocursor/skip.xml delete mode 100644 reference/mongo/mongocursor/slaveokay.xml delete mode 100644 reference/mongo/mongocursor/snapshot.xml delete mode 100644 reference/mongo/mongocursor/sort.xml delete mode 100644 reference/mongo/mongocursor/tailable.xml delete mode 100644 reference/mongo/mongocursor/timeout.xml delete mode 100644 reference/mongo/mongocursor/valid.xml delete mode 100644 reference/mongo/mongocursorexception.xml delete mode 100644 reference/mongo/mongocursorexception/gethost.xml delete mode 100644 reference/mongo/mongocursorinterface.xml delete mode 100644 reference/mongo/mongocursorinterface/batchsize.xml delete mode 100644 reference/mongo/mongocursorinterface/dead.xml delete mode 100644 reference/mongo/mongocursorinterface/getreadpreference.xml delete mode 100644 reference/mongo/mongocursorinterface/info.xml delete mode 100644 reference/mongo/mongocursorinterface/setreadpreference.xml delete mode 100644 reference/mongo/mongocursorinterface/timeout.xml delete mode 100644 reference/mongo/mongocursortimeoutexception.xml delete mode 100644 reference/mongo/mongodate.xml delete mode 100644 reference/mongo/mongodate/construct.xml delete mode 100644 reference/mongo/mongodate/todatetime.xml delete mode 100644 reference/mongo/mongodate/tostring.xml delete mode 100644 reference/mongo/mongodb.xml delete mode 100644 reference/mongo/mongodb/authenticate.xml delete mode 100644 reference/mongo/mongodb/command.xml delete mode 100644 reference/mongo/mongodb/construct.xml delete mode 100644 reference/mongo/mongodb/createcollection.xml delete mode 100644 reference/mongo/mongodb/createdbref.xml delete mode 100644 reference/mongo/mongodb/drop.xml delete mode 100644 reference/mongo/mongodb/dropcollection.xml delete mode 100644 reference/mongo/mongodb/execute.xml delete mode 100644 reference/mongo/mongodb/forceerror.xml delete mode 100644 reference/mongo/mongodb/get.xml delete mode 100644 reference/mongo/mongodb/getcollectioninfo.xml delete mode 100644 reference/mongo/mongodb/getcollectionnames.xml delete mode 100644 reference/mongo/mongodb/getdbref.xml delete mode 100644 reference/mongo/mongodb/getgridfs.xml delete mode 100644 reference/mongo/mongodb/getprofilinglevel.xml delete mode 100644 reference/mongo/mongodb/getreadpreference.xml delete mode 100644 reference/mongo/mongodb/getslaveokay.xml delete mode 100644 reference/mongo/mongodb/getwriteconcern.xml delete mode 100644 reference/mongo/mongodb/lasterror.xml delete mode 100644 reference/mongo/mongodb/listcollections.xml delete mode 100644 reference/mongo/mongodb/preverror.xml delete mode 100644 reference/mongo/mongodb/repair.xml delete mode 100644 reference/mongo/mongodb/reseterror.xml delete mode 100644 reference/mongo/mongodb/selectcollection.xml delete mode 100644 reference/mongo/mongodb/setprofilinglevel.xml delete mode 100644 reference/mongo/mongodb/setreadpreference.xml delete mode 100644 reference/mongo/mongodb/setslaveokay.xml delete mode 100644 reference/mongo/mongodb/setwriteconcern.xml delete mode 100644 reference/mongo/mongodb/tostring.xml delete mode 100644 reference/mongo/mongodbref.xml delete mode 100644 reference/mongo/mongodbref/create.xml delete mode 100644 reference/mongo/mongodbref/get.xml delete mode 100644 reference/mongo/mongodbref/isref.xml delete mode 100644 reference/mongo/mongodeletebatch.xml delete mode 100644 reference/mongo/mongodeletebatch/construct.xml delete mode 100644 reference/mongo/mongoduplicatekeyexception.xml delete mode 100644 reference/mongo/mongoexception.xml delete mode 100644 reference/mongo/mongoexecutiontimeoutexception.xml delete mode 100644 reference/mongo/mongogridfs.xml delete mode 100644 reference/mongo/mongogridfs/construct.xml delete mode 100644 reference/mongo/mongogridfs/delete.xml delete mode 100644 reference/mongo/mongogridfs/drop.xml delete mode 100644 reference/mongo/mongogridfs/find.xml delete mode 100644 reference/mongo/mongogridfs/findone.xml delete mode 100644 reference/mongo/mongogridfs/get.xml delete mode 100644 reference/mongo/mongogridfs/put.xml delete mode 100644 reference/mongo/mongogridfs/remove.xml delete mode 100644 reference/mongo/mongogridfs/storebytes.xml delete mode 100644 reference/mongo/mongogridfs/storefile.xml delete mode 100644 reference/mongo/mongogridfs/storeupload.xml delete mode 100644 reference/mongo/mongogridfscursor.xml delete mode 100644 reference/mongo/mongogridfscursor/construct.xml delete mode 100644 reference/mongo/mongogridfscursor/current.xml delete mode 100644 reference/mongo/mongogridfscursor/getnext.xml delete mode 100644 reference/mongo/mongogridfscursor/key.xml delete mode 100644 reference/mongo/mongogridfsexception.xml delete mode 100644 reference/mongo/mongogridfsfile.xml delete mode 100644 reference/mongo/mongogridfsfile/construct.xml delete mode 100644 reference/mongo/mongogridfsfile/getbytes.xml delete mode 100644 reference/mongo/mongogridfsfile/getfilename.xml delete mode 100644 reference/mongo/mongogridfsfile/getresource.xml delete mode 100644 reference/mongo/mongogridfsfile/getsize.xml delete mode 100644 reference/mongo/mongogridfsfile/write.xml delete mode 100644 reference/mongo/mongoid.xml delete mode 100644 reference/mongo/mongoid/construct.xml delete mode 100644 reference/mongo/mongoid/gethostname.xml delete mode 100644 reference/mongo/mongoid/getinc.xml delete mode 100644 reference/mongo/mongoid/getpid.xml delete mode 100644 reference/mongo/mongoid/gettimestamp.xml delete mode 100644 reference/mongo/mongoid/isvalid.xml delete mode 100644 reference/mongo/mongoid/set-state.xml delete mode 100644 reference/mongo/mongoid/tostring.xml delete mode 100644 reference/mongo/mongoinsertbatch.xml delete mode 100644 reference/mongo/mongoinsertbatch/construct.xml delete mode 100644 reference/mongo/mongoint32.xml delete mode 100644 reference/mongo/mongoint32/construct.xml delete mode 100644 reference/mongo/mongoint32/tostring.xml delete mode 100644 reference/mongo/mongoint64.xml delete mode 100644 reference/mongo/mongoint64/construct.xml delete mode 100644 reference/mongo/mongoint64/tostring.xml delete mode 100644 reference/mongo/mongolog.xml delete mode 100644 reference/mongo/mongolog/getcallback.xml delete mode 100644 reference/mongo/mongolog/getlevel.xml delete mode 100644 reference/mongo/mongolog/getmodule.xml delete mode 100644 reference/mongo/mongolog/setcallback.xml delete mode 100644 reference/mongo/mongolog/setlevel.xml delete mode 100644 reference/mongo/mongolog/setmodule.xml delete mode 100644 reference/mongo/mongomaxkey.xml delete mode 100644 reference/mongo/mongominkey.xml delete mode 100644 reference/mongo/mongopool.xml delete mode 100644 reference/mongo/mongopool/getsize.xml delete mode 100644 reference/mongo/mongopool/info.xml delete mode 100644 reference/mongo/mongopool/setsize.xml delete mode 100644 reference/mongo/mongoprotocolexception.xml delete mode 100644 reference/mongo/mongoregex.xml delete mode 100644 reference/mongo/mongoregex/construct.xml delete mode 100644 reference/mongo/mongoregex/tostring.xml delete mode 100644 reference/mongo/mongoresultexception.xml delete mode 100644 reference/mongo/mongoresultexception/getdocument.xml delete mode 100644 reference/mongo/mongotimestamp.xml delete mode 100644 reference/mongo/mongotimestamp/construct.xml delete mode 100644 reference/mongo/mongotimestamp/tostring.xml delete mode 100644 reference/mongo/mongoupdatebatch.xml delete mode 100644 reference/mongo/mongoupdatebatch/construct.xml delete mode 100644 reference/mongo/mongowritebatch.xml delete mode 100644 reference/mongo/mongowritebatch/add.xml delete mode 100644 reference/mongo/mongowritebatch/construct.xml delete mode 100644 reference/mongo/mongowritebatch/execute.xml delete mode 100644 reference/mongo/mongowriteconcernexception.xml delete mode 100644 reference/mongo/mongowriteconcernexception/getdocument.xml delete mode 100644 reference/mongo/queries.xml delete mode 100644 reference/mongo/readpreferences.xml delete mode 100644 reference/mongo/reference.xml delete mode 100644 reference/mongo/security.xml delete mode 100644 reference/mongo/setup.xml delete mode 100644 reference/mongo/sqltomongo.xml delete mode 100644 reference/mongo/testing.xml delete mode 100644 reference/mongo/trouble.xml delete mode 100644 reference/mongo/tutorial.xml delete mode 100644 reference/mongo/types.xml delete mode 100644 reference/mongo/updates.xml delete mode 100644 reference/mongo/versions.xml delete mode 100644 reference/mongo/writeconcerns.xml delete mode 100644 reference/mongo/writes.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 1f12083846..cd50eb1009 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -81,7 +81,6 @@ - @@ -331,7 +330,6 @@ - diff --git a/appendices/ini.list.xml b/appendices/ini.list.xml index 60e022a5eb..2d12e2cb8f 100644 --- a/appendices/ini.list.xml +++ b/appendices/ini.list.xml @@ -554,7 +554,6 @@ PHP_INI_ALL - diff --git a/language/context.xml b/language/context.xml index 91be147467..dca7a61101 100644 --- a/language/context.xml +++ b/language/context.xml @@ -20,7 +20,6 @@ &language.context.ssl; &language.context.curl; &language.context.phar; - &language.context.mongodb; &language.context.parameters; &language.context.zip; diff --git a/language/context/mongodb.xml b/language/context/mongodb.xml deleted file mode 100644 index 559bf3d4ba..0000000000 --- a/language/context/mongodb.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - MongoDB context options - MongoDB context option listing - - - - &reftitle.description; - - Context options for mongodb:// transports. - - - - - &reftitle.options; - - - - - log_cmd_insert - callable - - - - A callback function called when inserting a document, see log_cmd_insert. - - - - - - log_cmd_delete - callable - - - - A callback function called when deleting a document, see log_cmd_delete. - - - - - - log_cmd_update - callable - - - - A callback function called when updating a document, see log_cmd_update. - - - - - - log_write_batch - callable - - - - A callback function called when executing a Write Batch, see log_write_batch. - - - - - - log_reply - callable - - - - A callback function called when reading a reply from MongoDB, see log_reply. - - - - - - log_getmore - callable - - - - A callback function called when retrieving more results from a MongoDB cursor, see log_getmore. - - - - - - log_killcursor - callable - - - - A callback function called executing a killcursor opcode, see log_killcursor. - - - - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - pecl/mongo 1.5.0 - - Added Write API Context options - - - - - - - - - - &reftitle.seealso; - - - - - - - - - - - - diff --git a/reference/mongo/batch.xml b/reference/mongo/batch.xml deleted file mode 100644 index 206eae48ec..0000000000 --- a/reference/mongo/batch.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Batch Classes - - &reference.mongo.mongowritebatch; - &reference.mongo.mongoinsertbatch; - &reference.mongo.mongoupdatebatch; - &reference.mongo.mongodeletebatch; - - diff --git a/reference/mongo/book.xml b/reference/mongo/book.xml deleted file mode 100644 index 9929063dfb..0000000000 --- a/reference/mongo/book.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - MongoDB driver (legacy) - Mongo - - &reference.mongo.setup; - &reference.mongo.constants; - - &reference.mongo.manual; - &reference.mongo.core; - &reference.mongo.types; - &reference.mongo.gridfs; - &reference.mongo.batch; - &reference.mongo.misc; - &reference.mongo.reference; - &reference.mongo.exceptions; - &reference.mongo.changelog; - - - - - diff --git a/reference/mongo/changelog.xml b/reference/mongo/changelog.xml deleted file mode 100644 index b44b1cb60b..0000000000 --- a/reference/mongo/changelog.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - &ChangelogListingTitle; - &ChangelogListingDescription; - - - MongoDB PHP Driver 1.5.0 - - It supports all new features for MongoDB 2.6, including: - - - Aggregate can now return a cursor - Aggregation pipelines can now be explained - Possible to set maxTimeMS for commands and queries - Transparent support for the new command-based MongoDB write API - New MongoWriteBatch classes (using the new MongoDB write API) - Support for MongoDB Enterprise features (e.g. Kerberos, LDAP, X509) - Option to tune acceptable server latency for secondary reads (secondaryAcceptableLatencyMS) - - - - With this release, some driver functionality which was previously - documented as deprecated will now formally raise deprecation notices. This - includes: - - Instantiating the Mongo class - Calling MongoCursor::slaveOkay() - "wtimeout" and "safe" options for MongoCollection write operations - Manipulating public properties on core classes (such as $collection->w) - - - - - No previously deprecated features have been removed. - - - - Changes in behaviour: - - Setting the mongo.native_long INI setting now raises an error on 32-bit - platforms, and now defaults to true for 64-bit platforms. - - - - - - MongoDB PHP Driver 1.4.0 - - The 1.4 series introduced fundemental changes in how connections are created to the MongoDB servers. - The driver now utilizes PHP native streams, so all normal PHP stream options apply. - Furthermore, an experimental Stream Context Support was added. - - - The 1.4.x series also added support for MongoDB 2.4.x. - - - The most important improvements however deal with the handling of replica sets, - especially nodes that timeout and nodes that are unreachable for various - reasons. Besides the improvements to replica set handling, this release - addresses issues with read preferences through mongos nodes. It also - adds support for SSL enabled connections as well as journal and fsync - connection string options. - - - - - MongoDB PHP Driver 1.3.0 - - The 1.3 series introduced several major changes to the extension such as - completely rewritten connection - handling (and removal of the pooling mechanism), support for - ReadPreferences and change the - default WriteConcerns to be - acknowledged by introducing a new class - MongoClient which serves as a - replacement class for the now deprecated Mongo class. - - - The driver now also supports connecting to multiple mongos instances (the - Mongo Shard router) for loadbalancing. - - - Other enhancements include improved logging for easier connection handling - debugging with MongoLog and support for the - Aggregation Framework - via the MongoCollection::aggregate method. - - - - - - Changes to existing methods - - Following is a list of all improvements to existing methods since - their inception. - - - - - - - - - diff --git a/reference/mongo/configure.xml b/reference/mongo/configure.xml deleted file mode 100644 index 4eb26d3e8f..0000000000 --- a/reference/mongo/configure.xml +++ /dev/null @@ -1,302 +0,0 @@ - - - -
- &reftitle.install; - - - &mongo.deprecated.note; - - - - The MongoDB PHP driver should work on nearly any system: Windows, macOS, - Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP - 5.3 through 5.6 (versions prior to 1.6 also support PHP 5.2). - - - &pecl.moved; - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Manual Installation - - For driver developers and people interested in the latest bugfixes, you - can compile the driver from the latest source code on - Github. - Go to Github and click the "download" button. Then run: - - -.tar.gz -$ cd mongo-php-driver-legacy- -$ phpize -$ ./configure -$ make all -$ sudo make install -]]> - - - - - Make the following changes to &php.ini;: - - - - - Make sure the extension_dir variable is pointing to - the directory containing mongo.so. The build will display where - it is installing the PHP driver with output that looks something like: - - - - - Make sure that it is the same as the PHP extension directory by running: - - - /usr/lib/php/extensions/no-debug-non-zts-20060613 => - /usr/lib/php/extensions/no-debug-non-zts-20060613 -]]> - - - If it's not, change the extension_dir in &php.ini; or - move mongo.so. - - - - - To load the extension on PHP startup, add a line: - - - - - - - - -
- -
- Installing on *NIX - - - Run: - - - - - - - Add the following line to your &php.ini; file: - - - - - - - If pecl runs out of memory while installing, make sure memory_limit in - &php.ini; is set to at least 128MB. - -
- -
- Installing on Windows - - - Precompiled binaries for each release are available from - PECL for a variety - of combinations of versions, thread safety, and VC libraries. Unzip the - archive and put php_mongo.dll in your PHP extension directory ("ext" by - default). - - - - Add the following line to your &php.ini; file: - - - - - - - Additional DLL dependencies for Windows Users - - &ext.windows.path.dll; - libsasl.dll - - -
- -
- macOS - - - In most cases installing from PECL is the easiest way: - - - - - - - If your system has multiple version of PHP installed (e.g. macOS default, - Homebrew, XAMPP), note that each - version of PHP has its own pecl - command and &php.ini; file. - - - - Xcode dependency for compiling on macOS - - Compiling the driver on macOS will require Xcode developer tools, which may - be installed with xcode-select --install. If that command is - not available, you may first need to install the - Command Line Tools package. - - -
- -
- Gentoo - - - Gentoo has a package for the PHP PECL driver called dev-php/pecl-mongo, which can be - installed with: - - - - - - - - If you use PECL, you may get an error that libtool is the wrong version. - Compiling from source you'll need to run aclocal and autoconf. - - - - - -
- -
- Red Hat - - - This includes Fedora and CentOS. - - - - The default Apache settings on these systems do not let requests make - network connections, meaning that the driver will get "Permission denied" - errors when it tries to connect to the database. If you run into this, try - running: - - - - Then restart Apache. (This issue has also occurred with SELinux.) - -
- -
- Third-Party Installation Instructions - - - A number of people have created excellent tutorials on installing the PHP - driver. - - - - - - - (Re)installing PHP on macOS - - - - This article by Justin Hileman details the process of installing PHP and - additional extensions with Homebrew on macOS. This complements the earlier - instructions on this page for installing the driver with Homebrew. - - - - - - PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2 - - - This screencast by Jon Adams demonstrates how to quickly get up and - running with PHP 5.3.1, Xdebug, and MongoDB on Ubuntu 9.10 with Apache. - - - -
- -
- - - diff --git a/reference/mongo/connecting.xml b/reference/mongo/connecting.xml deleted file mode 100644 index 386ee71172..0000000000 --- a/reference/mongo/connecting.xml +++ /dev/null @@ -1,775 +0,0 @@ - - - - - Connecting - - - Connecting to MongoDB can be as easy as new MongoClient, - but there are many additional options and configurations. The documentation - for MongoClient::__construct covers all of the API - options, but this page gives some more details and advice for practical use - cases. - - -
- Connecting over SSL - - The driver supports connecting to MongoDB over SSL - and can optionally use SSL Stream Context options to provide more details, - such as verifying certificates against specific certificate chain, or authenticate to - MongoDB using X509 certificates. - - - - Connect to MongoDB Instance with SSL Encryption - - true)); -?> -]]> - - - - - Connect to MongoDB Instance with SSL Encryption, verifying it is who we think it is - - array( - /* Certificate Authority the remote server certificate must be signed by */ - "cafile" => $SSL_DIR . "/" . $SSL_FILE, - - /* Disable self signed certificates */ - "allow_self_signed" => false, - - /* Verify the peer certificate against our provided Certificate Authority root certificate */ - "verify_peer" => true, /* Default to false pre PHP 5.6 */ - - /* Verify the peer name (e.g. hostname validation) */ - /* Will use the hostname used to connec to the node */ - "verify_peer_name" => true, - - /* Verify the server certificate has not expired */ - "verify_expiry" => true, /* Only available in the MongoDB PHP Driver */ - ), -); - -$mc = new MongoClient( - "mongodb://server1", - array("ssl" => true), - array("context" => $ctx) -); -?> -]]> - - - - The "verify_peer_name" is new in PHP 5.6.0. The - MongoDB driver as of 1.6.5 however has backported this feature into the - driver itself, so it works with PHP 5.3 and 5.4 too - - - - - - - Connect to MongoDB Instance that Requires Client Certificates - - array( - "local_cert" => $MYCERT, - /* If the certificate we are providing was passphrase encoded, we need to set it here */ - "passphrase" => "My Passphrase for the local_cert", - - /* Optionally verify the server is who he says he is */ - "cafile" => $SSL_DIR . "/" . $SSL_FILE, - "allow_self_signed" => false, - "verify_peer" => true, - "verify_peer_name" => true, - "verify_expiry" => true, - ), -)); - -$mc = new MongoClient( - "mongodb://server1/?ssl=true", - array(), - array("context" => $ctx) -); -?> -]]> - - - - - Authenticating with X.509 certificates - - The username is the certificate subject from the X509, which can be extracted like this: - - - - - - array( - "local_cert" => "/vagrant/certs/ca-signed-client.pem", - ) -) ); - -$mc = new MongoClient( - 'mongodb://username@server1/?authSource=$external&authMechanism=MONGODB-X509&ssl=true', - array(), - array("context" => $ctx) -); -?> -]]> - - - Where username is the certificate subject. - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 1.5.0 - - Added support for X509 authentication. - - - - 1.4.0 - - Added support for connecting to SSL enabled MongoDB. - - - - - - - -
- -
- Authentication - - If MongoDB is started with the --auth or - --keyFile options, you must authenticate before you can do - any operations with the driver. You may authenticate a connection by - specifying the username and password in either the connection URI or the - "username" and "password" options for - MongoClient::__construct. - - - Authenticating against the "admin" database - - $username, "password" => $password)); -?> -]]> - - - - By default, the driver will authenticate against the admin - database. You may authenticate against a different database by specifying it - in either the connection URI or the "db" option for - MongoClient::__construct. - - - Authenticating against normal databases - - "myDatabase")); -?> -]]> - - - - If your connection is dropped, the driver will automatically attempt to - reconnect and reauthenticate you. - -
- -
- Replica Sets - - To connect to a replica set, specify one or more members of the set and use - the "replicaSet" option. Multiple servers may be delimited - by a comma. - - - ReplicaSet seed list - - "myReplSetName")); - -// Using multiple servers as the seed list -$m = new MongoClient("mongodb://rs1.example.com:27017,rs2.example.com:27017", array("replicaSet" => "myReplSetName")); -?> -]]> - - - - The PHP driver will query the database server(s) listed to determine the - primary. So long as it can connect to at least one host listed and find a - primary, the connection will succeed. If it cannot make a connection to any - servers listed or cannot find a primary, a - MongoConnectionException will be thrown. - - - - You should always provide a seed list with more than one member of the - ReplicaSet. For highest availability you should seed with at least one - server from each of your datacenters. - - - - - The host names that you specify in the seed list must - match the host names in the replica set configuration. This is because the - driver only uses the host names in the replica set configuration to create - the hash for its persistent connections. - - - For example, if an IP address is used in the seed list and the replica set - is configured with host names, the driver will discard any seed list - connection(s) that differ from the canonical host names reported by the - replica set. Effectively, these non-canonical seed list connections will be - recreated on each request, greatly reducing the benefit of using persistent - connections. - - - - - The driver does not support connecting to different - replica sets with the same name. This extends beyond one script so make - sure to have separate names for each of your replica sets. That also means - that you can not do this: - - - Wrong replica set name duplication - - -]]> - - - - Instead, you need to have two different names for your replica sets: - - - Correct use of two replica set names - - -]]> - - - - - If the primary becomes unavailable, an election will take place and a - secondary will be promoted to the role of primary (unless a majority vote - cannot be established). During this time - (20-60 seconds), the - connection will not be able to perform any write operations and attempts to - do so will result in an exception. Connections to secondaries will still be - able to perform reads. - - - - The default Read Preference - is to only read from the primary. During the election process there is no - primary, and all read will therefore fail. - - - It is recommended to use - MongoClient::RP_PRIMARY_PREFERRED Read Preference for - applications that require high availability for reads, as reads will only - be executed on the secondaries when there simply isn't a primary - available. - - - - Once a primary is elected, attempting to perform a read or write will allow - the driver to detect the new primary. The driver will make this its primary - database connection and continue operating normally. - - - The health and state of a secondary is checked every 5 seconds - (configurable with - mongo.ping_interval) - or when the next operation occurs after 5 seconds. It will also recheck - the configuration when the driver has a problem reaching a server. - - - Replica set failovers are checked every 60 seconds (configurable with - mongo.is_master_interval), - and whenever a write operation fails when using acknowledged writes. - - - - - Secondaries may be behind the primary in operations, so - your application must be able to handle out-of-date data when using - Read Preferences other then MongoClient::RP_PRIMARY. - - - - - For more information on replica sets, see the - core documentation. - - - - &reftitle.seealso; - - - - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 1.0.9 - - Added support for connecting to ReplicaSet and automatic failover. - - - - - - - -
- -
- Sharding - - To connect to a shard cluster, specify the address of one or more - mongos instances in the connection string. Multiple - servers may be delimited by a comma. - - - - -]]> - - - - Regardless of whether each shard is a stand-alone mongod - server or a full replica set, the driver's connection process is the same. - All database communication will be routed through mongos. - - - For more information on sharding with MongoDB, see the - sharding documentation. - -
- -
- Domain Socket Support - - - MongoDB has built-in support for connecting via Unix Domain Sockets and will - open the socket on startup. By default, the socket is located in - /tmp/mongodb-<port>.sock. - - - - To connect to the socket file, specify the path in your MongoDB connection - string: - - - - - -]]> - - - - - If you would like to authenticate against a database (as described above) - with a socket file, you must specify a port of 0 so that - the connection string parser can detect the end of the socket path. - Alternatively, you can use the constructor options. - - - - - -]]> - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 1.0.9 - - Added support for Unix Domain Sockets. - - - - - - - -
- -
- Persistent Connections (version 1.3.0+) - - - All versions of the driver since 1.3.0 utilize persistent connections to - minimize the number of connections made to each database server. These - connections are saved by the PHP worker process and may be reused between - multiple requests. - - - - Before connecting to a database server, the driver will create a hash for the - connection based on its host, port, replica set name (if any), any - authentication credentials (e.g. username, password, database), and the - process ID. If a connection already exists for that hash, it will be used in - lieu of creating a new connection associated with that hash. - MongoClient::getConnections may be used to retrieve info - about each persistent connection. Consider the following program: - - - - - -]]> - - &example.outputs.similar; - - - - - - - In this example $m1 and $m2 have the - same hash and share a persistent connection. Connections for each other - MongoClient instance hash to unique values and use their own sockets. Note - that "localhost" and "127.0.0.1" do not share the same hash; DNS resolution - is not taken into account. - -
- -
- Connection Pooling (version 1.2.0-1.2.12 *only*) - - - This section is no longer relevant as of the 1.3.0 release of the driver - and only serves as a historical information on how the pooling used to - work. - - - The latest versions of the driver have no concept of pooling anymore and - will maintain only one connection per process, for each connection type - (ReplicaSet/standalone/mongos), for each credentials combination. - - - - Creating connections is one of the most heavyweight things that the driver - does. It can take hundreds of milliseconds to set up a connection correctly, - even on a fast network. Thus, the driver tries to minimize the number of new - connections created by reusing connections from a pool. - - - When a user creates a new instance of MongoClient, all - necessary connections will be taken from their pools (replica sets may - require multiple connections, one for each member of the set). When the - MongoClient instance goes out of scope, the - connections will be returned to the pool. When the PHP process exits, all - connections in the pools will be closed. - -
- "Why do I have so many open connections?" - - Connection pools can generate a large number of connections. This is - expected and, using a little arithmetic, you can figure out how many - connections will be created. There are three factors in determining the - total number of connections: - - - - - - connections_per_pool - - - - Each connection pool will create, by default, an unlimited number of - connections. One might assume that this is a problem: if it can create an - unlimited number of connections, couldn't it create thousands and the - server would run out of file descriptors? In practice, this is unlikely, - as unused connections are returned to the pool to be used later, so future - connections will use the same connection instead of creating a new one. - Unless you create thousands of connections at once without letting any go - out of scope, the number of connections open should stay at a reasonable - number. - - - You can see how many connections you have in a pool using the - MongoPool::info function. Add up the "in use" and - "in pool" fields for a given server. That is the total number of - connections for that pool. - - - - - - pools_per_process - - - - Each MongoDB server address you're connecting to gets its own connection - pool. For example, if your local hostname is "example.net", connecting - to "example.net:27017", "localhost:27017", and "/tmp/mongodb-27017.sock" - will create three connection pools. You can see how many connection pools - you have open using MongoPool::info. - - - - - - processes - - - - Each PHP process has a separate set of pools. PHP-FPM and Apache - generally create between 6 and a couple of dozen PHP worker children. - Check your settings to see what the max number of PHP processes is that - can be spawned. - - - If you are using PHP-FPM, estimating the number of connections can be - tricky because it will spawn more PHP-FPM workers under heavy load. To be - on the safe side, look at the max_children parameter or - add up spare_servers + start_servers - (choose whichever number is higher). That will indicate how many PHP - processes (i.e. sets of pools) you should plan for. - - - - - The three variables above can be multiplied together to give the max - number of connections expected: - connections_per_pool * - pools_per_process * - processes. Note that - connections_per_pool can be different for different - pools, so connections_per_pool should be the max. - - - For example, suppose we're getting 30 connections per pool, 10 pools per PHP - process, and 128 PHP processes. Then we can expect 38400 connections from - this machine. Thus, we should set this machine's file descriptor limit to - be high enough to handle all of these connections or it may run out of file - descriptors. - - - See MongoPool for more information on connection - pooling. - -
-
- -
- Manually Persistent Connections (version up to 1.1.4 *only*) - - - This section is not relevant for 1.2.0+. In 1.2.0+, connections are always - persistent and managed automatically by the driver. If you are using a - 1.2.x release (but not 1.3.x or later), see - MongoPool for more information on pooling. - - - - - Creating new connection to the database is very slow. To minimize the number - of connections that you need to make, you can use persistent connections. A - persistent connection is saved by PHP, so you can use the same connection for - multiple requests. - - - - For example, this simple program connects to the database 1000 times: - - - - - -]]> - - - - - It takes approximately 18 seconds to execute. If we change it to use a - persistent connection: - - - - - "x")); -} - -?> -]]> - - - - - ...it takes less than .02 seconds to execute, as it only makes one database - connection. - - - - Persistent connections need an identifier string (which is "x" in the above - example) to uniquely identify them. For a persistent connection to be used, - the hostname, port, persist string, and authentication credentials (username, - password and database, if given) must match an existing persistent - connection. Otherwise, a new connection will be created with this identifying - information. - - - Persistent connections are highly recommended and should - always be used in production unless there is a compelling reason not to. - Most of the reasons that they are not recommended for relational databases - are irrelevant to MongoDB. - -
- -
- - diff --git a/reference/mongo/constants.xml b/reference/mongo/constants.xml deleted file mode 100644 index 2e881f878a..0000000000 --- a/reference/mongo/constants.xml +++ /dev/null @@ -1,299 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - - - MONGO_STREAMS - (int) - - - - Alias of MONGO_SUPPORTS_STREAMS - - - - - - MONGO_SUPPORTS_STREAMS - (int) - - - - 1 when compiled against PHP Streams (default since 1.4.0). - - - - - - MONGO_SUPPORTS_SSL - (int) - - - - 1 when is enabled and available. - - - - - - MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_CR - (int) - - - - 1 when MongoDB-Challenge/Reponse authentication is compiled in. - - - - - - MONGO_SUPPORTS_AUTH_MECHANISM_MONGODB_X509 - (int) - - - - 1 when x.509 authentication is compiled in. - - - - - - MONGO_SUPPORTS_AUTH_MECHANISM_GSSAPI - (int) - - - - 1 when GSSAPI authentication is compiled in. - - - - - - MONGO_SUPPORTS_AUTH_MECHANISM_PLAIN - (int) - - - - 1 when PLAIN authentication is compiled in. - - - - - - MONGO_STREAM_NOTIFY_TYPE_IO_INIT - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_TYPE_LOG - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_IO_READ - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_IO_WRITE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_IO_PROGRESS - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_IO_COMPLETED - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_INSERT - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_QUERY - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_UPDATE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_DELETE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_GETMORE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_KILLCURSOR - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_BATCHINSERT - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_RESPONSE_HEADER - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_WRITE_REPLY - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_CMD_INSERT - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_CMD_UPDATE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_CMD_DELETE - (int) - - - - - - - - - MONGO_STREAM_NOTIFY_LOG_WRITE_BATCH - (int) - - - - - - - - - - - diff --git a/reference/mongo/context.xml b/reference/mongo/context.xml deleted file mode 100644 index 94f7d6ee7d..0000000000 --- a/reference/mongo/context.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - Stream Context Options - - - - The PHP MongoDB extension provides Stream Context Support - using the mongodb context. - - - - A stream context must be created with stream_context_create and passed to the MongoClient::__construct before the actual connection to MongoDB is made. - It is not possible to apply a stream context to already created streams. - - - - Additional context options and parameters, such as ssl - and notification parameters, are also supported. - - - - The MongoDB context options provide a rich interface to log network traffic between the driver and the MongoDB servers. - This interface can be used to provide query logging, profiler, debuggers, or anything that would need to inspect the underlaying - commands and protocol options. - - - - &reftitle.seealso; - - - - - - - - - - &reference.mongo.entities.context; - - - - - diff --git a/reference/mongo/context/log-cmd-delete.xml b/reference/mongo/context/log-cmd-delete.xml deleted file mode 100644 index b41abbfdcb..0000000000 --- a/reference/mongo/context/log-cmd-delete.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - log_cmd_delete - Callback When Deleting Documents - - - - &reftitle.description; - - log_cmd_delete - arrayserver - arraywriteOptions - arraydeleteOptions - arrayprotocolOptions - - - A callable function, used by the - log_cmd_delete context option, - when deleteing a document - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - &mongo.context.writeoptions; - - - deleteOptions - - - - - - - - key - value - - - - - limit - integer, 1 or 0. If 0, delete all matching documents. - - - q - Array, the search criteria - - - - - - - - &mongo.context.protocoloptions; - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Only available when connected to MongoDB 2.6.0+ - - - - - - - - - - - diff --git a/reference/mongo/context/log-cmd-insert.xml b/reference/mongo/context/log-cmd-insert.xml deleted file mode 100644 index 710289f3ff..0000000000 --- a/reference/mongo/context/log-cmd-insert.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - log_cmd_insert - Callback When Inserting Documents - - - - &reftitle.description; - - log_cmd_insert - arrayserver - arraydocument - arraywriteOptions - arrayprotocolOptions - - - A callable function, used by the - log_cmd_insert context option, - when inserting a document - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - - - document - - - - The document that has been prepared to be inserted - - - - &mongo.context.writeoptions; - &mongo.context.protocoloptions; - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Only available when connected to MongoDB 2.6.0+ - - - - - - - - - - - diff --git a/reference/mongo/context/log-cmd-update.xml b/reference/mongo/context/log-cmd-update.xml deleted file mode 100644 index 8949429ed7..0000000000 --- a/reference/mongo/context/log-cmd-update.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - log_cmd_update - Callback When Updating Documents - - - - &reftitle.description; - - log_cmd_update - arrayserver - arraywriteOptions - arrayupdateOptions - arrayprotocolOptions - - - A callable function, used by the - log_cmd_update context option, - when updateing a document - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - &mongo.context.writeoptions; - - - updateOptions - - - - - - - - key - value - - - - - multi - Boolean, true if this update is allowed to update all matched criteria - - - upsert - Boolean, true if the document should be created if criteria does not match - - - q - Array, the search criteria - - - u - Array, the new object/modifications - - - - - - - - &mongo.context.protocoloptions; - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Only available when connected to MongoDB 2.6.0+ - - - - - - - - - - - diff --git a/reference/mongo/context/log-getmore.xml b/reference/mongo/context/log-getmore.xml deleted file mode 100644 index 537e0327ad..0000000000 --- a/reference/mongo/context/log-getmore.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - log_getmore - Callback When Retrieving Next Cursor Batch - - - - &reftitle.description; - - log_getmore - arrayserver - arrayinfo - - - A callable function, used by the - log_getmore context option, - when executing a GET_MORE operation. - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - - - info - - - - - - - - key - value - - - - - request_id - integer, the driver request identifier - - - cursor_id - integer, the cursor identifier being used to fetch more data - - - batch_size - integer, maximum number of documents being requested - - - - - - - - - - - - - diff --git a/reference/mongo/context/log-killcursor.xml b/reference/mongo/context/log-killcursor.xml deleted file mode 100644 index 1d0e649b99..0000000000 --- a/reference/mongo/context/log-killcursor.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - log_killcursor - Callback When Executing KILLCURSOR operations - - - - &reftitle.description; - - log_killcursor - arrayserver - arrayinfo - - - A callable function, used by the - log_killcursor context option, - when reading a killcursor from MongoDB. - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - - - info - - - - - - - - key - value - - - - - cursor_id - integer, the cursor identifier to kill - - - - - - - - - - - - - diff --git a/reference/mongo/context/log-reply.xml b/reference/mongo/context/log-reply.xml deleted file mode 100644 index cd775e5e36..0000000000 --- a/reference/mongo/context/log-reply.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - log_reply - Callback When Reading the MongoDB reply - - - - &reftitle.description; - - log_reply - arrayserver - arraymessageHeaders - arrayoperationHeaders - - - A callable function, used by the - log_reply context option, - when reading a reply from MongoDB. - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - - - messageHeaders - - - - - - - - key - value - - - - - length - integer, bytes, message reply length - - - request_id - integer, the server request identifier - - - response_id - integer, the driver request identifier this message is a response of - - - opcode - integer, the opcode id - - - - - - - - - - operationHeaders - - - - - - - - key - value - - - - - flags - integer, bitmask of protocol flags - - - cursor_id - integer, ID of the cursor created on the server (0 if none created, or its been exhausted) - - - start - The starting offset of this cursor - - - returned - integer, how many documents are returned in this trip - - - - - - - - - - - - &reftitle.seealso; - - The OP_REPLY definition in the Wire Protocol - - - - - - - diff --git a/reference/mongo/context/log-write-batch.xml b/reference/mongo/context/log-write-batch.xml deleted file mode 100644 index d227e7ec21..0000000000 --- a/reference/mongo/context/log-write-batch.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - log_write_batch - Callback When Writing Batches - - - - &reftitle.description; - - log_write_batch - arrayserver - arraywriteOptions - arraybatch - arrayprotocolOptions - - - A callable function, used by the - log_write_batch context option, - when executing a batch operation. - - - - This is not a real function, only a prototype of how the function should - be. - - - - - - &reftitle.parameters; - - &mongo.context.server; - &mongo.context.writeoptions; - - - batch - - - - Array, the actual batch operation. - - - - &mongo.context.protocoloptions; - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Only available when connected to MongoDB 2.6.0+ - - - - - - - - - - - diff --git a/reference/mongo/core.xml b/reference/mongo/core.xml deleted file mode 100644 index 75b2b584e7..0000000000 --- a/reference/mongo/core.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - Core Classes - - - &mongo.deprecated.note; - - - The core classes are the most important part of the driver. - - - - &reference.mongo.mongoclient; - &reference.mongo.mongodb; - &reference.mongo.mongocollection; - &reference.mongo.mongocursor; - &reference.mongo.mongocursorinterface; - &reference.mongo.mongocommandcursor; - - diff --git a/reference/mongo/exceptions.xml b/reference/mongo/exceptions.xml deleted file mode 100644 index a33b604ed6..0000000000 --- a/reference/mongo/exceptions.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Exceptions - - -
- VMWare Oddities - - If you are running VMWare on Windows and are using CIFS, pausing the VM will - cause CIFS to go out of sync and cause weird errors on un-pausing it ("The - Mongo object has not been correctly initialized by its constructor"). - Permanently mounting the Windows shares will fix this and you'll be able to - pause and unpause at will. - - - To permanently mount the Windows shares, run: - - - - - - See the Ubuntu docs for the most - up-to-date instructions. - -
-
- - &reference.mongo.mongoexception; - &reference.mongo.mongoresultexception; - &reference.mongo.mongocursorexception; - &reference.mongo.mongocursortimeoutexception; - &reference.mongo.mongoconnectionexception; - &reference.mongo.mongogridfsexception; - &reference.mongo.mongoduplicatekeyexception; - &reference.mongo.mongoprotocolexception; - &reference.mongo.mongoexecutiontimeoutexception; - &reference.mongo.mongowriteconcernexception; - -
diff --git a/reference/mongo/functions/bson-decode.xml b/reference/mongo/functions/bson-decode.xml deleted file mode 100644 index 1d0d32af4c..0000000000 --- a/reference/mongo/functions/bson-decode.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - bson_decode - Deserializes a BSON object into a PHP array - - - - &reftitle.description; - - arraybson_decode - stringbson - - - This function is very beta and entirely useless for 99% of users. It is only - useful if you're doing something weird, such as writing your own driver on - top of the PHP driver. - - - - - &reftitle.parameters; - - - - bson - - - The BSON to be deserialized. - - - - - - - - - &reftitle.returnvalues; - - Returns the deserialized BSON object. - - - - - - diff --git a/reference/mongo/functions/bson-encode.xml b/reference/mongo/functions/bson-encode.xml deleted file mode 100644 index 75bac9f80f..0000000000 --- a/reference/mongo/functions/bson-encode.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - bson_encode - Serializes a PHP variable into a BSON string - - - - &reftitle.description; - - stringbson_encode - mixedanything - - - This function is very beta and entirely useless for 99% of users. It is only - useful if you're doing something weird, such as writing your own driver on - top of the PHP driver. - - - - - &reftitle.parameters; - - - - anything - - - The variable to be serialized. - - - - - - - - - &reftitle.returnvalues; - - Returns the serialized string. - - - - - - diff --git a/reference/mongo/gridfs.xml b/reference/mongo/gridfs.xml deleted file mode 100644 index 9397d5114b..0000000000 --- a/reference/mongo/gridfs.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - GridFS Classes - - &reference.mongo.mongogridfs; - &reference.mongo.mongogridfsfile; - &reference.mongo.mongogridfscursor; - - diff --git a/reference/mongo/ini.xml b/reference/mongo/ini.xml deleted file mode 100644 index dd88a8ac78..0000000000 --- a/reference/mongo/ini.xml +++ /dev/null @@ -1,340 +0,0 @@ - - -
- &reftitle.runtime; - &extension.runtime; - - - Mongo &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mongo.allow_empty_keys - 0 - PHP_INI_ALL - - - - mongo.allow_persistent - 1 - PHP_INI_ALL - Removed in 1.2.0 - - - mongo.chunk_size - 262144 - PHP_INI_ALL - - - - mongo.cmd - "$" - PHP_INI_ALL - - - - mongo.default_host - "localhost" - PHP_INI_ALL - - - - mongo.default_port - 27017 - PHP_INI_ALL - - - - mongo.is_master_interval - 15 - PHP_INI_ALL - Added in 1.2.10, before 1.3.0 the default value was 60. - - - mongo.long_as_object - 0 - PHP_INI_ALL - - - - mongo.native_long - 1 - PHP_INI_ALL - Before 1.5.0, the default value was 0. - - - mongo.ping_interval - 5 - PHP_INI_ALL - Added in 1.2.10 - - - mongo.utf8 - 1 - PHP_INI_ALL - - - - -
- &ini.php.constants; -
- - &ini.descriptions.title; - - - - - - mongo.allow_empty_keys - int - - - - Added in version 1.0.11. - - - If empty strings ("") should be allowed as key names. By default, the - driver will throw an exception if you attempt to pass the empty string as - a key to the database. It is extremely easy to do this inavertently by - using double quotes with $-operators, so it is recommended that you leave - this setting as default. However, if you need to save keys that are empty - strings, you can set this option to true and the driver will allow you to - pass empty strings to the database. - - - - - - - mongo.allow_persistent - int - - - - If persistent connections are allowed. (Removed in 1.2.0 - all - connections are now persistent). - - - - - - - mongo.chunk_size - int - - - - The number of bytes-per-chunk. Used in divvying up GridFS files. This - number must be at least 100 less than 4 megabytes (max: 4194204) and it is - recommended that it be less than that. - - - - - - - mongo.cmd - string - - - - A character to be used in place of $ in modifiers and comparisons. - - - As it is easy to forget to escape the "$", you can also choose your own - special character to use instead of '$'. Choose a character that will not - occur in your key names, e.g. ":": - - - - - - Then, to do a comparison, for example: - - - array( ":gt" => 20, ":lte" => 30 ) ); - -?> -]]> - - - You can also change it in your code using - ini_set("mongo.cmd", ":"). Of course, you can also - just use single quotes or backslash-escape the $. - - - - - - - mongo.default_host - string - - - - Default hostname when nothing is passed to the constructor. - - - - - - - mongo.default_port - string - - - - The default TCP port number to use when connecting to the database server - if no other port is specified. The database's default is - 27017. - - - - - - - mongo.is_master_interval - int - - - - Added in version 1.2.10. - - - For replicaset connections: The minimum interval with which the driver - will send "isMaster" requests to the MongoDB server. If the value is lower, - there will be more requests, but the driver finds faster whether the - topology of the replicaset has been changed. - - - - - - - mongo.long_as_object - int - - - - Return a BSON_LONG as an instance of MongoInt64 - (instead of a primitive type). - - - - - - - mongo.native_long - int - - - - - The default behavior for this has been changed to &true; in 1.5.0, so make - sure to set this variable to the value you want (probably &true;) so that - the driver's behavior doesn't suddenly change when you upgrade. - - - - On 64-bit platforms, the mongo.native_long setting - allows for 64-bit integers to be stored in MongoDB. If it is not set, only - 32-bits of the integer will be saved. The MongoDB data type that is used - in this case is the BSON LONG, instead of the BSON INT that is used if - this setting is turned off. - - - The setting also changes the way how BSON LONGs behave when they are read - back from MongoDB. Without mongo.native_long enabled, - the driver would convert every BSON LONG to a PHP double which can result - in a loss of precision. - - - On 32-bit platforms, the mongo.native_long setting - changes nothing for storing integers in MongoDB: the integer is stored - as a BSON INT as before. However, when the setting is enabled and a - BSON LONG is read from MongoDB a - MongoCursorException is thrown alerting you that - the data could not be read back without losing precision. - - - On 32-bit systems especially, it is recommended that you combine this with - enabling mongo.long_as_object. - - - - - - - mongo.ping_interval - int - - - - Added in version 1.2.10. - - - For replicaset connections: The minimum interval with which the driver - will send "ping" requests to the MongoDB server. If the value is lower, - there will be more pings, but the driver finds faster whether a node is - no longer reachable from the replicaset. - - - - - - - mongo.utf8 - int - - - - If an exception should be thrown for non-UTF8 strings. Until version - 1.0.4, the PHP driver would ignore non-UTF8 strings, even though you're - not supposed to insert them. As of 1.0.4, the driver throws a - MongoException. To ease the transition for - applications that insert non-UTF8 strings, you can turn this option off to - emulate the old, non-exception-throwning behavior. This option will be - eliminated and exceptions always thrown for non-UTF8 strings starting with - version 1.1.0. - - - - - - -
- - diff --git a/reference/mongo/manual.xml b/reference/mongo/manual.xml deleted file mode 100644 index ef95459f01..0000000000 --- a/reference/mongo/manual.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Manual - - - &mongo.deprecated.note; - - - This manual goes into some detail about how to use MongoDB, but it mostly - covers using the PHP driver. For information about how to design a - schema, what terms means, and setting up the database server, check out the - MongoDB documentation. - - - - &reference.mongo.tutorial; - &reference.mongo.readpreferences; - &reference.mongo.writeconcerns; - &reference.mongo.sqltomongo; - &reference.mongo.connecting; - &reference.mongo.context; - &reference.mongo.writes; - &reference.mongo.queries; - &reference.mongo.updates; - &reference.mongo.security; - &reference.mongo.trouble; - &reference.mongo.testing; - - - - - diff --git a/reference/mongo/misc.xml b/reference/mongo/misc.xml deleted file mode 100644 index af2976e99d..0000000000 --- a/reference/mongo/misc.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Miscellaneous - - &reference.mongo.mongolog; - &reference.mongo.mongopool; - &reference.mongo.mongo; - - diff --git a/reference/mongo/mongo.xml b/reference/mongo/mongo.xml deleted file mode 100644 index 897309a3a5..0000000000 --- a/reference/mongo/mongo.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - The Mongo class [deprecated] - Mongo - - - -
- &reftitle.intro; - - A connection between PHP and MongoDB. - - - This class extends MongoClient and provides access to - several deprecated methods. - - - For backwards compatibility, it also defaults the "w" - option of its constructor argument to 0, which does not - require write operations to be acknowledged by the server. See - MongoClient::__construct for more information. - - - - - This class has been DEPRECATED as of version - 1.3.0. Relying on this feature is highly discouraged. Please use - MongoClient instead. - - -
- - -
- &reftitle.classsynopsis; - - - - Mongo - - - - - Mongo - - - - extends - MongoClient - - - - - &Methods; - - - &InheritedMethods; - - - - -
- - -
- - &reference.mongo.entities.mongo; - -
- - diff --git a/reference/mongo/mongo/connectutil.xml b/reference/mongo/mongo/connectutil.xml deleted file mode 100644 index 58e0dbb2dc..0000000000 --- a/reference/mongo/mongo/connectutil.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - Mongo::connectUtil - Connects with a database server - - - - &reftitle.description; - - protected boolMongo::connectUtil - - - - - This is an internal function that you should never - call yourself. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - If the connection was successful. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it fails to connect - to the databases. - - - - - diff --git a/reference/mongo/mongo/construct.xml b/reference/mongo/mongo/construct.xml deleted file mode 100644 index fa0941044c..0000000000 --- a/reference/mongo/mongo/construct.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - Mongo::__construct - The __construct purpose - - - - &reftitle.description; - - public Mongo::__construct - stringserver - arrayoptions - - - This method overwrites the MongoClient constructor - and turns off acknowledged writes. - - - Please see MongoClient::__construct for - description of the parameters. - - - - - &reftitle.returnvalues; - - - Instanciating this class will emit E_DEPRECATED - warning, and turn off acknowledged writes. - - - - Please use the MongoClient instead. - - - - - - - diff --git a/reference/mongo/mongo/getpoolsize.xml b/reference/mongo/mongo/getpoolsize.xml deleted file mode 100644 index 929086c4e3..0000000000 --- a/reference/mongo/mongo/getpoolsize.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Mongo::getPoolSize - Get pool size for connection pools - - - - &reftitle.description; - - public static intMongo::getPoolSize - - - - - This feature has been DEPRECATED as of version - 1.2.3. Relying on this feature is highly discouraged. Please use - MongoPool::getSize instead. - - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current pool size. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.examples; - - Changing pool size - - This returns the default pool size, sets a new pool size, then prints the - new pool size and the pool debugging information. Note that changing the - pool size only affects new connection pools, it does not change old ones. - - - -]]> - - - - - - &reftitle.seealso; - - - Mongo::setPoolSize - Mongo::poolDebug - The connection documentation. - - - - - - diff --git a/reference/mongo/mongo/getslave.xml b/reference/mongo/mongo/getslave.xml deleted file mode 100644 index b16d0d3259..0000000000 --- a/reference/mongo/mongo/getslave.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Mongo::getSlave - Returns the address being used by this for slaveOkay reads - - - - &reftitle.description; - - public stringMongo::getSlave - - - - - This finds the address of the secondary currently being used for reads. It is - a read-only method: it does not change anything about the internal state of - the object. - - - - When you create a connection to the database, the driver will not immediately - decide on a secondary to use. Thus, after you connect, this function will - return &null; even if there are secondaries available. When you first do a - query with slaveOkay set, at that point the driver will choose a secondary - for this connection. At that point, this function will return the chosen - secondary. - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The address of the secondary this connection is using for reads. - - - This returns &null; if this is not connected to a replica set or not yet - initialized. - - - - - &reftitle.errors; - &mongo.errors.deprecated; - - The returned results aren't really useful as the secondary selection - process is done on each query and database command execution. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - MongoCursor::info - - - - - diff --git a/reference/mongo/mongo/getslaveokay.xml b/reference/mongo/mongo/getslaveokay.xml deleted file mode 100644 index 33c7f3d18f..0000000000 --- a/reference/mongo/mongo/getslaveokay.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - Mongo::getSlaveOkay - Get slaveOkay setting for this connection - - - - &reftitle.description; - - public boolMongo::getSlaveOkay - - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the value of slaveOkay for this instance. - - - - - &reftitle.errors; - &mongo.errors.deprecated; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoClient::getReadPreference - - - - - diff --git a/reference/mongo/mongo/pooldebug.xml b/reference/mongo/mongo/pooldebug.xml deleted file mode 100644 index 360907cb84..0000000000 --- a/reference/mongo/mongo/pooldebug.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - Mongo::poolDebug - Returns information about all connection pools - - - - &reftitle.description; - - public arrayMongo::poolDebug - - - - - This feature has been DEPRECATED as of version - 1.2.3. Relying on this feature is highly discouraged. Please use - MongoPool::info instead. - - - - - Returns an array of information about all connection pools. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Each connection pool has an identifier, which starts with the host. For each - pool, this function shows the following fields: - - - - in use - - - - The number of connections currently being used by - MongoClient instances. - - - - - - in pool - - - - The number of connections currently in the pool (not being used). - - - - - - remaining - - - - The number of connections that could be created by this pool. For - example, suppose a pool had 5 connections remaining and 3 connections in - the pool. We could create 8 new instances of - MongoClient before we exhausted this pool - (assuming no instances of MongoClient went out of - scope, returning their connections to the pool). - - - A negative number means that this pool will spawn unlimited connections. - - - Before a pool is created, you can change the max number of connections by - calling Mongo::setPoolSize. Once a pool is showing - up in the output of this function, its size cannot be changed. - - - - - - timeout - - - - The socket timeout for connections in this pool. This is how long - connections in this pool will attempt to connect to a server before - giving up. - - - - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - diff --git a/reference/mongo/mongo/setpoolsize.xml b/reference/mongo/mongo/setpoolsize.xml deleted file mode 100644 index 5cafb52e60..0000000000 --- a/reference/mongo/mongo/setpoolsize.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Mongo::setPoolSize - Set the size for future connection pools - - - - &reftitle.description; - - public static boolMongo::setPoolSize - intsize - - - - This method has been DEPRECATED as of version - 1.2.3. Relying on this feature is highly discouraged. Please use - MongoPool::setSize instead. - - - - - Sets the max number of connections new pools will be able to create. - - - - - &reftitle.parameters; - - - - - size - - - - The max number of connections future pools will be able to create. - Negative numbers mean that the pool will spawn an infinite number of - connections. - - - - - - - - - &reftitle.returnvalues; - - Returns the former value of pool size. - - - - - - &reftitle.examples; - - - <function>Mongo::setPoolSize</function> example - - If you set the pool size to n and then create - n connections, attempting to create an - n+1st connection will throw a - MongoConnectionException. - - - -]]> - - &example.outputs.similar; - -__construct() -#1 {main} - thrown in /path/to/php/script.php on line 10 -]]> - - - - - - - - &reftitle.seealso; - - - Mongo::getPoolSize - Mongo::poolDebug - The connection documentation. - - - - - diff --git a/reference/mongo/mongo/setslaveokay.xml b/reference/mongo/mongo/setslaveokay.xml deleted file mode 100644 index 3e87d7797f..0000000000 --- a/reference/mongo/mongo/setslaveokay.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - Mongo::setSlaveOkay - Change slaveOkay setting for this connection - - - - &reftitle.description; - - public boolMongo::setSlaveOkay - boolok&true; - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - - - - - ok - - - - If reads should be sent to secondary members of a replica set for all - possible queries using this MongoClient instance. - - - - - - - - - &reftitle.returnvalues; - - Returns the former value of slaveOkay for this instance. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoClient::setReadPreference - - - - - diff --git a/reference/mongo/mongo/switchslave.xml b/reference/mongo/mongo/switchslave.xml deleted file mode 100644 index ff800d00d8..0000000000 --- a/reference/mongo/mongo/switchslave.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Mongo::switchSlave - Choose a new secondary for slaveOkay reads - - - - &reftitle.description; - - public stringMongo::switchSlave - - - - - This choses a random secondary for a connection to read from. It is called - automatically by the driver and should not need to be used. It calls - MongoClient::getHosts (to refresh the status of hosts) - and Mongo::getSlave (to get the return value). - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The address of the secondary this connection is using for reads. This may be - the same as the previous address as addresses are randomly chosen. It may - return only one address if only one secondary (or only the primary) is - available. - - - For example, if we had a three member replica set with a primary, secondary, - and arbiter this method would always return the address of the secondary. - If the secondary became unavailable, this method would always return the - address of the primary. If the primary also became unavailable, this method - would throw an exception, as an arbiter cannot handle reads. - - - - - &reftitle.errors; - - Throws a MongoException (error code 15) if it is - called on a non-replica-set connection. It will also throw - MongoExceptions if it cannot find anyone (primary or - secondary) to read from (error code 16). - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - - - - - - diff --git a/reference/mongo/mongobindata.xml b/reference/mongo/mongobindata.xml deleted file mode 100644 index 450f1991a8..0000000000 --- a/reference/mongo/mongobindata.xml +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - The MongoBinData class - MongoBinData - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\Binary - - - - -
- &reftitle.intro; - - An object that can be used to store or retrieve binary data from the database. - - - The maximum size of a single object that can be inserted into the database - is 16MB. For data that is larger than this (movies, music, Henry Kissinger's - autobiography), use MongoGridFS. For data that is - smaller than 16MB, you may find it easier to embed it within the document - using MongoBinData. - - - For example, to embed an image in a document, one could write: - - - - "foobity", - "pic" => new MongoBinData(file_get_contents("gravatar.jpg"), MongoBinData::GENERIC), -); - -$users->save($profile); - -?> -]]> - - - - This class contains a type field, which currently gives - no additional functionality in the PHP driver or the database. There are - seven predefined types, which are defined as class constants below. For - backwards compatibility, the PHP driver uses - MongoBinData::BYTE_ARRAY as the default; however, this - may change to MongoBinData::GENERIC in the future. - Users are encouraged to specify a type in - MongoBinData::__construct. - -
- - -
- &reftitle.classsynopsis; - - - - MongoBinData - - - - - MongoBinData - - - - - &Constants; - - const - int - MongoBinData::GENERIC - 0 - - - const - int - MongoBinData::FUNC - 1 - - - const - int - MongoBinData::BYTE_ARRAY - 2 - - - const - int - MongoBinData::UUID - 3 - - - const - int - MongoBinData::UUID_RFC4122 - 4 - - - const - int - MongoBinData::MD5 - 5 - - - const - int - MongoBinData::CUSTOM - 128 - - - Fields - - public - string - bin - - - public - int - type - 2 - - - &Methods; - - - - -
- - -
- &reftitle.constants; -
- Binary Data Types - - - MongoBinData::GENERIC - - - Generic binary data. - - - - - MongoBinData::FUNC - - - Function. - - - - - MongoBinData::BYTE_ARRAY - - - Generic binary data (deprecated in favor of - MongoBinData::GENERIC). - - - - - MongoBinData::UUID - - - Universally unique identifier (deprecated in favor of - MongoBinData::UUID_RFC4122). - - - - - MongoBinData::UUID_RFC4122 - - - Universally unique identifier (according to - RFC 4122). - - - - - MongoBinData::MD5 - - - MD5. - - - - - MongoBinData::CUSTOM - - - User-defined type. - - - - -
-
- - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 1.5.0 - - Added MongoBinData::GENERIC and - MongoBinData::UUID_RFC4122 constants. - - - - - - - -
- - &reference.mongo.entities.mongobindata; - -
- - diff --git a/reference/mongo/mongobindata/construct.xml b/reference/mongo/mongobindata/construct.xml deleted file mode 100644 index 8425e6f4f0..0000000000 --- a/reference/mongo/mongobindata/construct.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - MongoBinData::__construct - Creates a new binary data object - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Binary::__construct - - - - - - &reftitle.description; - - public MongoBinData::__construct - stringdata - inttype0 - - - Creates a new binary data object. - - - There are seven types of binary data currently recognized by the BSON spec, - which are defined as - class constants. For - backwards compatibility, the PHP driver uses - MongoBinData::BYTE_ARRAY as the default; however, this - may change to MongoBinData::GENERIC in the future. - Users are encouraged to specify a type instead of relying on the default. - - - - - &reftitle.parameters; - - - - - data - - - - Binary data. - - - - - - type - - - - Data type. - - - - - - - - - &reftitle.returnvalues; - - Returns a new binary data object. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - The default changed from 2 - (MongoBinData::BYTE_ARRAY) to - 0 (MongoBinData::GENERIC). - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when the second argument is not - used. The default value for type may change in - the near future. - - - - - - - - - - - diff --git a/reference/mongo/mongobindata/tostring.xml b/reference/mongo/mongobindata/tostring.xml deleted file mode 100644 index 112baac118..0000000000 --- a/reference/mongo/mongobindata/tostring.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - MongoBinData::__toString - The string representation of this binary data object - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Binary::getData - - - - - - &reftitle.description; - - public stringMongoBinData::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the string "<Mongo Binary Data>". To access the contents of a - MongoBinData, use the bin field. - - - - - diff --git a/reference/mongo/mongoclient.xml b/reference/mongo/mongoclient.xml deleted file mode 100644 index 9e7565f646..0000000000 --- a/reference/mongo/mongoclient.xml +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - The MongoClient class - MongoClient - - - - - - &mongo.alternative.class.note; - - MongoDB\Driver\Manager - - - -
- &reftitle.intro; - - A connection manager for PHP and MongoDB. - - - This class is used to create and manage connections. A typical use is: - - <classname>MongoClient</classname> basic usage - -foo; // get the database named "foo" - -?> -]]> - - - - - See MongoClient::__construct and the section on - connecting for more information - about creating connections. - -
- - -
- &reftitle.classsynopsis; - - - - MongoClient - - - - - MongoClient - - - - - &Constants; - - const - string - MongoClient::VERSION - - - const - string - MongoClient::DEFAULT_HOST - "localhost" - - - const - int - MongoClient::DEFAULT_PORT - 27017 - - - const - string - MongoClient::RP_PRIMARY - "primary" - - - const - string - MongoClient::RP_PRIMARY_PREFERRED - "primaryPreferred" - - - const - string - MongoClient::RP_SECONDARY - "secondary" - - - const - string - MongoClient::RP_SECONDARY_PREFERRED - "secondaryPreferred" - - - const - string - MongoClient::RP_NEAREST - "nearest" - - - &Properties; - - public - bool - connected - &false; - - - public - string - status - &null; - - - protected - string - server - &null; - - - protected - bool - persistent - &null; - - - &Methods; - - - - - -
- - -
- &reftitle.constants; -
- MongoClient Constants - - - MongoClient::VERSION - - - PHP driver version. May be suffixed with "dev", "+" or "-" if it is - in-between versions. - - - - - MongoClient::DEFAULT_HOST - - - Host to connect to if no host is given. - - - - - MongoClient::DEFAULT_PORT - - - Port to connect to if no port is given. - - - - - MongoClient::RP_PRIMARY - - - Read preference for the - primary replica set member. - - - - - MongoClient::RP_PRIMARY_PREFERRED - - - Read preference for - preferring the primary replica set member. - - - - - MongoClient::RP_SECONDARY - - - Read preference for a - secondary replica set member. - - - - - MongoClient::RP_SECONDARY_PREFERRED - - - Read preference for - preferring a secondary replica set member. - - - - - MongoClient::RP_NEAREST - - - Read preference for the - nearest replica set member. - - - - -
-
- -
- Fields - - - connected - - - This property will be set to &true; if we have a open connection to - the database, &false; otherwise. If the connection is to a replica set, - this property will only be &true; if the driver has a connection to a - node matching the current read preference. This property does not take - authentication into account. - - - This property is deprecated since version 1.5.0. - - - - - status - - - This property is no longer used and will be set to &null; In driver - versions 1.1.x and earlier, this may be set to a string value (e.g. - "recycled", "new") when persistent - connections are used. - - - This property is deprecated since version 1.5.0. - - - - -
- -
- &reftitle.seealso; - - - - - MongoDB core docs on connecting - -
- - -
- - &reference.mongo.entities.mongoclient; - -
- - diff --git a/reference/mongo/mongoclient/close.xml b/reference/mongo/mongoclient/close.xml deleted file mode 100644 index f9bdf4a95b..0000000000 --- a/reference/mongo/mongoclient/close.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - MongoClient::close - Closes this connection - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public boolMongoClient::close - boolstringconnection - - - The MongoClient::close method forcefully closes a - connection to the database, even if persistent connections are being used. - You should never have to do this under normal - circumstances. - - - - - - - &reftitle.parameters; - - - - - connection - - - - If connection is not given, or &false; then connection that would be - selected for writes would be closed. In a single-node configuration, - that is then the whole connection, but if you are connected to a - replica set, close() will only close the - connection to the primary server. - - - If connection is &true; then all connections as known by the connection - manager will be closed. This can include connections that are not - referenced in the connection string used to create the object that - you are calling close on. - - - If connection is a string argument, then it will only close the - connection identified by this hash. Hashes are identifiers for a - connection and can be obtained by calling - MongoClient::getConnections. - - - - - - - - - &reftitle.returnvalues; - - Returns if the connection was successfully closed. - - - - - &reftitle.examples; - - <function>MongoClient::close</function> example - This example demonstrates how to selectively close all connections - for secondaries only. - -getConnections(); - -foreach ( $connections as $con ) -{ - // Loop over all the connections, and when the type is "SECONDARY" - // we close the connection - if ( $con['connection']['connection_type_desc'] == "SECONDARY" ) - { - echo "Closing '{$con['hash']}': "; - $closed = $a->close( $con['hash'] ); - echo $closed ? "ok" : "failed", "\n"; - } -} -?> -]]> - - &example.outputs; - - - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.0 - - - The connection parameter to this function was - added in 1.3.0. Before that, only the write connection would be - closed by this method. - - - - - PECL mongo 1.2.0 - - - Before version 1.2.0 the driver would not use persistent connections - by default, and all connections would be closed as soon as a MongoDB - connection went out if scope. Since version 1.2.0 this is no longer - the case and it is a bad idea to call close as you might end up - overloading the server with connections under high load. - - - - - - - - - - - &reftitle.seealso; - - MongoClient::getConnections - - - - diff --git a/reference/mongo/mongoclient/connect.xml b/reference/mongo/mongoclient/connect.xml deleted file mode 100644 index 32e9aff4c4..0000000000 --- a/reference/mongo/mongoclient/connect.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - MongoClient::connect - Connects to a database server - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public boolMongoClient::connect - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - If the connection was successful. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it fails to connect - to the database. - - - - - diff --git a/reference/mongo/mongoclient/construct.xml b/reference/mongo/mongoclient/construct.xml deleted file mode 100644 index ef2e75ac84..0000000000 --- a/reference/mongo/mongoclient/construct.xml +++ /dev/null @@ -1,855 +0,0 @@ - - - - - - MongoClient::__construct - Creates a new database connection object - - - - - &mongo.alternative.method.note; - - MongoDB\Driver\Manager::__construct - - - - - - &reftitle.description; - - public MongoClient::__construct - stringserver"mongodb://localhost:27017" - arrayoptionsarray("connect" => &true;) - arraydriver_options - - - If no parameters are passed, this connects to "localhost:27017" (or whatever - was specified in php.ini for - mongo.default_host and - mongo.default_port). - - - server should have the form: - - - - - - The connection string always starts with mongodb://, to - indicate it is a connection string in this form. - - If username and password - are specified, the constructor will attempt to authenticate the connection - with the database before returning. Username and password are optional - and must be followed by an @, if specified. - - - At least one host must be given (port optional, always defaulting to 27017) - and as many hosts as desired may be connected to. Host names are - comma-separated and the constructor will return successfully if it connected - to at least one host. If it could not connect to any of the hosts, it will - throw a MongoConnectionException. Please see the - Replica Sets section for - information on how to connect to Replica Sets. - - - If you specified a username and password, you may specify a database to - authenticate with. If db is not specified, "admin" will - be used. - - - An optional query string may be used to specify extra options. The same - options are supported through the options array as - well, and are therefore redescribed there. See the examples below on - how to set those options. - - - One part of the options governs how the driver reads from secondary nodes - in a replica set environment. Extra information on how these read - preferences work is available as well through the read preferences documentation page. - - - - - &reftitle.parameters; - - - - - server - - - - The server name. - - - - - - options - - - - An array of options for the connection. Currently available options - include: - - - - "authMechanism" - - - Available mechanisms are: - - - - - authMechanism - Description - Availability - - - - - MONGODB-CR - Authenticate using Challenge Response mechanism. This is the default value. - All MongoDB versions - - - MONGODB-X509 - Authenticates using X509 certificates - MongoDB 2.6. Only available when is enabled - - - PLAIN - Authenticates using unencrypted plain username+password. Must be used over SSL connections. Generally used by MongoDB to login via 3rd party LDAP server - MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2 - - - GSSAPI - Authenticates via kerberos systems - MongoDB Enterprise 2.4. The Driver must be compiled against CyrusSASL2 - - - SCRAM-SHA-1 - Authenticates using SCRAM-SHA-1 - MongoDB 3.0. - - - - - - - - - "authSource" - - - Should be set to the database name where the user is defined it. - - - - - "connect" - - - If the constructor should connect before returning. Default is - &true;. When set to &false; the driver will - automatically connect to the server whenever - it is necessary to do a query. Alternatively, you can run - MongoClient::connect manually. - - - - This option is not supported through the connection string. - - - - - - "connectTimeoutMS" - - - How long a connection can take to be opened before timing out in - milliseconds. Defaults to 60000 (60 seconds). - - - If -1 is specified, no connection timeout will be - applied and PHP will use - default_socket_timeout. - - - - - "db" - - - The database to authenticate against can be specified here, instead of - including it in the host list. This overrides a database given in the - host list. - - - - - "fsync" - - - When "fsync" is set, all write operations will - block until the database has flushed the changes to disk. This makes - the write operations slower, but it guarantees that writes have - succeeded and that the operations can be recovered in case of total - system failure. - - - If the MongoDB server has journaling enabled, this option is identical - to "journal". If journaling is not enabled, this - option ensures that write operations will be synced to database files - on disk. - - - - If journaling is enabled, users are strongly encouraged to use the - "journal" option instead of - "fsync". Do not use "fsync" and - "journal" simultaneously, as that will result in - an error. - - - - - - "journal" - - - When "journal" is set, all write operations will - block until the database has flushed the changes to the journal on - disk. This makes the write operations slower, but it guarantees that - writes have succeeded and that the operations can be recovered in case - of total system failure. - - - - If this option is used and journaling is disabled, MongoDB 2.6+ will - raise an error and the write will fail; older server versions will - simply ignore the option. - - - - - - "gssapiServiceName" - - - Sets the Kerberos service principal. Only applicable when authMechanism=GSSAPI. Defaults to "mongodb". - - - - - "password" - - - The password can be specified here, instead of including it in the - host list. This is especially useful if a password has a "@" in it. - This overrides a password set in the host list. - - - - - "readPreference" - - - Specifies the read preference type. Read preferences provide you - with control from which secondaries data can be read from. - - - Allowed values are: MongoClient::RP_PRIMARY, - MongoClient::RP_PRIMARY_PREFERRED, - MongoClient::RP_SECONDARY, - MongoClient::RP_SECONDARY_PREFERRED and - MongoClient::RP_NEAREST. - - - See the documentation on read - preferences for more information. - - - - - "readPreferenceTags" - - - Specifies the read preference tags as an array of strings. Tags can be - used in combination with the readPreference option - to further control which secondaries data might be read from. - - - See the documentation on read - preferences for more information. - - - - - "replicaSet" - - - The name of the replica set to connect to. If this is given, the - primary will be automatically be determined. This means that the - driver may end up connecting to a server that was not even listed. - See the replica set example below for details. - - - - - "secondaryAcceptableLatencyMS" - - - When reading from a secondary (using ReadPreferences), do not read from secondaries known to be more then - secondaryAcceptableLatencyMS away from us. Defaults to 15 - - - - - "socketTimeoutMS" - - - How long a socket operation (read or write) can take before timing out - in milliseconds. Defaults to 30000 (30 seconds). - - - If -1 is specified, socket operations may block - indefinitely. This option may also be set on a per-operation basis - using MongoCursor::timeout for queries or the - "socketTimeoutMS" option for write methods. - - - - This is a client-side timeout. If a write operation times out, there - is no way to know if the server actually handled the write or not, as - a MongoCursorTimeoutException will be thrown - in lieu of returning a write result. - - - - - - "ssl" - - - A boolean to specify whether you want to enable SSL for the - connections to MongoDB. Extra options such as certificates - can be set with . - - - - - "username" - - - The username can be specified here, instead of including it in the - host list. This is especially useful if a username has a ":" in it. - This overrides a username set in the host list. - - - - - "w" - - - The w option specifies the - Write Concern for the driver, - which determines how long the driver blocks when writing. The - default value is 1. - - - This option is applicable when connecting to both single servers and - replica sets. A positive value controls how many - nodes must acknowledge the write instruction before the driver - continues. A value of 1 would require the single - server or primary (in a replica set) to acknowledge the write - operation. A value of 3 would cause the driver to - block until the write has been applied to the primary as well as two - secondary servers (in a replica set). - - - A string value is used to control which tag sets are taken into - account for write concerns. "majority" is special - and ensures that the write operation has been applied to the majority - (more than 50%) of the participating nodes. - - - - - "wTimeoutMS" - - - This option specifies the time limit, in milliseconds, for - write concern - acknowledgement. It is only applicable for write operations where - "w" is greater than 1, as the - timeout pertains to replication. If the write concern is not satisfied - within the time limit, a MongoCursorException - will be thrown. A value of 0 may be specified to - block indefinitely. The default value is 10000 - (ten seconds). - - - - - - The following options are deprecated and should no longer be used: - - - - "slaveOkay" - - - Deprecated. Please use the read - preference options. - - - - - "timeout" - - - Deprecated alias for "connectTimeoutMS". - - - - - "wTimeout" - - - Deprecated alias for "wTimeoutMS". - - - - - - - - - - driver_options - - - - An array of options for the MongoDB driver. Options include setting - connection context options for SSL - or logging callbacks. - - - - "context" - - - The Stream Context to attach to all new connections. This allows you - for example to configure SSL certificates and are described at - SSL context options. See the - Connecting over SSL tutorial. - - - - - - - - - - - - &reftitle.returnvalues; - - Returns a new database connection object. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it tries and fails - to connect to the database for all hostnames given. It will also throw a - MongoConnnectionException if an invalid username or - password is given. See MongoConnectionException - documentation for common exceptions and their causes. - - - - - &reftitle.examples; - - <function>MongoClient::__construct</function> replica set example - - This example shows how to connect the driver to a replica set. It assumes - that there is a set of three servers: sf1.example.com, sf2.example.com, and - ny1.example.com. The primary could be any one of these servers. - - - "myReplSet")); - -?> -]]> - - - If the current primary fails, the driver will figure out which secondary - server became the new primary and automatically start using that connection. - Automatic failover will not work correctly if replicaSet - is not specified. - - - At least one seed in the seed list must be up for the driver to connect to - the replica set. - - - If you include seeds from two separate replica sets, behavior is undefined. - - See the - core documentation on - replica sets for more information. - - - - Connecting to a domain socket - - In version 1.0.9+, you can use a UNIX domain socket to connect to an - instance of MongoDB running locally. This should be slightly faster than - using a network connection. - - - In version 1.5.0, the MongoDB server automatically opens a socket at - /tmp/mongodb-<port>.sock. You can connect to this by specifying the - path in your connection string: - - - -]]> - - - You can combine this with any other connections you'd like: - - - -]]> - - - - <function>MongoClient::__construct</function> authentication example - - A user must exist in the admin database before attempting to use - authentication. You can create one with the Mongo shell by running: - - - use admin -switched to db admin -> db.addUser("testUser", "testPass"); -{ - "_id" : ObjectId("4b21272fd9ab21611d19095c"), - "user" : "testUser", - "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59" -} -> -]]> - - - After creating a user with, in this case, username "testUser" and password - "testPass", you can create an authenticated connection: - - - -]]> - - - - <function>MongoClient::__construct</function> read preference example - - 'rs')); -?> -]]> - - - See the read preferences - section of this manual for further information. - - - - - <function>MongoClient::__construct</function> options example - - Options can be passed both through the query string in the connection - string, or as an array passed as second argument to the constructor. - - - Here we set the journal option to true and readPreference to secondary - preferred as default for all write operations: - - - -]]> - - - And now we do the same, but as an options array: - - - true, - 'readPreference' => 'secondary', -); -$m = new MongoClient("mongodb://localhost/", $options); -?> -]]> - - - - - <function>MongoClient::__construct</function> read preference example - - 'rs')); -?> -]]> - - - See the read preferences - section of this manual for further information. - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.6.0 - - - Added support for "SCRAM-SHA-1" in - "authMechanism" option. - - - - - PECL mongo 1.5.0 - - - Added "authMechanism", "gssapiServiceName", and "secondaryAcceptableLatencyMS". - - - - - PECL mongo 1.4.0 - - - Added "ssl" option and support for - connecting over SSL. - - - Added "wTimeoutMS" option, which replaces - "wTimeout". - - - Emits E_DEPRECATED when - "slaveOkay" or "timeout" is used. - - - - - PECL mongo 1.5.0 - - - Added "authSource". - - - - - PECL mongo 1.3.4 - - - Added "connectTimeoutMS" and - "socketTimeoutMS" options. - - - - - PECL mongo 1.3.0 - - - Added "readPreference", - "readPreferenceTags", "w", and - "wTimeout" options. - - - - - PECL mongo 1.2.0 - - - Added "username" and "password" - options. - - - Removed "persist" option, as all connections are - now persistent. It can still be used, but it doesn't affect anything. - - - - - "persist" - - - - If the connection should be persistent. If set, the connection will - be persistent. The string representation of the value is used as an - ID for the connection, so two instances of - MongoClient that are initialized with - array("persist" => "foobar") will share the same - database connection, whereas an instance initialized with - array("persist" => "barbaz") will use a different - database connection. - - - - - - The "replicaSet" option now takes a string, not a - boolean. - - - - - PECL mongo 1.0.9 - Added "replicaSet" option. - - - PECL mongo 1.0.2 - - - Changed constructor to take an array of options. Pre-1.0.2, the - constructor took the following parameters: - - - - - server - - - - The server name. - - - - - - connect - - - - Optional boolean parameter specifying if the constructor should - connect to the database before returning. Defaults to &true;. - - - - - - persistent - - - - If the connection should be persistent. - - - - - - paired - - - - If the connection should be paired. - - - - - - - - - - - - - - diff --git a/reference/mongo/mongoclient/dropdb.xml b/reference/mongo/mongoclient/dropdb.xml deleted file mode 100644 index a97672b828..0000000000 --- a/reference/mongo/mongoclient/dropdb.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoClient::dropDB - Drops a database [deprecated] - - - - &mongo.alternative.phplib.note; - - MongoDB\Client::dropDatabase() - - - - - &reftitle.description; - - public arrayMongoClient::dropDB - mixeddb - - - - Deprecated - - Use MongoDB::drop instead. - - - - - - - &reftitle.parameters; - - - - - db - - - - The database to drop. Can be a MongoDB object or the name of the database. - - - - - - - - - &reftitle.returnvalues; - - Returns the database response. - - - - diff --git a/reference/mongo/mongoclient/get.xml b/reference/mongo/mongoclient/get.xml deleted file mode 100644 index 36b700fda9..0000000000 --- a/reference/mongo/mongoclient/get.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - MongoClient::__get - Gets a database - - - - &mongo.alternative.phplib.note; - - MongoDB\Client::__get() - - - - - &reftitle.description; - - public MongoDBMongoClient::__get - stringdbname - - - This is the cleanest way of getting a database. If the database name has any - special characters, MongoClient::selectDB will need to - be used; however, this should be sufficient for most cases. - -selectDB("foo"); -$db = $mongo->foo; - -?> -]]> - - - - - - &reftitle.parameters; - - - - - dbname - - - - The database name. - - - - - - - - - &reftitle.returnvalues; - - Returns a new db object. - - - - - &reftitle.errors; - - Throws a generic exception if the database name is invalid. - - - - - diff --git a/reference/mongo/mongoclient/getconnections.xml b/reference/mongo/mongoclient/getconnections.xml deleted file mode 100644 index 098481770f..0000000000 --- a/reference/mongo/mongoclient/getconnections.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MongoClient::getConnections - Return info about all open connections - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public static arrayMongoClient::getConnections - - - - Returns an array of all open connections, and information about each of the - servers - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - An array of open connections. - - - - - &reftitle.examples; - - <methodname>MongoClient::getConnections</methodname> example - -getConnections()); -?> -]]> - - &example.outputs.similar; - - - array(3) { - ["hash"]=> - string(26) "localhost:27017;-;X;56052" - ["server"]=> - array(3) { - ["host"]=> - string(10) "localhost" - ["port"]=> - int(27017) - ["pid"]=> - int(56052) - } - ["connection"]=> - array(8) { - ["last_ping"]=> - int(1354076401) - ["last_ismaster"]=> - int(0) - ["ping_ms"]=> - int(0) - ["connection_type"]=> - int(1) - ["connection_type_desc"]=> - string(10) "STANDALONE" - ["max_bson_size"]=> - int(16777216) - ["tag_count"]=> - int(0) - ["tags"]=> - array(0) { - } - } - } -} -]]> - - - - - - - - diff --git a/reference/mongo/mongoclient/gethosts.xml b/reference/mongo/mongoclient/gethosts.xml deleted file mode 100644 index 0513324722..0000000000 --- a/reference/mongo/mongoclient/gethosts.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - MongoClient::getHosts - Updates status for all associated hosts - - - - &mongo.alternative.method.note; - - MongoDB\Driver\Manager::getServers - - - - - &reftitle.description; - - public arrayMongoClient::getHosts - - - - - This method is only useful with a connection to a replica set. It returns - the status of all of the hosts in the set. Without a replica set, it will - just return an array with one element containing the host that you are - connected to. - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an array of information about the hosts in the set. Includes each - host's hostname, its health (1 is healthy), its state (1 is primary, 2 is - secondary, 0 is anything else), the amount of time it took to ping the - server, and when the last ping occurred. For example, on a three-member - replica set, it might look something like: - - - - array(4) { - ["host"]=> - "A" - ["port"]=> - 27017 - ["health"]=> - int(1) - ["state"]=> - int(2) - ["ping"]=> - int(369) - ["lastPing"]=> - int(1309470644) - } - ["B:27017"]=> - array(4) { - ["host"]=> - "B" - ["port"]=> - 27017 - ["health"]=> - int(1) - ["state"]=> - int(1) - ["ping"]=> - int(139) - ["lastPing"]=> - int(1309470644) - } - ["C:27017"]=> - array(4) { - ["host"]=> - "C" - ["port"]=> - 27017 - ["health"]=> - int(1) - ["state"]=> - int(2) - ["ping"]=> - int(1012) - ["lastPing"]=> - int(1309470644) - } -} -]]> - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.10 - - - Support for non-replicasets was added. - - - The returned array elements now also include the - hostname and port. - - - - - - - - - - - &reftitle.seealso; - - MongoClient::getConnections - - - - diff --git a/reference/mongo/mongoclient/getreadpreference.xml b/reference/mongo/mongoclient/getreadpreference.xml deleted file mode 100644 index 96473e75bc..0000000000 --- a/reference/mongo/mongoclient/getreadpreference.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - MongoClient::getReadPreference - Get the read preference for this connection - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public arrayMongoClient::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.3 - - The return value has changed to be consistent with - MongoClient::setReadPreference. The - type value was changed from a number to a string, - type_string was removed, and - tagsets now expresses tags as key/value pairs instead - of colon-delimited strings. - - - - - - - - - - &reftitle.examples; - - <methodname>MongoClient::getReadPreference</methodname> return value example - -setReadPreference(MongoClient::RP_SECONDARY, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), - array(), -)); -var_dump($m->getReadPreference()); -?> -]]> - - &example.outputs; - - - string(9) "secondary" - ["tagsets"]=> - array(3) { - [0]=> - array(2) { - ["dc"]=> - string(4) "east" - ["use"]=> - string(9) "reporting" - } - [1]=> - array(1) { - ["dc"]=> - string(7) "west" - } - [2]=> - array(0) { - } - } -} -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoClient::setReadPreference - - - - - - diff --git a/reference/mongo/mongoclient/getwriteconcern.xml b/reference/mongo/mongoclient/getwriteconcern.xml deleted file mode 100644 index 42e6064aff..0000000000 --- a/reference/mongo/mongoclient/getwriteconcern.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - MongoClient::getWriteConcern - Get the write concern for this connection - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public arrayMongoClient::getWriteConcern - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getwriteconcern.returnvalues; - - - - &reftitle.examples; - - <methodname>MongoClient::getWriteConcern</methodname> return value example - - 500)); -var_dump($mc->getWriteConcern()); - -$mc->setWriteConcern(1, 1000); -var_dump($mc->getWriteConcern()); -?> -]]> - - &example.outputs; - - - int(1) - ["wtimeout"]=> - int(500) -} -array(2) { - ["w"]=> - int(1) - ["wtimeout"]=> - int(1000) -} -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoClient::setWriteConcern - - - - - - diff --git a/reference/mongo/mongoclient/killcursor.xml b/reference/mongo/mongoclient/killcursor.xml deleted file mode 100644 index 35cda05208..0000000000 --- a/reference/mongo/mongoclient/killcursor.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - MongoClient::killCursor - Kills a specific cursor on the server - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public boolMongoClient::killCursor - stringserver_hash - intMongoInt64id - - - In certain situations it might be needed to kill a cursor on the server. - Usually cursors time out after 10 minutes of inactivity, but it is possible - to create an immortal cursor with - MongoCursor::immortal that never times out. In - order to be able to kill such an immortal cursor, you can call this - method with the information supplied by - MongoCursor::info. - - - - - &reftitle.parameters; - - - - - server_hash - - - - The server hash that has the cursor. This can be obtained through - MongoCursor::info. - - - - - - id - - - - The ID of the cursor to kill. You can either supply an int - containing the 64 bit cursor ID, or an object of the - MongoInt64 class. The latter is necessary on 32 - bit platforms (and Windows). - - - - - - - - - &reftitle.returnvalues; - - Returns &true; if the method attempted to kill a cursor, and &false; if - there was something wrong with the arguments (such as a wrong - server_hash). The return status does not - reflect where the cursor was actually killed as the server does - not provide that information. - - - - - &reftitle.errors; - - This method displays a warning if the supplied - server_hash does not match up with an existing - connection. No attempt to kill a cursor is attempted in that case either. - - - - - &reftitle.examples; - - <function>MongoClient::killCursor</function> example - - This example shows how to connect, do a query, obtain the cursor - information and then kill the cursor. - - -testdb->collection; -$cursor = $c->find(); -$result = $cursor->next(); - -// Now the cursor is valid, so we can get the hash and ID out: -$info = $cursor->info(); - -// Kill the cursor -MongoClient::killCursor( $info['server'], $info['id'] ); -?> -]]> - - - - - diff --git a/reference/mongo/mongoclient/listdbs.xml b/reference/mongo/mongoclient/listdbs.xml deleted file mode 100644 index 929611fc7a..0000000000 --- a/reference/mongo/mongoclient/listdbs.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - MongoClient::listDBs - Lists all of the databases available - - - - &mongo.alternative.phplib.note; - - MongoDB\Client::listDatabases() - - - - - &reftitle.description; - - public arrayMongoClient::listDBs - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an associative array containing three fields. The first field is - databases, which in turn contains an array. Each element - of the array is an associative array corresponding to a database, giving th - database's name, size, and if it's empty. The other two fields are - totalSize (in bytes) and ok, which is 1 - if this method ran successfully. - - - - - &reftitle.examples; - - <methodname>MongoClient::listDBs</methodname> example - - Example demonstrating how to use listDBs and the returned data structure. - - -listDBs(); -print_r($dbs); - -?> -]]> - - &example.outputs.similar; - - Array - ( - [0] => Array - ( - [name] => doctrine - [sizeOnDisk] => 218103808 - [empty] => - ) - ) - - [totalSize] => 218103808 - [ok] => 1 -) - -]]> - - - - - diff --git a/reference/mongo/mongoclient/selectcollection.xml b/reference/mongo/mongoclient/selectcollection.xml deleted file mode 100644 index 98f7e76f25..0000000000 --- a/reference/mongo/mongoclient/selectcollection.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - MongoClient::selectCollection - Gets a database collection - - - - &mongo.alternative.phplib.note; - - MongoDB\Client::selectCollection() - - - - - &reftitle.description; - - public MongoCollectionMongoClient::selectCollection - stringdb - stringcollection - - - - - &reftitle.parameters; - - - - - db - - - - The database name. - - - - - - collection - - - - The collection name. - - - - - - - - - &reftitle.returnvalues; - - Returns a new collection object. - - - - - &reftitle.errors; - - Throws Exception if the database or collection name is invalid. - - - - - &reftitle.examples; - - <function>MongoClient::selectCollection</function> example - -selectCollection("foo", "bar.baz"); -// which is equivalent to -$c2 = $m->selectDB("foo")->selectCollection("bar.baz"); - -// $c1 and $c2 now represent the same collection -?> -]]> - - - - - diff --git a/reference/mongo/mongoclient/selectdb.xml b/reference/mongo/mongoclient/selectdb.xml deleted file mode 100644 index 35bb151a55..0000000000 --- a/reference/mongo/mongoclient/selectdb.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoClient::selectDB - Gets a database - - - - &mongo.alternative.phplib.note; - - MongoDB\Client::selectDatabase() - - - - - &reftitle.description; - - public MongoDBMongoClient::selectDB - stringname - - - - - &reftitle.parameters; - - - - - name - - - - The database name. - - - - - - - - - &reftitle.returnvalues; - - Returns a new database object. - - - - - &reftitle.errors; - - Throws Exception if the database name is invalid. - - - - - diff --git a/reference/mongo/mongoclient/setreadpreference.xml b/reference/mongo/mongoclient/setreadpreference.xml deleted file mode 100644 index 4ded1e24a2..0000000000 --- a/reference/mongo/mongoclient/setreadpreference.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - MongoClient::setReadPreference - Set the read preference for this connection - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public boolMongoClient::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - &mongo.setreadpreference.returnvalues; - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.examples; - - <methodname>MongoClient::setReadPreference</methodname> tag set array syntax example - -setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), -)); -?> -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoClient::getReadPreference - - - - - - diff --git a/reference/mongo/mongoclient/setwriteconcern.xml b/reference/mongo/mongoclient/setwriteconcern.xml deleted file mode 100644 index b8b2e9b3bf..0000000000 --- a/reference/mongo/mongoclient/setwriteconcern.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - MongoClient::setWriteConcern - Set the write concern for this connection - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public boolMongoClient::setWriteConcern - mixedw - intwtimeout - - - - - &reftitle.parameters; - &mongo.setwriteconcern.parameters; - - - - &reftitle.returnvalues; - &mongo.setwriteconcern.returnvalues; - - - - &reftitle.errors; - &mongo.setwriteconcern.errors; - - - - &reftitle.examples; - - <methodname>MongoClient::setWriteConcern</methodname> example - -setWriteConcern('majority', 3000); -?> -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoClient::getWriteConcern - - - - - - diff --git a/reference/mongo/mongoclient/tostring.xml b/reference/mongo/mongoclient/tostring.xml deleted file mode 100644 index 20c3d84afa..0000000000 --- a/reference/mongo/mongoclient/tostring.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - MongoClient::__toString - String representation of this connection - - - - &mongo.noalternative.method.note; - - - - &reftitle.description; - - public stringMongoClient::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns hostname and port for this connection. - - - - diff --git a/reference/mongo/mongocode.xml b/reference/mongo/mongocode.xml deleted file mode 100644 index 33e4b5f0c7..0000000000 --- a/reference/mongo/mongocode.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - The MongoCode class - MongoCode - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\JavaScript - - - - -
- &reftitle.intro; - - Represents JavaScript code for the database. - - - MongoCode objects are composed of two parts: a string of code and an optional scope. The string of code must be valid JavaScript. The scope is a associative array of variable name/value pairs. - -
- - -
- &reftitle.classsynopsis; - - - - MongoCode - - - - - MongoCode - - - - - &Methods; - - - - -
- -
- - &reference.mongo.entities.mongocode; - -
- - diff --git a/reference/mongo/mongocode/construct.xml b/reference/mongo/mongocode/construct.xml deleted file mode 100644 index d218290d7a..0000000000 --- a/reference/mongo/mongocode/construct.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - MongoCode::__construct - Creates a new code object - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\JavaScript::__construct - - - - - - &reftitle.description; - - public MongoCode::__construct - stringcode - arrayscopearray() - - - - - &reftitle.parameters; - - - - - code - - - - A string of code. - - - - - - scope - - - - The scope to use for the code. - - - - - - - - - &reftitle.returnvalues; - - Returns a new code object. - - - - - &reftitle.examples; - - <methodname>MongoCode::__construct</methodname> example - - 4)); -var_dump($code); - -?> -]]> - - &example.outputs.similar; - - - array(1) { - ["x"]=> - int(4) - } - ["code"]=> - string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }" -} -]]> - - - - - - Using <classname>MongoCode</classname> with $where - - This example queries a collection for elements where the 'x' fields is less than $y. Notice that - PHP objects can be passed into the JavaScript scope and that the JavaScript function returns a boolean. - - -find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y)))); - -?> -]]> - - - - - - diff --git a/reference/mongo/mongocode/tostring.xml b/reference/mongo/mongocode/tostring.xml deleted file mode 100644 index b99e781bdf..0000000000 --- a/reference/mongo/mongocode/tostring.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoCode::__toString - Returns this code as a string - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public stringMongoCode::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This code, the scope is not returned. - - - - - &reftitle.examples; - - <function>MongoCode::__toString</function> example - -"hi")); -echo "$code\n"; - -$code = new MongoCode('function() { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } }'); -echo "$code\n"; - -?> -]]> - - &example.outputs.similar; - - - - - - - - diff --git a/reference/mongo/mongocollection.xml b/reference/mongo/mongocollection.xml deleted file mode 100644 index 5326fedc9c..0000000000 --- a/reference/mongo/mongocollection.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - The MongoCollection class - MongoCollection - - - - -
- &reftitle.intro; - - Represents a MongoDB collection. - - - Collection names can use any character in the ASCII set. Some valid - collection names are "", "...", - "my collection", and "*&#@". - - - User-defined collection names cannot contain the $ symbol. There are - certain system collections which use a $ in their names (e.g., - local.oplog.$main), but it is a reserved character. If you attempt to - create and use a collection with a $ in the name, MongoDB will assert. - -
- - -
- &reftitle.classsynopsis; - - - - MongoCollection - - - - - MongoCollection - - - - - &Constants; - - const - int - MongoCollection::ASCENDING - 1 - - - const - int - MongoCollection::DESCENDING - -1 - - - Fields - - public - MongoDB - db - &null; - - - public - int - w - - - public - int - wtimeout - - - &Methods; - - - - -
- -
- &reftitle.constants; - - - MongoCollection::ASCENDING - - - Ascending direction for sorts and index creation. - - - - - MongoCollection::DESCENDING - - - Descending direction for sorts and index creation. - - - - -
- -
- Fields - - - db - - - The "parent" database for this collection. - - - - - w - - - The number of servers to replicate a change to before returning success. - Value is inherited from the parent database. The - MongoDB class has a more detailed description of - how w works. - - - - - wtimeout - - - The number of milliseconds to wait for $this->w - replications to take place. Value is inherited from the parent database. - The MongoDB class has a more detailed description - of how wtimeout works. - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on collections. - -
- -
- - &reference.mongo.entities.mongocollection; - -
- - diff --git a/reference/mongo/mongocollection/aggregate.xml b/reference/mongo/mongocollection/aggregate.xml deleted file mode 100644 index fec8d36104..0000000000 --- a/reference/mongo/mongocollection/aggregate.xml +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - MongoCollection::aggregate - Perform an aggregation using the aggregation framework - - - - &reftitle.description; - - public arrayMongoCollection::aggregate - arraypipeline - arrayoptions - - - public arrayMongoCollection::aggregate - arrayop - arrayops - - - The MongoDB - aggregation framework - provides a means to calculate aggregated values without having to use - MapReduce. While MapReduce is powerful, it is often more difficult than - necessary for many simple aggregation tasks, such as totaling or averaging - field values. - - - This method accepts either a variable amount of pipeline operators, or a - single array of operators constituting the pipeline. - - - - - &reftitle.parameters; - - - pipeline - - - An array of pipeline operators. - - - - - options - - Options for the aggregation command. Valid options include: - - - "allowDiskUse" - Allow aggregation stages to write to temporary files - - - "cursor" - - Options controlling the creation of the cursor object. This option - causes the command to return a result document suitable for constructing - a MongoCommandCursor. If you need to use this - option, you should consider using - MongoCollection::aggregateCursor. - - - - "explain" - Return information on the processing of the pipeline. - - &mongo.command.parameters.maxtimems; - - - - - Or - - - op - - - First pipeline operator. - - - - - ops - - - Additional pipeline operators. - - - - - - - - &reftitle.returnvalues; - - The result of the aggregation as an array. The ok will - be set to 1 on success, 0 on failure. - - - - - &reftitle.errors; - - When an error occurs an array with the following keys will be returned: - - - - errmsg - containing the reason for the failure - - - - - code - the errorcode of the failure - - - - - ok - will be set to 0. - - - - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Added optional options argument - - - - - - - - - &reftitle.examples; - - <methodname>MongoCollection::aggregate</methodname> example - - The following example aggregation operation pivots data to create a set of - author names grouped by tags applied to an article. Call the aggregation - framework by issuing the following command: - - -selectDB("examples")->selectCollection("article"); -$data = array ( - 'title' => 'this is my title', - 'author' => 'bob', - 'posted' => new MongoDate, - 'pageViews' => 5, - 'tags' => array ( 'fun', 'good', 'fun' ), - 'comments' => array ( - array ( - 'author' => 'joe', - 'text' => 'this is cool', - ), - array ( - 'author' => 'sam', - 'text' => 'this is bad', - ), - ), - 'other' =>array ( - 'foo' => 5, - ), -); -$d = $c->insert($data, array("w" => 1)); - -$ops = array( - array( - '$project' => array( - "author" => 1, - "tags" => 1, - ) - ), - array('$unwind' => '$tags'), - array( - '$group' => array( - "_id" => array("tags" => '$tags'), - "authors" => array('$addToSet' => '$author'), - ), - ), -); -$results = $c->aggregate($ops); -var_dump($results); -?> -]]> - - &example.outputs; - - - array(2) { - [0]=> - array(2) { - ["_id"]=> - array(1) { - ["tags"]=> - string(4) "good" - } - ["authors"]=> - array(1) { - [0]=> - string(3) "bob" - } - } - [1]=> - array(2) { - ["_id"]=> - array(1) { - ["tags"]=> - string(3) "fun" - } - ["authors"]=> - array(1) { - [0]=> - string(3) "bob" - } - } - } - ["ok"]=> - float(1) -} -]]> - - - - - The following examples use the zipcode data set. - Use mongoimport to load this data set into your mongod instance. - - - - <methodname>MongoCollection::aggregate</methodname> example - - To return all states with a population greater than 10 million, use the following aggregation operation: - - -selectDB("test")->selectCollection("zips"); - -$pipeline = array( - array( - '$group' => array( - '_id' => array('state' => '$state'), - 'totalPop' => array('$sum' => '$pop') - ) - ), - array( - '$match' => array( - 'totalPop' => array('$gte' => 10 * 1000 * 1000) - ) - ), -); -$out = $c->aggregate($pipeline); -var_dump($out); -?> -]]> - - &example.outputs.similar; - - - array(7) { - [0]=> - array(2) { - ["_id"]=> - string(2) "TX" - ["totalPop"]=> - int(16986510) - } - [1]=> - array(2) { - ["_id"]=> - string(2) "PA" - ["totalPop"]=> - int(11881643) - } - [2]=> - array(2) { - ["_id"]=> - string(2) "NY" - ["totalPop"]=> - int(17990455) - } - [3]=> - array(2) { - ["_id"]=> - string(2) "IL" - ["totalPop"]=> - int(11430602) - } - [4]=> - array(2) { - ["_id"]=> - string(2) "CA" - ["totalPop"]=> - int(29760021) - } - [5]=> - array(2) { - ["_id"]=> - string(2) "OH" - ["totalPop"]=> - int(10847115) - } - [6]=> - array(2) { - ["_id"]=> - string(2) "FL" - ["totalPop"]=> - int(12937926) - } - } - ["ok"]=> - float(1) -} -]]> - - - - - <methodname>MongoCollection::aggregate</methodname> example - - To return the average populations for cities in each state, use the following aggregation operation: - - -selectDB("test")->selectCollection("zips"); - -$out = $c->aggregate( - array( - '$group' => array( - '_id' => array('state' => '$state', 'city' => '$city' ), - 'pop' => array('$sum' => '$pop' ) - ) - ), - array( - '$group' => array( - '_id' => '$_id.state', - 'avgCityPop' => array('$avg' => '$pop') - ) - ) -); - -var_dump($out); -?> -]]> - - &example.outputs.similar; - - - array(51) { - [0]=> - array(2) { - ["_id"]=> - string(2) "DC" - ["avgCityPop"]=> - float(303450) - } - [1]=> - array(2) { - ["_id"]=> - string(2) "DE" - ["avgCityPop"]=> - float(14481.913043478) - } -... - [49]=> - array(2) { - ["_id"]=> - string(2) "WI" - ["avgCityPop"]=> - float(7323.0074850299) - } - [50]=> - array(2) { - ["_id"]=> - string(2) "WV" - ["avgCityPop"]=> - float(2759.1953846154) - } - } - ["ok"]=> - float(1) -} -]]> - - - - - <methodname>MongoCollection::aggregate</methodname> with command options - - To return information on how the pipeline will be processed we use the - explain command option: - - -selectDB("test")->selectCollection("zips"); - -$pipeline = array( - array( - '$group' => array( - '_id' => '$state', - 'totalPop' => array('$sum' => '$pop'), - ), - ), - array( - '$match' => array( - 'totalPop' => array('$gte' => 10 * 1000 * 1000) - ) - ), - array( - '$sort' => array("totalPop" => -1), - ), -); - -$options = array("explain" => true); -$out = $c->aggregate($pipeline, $options); -var_dump($out); -?> -]]> - - &example.outputs.similar; - - - array(4) { - [0]=> - array(1) { - ["$cursor"]=> - array(3) { - ["query"]=> - array(0) { - } - ["fields"]=> - array(3) { - ["pop"]=> - int(1) - ["state"]=> - int(1) - ["_id"]=> - int(0) - } - ["plan"]=> - array(4) { - ["cursor"]=> - string(11) "BasicCursor" - ["isMultiKey"]=> - bool(false) - ["scanAndOrder"]=> - bool(false) - ["allPlans"]=> - array(1) { - [0]=> - array(3) { - ["cursor"]=> - string(11) "BasicCursor" - ["isMultiKey"]=> - bool(false) - ["scanAndOrder"]=> - bool(false) - } - } - } - } - } - [1]=> - array(1) { - ["$group"]=> - array(2) { - ["_id"]=> - string(6) "$state" - ["totalPop"]=> - array(1) { - ["$sum"]=> - string(4) "$pop" - } - } - } - [2]=> - array(1) { - ["$match"]=> - array(1) { - ["totalPop"]=> - array(1) { - ["$gte"]=> - int(10000000) - } - } - } - [3]=> - array(1) { - ["$sort"]=> - array(1) { - ["sortKey"]=> - array(1) { - ["totalPop"]=> - int(-1) - } - } - } - } - ["ok"]=> - float(1) -} -]]> - - - - - - - &reftitle.seealso; - - MongoCollection::aggregateCursor - The MongoDB aggregation framework - - - - - - diff --git a/reference/mongo/mongocollection/aggregatecursor.xml b/reference/mongo/mongocollection/aggregatecursor.xml deleted file mode 100644 index 2ee38d5364..0000000000 --- a/reference/mongo/mongocollection/aggregatecursor.xml +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - MongoCollection::aggregateCursor - Execute an aggregation pipeline command and retrieve results through a cursor - - - &reftitle.description; - - public MongoCommandCursorMongoCollection::aggregateCursor - arraycommand - arrayoptions - - - With this method you can execute Aggregation Framework pipelines and - retrieve the results through a cursor, instead of getting just one document - back as you would with MongoCollection::aggregate. - This method returns a MongoCommandCursor object. - This cursor object implements the Iterator interface - just like the MongoCursor objects that are returned - by the MongoCollection::find method. - - - - The resulting MongoCommandCursor will inherit this - collection's read preference. - MongoCommandCursor::setReadPreference may be used - to change the read preference before iterating on the cursor. - - - - - - &reftitle.parameters; - - - - - pipeline - - - - The Aggregation Framework pipeline to execute. - - - - - options - - Options for the aggregation command. Valid options include: - - - "allowDiskUse" - Allow aggregation stages to write to temporary files - - - "cursor" - - It is possible to configure how many initial documents the server - should return with the first result set. The default initial batch size - is 101. You can change it by adding the - batchSize option: - - -aggregateCursor( - $pipeline, - [ "cursor" => [ "batchSize" => 4 ] ] -); -]]> - - - This option only configures the size of the first batch. To configure - the size of future batches, please use the - MongoCommandCursor::batchSize method on the - returned MongoCommandCursor object. - - - - "explain" - - Return information on the processing of the pipeline. This option may - cause the command to return a result document that is unsuitable for - constructing a MongoCommandCursor. If you need - to use this option, you should consider using - MongoCollection::aggregate. - - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - Returns a MongoCommandCursor object. Because this - implements the Iterator interface you can - iterate over each of the results as returned by the command query. The - MongoCommandCursor also implements the - MongoCursorInterface interface which adds the - MongoCommandCursor::batchSize, - MongoCommandCursor::dead, - MongoCommandCursor::info methods. - - - - - &reftitle.examples; - - <function>MongoCollection::aggregateCursor</function> example - - Finding all of the distinct values for a key. - - -test; -$people = $db->people; -$people->drop(); - -$people->insert(array("name" => "Joe", "points" => 4)); -$people->insert(array("name" => "Molly", "points" => 43)); -$people->insert(array("name" => "Sally", "points" => 22)); -$people->insert(array("name" => "Joe", "points" => 22)); -$people->insert(array("name" => "Molly", "points" => 87)); - -$ages = $people->aggregateCursor( [ - [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ], - [ '$sort' => [ 'points' => -1 ] ], -] ); - -foreach ($ages as $person) { - echo "{$person['_id']}: {$person['points']}\n"; -} - -?> -]]> - - &example.outputs.similar; - -Molly: 130 -Joe: 26 -Sally: 22 - - - - - <function>MongoCollection::aggregateCursor</function> - example with different initial batch size - - Finding all of the distinct values for a key. - - -test; -$people = $db->people; -$people->drop(); - -/* Insert some sample data */ -$people->insert(array("name" => "Joe", "points" => 4)); -$people->insert(array("name" => "Molly", "points" => 43)); -$people->insert(array("name" => "Sally", "points" => 22)); -$people->insert(array("name" => "Joe", "points" => 22)); -$people->insert(array("name" => "Molly", "points" => 87)); - -/* Run the command cursor */ -$ages = $people->aggregateCursor( - [ - [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ], - [ '$sort' => [ 'points' => -1 ] ], - ], - [ "cursor" => [ "batchSize" => 4 ] ] -); - -foreach ($ages as $person) { - echo "{$person['_id']}: {$person['points']}\n"; -} - -?> -]]> - - &example.outputs.similar; - -Molly: 130 -Joe: 26 -Sally: 22 - - - - - - &reftitle.seealso; - - - MongoDB::command - MongoCommandCursor - MongoCommandCursor::batchSize - MongoCollection::aggregate - The MongoDB aggregation framework - - - - - diff --git a/reference/mongo/mongocollection/batchinsert.xml b/reference/mongo/mongocollection/batchinsert.xml deleted file mode 100644 index 7ed8e984c0..0000000000 --- a/reference/mongo/mongocollection/batchinsert.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - MongoCollection::batchInsert - Inserts multiple documents into this collection - - - - &reftitle.description; - - public mixedMongoCollection::batchInsert - arraya - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - a - - - - An array of arrays or objects. If any objects are used, they may not have - protected or private properties. - - - - If the documents to insert do not have an _id key or - property, a new MongoId instance will be created - and assigned to it. See MongoCollection::insert for - additional information on this behavior. - - - - - - - options - - - - An array of options for the batch of insert operations. Currently - available options include: - - - - "continueOnError" - - - Boolean, defaults to &false;. If set, the database will not stop - processing a bulk insert if one fails (eg due to duplicate IDs). - This makes bulk insert behave similarly to a series of single - inserts, except that calling MongoDB::lastError - will have an error set if any insert fails, not just the last one. - If multiple errors occur, only the most recent will be reported by - MongoDB::lastError. - - - - Please note that continueOnError affects errors - on the database side only. If you try to insert a document that has - errors (for example it contains a key with an empty name), then the - document is not even transferred to the database as the driver - detects this error and bails out. - continueOnError has no effect on errors detected - in the documents by the driver. - - - - &mongo.writes.parameters.fsync; - &mongo.writes.parameters.journal; - &mongo.writes.parameters.sockettimeoutms; - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - If the w parameter is set to acknowledge the write, - returns an associative array with the status of the inserts ("ok") and any - error that may have occurred ("err"). Otherwise, returns &true; if the - batch insert was successfully sent, &false; otherwise. - - - - - &reftitle.errors; - - Throws MongoException if any inserted documents are - empty or if they contains zero-length keys. Attempting to insert an object - with protected and private properties will cause a zero-length key error. - - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Added the "wTimeoutMS" option, which replaces - "wtimeout". Emits E_DEPRECATED - when "wtimeout" is used. - - - Added the "socketTimeoutMS" option, which replaces - "timeout". Emits E_DEPRECATED - when "timeout" is used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.3.4 - Added "wtimeout" option. - - - PECL mongo 1.3.0 - Added "w" option. - - - PECL mongo 1.2.7 - Added "continueOnError" option. - - - PECL mongo 1.0.9 - - - Added ability to pass integers to the "safe" option, - which previously only accepted booleans. - - - Added "fsync" option. - - - - - PECL mongo 1.0.5 - Added options parameter. - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::batchInsert</function> example - - Batch insertion is a quick way to add many elements to the database at once - - - 'user'.$i, 'i' => $i); -} - -$mongo = new MongoClient(); -$collection = $mongo->my_db->users; -$collection->drop(); - -$collection->batchInsert($users); - -foreach ($users as $user) { - echo $user['_id']."\n"; // populated with instanceof MongoId -} - -$users = $collection->find()->sort(array('i' => 1)); -foreach ($users as $user) { - var_dump($user['username']); -} - -?> -]]> - - &example.outputs.similar; - - - - - - - <function>MongoCollection::batchInsert</function> example with - ignoring errors - -demo; - -$doc1 = array( - '_id' => new MongoId('4cb4ab6d7addf98506010001'), - 'id' => 1, - 'desc' => "ONE", -); -$doc2 = array( - '_id' => new MongoId('4cb4ab6d7addf98506010002'), - 'id' => 2, - 'desc' => "TWO", -); -$doc3 = array( - '_id' => new MongoId('4cb4ab6d7addf98506010002'), // same _id as above - 'id' => 3, - 'desc' => "THREE", -); -$doc4 = array( - '_id' => new MongoId('4cb4ab6d7addf98506010004'), - 'id' => 4, - 'desc' => "FOUR", -); - -$c = $db->selectCollection('c'); -$c->batchInsert( - array($doc1, $doc2, $doc3, $doc4), - array('continueOnError' => true) -); - -$docs = $c->find(); -foreach ($docs as $doc) { - var_dump($doc['desc']); -} -?> -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - MongoCollection::insert - MongoCollection::update - MongoCollection::find - MongoCollection::remove - MongoDB core docs on insert. - - - - - diff --git a/reference/mongo/mongocollection/construct.xml b/reference/mongo/mongocollection/construct.xml deleted file mode 100644 index fcc9df9d25..0000000000 --- a/reference/mongo/mongocollection/construct.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoCollection::__construct - Creates a new collection - - - - - &reftitle.description; - - public MongoCollection::__construct - MongoDBdb - stringname - - - - - &reftitle.parameters; - - - - - MongoDB - db - - - - Parent database. - - - - - - - - name - - - - Name for this collection. - - - - - - - - - &reftitle.returnvalues; - - Returns a new collection object. - - - - - &reftitle.errors; - - Throws default exception if the collection name is invalid. - - - - diff --git a/reference/mongo/mongocollection/count.xml b/reference/mongo/mongocollection/count.xml deleted file mode 100644 index 6932118b61..0000000000 --- a/reference/mongo/mongocollection/count.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - MongoCollection::count - Counts the number of documents in this collection - - - - &reftitle.description; - - public intMongoCollection::count - arrayqueryarray() - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - query - - - - Associative array or object with fields to match. - - - - - - options - - - - An array of options for the index creation. Currently available options - include: - - - - - &Name; - &Type; - &Description; - - - - - hint - mixed - - - Index to use for the query. If a string is passed, it should - correspond to an index name. If an array or object is passed, it - should correspond to the specification used to create the index - (i.e. the first argument to - MongoCollection::createIndex). - - This option is only supported in MongoDB 2.6+. - - - - limit - int - The maximum number of matching documents to return. - - - maxTimeMS - int - - - Specifies a cumulative time limit in milliseconds for processing - the operation (does not include idle time). If the operation is not - completed within the timeout period, a - MongoExecutionTimeoutException will be - thrown. - - This option is only supported in MongoDB 2.6+. - - - - skip - int - The number of matching documents to skip before returning results. - - - - - - - - - - - - - &reftitle.returnvalues; - - Returns the number of documents matching the query. - - - - - &reftitle.errors; - - Throws MongoResultException if the server could not - execute the command due to an error. - - - Throws MongoExecutionTimeoutException if command - execution was terminated due to maxTimeMS. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.6.0 - - The second parameter is now an options array. - Passing limit and skip as - the second and third parameters, respectively, is deprecated. - - - - PECL mongo 1.0.7 - - Added limit and skip as - second and third parameters, respectively. - - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::count</function> example - -insert(array('x'=>1)); -$collection->insert(array('x'=>2)); -$collection->insert(array('x'=>3)); - -var_dump($collection->count()); -var_dump($collection->count(array('x'=>1))); - -?> -]]> - - &example.outputs.similar; - - - - - - - diff --git a/reference/mongo/mongocollection/createdbref.xml b/reference/mongo/mongocollection/createdbref.xml deleted file mode 100644 index 9bbdfe16e2..0000000000 --- a/reference/mongo/mongocollection/createdbref.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - MongoCollection::createDBRef - Creates a database reference - - - - &reftitle.description; - - public arrayMongoCollection::createDBRef - mixeddocument_or_id - - - - - &reftitle.parameters; - - - - - document_or_id - - - - If an array or object is given, its _id field will be - used as the reference ID. If a MongoId or scalar - is given, it will be used as the reference ID. - - - - - - - - - &reftitle.returnvalues; - - Returns a database reference array. - - - If an array without an _id field was provided as the - document_or_id parameter, &null; will be returned. - - - - - &reftitle.examples; - - <methodname>MongoCollection::createDBRef</methodname> example - -songs; -$playlists = $db->playlists; - -// create a reference to a song -$manamana = $songs->findOne(array('title' => 'Ma na ma na')); -$refToSong = $songs->createDBRef($manamana); - -// add the reference to my playlist -$playlists->update(array('username' => 'me'), array('$push' => array('songlist' => $refToSong))); - -?> -]]> - - - - - - &reftitle.seealso; - - - MongoCollection::getDBRef - - - - - - diff --git a/reference/mongo/mongocollection/createindex.xml b/reference/mongo/mongocollection/createindex.xml deleted file mode 100644 index 9af054beca..0000000000 --- a/reference/mongo/mongocollection/createindex.xml +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - MongoCollection::createIndex - - Creates an index on the specified field(s) if it does not already exist - - - - - &reftitle.description; - - public boolMongoCollection::createIndex - arraykeys - arrayoptionsarray() - - - Creates an index on the specified field(s) if it does not already exist. - Fields may be indexed with a direction (e.g. ascending or descending) or a - special type (e.g. text, geospatial, hashed). - - - - This method will use the - createIndexes - database command when communicating with MongoDB 2.6+. For previous database - versions, the method will perform an insert operation on the - special system.indexes collection. - - - - - - &reftitle.parameters; - - - - - keys - - - - An array specifying the index's fields as its keys. For each field, the - value is either the index direction or - index type. - If specifying direction, specify 1 for ascending or - -1 for descending. - - - - - - options - - - - An array of options for the index creation. We pass all given options - straight to the server, but a non-exhaustive list of currently - available options include: - - &mongo.index.parameters.unique; - &mongo.index.parameters.sparse; - &mongo.index.parameters.expireafterseconds; - &mongo.index.parameters.name; - &mongo.index.parameters.background; - &mongo.writes.parameters.sockettimeoutms; - - - - The following option may be used with MongoDB 2.6+: - - &mongo.command.parameters.maxtimems; - - - - The following options may be used with MongoDB versions before 2.8: - - &mongo.index.parameters.dropdups; - - - - The following options may be used with MongoDB versions before 2.6: - - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the index creation. The array - contains whether the operation succeeded ("ok"), the - number of indexes before and after the operation - ("numIndexesBefore" and - "numIndexesAfter"), and whether the collection that the - index belongs to has been created - ("createdCollectionAutomatically"). If the index already - existed and did not need to be created, a "note" field may - be present in lieu of "numIndexesAfter". - - - With MongoDB 2.4 and earlier, a status document is only returned if the - write concern is at least - 1. Otherwise, &true; is returned. The fields in the status - document are different, except for the "ok" field, which - signals whether the index creation was successful. Additional fields are - described in the documentation for - MongoCollection::insert. - - - - - &reftitle.errors; - - Throws MongoException if the index name is longer - than 128 bytes, or if the index specification is not an array. - - - Throws MongoDuplicateKeyException if the server could not - create the unique index due to conflicting documents. - - - Throws MongoResultException if the server could not - create the index due to an error. - - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.examples; - - <function>MongoCollection::createIndex</function> example - -createIndex(array('x' => 1)); - -// create a unique index on 'y' -$c->createIndex(array('y' => 1), array('unique' => true)); - -// create a compound index on 'za' ascending and 'zb' descending -$c->createIndex(array('za' => 1, 'zb' => -1)); - -?> -]]> - - - - Geospatial Indexing - - Mongo supports geospatial indexes, which allow you to search for documents - near a given location or within a shape. The following example creates a - geospatial index on the "loc" field: - - -createIndex(array('loc' => '2dsphere')); - -?> -]]> - - - - Drop duplicates example - -insert(array('username' => 'joeschmoe')); -$collection->insert(array('username' => 'joeschmoe')); - -/* Index creation fails, since you cannot create a unique index on a field when - * duplicates exist. - */ -$collection->createIndex(array('username' => 1), array('unique' => 1)); - -/* MongoDB will one of the conflicting documents and allow the unique index to - * be created. - */ -$collection->createIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1)); - -/* We now have a unique index and subsequent inserts with the same username will - * fail. - */ -$collection->insert(array('username' => 'joeschmoe')); - -?> -]]> - - - - - - &reftitle.seealso; - - MongoCollection::deleteIndex - MongoCollection::deleteIndexes - - The MongoDB - index and - index type - documentation. - - - - - - diff --git a/reference/mongo/mongocollection/deleteindex.xml b/reference/mongo/mongocollection/deleteindex.xml deleted file mode 100644 index 3495edd188..0000000000 --- a/reference/mongo/mongocollection/deleteindex.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - MongoCollection::deleteIndex - Deletes an index from this collection - - - - &reftitle.description; - - public arrayMongoCollection::deleteIndex - stringarraykeys - - - This method is identical to: - - -toIndexString($keys); - - return $this->db->command(array( - "deleteIndexes" => $this->getName(), - "index" => $indexName, - )); -} - -?> -]]> - - - Each index is given a unique name when it is created. This is often generated - by the driver based on the index key(s) and order/type, but custom names may - also be specified with MongoCollection::createIndex's - "name" option). - - - Unfortunately, MongoCollection::deleteIndex cannot - delete custom-named indexes due to a backwards compatibility issue. When a - string argument is provided, it is assumed to be the single field name in an - ascending index (e.g. the name "x_1" would be used for the - argument "x"). If an array or object is provided, an index - name is generated just as if that argument was passed to - MongoCollection::createIndex. - - - In order to delete a custom-named index with the PHP driver, the - deleteIndexes database command must be used. For instance, - an index named "myIndex" could be deleted with the PHP driver by running: - - -command(array( - "deleteIndexes" => $collection->getName(), - "index" => "myIndex", -)); - -?> -]]> - - - To determine the name of an index with the PHP driver, you can query the - system.indexes collection of a database and look for the - "name" field of each result. The "ns" - field will indicate the collection to which each index belongs. - - - - - &reftitle.parameters; - - - - - keys - - - - An array specifying the index's fields as its keys. For each field, the - value is either the index direction or - index type. - If specifying direction, specify 1 for ascending or - -1 for descending. - - - If a string is provided, it is assumed to be the single field name in an - ascending index. - - - - - - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.examples; - - <function>MongoCollection::deleteIndex</function> example - - This example passes the function string and array parameters. - - -example->indices; - -// create and remove a simple index -$c->createIndex(array("i"=>1)); -$c->deleteIndex("i"); - -// create and remove a multi-key index -$c->ensureIndex(array("j" => 1, "k" => 1)); -$c->deleteIndex(array("j" => 1, "k" => 1)); - -?> -]]> - - - - - - &reftitle.seealso; - - MongoCollection::createIndex - MongoCollection::deleteIndexes - MongoCollection::toIndexString - - The MongoDB - index and - index type - documentation. - - - - - - diff --git a/reference/mongo/mongocollection/deleteindexes.xml b/reference/mongo/mongocollection/deleteindexes.xml deleted file mode 100644 index 37c4c7b14e..0000000000 --- a/reference/mongo/mongocollection/deleteindexes.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - MongoCollection::deleteIndexes - Delete all indices for this collection - - - - &reftitle.description; - - public arrayMongoCollection::deleteIndexes - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.examples; - - <function>MongoCollection::deleteIndexes</function> example - This example demonstrates how to delete all indexes from a collection and the response to expect. - -my_db->articles; -$response = $collection->deleteIndexes(); -print_r($response); - -?> -]]> - - &example.outputs.similar; - - 1 - [msg] => all indexes deleted for collection - [ok] => 1 -) -]]> - - - - - - &reftitle.seealso; - - MongoCollection::createIndex - MongoCollection::deleteIndex - - - - - diff --git a/reference/mongo/mongocollection/distinct.xml b/reference/mongo/mongocollection/distinct.xml deleted file mode 100644 index 4a1b70c140..0000000000 --- a/reference/mongo/mongocollection/distinct.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - MongoCollection::distinct - Retrieve a list of distinct values for the given key across a collection - - - - &reftitle.description; - - public arrayfalseMongoCollection::distinct - stringkey - arrayquery - - - The distinct command returns a list of distinct values for the given key - across a collection. - - - - - &reftitle.parameters; - - - key - - - The key to use. - - - - - query - - - An optional query parameters - - - - - - - - &reftitle.returnvalues; - - Returns an array of distinct values, &return.falseforfailure; - - - - - &reftitle.examples; - - <methodname>MongoCollection::distinct</methodname> example - -selectDB("test"); -$db->dropCollection("distinct"); -$c = $db->distinct; - -$c->insert(array("stuff" => "bar", "zip-code" => 10010)); -$c->insert(array("stuff" => "foo", "zip-code" => 10010)); -$c->insert(array("stuff" => "bar", "zip-code" => 99701), array("w" => 1)); - -$retval = $c->distinct("zip-code"); -var_dump($retval); - -$retval = $c->distinct("zip-code", array("stuff" => "foo")); -var_dump($retval); - -$retval = $c->distinct("zip-code", array("stuff" => "bar")); -var_dump($retval); - -?> -]]> - - &example.outputs; - - - int(10010) - [1]=> - int(99701) -} -array(1) { - [0]=> - int(10010) -} -array(2) { - [0]=> - int(10010) - [1]=> - int(99701) -} -]]> - - - - <methodname>MongoCollection::distinct</methodname> example on a embedded document - -insert(array("user" => array("points" => 25))); -$c->insert(array("user" => array("points" => 31))); -$c->insert(array("user" => array("points" => 25))); - -$retval = $c->distinct("user.points"); -var_dump($retval); - -$retval = $c->distinct("user.nonexisting"); -var_dump($retval); -?> -]]> - - &example.outputs; - - - int(25) - [1]=> - int(31) -} -array(0) { -} -]]> - - - - - - - diff --git a/reference/mongo/mongocollection/drop.xml b/reference/mongo/mongocollection/drop.xml deleted file mode 100644 index c7a20890f0..0000000000 --- a/reference/mongo/mongocollection/drop.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - MongoCollection::drop - Drops this collection - - - - &reftitle.description; - - public arrayMongoCollection::drop - - - - Drops this collection and deletes its indices. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.examples; - - <function>MongoCollection::drop</function> example - This example demonstrates how to drop a collection and the response to expect. - -my_db->articles; -$response = $collection->drop(); -print_r($response); - -?> -]]> - - &example.outputs.similar; - - 1 - [msg] => all indexes deleted for collection - [ns] => my_db.articles - [ok] => 1 -) -]]> - - - - - diff --git a/reference/mongo/mongocollection/ensureindex.xml b/reference/mongo/mongocollection/ensureindex.xml deleted file mode 100644 index 700df2d907..0000000000 --- a/reference/mongo/mongocollection/ensureindex.xml +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - MongoCollection::ensureIndex - - Creates an index on the specified field(s) if it does not already exist - - - - - &reftitle.description; - - public boolMongoCollection::ensureIndex - stringarraykey|keys - arrayoptionsarray() - - - - This method is deprecated since version 1.5.0. Please use - MongoCollection::createIndex instead. - - - - Creates an index on the specified field(s) if it does not already exist. - Fields may be indexed with a direction (e.g. ascending or descending) or a - special type (e.g. text, geospatial, hashed). - - - - This method will use the - createIndexes - database command when communicating with MongoDB 2.6+. For previous database - versions, the method will perform an insert operation on the - special system.indexes collection. - - - - - - &reftitle.parameters; - - - - - keys - - - - An array specifying the index's fields as its keys. For each field, the - value is either the index direction or - index type. - If specifying direction, specify 1 for ascending or - -1 for descending. - - - - - - options - - - - An array of options for the index creation. Currently available options - include: - - &mongo.index.parameters.unique; - &mongo.index.parameters.sparse; - &mongo.index.parameters.expireafterseconds; - &mongo.index.parameters.name; - &mongo.index.parameters.background; - &mongo.writes.parameters.sockettimeoutms; - - - - The following option may be used with MongoDB 2.6+: - - &mongo.command.parameters.maxtimems; - - - - The following options may be used with MongoDB versions before 2.8: - - &mongo.index.parameters.dropdups; - - - - The following options may be used with MongoDB versions before 2.6: - - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the index creation. The array - contains whether the operation succeeded ("ok"), the - number of indexes before and after the operation - ("numIndexesBefore" and - "numIndexesAfter"), and whether the collection that the - index belongs to has been created - ("createdCollectionAutomatically"). If the index already - existed and did not need to be created, a "note" field may - be present in lieu of "numIndexesAfter". - - - With MongoDB 2.4 and earlier, a status document is only returned if the - write concern is at least - 1. Otherwise, &true; is returned. The fields in the status - document are different, except for the "ok" field, which - signals whether the index creation was successful. Additional fields are - described in the documentation for - MongoCollection::insert. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Renamed the "wtimeout" option to - "wTimeoutMS". Emits - E_DEPRECATED when "wtimeout" is - used. - - - Renamed the "timeout" option to - "socketTimeoutMS". Emits - E_DEPRECATED when "timeout" is - used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.3.4 - Added "wtimeout" option. - - - PECL mongo 1.3.0 - - Added "w" option. - - The options parameter no longer accepts a - boolean to signify a unique index. Instead, this now has to be done - with array('unique' => true). - - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when - options is scalar. - - - - PECL mongo 1.2.0 - Added "timeout" option. - - - PECL mongo 1.0.11 - - - The "safe" option will trigger a primary failover, - if necessary. - - - MongoException will be thrown if the index name - (either generated or set) is longer than 128 bytes. - - - - - PECL mongo 1.0.5 - - Added the "name" option to override index name - creation. - - - - PECL mongo 1.0.2 - - Changed options parameter from boolean to array. - Pre-1.0.2, the second parameter was an optional boolean value specifying - a unique index. - - - - - - - - - - &reftitle.errors; - - Throws MongoException if the index name is longer - than 128 bytes, or if the index specification is not an array. - - - Throws MongoDuplicateKeyException if the server could not - create the unique index due to conflicting documents. - - - Throws MongoResultException if the server could not - create the index due to an error. - - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.examples; - - <function>MongoCollection::ensureIndex</function> example - -ensureIndex(array('x' => 1)); - -// create a unique index on 'y' -$c->ensureIndex(array('y' => 1), array('unique' => true)); - -// create a compound index on 'za' ascending and 'zb' descending -$c->ensureIndex(array('za' => 1, 'zb' => -1)); - -?> -]]> - - - - Geospatial Indexing - - Mongo supports geospatial indexes, which allow you to search for documents - near a given location or within a shape. The following example creates a - geospatial index on the "loc" field: - - -ensureIndex(array('loc' => '2dsphere')); - -?> -]]> - - - - Drop duplicates example - -insert(array('username' => 'joeschmoe')); -$collection->insert(array('username' => 'joeschmoe')); - -/* Index creation fails, since you cannot create a unique index on a field when - * duplicates exist. - */ -$collection->ensureIndex(array('username' => 1), array('unique' => 1)); - -/* MongoDB will one of the conflicting documents and allow the unique index to - * be created. - */ -$collection->ensureIndex(array('username' => 1), array('unique' => 1, 'dropDups' => 1)); - -/* We now have a unique index and subsequent inserts with the same username will - * fail. - */ -$collection->insert(array('username' => 'joeschmoe')); - -?> -]]> - - - - - - &reftitle.seealso; - - MongoCollection::createIndex - MongoCollection::deleteIndex - MongoCollection::deleteIndexes - - The MongoDB - index and - index type - documentation. - - - - - - diff --git a/reference/mongo/mongocollection/find.xml b/reference/mongo/mongocollection/find.xml deleted file mode 100644 index 0c8f142707..0000000000 --- a/reference/mongo/mongocollection/find.xml +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - MongoCollection::find - Queries this collection, returning a MongoCursor - for the result set - - - - &reftitle.description; - - public MongoCursorMongoCollection::find - arrayqueryarray() - arrayfieldsarray() - - - - - &reftitle.parameters; - - - - - query - - - - The fields for which to search. MongoDB's query language is quite - extensive. The PHP driver will in almost all cases pass the query - straight through to the server, so reading the MongoDB core docs on - find is a good idea. - - - - Please make sure that for all special query operators (starting with - $) you use single quotes so that PHP doesn't try to - replace "$exists" with the value of the variable - $exists. - - - - - - - fields - - - - Fields of the results to return. The array is in the format - array('fieldname' => true, 'fieldname2' => true). - The _id field is always returned. - - - - - - - - - &reftitle.returnvalues; - - Returns a cursor for the search results. - - - - - &reftitle.examples; - - <function>MongoCollection::find</function> example - This example demonstrates basic search options. - -selectDB('test'); -$collection = new MongoCollection($db, 'produce'); - -// search for fruits -$fruitQuery = array('Type' => 'Fruit'); - -$cursor = $collection->find($fruitQuery); -foreach ($cursor as $doc) { - var_dump($doc); -} - -// search for produce that is sweet. Taste is a child of Details. -$sweetQuery = array('Details.Taste' => 'Sweet'); -echo "Sweet\n"; -$cursor = $collection->find($sweetQuery); -foreach ($cursor as $doc) { - var_dump($doc); -} - -?> -]]> - - &example.outputs; - - - object(MongoId)#7 (1) { - ["$id"]=> - string(24) "50a87dd084f045a19b220dd6" - } - ["Name"]=> - string(5) "Apple" - ["Type"]=> - string(5) "Fruit" - ["Details"]=> - array(2) { - ["Taste"]=> - string(5) "Sweet" - ["Colour"]=> - string(3) "Red" - } -} -array(4) { - ["_id"]=> - object(MongoId)#8 (1) { - ["$id"]=> - string(24) "50a87de084f045a19b220dd7" - } - ["Name"]=> - string(5) "Lemon" - ["Type"]=> - string(5) "Fruit" - ["Details"]=> - array(2) { - ["Taste"]=> - string(4) "Sour" - ["Colour"]=> - string(5) "Green" - } -} - -Sweet: -array(4) { - ["_id"]=> - object(MongoId)#7 (1) { - ["$id"]=> - string(24) "50a87dd084f045a19b220dd6" - } - ["Name"]=> - string(5) "Apple" - ["Type"]=> - string(5) "Fruit" - ["Details"]=> - array(2) { - ["Taste"]=> - string(5) "Sweet" - ["Colour"]=> - string(3) "Red" - } -} -]]> - - - See MongoCursor for more information how to work with cursors. - - - - <function>MongoCollection::find</function> example - This example demonstrates how to search for a range. - -selectDB('test'); -$collection = new MongoCollection($db, 'phpmanual'); - -// search for documents where 5 < x < 20 -$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 )); - -$cursor = $collection->find($rangeQuery); -foreach ($cursor as $doc) { - var_dump($doc); -} - -?> -]]> - - &example.outputs; - - - object(MongoId)#10 (1) { - ["$id"]=> - string(24) "4ebc3e3710b89f2349000000" - } - ["x"]=> - int(12) -} -array(2) { - ["_id"]=> - object(MongoId)#11 (1) { - ["$id"]=> - string(24) "4ebc3e3710b89f2349000001" - } - ["x"]=> - int(12) -} -]]> - - - See MongoCursor for more information how to work with cursors. - - - - <function>MongoCollection::find</function> example using $where - This example demonstrates how to search a collection using javascript code to reduce the resultset. - -selectDB('test'); -$collection = new MongoCollection($db, 'phpmanual'); - -$js = "function() { - return this.name == 'Joe' || this.age == 50; -}"; -$cursor = $collection->find(array('$where' => $js)); -foreach ($cursor as $doc) { - var_dump($doc); -} - -?> -]]> - - &example.outputs; - - - object(MongoId)#7 (1) { - ["$id"]=> - string(24) "4ebc3e3710b89f2349000002" - } - ["name"]=> - string(3) "Joe" - ["age"]=> - int(20) -} -]]> - - - - <function>MongoCollection::find</function> example using $in - This example demonstrates how to search a collection using the $in operator. - -selectDB('test'); -$collection = new MongoCollection($db, 'phpmanual'); - -$cursor = $collection->find(array( - 'name' => array('$in' => array('Joe', 'Wendy')) -)); - -?> -]]> - - &example.outputs; - - - object(MongoId)#7 (1) { - ["$id"]=> - string(24) "4ebc3e3710b89f2349000002" - } - ["name"]=> - string(3) "Joe" - ["age"]=> - int(20) -} -]]> - - - - - Getting results as an array - - This returns a MongoCursor. Often, when people are - starting out, they are more comfortable using an array. To turn a cursor - into an array, use the iterator_to_array function. - - -selectDB('test'); -$collection = new MongoCollection($db, 'phpmanual'); - -$cursor = $collection->find(); -$array = iterator_to_array($cursor); - -?> -]]> - - &example.outputs; - - - array(2) { - ["_id"]=> - object(MongoId)#6 (1) { - ["$id"]=> - string(24) "4ebc40af10b89f5149000000" - } - ["x"]=> - int(12) - } - ["4ebc40af10b89f5149000001"]=> - array(2) { - ["_id"]=> - object(MongoId)#11 (1) { - ["$id"]=> - string(24) "4ebc40af10b89f5149000001" - } - ["x"]=> - int(12) - } - ["4ebc40af10b89f5149000002"]=> - array(3) { - ["_id"]=> - object(MongoId)#12 (1) { - ["$id"]=> - string(24) "4ebc40af10b89f5149000002" - } - ["name"]=> - string(3) "Joe" - ["age"]=> - int(20) - } -} -]]> - - - Using iterator_to_array forces the driver to load all of - the results into memory, so do not do this for result sets that are larger - than memory! - - - Also, certain system collections do not have an _id - field. If you are dealing with a collection that might have documents - without _ids, pass &false; as the second argument to - iterator_to_array (so that it will not try to use the - non-existent _id values as keys). - - - - - - &reftitle.seealso; - - MongoCollection::findOne - MongoCollection::insert - MongoDB core docs on find. - - - - - diff --git a/reference/mongo/mongocollection/findandmodify.xml b/reference/mongo/mongocollection/findandmodify.xml deleted file mode 100644 index f622d6fc28..0000000000 --- a/reference/mongo/mongocollection/findandmodify.xml +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - MongoCollection::findAndModify - Update a document and return it - - - - &reftitle.description; - - public arrayMongoCollection::findAndModify - arrayquery - arrayupdate - arrayfields - arrayoptions - - - The findAndModify command atomically modifies and returns a single document. - By default, the returned document does not include the modifications made on - the update. To return the document with the modifications made on the - update, use the new option. - - - - - - &reftitle.parameters; - - - query - - - The query criteria to search for. - - - - - update - - - The update criteria. - - - - - fields - - - Optionally only return these fields. - - - - - options - - - An array of options to apply, such as remove the match document from the - DB and return it. - - - - - Option - &Description; - - - - - sort array - - Determines which document the operation will modify if the - query selects multiple documents. findAndModify will modify the - first document in the sort order specified by this argument. - - - - remove bool - - Optional if update field exists. When &true;, removes the selected - document. The default is &false;. - - - - update array - - Optional if remove field exists. - Performs an update of the selected document. - - - - new bool - - Optional. When &true;, returns the modified document rather than the - original. The findAndModify method ignores the new option for - remove operations. The default is &false;. - - - - upsert bool - - Optional. Used in conjunction with the update field. When &true;, the - findAndModify command creates a new document if the query returns - no documents. The default is false. In MongoDB 2.2, the - findAndModify command returns &null; when upsert is &true;. - - - - - - - - - - - - - - - - - - &reftitle.returnvalues; - - Returns the original document, or the modified document when - new is set. - - - - - &reftitle.errors; - - Throws MongoResultException on failure. - - - - - &reftitle.examples; - - <methodname>MongoCollection::findAndModify</methodname> example - -selectDB("test")->jobs; - -$col->insert(array( - "name" => "Next promo", - "inprogress" => false, - "priority" => 0, - "tasks" => array( "select product", "add inventory", "do placement"), -) ); - -$col->insert(array( - "name" => "Biz report", - "inprogress" => false, - "priority" => 1, - "tasks" => array( "run sales report", "email report" ) -) ); - -$col->insert(array( - "name" => "Biz report", - "inprogress" => false, - "priority" => 2, - "tasks" => array( "run marketing report", "email report" ) - ), - array("w" => 1) -); - - - -$retval = $col->findAndModify( - array("inprogress" => false, "name" => "Biz report"), - array('$set' => array('inprogress' => true, "started" => new MongoDate())), - null, - array( - "sort" => array("priority" => -1), - "new" => true, - ) -); - -var_dump($retval); -?> -]]> - - &example.outputs.similar; - - - object(MongoId)#7 (1) { - ["$id"]=> - string(24) "5091b5b244415e8cc3000002" - } - ["inprogress"]=> - bool(true) - ["name"]=> - string(10) "Biz report" - ["priority"]=> - int(2) - ["started"]=> - object(MongoDate)#8 (2) { - ["sec"]=> - int(1351726514) - ["usec"]=> - int(925000) - } - ["tasks"]=> - array(2) { - [0]=> - string(20) "run marketing report" - [1]=> - string(12) "email report" - } -} -]]> - - - - <methodname>MongoCollection::findAndModify</methodname> error handling - -selectDB("test")->jobs; -try { - $retval = $col->findAndModify( - array("inprogress" => false, "name" => "Next promo"), - array('$pop' => array("tasks" => -1)), - array("tasks" => array('$pop' => array("stuff"))), - array("new" => true) - ); -} catch(MongoResultException $e) { - echo $e->getCode(), " : ", $e->getMessage(), "\n"; - var_dump($e->getDocument()); -} - -?> -]]> - - &example.outputs.similar; - - - string(46) "exception: Unsupported projection option: $pop" - ["code"]=> - int(13097) - ["ok"]=> - float(0) -} -]]> - - - - - - &reftitle.seealso; - - The MongoDB findAndModify command docs - - - - - - - diff --git a/reference/mongo/mongocollection/findone.xml b/reference/mongo/mongocollection/findone.xml deleted file mode 100644 index a920b40932..0000000000 --- a/reference/mongo/mongocollection/findone.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - MongoCollection::findOne - Queries this collection, returning a single element - - - - &reftitle.description; - - public arrayMongoCollection::findOne - arrayqueryarray() - arrayfieldsarray() - arrayoptionsarray() - - - As opposed to MongoCollection::find, this method - will return only the first result from the result set, - and not a MongoCursor that can be iterated over. - - - - - &reftitle.parameters; - - - - - query - - - - The fields for which to search. MongoDB's query language is quite - extensive. The PHP driver will in almost all cases pass the query - straight through to the server, so reading the MongoDB core docs on - find is a good idea. - - - - Please make sure that for all special query operaters (starting with - $) you use single quotes so that PHP doesn't try to - replace "$exists" with the value of the variable - $exists. - - - - - - - fields - - - - Fields of the results to return. The array is in the format - array('fieldname' => true, 'fieldname2' => true). - The _id field is always returned. - - - - - - options - - - - This parameter is an associative array of the form - array("name" => <value>, ...). Currently - supported options are: - - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - Returns record matching the search or &null;. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database. - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - Added optional options argument. - - - - - - - - - &reftitle.examples; - - <methodname>MongoCollection::findOne</methodname> document by its id. - This example demonstrates how to find a single document in a collection by its id. - -my_db->articles; - -$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2'))); - -?> -]]> - - - - <methodname>MongoCollection::findOne</methodname> document by some condition. - This example demonstrates how to find a single document in a collection by some condition and limiting the returned fields. - -my_db->users; -$user = $users->findOne(array('username' => 'jwage'), array('password')); -print_r($user); - -?> -]]> - - &example.outputs.similar; - - MongoId Object - ( - ) - - [password] => test -) -]]> - - - Notice how even though the document does have a username field, we limited the results - to only contain the password field. - - - - - - &reftitle.seealso; - - MongoCollection::find - MongoCollection::insert - MongoDB core docs on find. - - - - diff --git a/reference/mongo/mongocollection/get.xml b/reference/mongo/mongocollection/get.xml deleted file mode 100644 index 6c09efd26c..0000000000 --- a/reference/mongo/mongocollection/get.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoCollection::__get - Gets a collection - - - &reftitle.description; - - public MongoCollectionMongoCollection::__get - stringname - - - A concise syntax for getting a collection with a dot-separated name. If a - collection name contains strange characters, you may have to use - MongoDB::selectCollection instead. - -selectDB("foo")->selectCollection("bar.baz"); -$collection = $mongo->foo->bar->baz; - -?> -]]> - - - - - &reftitle.parameters; - - - - - name - - - - The next string in the collection name. - - - - - - - - &reftitle.returnvalues; - - Returns the collection. - - - - diff --git a/reference/mongo/mongocollection/getdbref.xml b/reference/mongo/mongocollection/getdbref.xml deleted file mode 100644 index 759d79f9ea..0000000000 --- a/reference/mongo/mongocollection/getdbref.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - MongoCollection::getDBRef - Fetches the document pointed to by a database reference - - - - &reftitle.description; - - public arrayMongoCollection::getDBRef - arrayref - - - - - &reftitle.parameters; - - - - - ref - - - - A database reference. - - - - - - - - - &reftitle.returnvalues; - - Returns the database document pointed to by the reference. - - - - - &reftitle.examples; - - <methodname>MongoCollection::getDBRef</methodname> example - -playlists; - -$myList = $playlists->findOne(array('username' => 'me')); - -// fetch each song in the playlist -foreach ($myList['songlist'] as $songRef) { - $song = $playlists->getDBRef($songRef); - echo $song['title'] . "\n"; -} - -?> -]]> - - &example.outputs.similar; - - - - - In the above example each $songRef looks something like the following: - songs - [$id] => 49902cde5162504500b45c2c - ) - ]]> - - - - - - &reftitle.seealso; - - - MongoCollection::createDBRef - - - - - - diff --git a/reference/mongo/mongocollection/getindexinfo.xml b/reference/mongo/mongocollection/getindexinfo.xml deleted file mode 100644 index c7b4efeabb..0000000000 --- a/reference/mongo/mongocollection/getindexinfo.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - MongoCollection::getIndexInfo - Returns information about indexes on this collection - - - - &reftitle.description; - - public arrayMongoCollection::getIndexInfo - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This function returns an array in which each element describes an index. - Elements will contain the values name for the name of - the index, ns for the namespace (a combination of the - database and collection name), and key for a list of all - fields in the index and their ordering. Additional values may be present for - special indexes, such as unique or - sparse. - - - - - &reftitle.examples; - - <function>MongoCollection::getIndexInfo</function> example - -selectCollection('test', 'venues'); -var_dump($c->getIndexInfo()); - -?> -]]> - - &example.outputs.similar; - - - array(4) { - ["v"]=> - int(1) - ["key"]=> - array(1) { - ["_id"]=> - int(1) - } - ["name"]=> - string(4) "_id_" - ["ns"]=> - string(11) "test.venues" - } - [1]=> - array(4) { - ["v"]=> - int(1) - ["key"]=> - array(1) { - ["name"]=> - float(1) - } - ["name"]=> - string(6) "name_1" - ["ns"]=> - string(11) "test.venues" - } - [2]=> - array(4) { - ["v"]=> - int(1) - ["key"]=> - array(2) { - ["type"]=> - float(1) - ["createdAt"]=> - float(-1) - } - ["name"]=> - string(19) "type_1_createdAt_-1" - ["ns"]=> - string(11) "test.venues" - } - [3]=> - array(5) { - ["v"]=> - int(1) - ["key"]=> - array(1) { - ["location"]=> - string(8) "2dsphere" - } - ["name"]=> - string(17) "location_2dsphere" - ["ns"]=> - string(11) "test.venues" - ["2dsphereIndexVersion"]=> - int(2) - } -} -]]> - - - - - - &reftitle.seealso; - - MongoDB core docs on - vanilla indexes and - geospatial indexes. - - - - - diff --git a/reference/mongo/mongocollection/getname.xml b/reference/mongo/mongocollection/getname.xml deleted file mode 100644 index cce2c50aaa..0000000000 --- a/reference/mongo/mongocollection/getname.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoCollection::getName - Returns this collection's name - - - &reftitle.description; - - public stringMongoCollection::getName - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the name of this collection. - - - - &reftitle.examples; - - - <function>MongoCollection::getName</function> example - -foo->bar->baz; - -echo "Working with collection " . $c->getName() . ".\n"; - -// the full namespace is given by the MongoCollection::__toString() method -echo "Working in namespace $c.\n"; - -?> -]]> - - &example.outputs.similar; - - - - - - - - diff --git a/reference/mongo/mongocollection/getreadpreference.xml b/reference/mongo/mongocollection/getreadpreference.xml deleted file mode 100644 index 9e7a5ebd56..0000000000 --- a/reference/mongo/mongocollection/getreadpreference.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - MongoCollection::getReadPreference - Get the read preference for this collection - - - - &reftitle.description; - - public arrayMongoCollection::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.3 - - The return value has changed to be consistent with - MongoCollection::setReadPreference. The - type value was changed from a number to a string, - type_string was removed, and - tagsets now expresses tags as key/value pairs instead - of colon-delimited strings. - - - - - - - - - - &reftitle.examples; - - <methodname>MongoCollection::getReadPreference</methodname> return value example - -test->users; -$c->setReadPreference(MongoClient::RP_SECONDARY, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), - array(), -)); -var_dump($c->getReadPreference()); -?> -]]> - - &example.outputs; - - - string(9) "secondary" - ["tagsets"]=> - array(3) { - [0]=> - array(2) { - ["dc"]=> - string(4) "east" - ["use"]=> - string(9) "reporting" - } - [1]=> - array(1) { - ["dc"]=> - string(7) "west" - } - [2]=> - array(0) { - } - } -} -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCollection::setReadPreference - - - - - - diff --git a/reference/mongo/mongocollection/getslaveokay.xml b/reference/mongo/mongocollection/getslaveokay.xml deleted file mode 100644 index 8144cc4511..0000000000 --- a/reference/mongo/mongocollection/getslaveokay.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - MongoCollection::getSlaveOkay - Get slaveOkay setting for this collection - - - - &reftitle.description; - - public boolMongoCollection::getSlaveOkay - - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the value of slaveOkay for this instance. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoCollection::getReadPreference - - - - - diff --git a/reference/mongo/mongocollection/getwriteconcern.xml b/reference/mongo/mongocollection/getwriteconcern.xml deleted file mode 100644 index 12b6b5b16a..0000000000 --- a/reference/mongo/mongocollection/getwriteconcern.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - MongoCollection::getWriteConcern - Get the write concern for this collection - - - - &reftitle.description; - - public arrayMongoCollection::getWriteConcern - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getwriteconcern.returnvalues; - - - - &reftitle.examples; - - <methodname>MongoCollection::getWriteConcern</methodname> return value example - - 500)); -$coll = $mc->selectCollection('test', 'foo'); -var_dump($coll->getWriteConcern()); - -$coll->setWriteConcern(1, 1000); -var_dump($coll->getWriteConcern()); -?> -]]> - - &example.outputs; - - - int(1) - ["wtimeout"]=> - int(500) -} -array(2) { - ["w"]=> - int(1) - ["wtimeout"]=> - int(1000) -} -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoCollection::setWriteConcern - - - - - - diff --git a/reference/mongo/mongocollection/group.xml b/reference/mongo/mongocollection/group.xml deleted file mode 100644 index 99dd1238bf..0000000000 --- a/reference/mongo/mongocollection/group.xml +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - MongoCollection::group - Performs an operation similar to SQL's GROUP BY command - - - - &reftitle.description; - - public arrayMongoCollection::group - mixedkeys - arrayinitial - MongoCodereduce - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - keys - - - - Fields to group by. If an array or non-code object is passed, it will be - the key used to group results. - - 1.0.4+: If keys is an instance of - MongoCode, keys will be treated as - a function that returns the key to group by (see the "Passing a - keys function" example below). - - - - - - initial - - - - Initial value of the aggregation counter object. - - - - - - reduce - - - - A function that takes two arguments (the current document and the - aggregation to this point) and does the aggregation. - - - - - - options - - - - Optional parameters to the group command. Valid options include: - - - - - "condition" - - - Criteria for including a document in the aggregation. - - - - - "finalize" - - - Function called once per unique key that takes the final output of the - reduce function. - - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the result. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - Added "maxTimeMS" option. - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when - options is scalar. - - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::group</function> example - - This groups documents by category and creates a list of names within that - category. - - -insert(array("category" => "fruit", "name" => "apple")); -$collection->insert(array("category" => "fruit", "name" => "peach")); -$collection->insert(array("category" => "fruit", "name" => "banana")); -$collection->insert(array("category" => "veggie", "name" => "corn")); -$collection->insert(array("category" => "veggie", "name" => "broccoli")); - -$keys = array("category" => 1); - -$initial = array("items" => array()); - -$reduce = "function (obj, prev) { prev.items.push(obj.name); }"; - -$g = $collection->group($keys, $initial, $reduce); - -echo json_encode($g['retval']); - -?> -]]> - - &example.outputs.similar; - - - - - - - <function>MongoCollection::group</function> example - - This example doesn't use any key, so every document will be its own group. - It also uses a condition: only documents that match this condition will be - processed by the grouping function. - - -save(array("a" => 2)); -$collection->save(array("b" => 5)); -$collection->save(array("a" => 1)); - -// use all fields -$keys = array(); - -// set intial values -$initial = array("count" => 0); - -// JavaScript function to perform -$reduce = "function (obj, prev) { prev.count++; }"; - -// only use documents where the "a" field is greater than 1 -$condition = array('condition' => array("a" => array( '$gt' => 1))); - -$g = $collection->group($keys, $initial, $reduce, $condition); - -var_dump($g); - -?> -]]> - - &example.outputs.similar; - - - array(1) { - [0]=> - array(1) { - ["count"]=> - float(1) - } - } - ["count"]=> - float(1) - ["keys"]=> - int(1) - ["ok"]=> - float(1) -} -]]> - - - - - Passing a <parameter>keys</parameter> function - - If you want to group by something other than a field name, you can pass - a function as the first parameter of - MongoCollection::group and it will be run against each - document. The return value of the function will be used as its grouping - value. - - - This example demonstrates grouping by the num field modulo 4. - - - -group(new MongoCode('function(doc) { return {mod : doc.num % 4}; }'), - array("count" => 0), - new MongoCode('function(current, total) { total.count++; }')); - -?> -]]> - - - - - - diff --git a/reference/mongo/mongocollection/insert.xml b/reference/mongo/mongocollection/insert.xml deleted file mode 100644 index 48ca6495a1..0000000000 --- a/reference/mongo/mongocollection/insert.xml +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - MongoCollection::insert - Inserts a document into the collection - - - - &reftitle.description; - - public boolarrayMongoCollection::insert - arrayobjectdocument - arrayoptionsarray() - - - All strings sent to the database must be UTF-8. If a string is not UTF-8, a - MongoException will be thrown. To insert - (or query for) a non-UTF-8 string, use MongoBinData. - - - - - &reftitle.parameters; - - - - - document - - - - An array or object. If an object is used, it may not have protected or - private properties. - - - - If the parameter does not have an _id key or - property, a new MongoId instance will be created - and assigned to it. This special behavior does not mean that the - parameter is passed by reference. - - - - - - - options - - - - An array of options for the insert operation. Currently available options - include: - - &mongo.writes.parameters.fsync; - &mongo.writes.parameters.journal; - &mongo.writes.parameters.sockettimeoutms; - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the insertion if the - "w" option is set. Otherwise, returns &true; if the - inserted array is not empty (a MongoException will be - thrown if the inserted array is empty). - - - If an array is returned, the following keys may be present: - - - - ok - - - - This should almost always be 1 (unless last_error itself failed). - - - - - - err - - - - If this field is non-null, an error occurred on the previous operation. - If this field is set, it will be a string describing the error that - occurred. - - - - - - code - - - - If a database error occurred, the relevant error code will be passed - back to the client. - - - - - - errmsg - - - - This field is set if something goes wrong with a database command. It - is coupled with ok being 0. For example, if - w is set and times out, errmsg will be set to "timed - out waiting for slaves" and ok will be 0. If this - field is set, it will be a string describing the error that occurred. - - - - - - n - - - - If the last operation was an update, upsert, or a remove, the number - of documents affected will be returned. For insert operations, this value - is always 0. - - - - - - wtimeout - - - - If the previous option timed out waiting for replication. - - - - - - waited - - - - How long the operation waited before timing out. - - - - - - wtime - - - - If w was set and the operation succeeded, how long it took to - replicate to w servers. - - - - - - upserted - - - - If an upsert occurred, this field will contain the new record's - _id field. For upserts, either this field or - updatedExisting will be present (unless an error - occurred). - - - - - - updatedExisting - - - - If an upsert updated an existing element, this field will be true. For - upserts, either this field or upserted will be present (unless an error - occurred). - - - - - - - - - &reftitle.errors; - - Throws MongoException if the inserted document is - empty or if it contains zero-length keys. Attempting to insert an object with - protected and private properties will cause a zero-length key error. - - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Added the "wTimeoutMS" option, which replaces - "wtimeout". Emits E_DEPRECATED - when "wtimeout" is used. - - - Added the "socketTimeoutMS" option, which replaces - "timeout". Emits E_DEPRECATED - when "timeout" is used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.3.4 - Added "wtimeout" option. - - - PECL mongo 1.3.0 - - Added "w" option. - - The options parameter no longer accepts a - boolean to signify an acknowledged write. Instead, this now has to be - done with array('w' => 1) (the default behaviour of - MongoClient). - - - - - PECL mongo 1.2.0 - Added "timeout" option. - - - PECL mongo 1.0.11 - - Disconnects on "not master" errors if "safe" is set. - - - - PECL mongo 1.0.9 - - - Added ability to pass integers to the "safe" option, - which previously only accepted booleans. - - - Added "fsync" option. - - - The return type was changed to be an array containing error information - if the "safe" option is used. Otherwise, a boolean - is returned as before. - - - - - PECL mongo 1.0.2 - - Changed second parameter to be an array of options. Pre-1.0.2, the - second parameter was a boolean indicating the "safe" - option. - - - - PECL mongo 1.0.1 - - Throw a MongoCursorException if the - "safe" option is set and the insert fails. - - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::insert</function> <literal>_id</literal> example - - An _id field will be added to the inserted document if - not already present. Depending on how the parameter is passed, a generated - _id may or may not be available to calling code. - - -selectCollection('test', 'phpmanual'); - -// If an array literal is used, there is no way to access the generated _id -$collection->insert(array('x' => 1)); - -// The _id is available on an array passed by value -$a = array('x' => 2); -$collection->insert($a); -var_dump($a); - -// The _id is not available on an array passed by reference -$b = array('x' => 3); -$ref = &$b; -$collection->insert($ref); -var_dump($ref); - -// The _id is available if a wrapping function does not trigger copy-on-write -function insert_no_cow($collection, $document) -{ - $collection->insert($document); -} - -$c = array('x' => 4); -insert_no_cow($collection, $c); -var_dump($c); - -// The _id is not available if a wrapping function triggers copy-on-write -function insert_cow($collection, $document) -{ - $document['y'] = 1; - $collection->insert($document); -} - -$d = array('x' => 5); -insert_cow($collection, $d); -var_dump($d); - -?> -]]> - - &example.outputs.similar; - - - int(2) - ["_id"]=> - object(MongoId)#4 (0) { - } -} -array(1) { - ["x"]=> - int(3) -} -array(2) { - ["x"]=> - int(4) - ["_id"]=> - object(MongoId)#5 (0) { - } -} -array(1) { - ["x"]=> - int(5) -} -]]> - - - - - <function>MongoCollection::insert</function> acknowledged write example - - This example shows inserting two elements with the same _id, which causes - a MongoCursorException to be thrown, as - w was set. - - - "Joe", "age" => 20); -$collection->insert($person); - -// now $person has an _id field, so if we save it -// again, we will get an exception -try { - $collection->insert($person, array("w" => 1)); -} catch(MongoCursorException $e) { - echo "Can't save the same person twice!\n"; -} - -?> -]]> - - - - - - &reftitle.seealso; - - MongoCollection::batchInsert - MongoCollection::update - MongoCollection::find - MongoCollection::remove - MongoDB core docs on insert. - - - - - diff --git a/reference/mongo/mongocollection/parallelcollectionscan.xml b/reference/mongo/mongocollection/parallelcollectionscan.xml deleted file mode 100644 index 05ae02236a..0000000000 --- a/reference/mongo/mongocollection/parallelcollectionscan.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - MongoCollection::parallelCollectionScan - Returns an array of cursors to iterator over a full collection in parallel - - - &reftitle.description; - - public array[MongoCommandCursor]MongoCollection::parallelCollectionScan - intnum_cursors - - - This method returns an array of a maximum of num_cursors - cursors. An iteration over one of the returned cursors results in a partial - set of documents for a collection. Iteration over all the returned cursors - results in getting every document back from the collection. - - - This method is a wrapper for the parallelCollectionScan - MongoDB command. - - - - - &reftitle.parameters; - - - - - num_cursors - - - - The number of cursors to request from the server. Please note, that the - server can return less cursors than you requested. - - - - - - - - - &reftitle.returnvalues; - - Returns an array of MongoCommandCursor objects. - - - - - &reftitle.examples; - - <function>MongoCollection::parallelCollectionScan</function> example - - Returning all documents in a collection by using multiple cursors. - - -demo->cities; - -/* Request three cursors */ -$cursors = $c->parallelCollectionScan( 3 ); - -/* Add all the cursors to the MultipleIterator */ -$mi = new MultipleIterator( MultipleIterator::MIT_NEED_ANY ); -foreach ( $cursors as $cursor ) -{ - $mi->attachIterator( $cursor ); -} - -/* Iterate over all the associated cursors */ -foreach ( $mi as $items ) -{ - foreach ( $items as $item ) - { - if ( $item !== NULL ) - { - echo $item['name'], "\n"; - } - } -} -?> -]]> - - - - - - &reftitle.seealso; - - - MultipleIterator - MongoCommandCursor - MongoDB::command - - - - - diff --git a/reference/mongo/mongocollection/remove.xml b/reference/mongo/mongocollection/remove.xml deleted file mode 100644 index f264d54dd1..0000000000 --- a/reference/mongo/mongocollection/remove.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - MongoCollection::remove - Remove records from this collection - - - - &reftitle.description; - - public boolarrayMongoCollection::remove - arraycriteriaarray() - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - criteria - - - - Query criteria for the documents to delete. - - - - - - options - - - - An array of options for the remove operation. Currently available options - include: - - &mongo.writes.parameters.writeconcern; - - - "justOne" - - - Specify &true; to limit deletion to just one document. If &false; or - omitted, all documents matching the criteria will be deleted. - - - &mongo.writes.parameters.fsync; - &mongo.writes.parameters.journal; - &mongo.writes.parameters.sockettimeoutms; - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the removal if the - "w" option is set. Otherwise, returns &true;. - - - Fields in the status array are described in the documentation for - MongoCollection::insert. - - - - - &reftitle.errors; - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Added "wTimeoutMS" option, which replaces - "wtimeout". Emits E_DEPRECATED - when "wtimeout" is used. - - - Added "socketTimeoutMS" option, which replaces - "timeout". Emits E_DEPRECATED - when "timeout" is used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.3.4 - Added "wtimeout" option. - - - PECL mongo 1.3.0 - - Added "w" option. - - The options parameter no longer accepts a - boolean to signify "justOne". Instead, this now has - to be done with array('justOne' => true). - - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when - options is scalar. - - - - PECL mongo 1.2.0 - Added "timeout" option. - - - PECL mongo 1.0.11 - - Disconnects on "not master" errors if "safe" is set. - - - - PECL mongo 1.0.9 - - - Added ability to pass integers to the "safe" option, - which previously only accepted booleans. - - - Added "fsync" option. - - - The return type was changed to be an array containing error information - if the "safe" option is used. Otherwise, a boolean - is returned as before. - - - - - PECL mongo 1.0.5 - - Changed second parameter to be an array of options. Pre-1.0.5, the - second parameter was a boolean indicating the "safe" - option. - - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::remove</function> with justOne example - -radioactive; - -// count how much more plutonium there is -$remaining = $radioactive->count(array('type' => 94)); - -$halflife = $remaining/2; - -// remove half of it -while ($halflife > 0) { - $radioactive->remove(array('type' => 94), array("justOne" => true)); - $halflife--; -} - -?> -]]> - - - - - - &reftitle.seealso; - - MongoCollection::insert - MongoCollection::update - MongoDB core docs on remove. - - - - - diff --git a/reference/mongo/mongocollection/save.xml b/reference/mongo/mongocollection/save.xml deleted file mode 100644 index ff90de74b5..0000000000 --- a/reference/mongo/mongocollection/save.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - MongoCollection::save - Saves a document to this collection - - - - &reftitle.description; - - public mixedMongoCollection::save - arrayobjectdocument - arrayoptionsarray() - - - If the object is from the database, update the existing database object, otherwise - insert this object. - - - - - &reftitle.parameters; - - - - - document - - - - Array or object to save. If an object is used, it may not have protected - or private properties. - - - - If the parameter does not have an _id key or - property, a new MongoId instance will be created - and assigned to it. See MongoCollection::insert for - additional information on this behavior. - - - - - - - options - - - - Options for the save. - - &mongo.writes.parameters.fsync; - &mongo.writes.parameters.journal; - &mongo.writes.parameters.sockettimeoutms; - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeout; - &mongo.writes.parameters.writeconcerntimeoutms; - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - - - - - - - - - - &reftitle.returnvalues; - - If w was set, returns an array containing the status of the save. - Otherwise, returns a boolean representing if the array was not empty (an empty array will not - be inserted). - - - - - &reftitle.errors; - - Throws MongoException if the inserted document is - empty or if it contains zero-length keys. Attempting to insert an object with - protected and private properties will cause a zero-length key error. - - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Added "wTimeoutMS" option, which replaces - "wtimeout". Emits E_DEPRECATED - when "wtimeout" is used. - - - Added "socketTimeoutMS" option, which replaces - "timeout". Emits E_DEPRECATED - when "timeout" is used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.2.0 - Added "timeout" option. - - - PECL mongo 1.0.11 - - Disconnects on "not master" errors if "safe" is set. - - - - PECL mongo 1.0.9 - - - Added "fsync" option. - - - - - PECL mongo 1.0.5 - Added options parameter. - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::save</function> example - - 1); - -// insert $obj into the db -$collection->save($obj); -var_dump($obj); - -// add another field -$obj['foo'] = 'bar'; - -// $obj cannot be inserted again, causes duplicate _id error -$collection->insert($obj); - -// save updates $obj with the new field -$collection->save($obj); - -?> -]]> - - &example.outputs.similar; - - - int(1) - ["_id"]=> - object(MongoId)#4 (1) { - ["$id"]=> - string(24) "50b6afe544415ed606000000" - } -} -]]> - - - - - - diff --git a/reference/mongo/mongocollection/setreadpreference.xml b/reference/mongo/mongocollection/setreadpreference.xml deleted file mode 100644 index 3c8786865a..0000000000 --- a/reference/mongo/mongocollection/setreadpreference.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - MongoCollection::setReadPreference - Set the read preference for this collection - - - - &reftitle.description; - - public boolMongoCollection::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - &mongo.setreadpreference.returnvalues; - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.examples; - - <methodname>MongoCollection::setReadPreference</methodname> tag set array syntax example - -test->users; - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$c->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), -)); -?> -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCollection::getReadPreference - - - - - - diff --git a/reference/mongo/mongocollection/setslaveokay.xml b/reference/mongo/mongocollection/setslaveokay.xml deleted file mode 100644 index 0ff9b3e0f4..0000000000 --- a/reference/mongo/mongocollection/setslaveokay.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - MongoCollection::setSlaveOkay - Change slaveOkay setting for this collection - - - - &reftitle.description; - - public boolMongoCollection::setSlaveOkay - boolok&true; - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - - - - - ok - - - - If reads should be sent to secondary members of a replica set for all - possible queries using this MongoCollection - instance. - - - - - - - - - &reftitle.returnvalues; - - Returns the former value of slaveOkay for this instance. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoCollection::setReadPreference - - - - - diff --git a/reference/mongo/mongocollection/setwriteconcern.xml b/reference/mongo/mongocollection/setwriteconcern.xml deleted file mode 100644 index b34470aff3..0000000000 --- a/reference/mongo/mongocollection/setwriteconcern.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoCollection::setWriteConcern - Set the write concern for this database - - - - &reftitle.description; - - public boolMongoCollection::setWriteConcern - mixedw - intwtimeout - - - - - &reftitle.parameters; - &mongo.setwriteconcern.parameters; - - - - &reftitle.returnvalues; - &mongo.setwriteconcern.returnvalues; - - - - &reftitle.errors; - &mongo.setwriteconcern.errors; - - - - &reftitle.examples; - - <methodname>MongoDB::setWriteConcern</methodname> example - -selectCollection('test', 'foo'); - -// Require that the majority of servers in the replica set acknowledge writes -// within three seconds. -$coll->setWriteConcern('majority', 3000); -?> -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoCollection::getWriteConcern - - - - - - diff --git a/reference/mongo/mongocollection/toindexstring.xml b/reference/mongo/mongocollection/toindexstring.xml deleted file mode 100644 index 0c6ec1eea8..0000000000 --- a/reference/mongo/mongocollection/toindexstring.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - MongoCollection::toIndexString - Converts keys specifying an index to its identifying string - - - - &reftitle.description; - - static protected stringMongoCollection::toIndexString - mixedkeys - - - - This method is deprecated since version 1.5.0. - - - - - - &reftitle.parameters; - - - - - keys - - - - Field or fields to convert to the identifying string - - - - - - - - - &reftitle.returnvalues; - - Returns a string that describes the index. - - - - - &reftitle.examples; - - <function>MongoCollection::toIndexString</function> example - This example shows how you can create an index name out of keys. - Because this is a protected (static) method, you need to overload it in a - child class first. - - 1, 'age' => -1)), "\n"; -// Outputs: name_1_age_-1 -?> -]]> - - - - - - &reftitle.seealso; - - MongoDB core docs on indexes. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - This method has been deprecated. - - - - - - - - - - diff --git a/reference/mongo/mongocollection/tostring.xml b/reference/mongo/mongocollection/tostring.xml deleted file mode 100644 index 56872128e5..0000000000 --- a/reference/mongo/mongocollection/tostring.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoCollection::__toString - String representation of this collection - - - &reftitle.description; - - public stringMongoCollection::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the full name of this collection. - - - - &reftitle.examples; - - - <function>MongoCollection::__toString</function> example - -foo->bar->baz; -echo "Working with collection $c1."; - -$c2 = $m->selectCollection('[]', '&'); -echo "Working with collection $c2."; - -?> -]]> - - &example.outputs.similar; - - - - - - - - diff --git a/reference/mongo/mongocollection/update.xml b/reference/mongo/mongocollection/update.xml deleted file mode 100644 index 19c468acd8..0000000000 --- a/reference/mongo/mongocollection/update.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - MongoCollection::update - Update records based on a given criteria - - - - &reftitle.description; - - public boolarrayMongoCollection::update - arraycriteria - arraynew_object - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - criteria - - - - Query criteria for the documents to update. - - - - - - new_object - - - - The object used to update the matched documents. This may either contain - update operators (for modifying specific fields) or be a replacement - document. - - - - - - options - - - - An array of options for the update operation. Currently available options - include: - - - - "upsert" - - - If no document matches $criteria, a new - document will be inserted. - - - If a new document would be inserted and - $new_object contains atomic modifiers - (i.e. $ operators), those operations will be - applied to the $criteria parameter to create - the new document. If $new_object does not - contain atomic modifiers, it will be used as-is for the inserted - document. See the upsert examples below for more information. - - - - - "multiple" - - - All documents matching $criteria will be updated. - MongoCollection::update has exactly the opposite - behavior of MongoCollection::remove: it updates - one document by default, not all matching documents. It is - recommended that you always specify whether you want to update - multiple documents or a single document, as the database - may change its default behavior at some point in the future. - - - &mongo.writes.parameters.fsync; - &mongo.writes.parameters.journal; - &mongo.writes.parameters.sockettimeoutms; - &mongo.writes.parameters.writeconcern; - &mongo.writes.parameters.writeconcerntimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.safe; - &mongo.writes.parameters.timeout; - &mongo.writes.parameters.writeconcerntimeout; - - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the update if the - "w" option is set. Otherwise, returns &true;. - - - Fields in the status array are described in the documentation for - MongoCollection::insert. - - - - - &reftitle.errors; - &mongo.errors.exceptions.writeconcern; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Added the "wTimeoutMS" option, which replaces - "wtimeout". Emits E_DEPRECATED - when "wtimeout" is used. - - - Added the "socketTimeoutMS" option, which replaces - "timeout". Emits E_DEPRECATED - when "timeout" is used. - - - Emits E_DEPRECATED when "safe" - is used. - - - - - PECL mongo 1.3.4 - Added "wtimeout" option. - - - PECL mongo 1.3.0 - - Added "w" option. - - The options parameter no longer accepts a boolean - to signify an upsert. Instead, this now has to be done with - array('upsert' => true). - - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when - options is scalar. - - - - PECL mongo 1.2.0 - Added "timeout" option. - - - PECL mongo 1.0.11 - - Disconnects on "not master" errors if "safe" is set. - - - - PECL mongo 1.0.9 - - - Added ability to pass integers to the "safe" option, - which previously only accepted booleans. - - - Added "fsync" option. - - - The return type was changed to be an array containing error information - if the "safe" option is used. Otherwise, a boolean - is returned as before. - - - - - PECL mongo 1.0.5 - Added "safe" option. - - - PECL mongo 1.0.1 - - Changed options parameter from boolean to array. - Pre-1.0.1, the second parameter was an optional boolean value specifying - an upsert. - - - - - - - - - - &reftitle.examples; - - <function>MongoCollection::update</function> - - Adding an address field to a document. - - -insert(array("firstname" => "Bob", "lastname" => "Jones" )); -$newdata = array('$set' => array("address" => "1 Smith Lane")); -$c->update(array("firstname" => "Bob"), $newdata); - -var_dump($c->findOne(array("firstname" => "Bob"))); - -?> -]]> - - &example.outputs.similar; - - - object(MongoId)#6 (0) { - } - ["firstname"]=> - string(3) "Bob" - ["lastname"]=> - string(5) "Jones" - ["address"]=> - string(12) "1 Smith Lane" -} -]]> - - - - <function>MongoCollection::update</function> upsert examples - - Upserts can simplify code, as a single line can create the document if it - does not exist (based on $criteria), or update an - existing document if it matches. - - - In the following example, $new_object contains an - atomic modifier. Since the collection is empty and upsert must insert a new - document, it will apply those operations to the - $criteria parameter in order to create the document. - - -drop(); -$c->update( - array("uri" => "/summer_pics"), - array('$inc' => array("page hits" => 1)), - array("upsert" => true) -); -var_dump($c->findOne()); - -?> -]]> - - &example.outputs.similar; - - - object(MongoId)#9 (0) { - } - ["uri"]=> - string(12) "/summer_pics" - ["page hits"]=> - int(1) -} -]]> - - - If $new_object does not contain atomic modifiers - (i.e. $ operators), upsert will use - $new_object as-is for the new document. This matches - the behavior of a normal update, where not using atomic modifiers causes the - document to be overwritten. - - -drop(); -$c->update( - array("name" => "joe"), - array("username" => "joe312", "createdAt" => new MongoDate()), - array("upsert" => true) -); -var_dump($c->findOne()); - -?> -]]> - - &example.outputs.similar; - - - object(MongoId)#10 (0) { - } - ["username"]=> - string(6) "joe312" - ["createdAt"]=> - object(MongoDate)#4 (0) { - } -} -]]> - - - - <function>MongoCollection::update</function> multiple example - - By default, MongoCollection::update will only update - the first document matching $criteria that it - finds. Using the "multiple" option can override this behavior, if needed. - - - This example adds a "gift" field to every person whose birthday is in the - next day. - - - new MongoDate(), '$lt' => new MongoDate(strtotime("+1 day"))); -$people->update( - array("birthday" => $today), - array('$set' => array('gift' => $surprise)), - array("multiple" => true) -); - -?> -]]> - - - - - - &reftitle.seealso; - - The PHP documentation on updates and the - MongoDB core docs. - - - - - diff --git a/reference/mongo/mongocollection/validate.xml b/reference/mongo/mongocollection/validate.xml deleted file mode 100644 index 36c88ce5b7..0000000000 --- a/reference/mongo/mongocollection/validate.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - MongoCollection::validate - Validates this collection - - - - &reftitle.description; - - public arrayMongoCollection::validate - boolscan_data&false; - - - - - &reftitle.parameters; - - - - - scan_data - - - - Only validate indices, not the base collection. - - - - - - - - - &reftitle.returnvalues; - - Returns the database's evaluation of this object. - - - - diff --git a/reference/mongo/mongocommandcursor.xml b/reference/mongo/mongocommandcursor.xml deleted file mode 100644 index 000209c873..0000000000 --- a/reference/mongo/mongocommandcursor.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - The MongoCommandCursor class - MongoCommandCursor - - - - -
- &reftitle.intro; - - A command cursor is similar to a MongoCursor except - that you use it for iterating through the results of a database command - instead of a normal query. Command cursors are useful for iterating over - large result sets that might exceed the document size limit (currently 16MB) - of a single MongoDB::command response. - - - While you can create command cursors using - MongoCommandCursor::__construct or the - MongoCommandCursor::createFromDocument factory method, - you will generally want to use command-specific helpers such as - MongoCollection::aggregateCursor. - - - Note that the cursor does not "contain" the database command's results; it - just manages iteration through them. Thus, if you print a cursor (f.e. with - var_dump or print_r), you will see - the cursor object but not the result documents. - -
- -
- Cursor Stages - - A MongoCommandCursor has two "life stages": pre- - and post- command. When a cursor is created, it has not yet contacted the - database, so it is in its pre-command state. When the client first attempts - to get a result (by calling MongoCommandCursor::rewind, - directly or indirectly), the cursor moves into the post-command state. - - - The command cursor's batch size and socket timeout may be configured in both - the pre- and post- command states. - - - - Adding options to <classname>MongoCommandCursor</classname> - -batchSize( 4 ); - -foreach ($cursor as $result) { - var_dump($result); -} -?> -]]> - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoCommandCursor - - - - - MongoCommandCursor - - - MongoCursorInterface - - - Iterator - - - - - &Methods; - - - - -
- -
- &reftitle.seealso; - - MongoDB::command - MongoCollection::aggregateCursor - -
- -
- - &reference.mongo.entities.mongocommandcursor; - -
- - diff --git a/reference/mongo/mongocommandcursor/batchsize.xml b/reference/mongo/mongocommandcursor/batchsize.xml deleted file mode 100644 index ef8f6b7dfd..0000000000 --- a/reference/mongo/mongocommandcursor/batchsize.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - MongoCommandCursor::batchSize - Limits the number of elements returned in one batch - - - - &reftitle.description; - - public MongoCommandCursorMongoCommandCursor::batchSize - intbatchSize - - - A cursor typically fetches a batch of result objects and store them - locally. This method sets the batchSize value to configure the amount of - documents retrieved from the server in one round trip. - - - - - &reftitle.parameters; - - - - - batchSize - - - - The number of results to return per batch. Each batch requires a - round-trip to the server. - - - This cannot override MongoDB's limit on the amount of data it will return to - the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still - only return 4-16MB of results per batch). - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.examples; - - <function>MongoCommandCursor::batchSize</function> - -batchSize(20); -?> -]]> - - - - - - &reftitle.seealso; - - MongoCursorInterface::batchSize - - - - diff --git a/reference/mongo/mongocommandcursor/construct.xml b/reference/mongo/mongocommandcursor/construct.xml deleted file mode 100644 index 77ffca28ce..0000000000 --- a/reference/mongo/mongocommandcursor/construct.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - MongoCommandCursor::__construct - Create a new command cursor - - - - &reftitle.description; - - public MongoCommandCursor::__construct - MongoClientconnection - stringns - arraycommandarray() - - - Generally, you should not have to construct a - MongoCommandCursor manually, as there are helper - functions such as MongoCollection::aggregateCursor - and MongoCollection::parallelCollectionScan; - however, if the server introduces new commands that can return cursors, this - constructor will be useful in the absence of specific helper methods. You may - also consider using - MongoCommandCursor::createFromDocument. - - - - - &reftitle.parameters; - - - - - connection - - - - Database connection. - - - - - - ns - - - - Full name of the database and collection (e.g. - "test.foo") - - - - - - command - - - - Database command. - - - - - - - - - &reftitle.returnvalues; - - Returns the new cursor. - - - - - &reftitle.examples; - - <classname>MongoCommandCursor</classname> example - - [ - '_id' => '$country_code', - 'timezones' => [ '$addToSet' => '$timezone' ] - ] ], - [ '$sort' => [ '_id' => 1 ] ], -]; - -// Construct a MongoCommandCursor object -$cursor = new MongoCommandCursor( - $m, // MongoClient object - 'demo.cities', // namespace - [ - 'aggregate' => 'cities', - 'pipeline' => $pipeline, - 'cursor' => [ 'batchSize' => 0 ], - ] -); - -foreach($cursor as $result) { - … -} -?> -]]> - - - - - - &reftitle.seealso; - - MongoCommandCursor::createFromDocument - MongoCollection::aggregateCursor - MongoCollection::parallelCollectionScan - - - - - diff --git a/reference/mongo/mongocommandcursor/createfromdocument.xml b/reference/mongo/mongocommandcursor/createfromdocument.xml deleted file mode 100644 index bbcf2fdb33..0000000000 --- a/reference/mongo/mongocommandcursor/createfromdocument.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - MongoCommandCursor::createFromDocument - Create a new command cursor from an existing command response document - - - - &reftitle.description; - - public static MongoCommandCursorMongoCommandCursor::createFromDocument - MongoClientconnection - stringhash - arraydocument - - - Use this method if you have a raw command result with cursor information in - it. Note that cursors created with this method cannot be iterated multiple - times, as they will lack the original command necessary for re-execution. - - - - - &reftitle.parameters; - - - - - connection - - - - Database connection. - - - - - - hash - - - - The connection hash, as obtained through the third by-reference argument - to MongoDB::command. - - - - - - document - - - - Document with cursor information in it. This document needs to contain - the id, ns and - firstBatch fields. Such a document is obtained by - calling the MongoDB::command with appropriate - arguments to return a cursor, and not just an inline result. See the - example below. - - - - - - - - - &reftitle.returnvalues; - - Returns the new cursor. - - - - - &reftitle.examples; - - <function>MongoCommandCursor::createFromDocument</function> - -demo; - -// Define the aggregation pipeline -$pipeline = [ - [ '$group' => [ - '_id' => '$country_code', - 'timezones' => [ '$addToSet' => '$timezone' ] - ] ], - [ '$sort' => [ '_id' => 1 ] ], -]; - -// Execute the command. The "cursor" option instructs the server to return -// cursor information in the response instead of inline results. -$r = $d->command( - [ - 'aggregate' => 'cities', - 'pipeline' => $pipeline, - 'cursor' => [ 'batchSize' => 1 ], - ], - null, - $hash -); - -// Show result and hash -var_dump( $r, $hash ); - -// Construct the command cursor -$cursor = MongoCommandCursor::createFromDocument( $m, $hash, $r ); -?> -]]> - - &example.outputs.similar; - - - array(3) { - ["id"]=> - object(MongoInt64)#5 (1) { - ["value"]=> - string(12) "392143983421" - } - ["ns"]=> - string(11) "demo.cities" - ["firstBatch"]=> - array(1) { - [0]=> - array(2) { - ["_id"]=> - string(2) "AD" - ["timezones"]=> - array(1) { - [0]=> - string(14) "Europe/Andorra" - } - } - } - } - ["ok"]=> - float(1) -} -string(25) "localhost:27017;-;.;17617" -]]> - - - As you can see, the returned cursor information has the - id, ns and - firstBatch fields. - - - - - - &reftitle.seealso; - - MongoCommandCursor::__construct - - - - - diff --git a/reference/mongo/mongocommandcursor/current.xml b/reference/mongo/mongocommandcursor/current.xml deleted file mode 100644 index 47a6d66e9c..0000000000 --- a/reference/mongo/mongocommandcursor/current.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - MongoCommandCursor::current - Returns the current element - - - - &reftitle.description; - - public arrayMongoCommandCursor::current - - - - This returns &null; until MongoCommandCursor::rewind is called. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current result document as an associative array. &null; will be returned - if there is no result. - - - - - &reftitle.seealso; - - Iterator::current - - - - diff --git a/reference/mongo/mongocommandcursor/dead.xml b/reference/mongo/mongocommandcursor/dead.xml deleted file mode 100644 index 59dbe73cd0..0000000000 --- a/reference/mongo/mongocommandcursor/dead.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - MongoCommandCursor::dead - Checks if there are results that have not yet been sent from the database - - - - &reftitle.description; - - public boolMongoCommandCursor::dead - - - - This method checks whether the MongoCommandCursor - cursor has been exhausted and the database has no more results to send to the - client. A cursor being "dead" does not necessarily mean that there are no - more results available for iteration. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if there are more results that have not yet been sent to the - client, and &false; otherwise. - - - - - &reftitle.seealso; - - MongoCursorInterface::dead - - - - diff --git a/reference/mongo/mongocommandcursor/getreadpreference.xml b/reference/mongo/mongocommandcursor/getreadpreference.xml deleted file mode 100644 index 478a3eb3c1..0000000000 --- a/reference/mongo/mongocommandcursor/getreadpreference.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - MongoCommandCursor::getReadPreference - Get the read preference for this command - - - - &reftitle.description; - - public arrayMongoCommandCursor::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.examples; - - <methodname>MongoCommandCursor::getReadPreference</methodname> return value example - - 'myReplSetName')); -$collection = $m->selectCollection('test', 'people'); - -// If a MongoCommandCursor is constructed directly, it will inherit the read -// preference of the MongoClient instance passed to its constructor; however, -// MongoCollection::aggregateCursor() will have the MongoCommandCursor inherit -// the collection's read preference. -$collection->setReadPreference(MongoClient::RP_SECONDARY); - -$cursor = $collection->aggregateCursor( [ - [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ], - [ '$sort' => [ 'points' => -1 ] ], -] ); - -var_dump($cursor->getReadPreference()); - -?> -]]> - - &example.outputs; - - - string(9) "secondary" -} -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCommandCursor::setReadPreference - MongoCursorInterface::getReadPreference - - - - - diff --git a/reference/mongo/mongocommandcursor/info.xml b/reference/mongo/mongocommandcursor/info.xml deleted file mode 100644 index 7d562d7b36..0000000000 --- a/reference/mongo/mongocommandcursor/info.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - MongoCommandCursor::info - Gets information about the cursor's creation and iteration - - - - &reftitle.description; - - public arrayMongoCommandCursor::info - - - - This can be called before or after the cursor has started iterating. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the namespace, batch size, limit, skip, flags, query, and projected - fields for this cursor. If the cursor has started iterating, additional - information about iteration and the connection will be included. - - - - - &reftitle.examples; - - <function>MongoCommandCursor::info</function> example - - 'cities', - 'pipeline' => [ [ '$match' => [ '_id' => [ '$exists' => true ] ] ] ], - 'cursor' => [ 'batchSize' => 1 ], - ] -); - -echo "Before iteration started:\n"; -var_dump($cursor->info()); - -echo "\nAfter iteration started:\n"; -$cursor->rewind(); -var_dump($cursor->info()); - -?> -]]> - - &example.outputs.similar; - - - string(11) "demo.cities" - ["limit"]=> - int(0) - ["batchSize"]=> - int(0) - ["skip"]=> - int(0) - ["flags"]=> - int(0) - ["query"]=> - array(3) { - ["aggregate"]=> - string(6) "cities" - ["pipeline"]=> - array(1) { - [0]=> - array(1) { - ["$match"]=> - array(1) { - ["_id"]=> - array(1) { - ["$exists"]=> - bool(true) - } - } - } - } - ["cursor"]=> - array(1) { - ["batchSize"]=> - int(1) - } - } - ["fields"]=> - NULL - ["started_iterating"]=> - bool(false) -} - -After iteration started: -array(17) { - ["ns"]=> - string(11) "demo.cities" - ["limit"]=> - int(0) - ["batchSize"]=> - int(0) - ["skip"]=> - int(0) - ["flags"]=> - int(0) - ["query"]=> - array(3) { - ["aggregate"]=> - string(6) "cities" - ["pipeline"]=> - array(1) { - [0]=> - array(1) { - ["$match"]=> - array(1) { - ["_id"]=> - array(1) { - ["$exists"]=> - bool(true) - } - } - } - } - ["cursor"]=> - array(1) { - ["batchSize"]=> - int(1) - } - } - ["fields"]=> - NULL - ["started_iterating"]=> - bool(true) - ["id"]=> - int(185840310129) - ["at"]=> - int(0) - ["numReturned"]=> - int(0) - ["server"]=> - string(25) "localhost:27017;-;.;23991" - ["host"]=> - string(9) "localhost" - ["port"]=> - int(27017) - ["connection_type_desc"]=> - string(10) "STANDALONE" - ["firstBatchAt"]=> - int(0) - ["firstBatchNumReturned"]=> - int(1) -} -]]> - - - - - - &reftitle.seealso; - - MongoCursorInterface::info - - - - diff --git a/reference/mongo/mongocommandcursor/key.xml b/reference/mongo/mongocommandcursor/key.xml deleted file mode 100644 index 79df013cce..0000000000 --- a/reference/mongo/mongocommandcursor/key.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - MongoCommandCursor::key - Returns the current result's index within the result set - - - - &reftitle.description; - - public intMongoCommandCursor::key - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current result's index within the result set. - - - - - &reftitle.seealso; - - Iterator::key - - - - diff --git a/reference/mongo/mongocommandcursor/next.xml b/reference/mongo/mongocommandcursor/next.xml deleted file mode 100644 index cd94fad9c4..0000000000 --- a/reference/mongo/mongocommandcursor/next.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - MongoCommandCursor::next - Advances the cursor to the next result - - - - &reftitle.description; - - public voidMongoCommandCursor::next - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &null;. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database and MongoCursorTimeoutException if the - timeout is exceeded. - - - - - &reftitle.seealso; - - Iterator::next - - - - diff --git a/reference/mongo/mongocommandcursor/rewind.xml b/reference/mongo/mongocommandcursor/rewind.xml deleted file mode 100644 index b50aab8fd4..0000000000 --- a/reference/mongo/mongocommandcursor/rewind.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - MongoCommandCursor::rewind - Executes the command and resets the cursor to the start of the result set - - - - &reftitle.description; - - public arrayMongoCommandCursor::rewind - - - - If the cursor has already started iteration, the command will be re-executed. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The raw server result document. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database and MongoCursorTimeoutException if the - timeout is exceeded. - - - Throws MongoCursorException if the cursor was created - with MongoCommandCursor::createFromDocument and has - already started iteration. Such cursors cannot be iterated multiple times, as - they lack the original command necessary for re-execution. - - - - - &reftitle.examples; - - <function>MongoCommandCursor::rewind</function> - -rewind(); - -// Command cursor is now reset to the start of the result set - -var_dump($rawResult); -?> -]]> - - &example.outputs.similar; - - - array(3) { - ["id"]=> - object(MongoInt64)#5 (1) { - ["value"]=> - string(12) "310050110216" - } - ["ns"]=> - string(9) "demo.test" - ["firstBatch"]=> - array(1) { - [0]=> - array(2) { - ["_id"]=> - object(MongoId)#6 (1) { - ["$id"]=> - string(24) "52f5691544670a8077b0dc51" - } - ["value"]=> - string(2) "42" - } - } - } - ["ok"]=> - float(1) -} -]]> - - - - - - &reftitle.seealso; - - Iterator::rewind - - - - diff --git a/reference/mongo/mongocommandcursor/setreadpreference.xml b/reference/mongo/mongocommandcursor/setreadpreference.xml deleted file mode 100644 index e22b77c999..0000000000 --- a/reference/mongo/mongocommandcursor/setreadpreference.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - MongoCommandCursor::setReadPreference - Set the read preference for this command - - - - &reftitle.description; - - public MongoCommandCursorMongoCommandCursor::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.examples; - - <methodname>MongoCommandCursor::setReadPreference</methodname> tag set array syntax example - - - 'myReplSetName')); -$collection = $m->selectCollection('test', 'people'); - -$cursor = $collection->aggregateCursor( [ - [ '$group' => [ '_id' => '$name', 'points' => [ '$sum' => '$points' ] ] ], - [ '$sort' => [ 'points' => -1 ] ], -] ); - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$cursor->setReadPreference(MongoClient::RP_NEAREST, [ - [ 'dc' => 'east', 'use' => 'reporting' ], - [ 'dc' => 'west' ], -] ); - -foreach ($cursor as $person) { - // ... -} - -// If the read preference is changed, it will be used the next time the cursor -// is rewound and the command is re-executed. -$cursor->setReadPreference(MongoClient::RP_PRIMARY); - -foreach ($cursor as $person) { - // ... -} - -?> -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCommandCursor::getReadPreference - MongoCursorInterface::setReadPreference - - - - - diff --git a/reference/mongo/mongocommandcursor/timeout.xml b/reference/mongo/mongocommandcursor/timeout.xml deleted file mode 100644 index 02568dab57..0000000000 --- a/reference/mongo/mongocommandcursor/timeout.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - MongoCommandCursor::timeout - Sets a client-side timeout for this command - - - - &reftitle.description; - - public MongoCommandCursorMongoCommandCursor::timeout - intms - - - A timeout can be set at any time and will affect subsequent data retrieval - associated with this cursor, including fetching more results from the - database. - - - - - &reftitle.parameters; - - - - ms - - - - The number of milliseconds for the cursor to wait for a response. Use - -1 to wait forever. By default, the cursor will wait - 30000 milliseconds (30 seconds). - - - - - - - - &reftitle.returnvalues; - - This cursor. - - - - - &reftitle.errors; - - Causes methods that fetch results to throw a - MongoCursorTimeoutException if the data fetch takes - longer than the specified number of milliseconds. - - - - - &reftitle.examples; - - <function>MongoCommandCursor::timeout</function> example - - In the following example, the driver will wait for 60 seconds for the - first response from the aggregate command. It will also wait for 60 - seconds each time the server needs to be polled for more information. - - -database->collection; - -$pipeline = [ … ]; - -$cursor = $col->aggregateCursor( $pipeline ); -$cursor->timeout( 60000 ); // for 60 seconds - -foreach ( $cursor as $result ) { - … -} - -?> -]]> - - - - - - &reftitle.notes; - - - This does not cause the MongoDB server to cancel long-running operations; - it only instructs the driver to stop waiting for a response and throw a - MongoCursorTimeoutException after a set time. - If you need to specify a server-side timeout for a command, considering - passing the maxTimeMS option to - MongoCollection::aggregateCursor. - - - - - - &reftitle.seealso; - - MongoCollection::aggregateCursor - MongoCursorInterface::timeout - The socketTimeoutMS option for MongoClient::__construct - - - - - diff --git a/reference/mongo/mongocommandcursor/valid.xml b/reference/mongo/mongocommandcursor/valid.xml deleted file mode 100644 index 53b4ed8e81..0000000000 --- a/reference/mongo/mongocommandcursor/valid.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - MongoCommandCursor::valid - Checks if the cursor is reading a valid result - - - - &reftitle.description; - - public boolMongoCommandCursor::valid - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &true; if the current result is not null, and &false; otherwise. - - - - - &reftitle.seealso; - - Iterator::valid - - - - diff --git a/reference/mongo/mongoconnectionexception.xml b/reference/mongo/mongoconnectionexception.xml deleted file mode 100644 index 5129d82aae..0000000000 --- a/reference/mongo/mongoconnectionexception.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - The MongoConnectionException class - MongoConnectionException - - - - -
- &reftitle.intro; - - Thrown when the driver fails to connect to the database. - - - - There are a number of possible error messages to help you diagnose the - connection problem. These are: - - - - - - No candidate servers found - - - Thrown when the driver cannot establish a connection to MongoDB - (fulfilling the ReadPreferences, if specified). - - - - - - No server name given. - - - This error occurs if you pass in "" as the server name, - probably because of an typo with string interpolation, - e.g., "$servr" instead of "$server". - - - - - - failed to get host [hostname] or port [portnum] - from [server]. - - - - This indicated that the server string was malformed. - "[hostname]" and "[portnum]" will be as much as the - driver could dicipher of it. - - - - - Operation in progress - - - Connecting to the database timed out. - - - - - Transport endpoint is not connected - - - Generally means that the connection string isn't correct, the driver - couldn't even find the database server. - - - - - couldn't determine master - - - No server in a replica set connection was identified as the primary. - - - - - couldn't get host info for [server] - - - This indicated that DNS could not resolve the server address - you gave. This could easily be caused by a typo, for example, - "server" instead of "$server". - - - - - Invalid Argument - - - This can be caused by attempting to connect to a machine that is up but - that the database isn't actually running on. Make sure that you've - started the database server before connecting. - - - - - Permission denied - - - This means that the socket could not be opened due to permissions issues. - On Red Hat variants, this can be caused by a default setting that does not - allow Apache to create network connections. You can override this setting - by running: - - - - then restarting Apache. - - - - - - If the error message is not listed above, it is probably an error - from the C socket, and you can search the web for its usual cause. - -
- - -
- &reftitle.classsynopsis; - - - - MongoConnectionException - - - - - MongoConnectionException - - - extends - MongoException - - - - - - - -
- -
- -
- - diff --git a/reference/mongo/mongocursor.xml b/reference/mongo/mongocursor.xml deleted file mode 100644 index 84dff81ef4..0000000000 --- a/reference/mongo/mongocursor.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - The MongoCursor class - MongoCursor - - - - -
- &reftitle.intro; - - A cursor is used to iterate through the results of a database query. For - example, to query the database and see all results, you could do: - - <classname>MongoCursor</classname> basic usage - -find(); -var_dump(iterator_to_array($cursor)); - -?> -]]> - - - - - You don't generally create cursors using the - MongoCursor constructor, you get a new cursor by - calling MongoCollection::find (as shown above). - - - Suppose that, in the example above, $collection was a - 50GB collection. We certainly wouldn't want to load that into memory all - at once, which is what a cursor is for: allowing the client to access the - collection in dribs and drabs. - - - If we have a large result set, we can iterate through it, loading a few - megabytes of results into memory at a time. For example, we could do: - - Iterating over <classname>MongoCursor</classname> - -find(); - -foreach ($cursor as $doc) { - // do something to each document -} - -?> -]]> - - - This will go through each document in the collection, loading and garbage - collecting documents as needed. - - - Note that this means that a cursor does not "contain" the database results, - it just manages them. Thus, if you print a cursor (with, say, - var_dump or print_r), you'll just - get the cursor object, not your documents. To get the documents themselves, - you can use one of the methods shown above. - -
- -
- Cursor Stages - - A MongoCursor has two "life stages": pre- and post- - query. When a cursor is created, it has not yet contacted the database, so - it is in its pre-query state. In this state, the client can further specify - what they want the query to do, including adding limits, skips, sorts, and - more advanced options. - - - When the client attempts to get a result (by calling - MongoCursor::next, directly or indirectly), the cursor - moves into the post-query stage. At this point, the query has been executed - by the database and cannot be modified anymore. - - - - Adding options to <classname>MongoCursor</classname> - -find()->limit(10); - -// database has not yet been queried, so more search options can be added -$cursor = $cursor->sort(array("a" => 1)); - -var_dump($cursor->getNext()); -// now database has been queried and more options cannot be added - -// so this will throw an exception: -$cursor->skip(4); -?> -]]> - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoCursor - - - - - MongoCursor - - - MongoCursorInterface - - - Iterator - - - - - Static Fields - - static - bool - slaveOkay - &false; - - - static - int - timeout - 30000 - - - &Methods; - - - - -
- -
- Static Variables - - - - slaveOkay - - - If the query should have the "slaveOkay" flag set, which allows reads on - the secondary (secondaries are, by default, just for backup and not - queried). Can be overridden with MongoCursor::slaveOkay. - - - This functionality is deprecated. Please use - instead. - - - - - timeout - - - Set timeout in milliseconds for all database responses. Use - -1 to wait forever. Can be overridden with - MongoCursor::timeout. This does not cause the - MongoDB server to cancel the operation; it only instructs the driver to - stop waiting for a response and throw a - MongoCursorTimeoutException after a set time. - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on cursors. - -
- -
- - &reference.mongo.entities.mongocursor; - -
- - diff --git a/reference/mongo/mongocursor/addoption.xml b/reference/mongo/mongocursor/addoption.xml deleted file mode 100644 index 8ddd3a32a0..0000000000 --- a/reference/mongo/mongocursor/addoption.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - MongoCursor::addOption - Adds a top-level key/value pair to a query - - - - &reftitle.description; - - public MongoCursorMongoCursor::addOption - stringkey - mixedvalue - - - This is an advanced function and should not be used unless you know what - you're doing. - - - A query can optionally be nested in a "query" field if other options, such as - a sort or hint, are given. For instance, adding a sort causes the query - to become a subfield of a bigger query object, like: - - $query, "orderby" => $sort); - -?> -]]> - - - - This method is for adding a top-level field to a query. It makes the query a - subobject (if it isn't already) and adds the key/value pair of your chosing - to the top level. - - - - It cannot be used to add extra criteria to a query on the fly. For instance, - this will not work: - -find()->addOption("name", "joe")->addOption("age", 20); - -?> -]]> - - This does not query for a user named "joe" with an age of 20. - - - - - - &reftitle.parameters; - - - - - key - - - - Fieldname to add. - - - - - - value - - - - Value to add. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.examples; - - Adding a comment with <function>MongoCursor::addOption</function> example - - MongoDB supports special options to be send to the server. The shell uses - the _addSpecial option to send a - $comment to the server. This comment will show up in - the profiling log (for slow queries f.e.). In the PHP driver, you use the - MongoCursor::addOption method. - - -demo->demo; -$cursor = $c->find(); -$cursor->addOption('$comment', "This comment will show up in the profiling log"); - -foreach ($cursor as $document) { /* empty */ } -?> -]]> - - &example.outputs.similar; - - - - - - - <function>MongoCursor::addOption</function> example - - Using MongoCursor::skip to skip over millions of - results can become slow. One way around this is to use - $min or $max options for the query. - These can be handy, but they require an index on exactly the fields being - searched for. This is an example of how to use $min as - an alternative to MongoCursor::skip. - - -ensureIndex(array("ts" => 1)); - -// you may have to modify this to run in a reasonable amount of time on slow -// machines (should take about 30 seconds on a good machine) -for ($i = 0; $i < 30000000; $i++) { - $c->insert(array("ts" => new MongoDate(), "i" => $i)); -} - -$now = strtotime("now"); - -// find documents inserted in the last 2 seconds -$cursor = $c->find()->addOption('$min', array("ts" => $now-2)); - -?> -]]> - - - - - diff --git a/reference/mongo/mongocursor/awaitdata.xml b/reference/mongo/mongocursor/awaitdata.xml deleted file mode 100644 index 4da87f908c..0000000000 --- a/reference/mongo/mongocursor/awaitdata.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - MongoCursor::awaitData - Sets whether this cursor will wait for a while for a tailable cursor to return more data - - - - &reftitle.description; - - public MongoCursorMongoCursor::awaitData - boolwait&true; - - - This method is to be used with tailable cursors. If we are at the end of - the data, block for a while rather than returning no data. After a timeout - period, we do return as normal. - - - - - &reftitle.parameters; - - - - - wait - - - - If the cursor should wait for more data to become available. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.examples; - - <function>MongoCursor::awaitData</function> example - - In this example we tail the "oplog" and instead of sleeping during every - iteration, we set the MongoCursor::awaitData option. - MongoCursor::hasNext will now block until there is - more data available. - - - 'seta' ) ); -$c = $m->local->selectCollection( 'oplog.rs' ); -$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) ); -$cursor->tailable( true ); -$cursor->awaitData( true ); - -while (true) { - if (!$cursor->hasNext()) { - // we've read all the results, exit - if ($cursor->dead()) { - break; - } - } else { - var_dump( $cursor->getNext() ); - } -} -?> -]]> - - - - - - &reftitle.seealso; - - MongoDB core docs on tailable cursors. - - - - MongoCursor::tailable - - - - - diff --git a/reference/mongo/mongocursor/batchsize.xml b/reference/mongo/mongocursor/batchsize.xml deleted file mode 100644 index b76f72275b..0000000000 --- a/reference/mongo/mongocursor/batchsize.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - MongoCursor::batchSize - Limits the number of elements returned in one batch - - - - &reftitle.description; - - public MongoCursorMongoCursor::batchSize - intbatchSize - - - A cursor typically fetches a batch of result objects and store them - locally. This method sets the batchSize value to configure the amount of - documents retrieved from the server in one round trip. However, it will - never return more documents than fit in the max batch size limit (usually - 4MB). - - - - - &reftitle.parameters; - - - - - batchSize - - - - The number of results to return per batch. Each batch requires a - round-trip to the server. - - - If batchSize is 2 or - more, it represents the size of each batch of objects retrieved. - It can be adjusted to optimize performance and limit data transfer. - - - If batchSize is 1 or negative, it - will limit of number returned documents to the absolute value of batchSize, - and the cursor will be closed. For example if - batchSize is -10, then the server will return a maximum - of 10 documents and as many as can fit in 4MB, then close the cursor. - - - - A batchSize of 1 is special, and - means the same as -1, i.e. a value of - 1 makes the cursor only capable of returning - one document. - - - - Note that this feature is different from - MongoCursor::limit in that documents must fit within a - maximum size, and it removes the need to send a request to close the cursor - server-side. The batch size can be changed even after a cursor is iterated, - in which case the setting will apply on the next batch retrieval. - - - This cannot override MongoDB's limit on the amount of data it will return to - the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still - only return 4-16MB of results per batch). - - - To ensure consistent behavior, the rules of - MongoCursor::batchSize and - MongoCursor::limit behave a - little complex but work "as expected". The rules are: hard limits override - soft limits with preference given to MongoCursor::limit - over MongoCursor::batchSize. After that, whichever is - set and lower than the other will take precedence. See below. - section for some examples. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.examples; - - <function>MongoCursor::batchSize</function> and combinations with - <function>MongoCursor::limit</function> - -limit(20)->batchSize(-10); - -// first batch: at most 10 items -$cursor->limit(10); - -// first batch: at most 10 items -$cursor->limit(10)->batchSize(20); - -// results are fetched in batches of 10 each, with a maximum of 20 items -// returned (that means two batches of 10). -$cursor->limit(20)->batchSize(10); - -// results are fetched in batches of 7 each, with a maximum of 30 items -// returned (that means that the driver requests 4 batches of 7, and one batch -// of 2). -$cursor->limit(30)->batchSize(7) -?> -]]> - - - - - - &reftitle.seealso; - - MongoDB core docs on batchSize. - - - - MongoCursor::limit - MongoCursorInterface::batchSize - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.4.5 - - - Before 1.4.5, this method would throw an - MongoCursorException if the cursor had already - started iterating. - - - - - - - - - - - diff --git a/reference/mongo/mongocursor/construct.xml b/reference/mongo/mongocursor/construct.xml deleted file mode 100644 index 824b78dd83..0000000000 --- a/reference/mongo/mongocursor/construct.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - MongoCursor::__construct - Create a new cursor - - - - &reftitle.description; - - public MongoCursor::__construct - MongoClientconnection - stringns - arrayqueryarray() - arrayfieldsarray() - - - - - &reftitle.parameters; - - - - - connection - - - - Database connection. - - - - - - ns - - - - Full name of database and collection. - - - - - - query - - - - Database query. - - - - - - fields - - - - Fields to return. - - - - - - - - - &reftitle.returnvalues; - - Returns the new cursor. - - - - - diff --git a/reference/mongo/mongocursor/count.xml b/reference/mongo/mongocursor/count.xml deleted file mode 100644 index ba7ab30d89..0000000000 --- a/reference/mongo/mongocursor/count.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - MongoCursor::count - Counts the number of results for this query - - - - &reftitle.description; - - public intMongoCursor::count - boolfoundOnly&false; - - - This method does not affect the state of the cursor: if you haven't queried - yet, you can still apply limits, skips, etc. If you have started iterating - through results, it will not move the current position of the cursor. If you - have exhausted the cursor, it will not reset it. - - - - - &reftitle.parameters; - - - - foundOnly - - - - Send cursor limit and skip information to the count function, if applicable. - - - - - - - - &reftitle.returnvalues; - - The number of documents returned by this cursor's query. - - - - - &reftitle.examples; - - <function>MongoCursor::count</function> example - -insert(array('x'=>1)); -$collection->insert(array('x'=>2)); -$collection->insert(array('x'=>3)); - -$cursor = $collection->find(); - -var_dump($cursor->count()); -var_dump($cursor->count(true)); - -$cursor->limit(2); - -var_dump($cursor->count()); -var_dump($cursor->count(true)); - -?> -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database. - - - - diff --git a/reference/mongo/mongocursor/current.xml b/reference/mongo/mongocursor/current.xml deleted file mode 100644 index 940f29d574..0000000000 --- a/reference/mongo/mongocursor/current.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - MongoCursor::current - Returns the current element - - - - &reftitle.description; - - public arrayMongoCursor::current - - - - This returns &null; until MongoCursor::next is called. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current result document as an associative array. &null; will be returned - if there is no result. - - - - - &reftitle.seealso; - - Iterator::current - - - - diff --git a/reference/mongo/mongocursor/dead.xml b/reference/mongo/mongocursor/dead.xml deleted file mode 100644 index 3889fabd13..0000000000 --- a/reference/mongo/mongocursor/dead.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - MongoCursor::dead - Checks if there are results that have not yet been sent from the database - - - - &reftitle.description; - - public boolMongoCursor::dead - - - - The database sends responses in batches of documents, up to 4MB of documents - per response. This method checks if the database has more batches or if the - result set has been exhausted. - - - A cursor being "dead" does not mean that - MongoCursor::hasNext will return &false;, it only means - that the database is done sending results to the client. The client should - continue iterating through results until - MongoCursor::hasNext is &false;. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if there are more results that have not yet been sent to the - client, and &false; otherwise. - - - - - &reftitle.seealso; - - MongoCursorInterface::dead - - - - diff --git a/reference/mongo/mongocursor/doquery.xml b/reference/mongo/mongocursor/doquery.xml deleted file mode 100644 index c00789adb2..0000000000 --- a/reference/mongo/mongocursor/doquery.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - MongoCursor::doQuery - Execute the query - - - - &reftitle.description; - - protected voidMongoCursor::doQuery - - - - - Please do not use me. - - - - This function actually queries the database. All queries and commands go - through this function. Thus, this function can be overridden to provide - custom query handling. - - - This handles serializing your query, sending it to the database, receiving a - response, and deserializing it. Thus, if you are planning to override this, - your code should probably call out to the original to use the existing - functionality (see the example below). - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &null;. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.examples; - - - <function>MongoCursor::doQuery</function> example - - You could override this function to attempt a query on a secondary and, if - that fails, try it again on the primary. - - -slaveOkay(); - - try { - MongoCursor::doQuery(); - } - catch(MongoCursorException $e) { - $this->slaveOkay(false); - MongoCursor::doQuery(); - } - } -} - -?> -]]> - - - - - - diff --git a/reference/mongo/mongocursor/explain.xml b/reference/mongo/mongocursor/explain.xml deleted file mode 100644 index 253bf10f17..0000000000 --- a/reference/mongo/mongocursor/explain.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - MongoCursor::explain - Return an explanation of the query, often useful for optimization and debugging - - - - &reftitle.description; - - public arrayMongoCursor::explain - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an explanation of the query. - - - - &reftitle.examples; - - <function>MongoCursor::explain</function> example - -find(array("x"=>1), array("y")); -$cursor->sort(array("z" => 1))->limit(4)->skip(5); - -var_dump($cursor->explain()); - -?> -]]> - - &example.outputs.similar; - - - string(15) "BtreeCursor x_1" - ["startKey"]=> - array(1) { - ["x"]=> - int(1) - } - ["endKey"]=> - array(1) { - ["x"]=> - int(1) - } - ["nscanned"]=> - float(4) - ["n"]=> - int(4) - ["scanAndOrder"]=> - int(1) - ["millis"]=> - int(3) - ["allPlans"]=> - array(2) { - [0]=> - array(3) { - ["cursor"]=> - string(15) "BtreeCursor x_1" - ["startKey"]=> - array(1) { - ["x"]=> - int(1) - } - ["endKey"]=> - array(1) { - ["x"]=> - int(1) - } - } - [1]=> - array(3) { - ["cursor"]=> - string(11) "BasicCursor" - ["startKey"]=> - array(0) { - } - ["endKey"]=> - array(0) { - } - } - } -} -]]> - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database. - - - - - &reftitle.seealso; - - MongoDB core docs on explain. - - - - - diff --git a/reference/mongo/mongocursor/fields.xml b/reference/mongo/mongocursor/fields.xml deleted file mode 100644 index 77e0034c6b..0000000000 --- a/reference/mongo/mongocursor/fields.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - MongoCursor::fields - Sets the fields for a query - - - - &reftitle.description; - - public MongoCursorMongoCursor::fields - arrayf - - - Fields are specified by "fieldname" : bool. &true; - indicates that a field should be returned, &false; indicates that it should - not be returned. You can also use 1 and 0 instead of &true; and &false;. - - - Thus, to return only the "summary" field, one could say: - - -fields(array("summary" => true)); - -?> -]]> - - - To return all fields except the "hidden" field: - - -fields(array("hidden" => false)); - -?> -]]> - - - - - &reftitle.parameters; - - - - - f - - - - Fields to return (or not return). - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started - iterating or a scalar argument is given. - - - - diff --git a/reference/mongo/mongocursor/getnext.xml b/reference/mongo/mongocursor/getnext.xml deleted file mode 100644 index ba470bd0ec..0000000000 --- a/reference/mongo/mongocursor/getnext.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - MongoCursor::getNext - Advances the cursor to the next result, and returns that result - - - - &reftitle.description; - - public arrayMongoCursor::getNext - - - - - - MongoCursor::getNext is an alias of MongoCursor::next. - - - - - diff --git a/reference/mongo/mongocursor/getreadpreference.xml b/reference/mongo/mongocursor/getreadpreference.xml deleted file mode 100644 index 2373dca64d..0000000000 --- a/reference/mongo/mongocursor/getreadpreference.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - MongoCursor::getReadPreference - Get the read preference for this query - - - - &reftitle.description; - - public arrayMongoCursor::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.examples; - - <methodname>MongoCursor::getReadPreference</methodname> return value example - -test->users->find(); -$cursor->setReadPreference(MongoClient::RP_SECONDARY, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), - array(), -)); -var_dump($cursor->getReadPreference()); -?> -]]> - - &example.outputs; - - - string(9) "secondary" - ["tagsets"]=> - array(3) { - [0]=> - array(2) { - ["dc"]=> - string(4) "east" - ["use"]=> - string(9) "reporting" - } - [1]=> - array(1) { - ["dc"]=> - string(7) "west" - } - [2]=> - array(0) { - } - } -} -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCursor::setReadPreference - MongoCursorInterface::getReadPreference - - - - - - diff --git a/reference/mongo/mongocursor/hasnext.xml b/reference/mongo/mongocursor/hasnext.xml deleted file mode 100644 index 7194f454b9..0000000000 --- a/reference/mongo/mongocursor/hasnext.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - MongoCursor::hasNext - Checks if there are any more elements in this cursor - - - - &reftitle.description; - - public boolMongoCursor::hasNext - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns if there is another element. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach - the database and MongoCursorTimeoutException if the - timeout is exceeded. - - - - diff --git a/reference/mongo/mongocursor/hint.xml b/reference/mongo/mongocursor/hint.xml deleted file mode 100644 index 6081f6322b..0000000000 --- a/reference/mongo/mongocursor/hint.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - MongoCursor::hint - Gives the database a hint about the query - - - - &reftitle.description; - - public MongoCursorMongoCursor::hint - mixedindex - - - - - &reftitle.parameters; - - - - - index - - - - Index to use for the query. If a string is passed, it should correspond - to an index name. If an array or object is passed, it should correspond - to the specification used to create the index (i.e. the first argument - to MongoCollection::ensureIndex). - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.4.0 - - - The index argument now supports index names as - string values. In versions before 1.4.0, only array or object values - were accepted. - - - - - - - - - - diff --git a/reference/mongo/mongocursor/immortal.xml b/reference/mongo/mongocursor/immortal.xml deleted file mode 100644 index c3773fc1f1..0000000000 --- a/reference/mongo/mongocursor/immortal.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - MongoCursor::immortal - Sets whether this cursor will timeout - - - - &reftitle.description; - - public MongoCursorMongoCursor::immortal - boolliveForever&true; - - - After remaining idle on the server for some amount of time, cursors, by - default, "die." This is generally the behavior one wants. The database - cleans up a cursor once all of its results have been sent to the client, - but if the client doesn't request all of the results, the cursor will - languish there, taking up resources. Thus, after a few minutes, the cursor - "times out" and the database assumes the client has gotten everything it - needs and cleans up its the cursor's resources. - - - If, for some reason, you need a cursor to hang around for a long time, you - can prevent the database from cleaning it up by using this method. - However, if you make a cursor immortal, you need to iterate through all of - its results (or at least until MongoCursor::dead - returns &true;) or the cursor will hang around the database - forever, taking up resources. - - - - - &reftitle.parameters; - - - - - liveForever - - - - If the cursor should be immortal. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - diff --git a/reference/mongo/mongocursor/info.xml b/reference/mongo/mongocursor/info.xml deleted file mode 100644 index d9b427ed58..0000000000 --- a/reference/mongo/mongocursor/info.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - MongoCursor::info - Gets information about the cursor's creation and iteration - - - - &reftitle.description; - - public arrayMongoCursor::info - - - - This can be called before or after the cursor has started iterating. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the namespace, batch size, limit, skip, flags, query, and projected - fields for this cursor. If the cursor has started iterating, additional - information about iteration and the connection will be included. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.1.0 - - Added a number of other fields, including id (the - cursor id), at (the driver's counter of which - document is current), numReturned (the number - returned by the server in the current batch), and - server (which server the query was sent - to—useful in conjunction with - . - - - - PECL mongo 1.0.10 - - Added started_iterating field, a boolean indicating - if cursor is pre- or post-query. - - - - - - - - - - &reftitle.examples; - - <function>MongoCursor::info</function> example - -test->foo->find(array("x" => 4), array("y" => 0)); - -echo "Before iteration started:\n"; -var_dump($cursor->info()); - -echo "\nAfter iteration started:\n"; -$cursor->rewind(); -var_dump($cursor->info()); - -?> -]]> - - &example.outputs.similar; - - - string(8) "test.foo" - ["limit"]=> - int(0) - ["batchSize"]=> - int(0) - ["skip"]=> - int(0) - ["flags"]=> - int(0) - ["query"]=> - array(1) { - ["x"]=> - int(4) - } - ["fields"]=> - array(1) { - ["y"]=> - int(0) - } - ["started_iterating"]=> - bool(false) -} - -After iteration started: -array(15) { - ["ns"]=> - string(8) "test.foo" - ["limit"]=> - int(0) - ["batchSize"]=> - int(0) - ["skip"]=> - int(0) - ["flags"]=> - int(0) - ["query"]=> - array(1) { - ["x"]=> - int(4) - } - ["fields"]=> - array(1) { - ["y"]=> - int(0) - } - ["started_iterating"]=> - bool(true) - ["id"]=> - int(0) - ["at"]=> - int(0) - ["numReturned"]=> - int(1) - ["server"]=> - string(25) "localhost:27017;-;.;26450" - ["host"]=> - string(9) "localhost" - ["port"]=> - int(27017) - ["connection_type_desc"]=> - string(10) "STANDALONE" -} -]]> - - - - - - &reftitle.seealso; - - MongoCursorInterface::info - - - - diff --git a/reference/mongo/mongocursor/key.xml b/reference/mongo/mongocursor/key.xml deleted file mode 100644 index 952af7c4c0..0000000000 --- a/reference/mongo/mongocursor/key.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - MongoCursor::key - Returns the current result's _id, or its index within the result set - - - - &reftitle.description; - - public stringintMongoCursor::key - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current result's _id as a string. If the result - has no _id, its numeric index within the result set will - be returned as an integer. - - - - - &reftitle.seealso; - - Iterator::key - - - - diff --git a/reference/mongo/mongocursor/limit.xml b/reference/mongo/mongocursor/limit.xml deleted file mode 100644 index ac52c8a97b..0000000000 --- a/reference/mongo/mongocursor/limit.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - MongoCursor::limit - Limits the number of results returned - - - - &reftitle.description; - - public MongoCursorMongoCursor::limit - intnum - - - - - &reftitle.parameters; - - - - - num - - - - The number of results to return. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.seealso; - - - MongoDB core docs on limit. - MongoCursor::batchSize - MongoCursor::skip - - - - - diff --git a/reference/mongo/mongocursor/maxtimems.xml b/reference/mongo/mongocursor/maxtimems.xml deleted file mode 100644 index 91b9b99dca..0000000000 --- a/reference/mongo/mongocursor/maxtimems.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - MongoCursor::maxTimeMS - Sets a server-side timeout for this query - - - - &reftitle.description; - - public MongoCursorMongoCursor::maxTimeMS - intms - - - Specifies a cumulative time limit in milliseconds to be allowed by the server - for processing operations on the cursor. - - - - - &reftitle.parameters; - - - - ms - - - - Specifies a cumulative time limit in milliseconds to be allowed by the - server for processing operations on the cursor. - - - - - - - - &reftitle.returnvalues; - - This cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started - iterating. - - - Causes methods that fetch results to throw a - MongoExecutionTimeoutException if the query takes - longer than the specified number of milliseconds in processing time. - - - - - &reftitle.examples; - - <methodname>MongoCursor::maxTimeMS</methodname> example - - In the following example, the server will abort the query if the cursor - requires more than two seconds in processing time to return its results. - - -find(); -$cursor->maxTimeMS(2000); - -try { - $results = iterator_to_array($cursor); -} catch (MongoExecutionTimeoutException $e) { - echo "query took too long!"; -} - -?> -]]> - - - - - - &reftitle.notes; - - - Unlike MongoCursor::timeout, which specifies a - client-side timeout, MongoCursor::maxTimeMS can be - used to cause the MongoDB server to abort long-running queries. This - timeout is cumulative for the lifetime of the cursor (i.e. each batch will - contribute to this time limit). The timeout only considers processing time; - idle time is not considered. - - - - - - diff --git a/reference/mongo/mongocursor/next.xml b/reference/mongo/mongocursor/next.xml deleted file mode 100644 index 8b9fb049e1..0000000000 --- a/reference/mongo/mongocursor/next.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - MongoCursor::next - Advances the cursor to the next result, and returns that result - - - - &reftitle.description; - - public arrayMongoCursor::next - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the next document. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database and MongoCursorTimeoutException if the - timeout is exceeded. - - - - - &reftitle.seealso; - - Iterator::next - - - - diff --git a/reference/mongo/mongocursor/partial.xml b/reference/mongo/mongocursor/partial.xml deleted file mode 100644 index 7d78e7496d..0000000000 --- a/reference/mongo/mongocursor/partial.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - MongoCursor::partial - If this query should fetch partial results from mongos if a shard is down - - - - &reftitle.description; - - public MongoCursorMongoCursor::partial - boolokay&true; - - - This option allows mongos to send partial query results - if a shard is unreachable. This is only applicable when running a sharded - MongoDB cluster and connecting to a mongos. - - - If a shard goes down and a query needs to be sent to that shard, - mongos will return the results (if any) from shards it - already contacted, then an error message that it could not reach the shard - (a MongoCursorException in PHP). If you would like to - get whatever results mongos can provide and no - exception, you can use this method. Note that this means that you won't have - an indication that a shard is down in your query response. - - - This has no effect on the query if all shards are reachable. This flag was - implemented in MongoDB version 1.7.5, so will only work with that version and - higher. - - - - - &reftitle.parameters; - - - - - okay - - - - If receiving partial results is okay. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - diff --git a/reference/mongo/mongocursor/reset.xml b/reference/mongo/mongocursor/reset.xml deleted file mode 100644 index 21bb9d1fd9..0000000000 --- a/reference/mongo/mongocursor/reset.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - MongoCursor::reset - Clears the cursor - - - - &reftitle.description; - - public voidMongoCursor::reset - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &null;. - - - - diff --git a/reference/mongo/mongocursor/rewind.xml b/reference/mongo/mongocursor/rewind.xml deleted file mode 100644 index 3cc6e56aea..0000000000 --- a/reference/mongo/mongocursor/rewind.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - MongoCursor::rewind - Returns the cursor to the beginning of the result set - - - - &reftitle.description; - - public voidMongoCursor::rewind - - - - This is identical to the function: - - -reset(); - $this->next(); -} - -?> -]]> - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &null;. - - - - - &reftitle.errors; - - Throws MongoConnectionException if it cannot reach the - database and MongoCursorTimeoutException if the - timeout is exceeded. - - - - - &reftitle.seealso; - - Iterator::rewind - - - - diff --git a/reference/mongo/mongocursor/setflag.xml b/reference/mongo/mongocursor/setflag.xml deleted file mode 100644 index 7592e1b461..0000000000 --- a/reference/mongo/mongocursor/setflag.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - MongoCursor::setFlag - Sets arbitrary flags in case there is no method available the specific flag - - - - &reftitle.description; - - public MongoCursorMongoCursor::setFlag - intflag - boolset&true; - - - The MongoCursor class has several methods for - setting flags on the query object. This method is available in case the - MongoDB wire protocol has acquired a new flag, and the driver has not been - updated with a method for this new flag. In all other cases, the method - should be used. See the "See also" section for available methods. - - - - - &reftitle.parameters; - - - - - flag - - - - Which flag to set. You can not set flag 6 (EXHAUST) as the driver does - not know how to handle them. You will get a warning if you try to use - this flag. For available flags, please refer to the wire protocol - documentation. - - - - - - set - - - - Whether the flag should be set (&true;) or unset (&false;). - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Shows a warning when an unsupport flag is attempted to be set. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.4.0 - - Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 - would throw a warning saying that the flag is unsupported. - - - - - - - - - - &reftitle.examples; - - <function>MongoCursor::setFlag</function> example - - 'seta' ) ); -$c = $m->local->selectCollection( 'oplog.rs' ); -$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) ); -$cursor->setFlag( 1, true ); // sets the tailable flag -$cursor->setFlag( 5, true ); // sets the await data flag -?> -]]> - - - - - - &reftitle.seealso; - - - MongoCursor::tailable - MongoCursor::immortal - MongoCursor::awaitData - MongoCursor::partial - MongoDB core docs onwire protocol query flags - - - - - diff --git a/reference/mongo/mongocursor/setreadpreference.xml b/reference/mongo/mongocursor/setreadpreference.xml deleted file mode 100644 index ca5928b2e9..0000000000 --- a/reference/mongo/mongocursor/setreadpreference.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - MongoCursor::setReadPreference - Set the read preference for this query - - - - &reftitle.description; - - public MongoCursorMongoCursor::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.examples; - - <methodname>MongoCursor::setReadPreference</methodname> tag set array syntax example - - -test->users->find(); - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$cursor->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), -)); -?> -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCursor::getReadPreference - MongoCursorInterface::setReadPreference - - - - - - diff --git a/reference/mongo/mongocursor/skip.xml b/reference/mongo/mongocursor/skip.xml deleted file mode 100644 index c5d007f6d7..0000000000 --- a/reference/mongo/mongocursor/skip.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - MongoCursor::skip - Skips a number of results - - - - &reftitle.description; - - public MongoCursorMongoCursor::skip - intnum - - - - - &reftitle.parameters; - - - - - num - - - - The number of results to skip. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.seealso; - - - MongoCursor::limit - - - - - - diff --git a/reference/mongo/mongocursor/slaveokay.xml b/reference/mongo/mongocursor/slaveokay.xml deleted file mode 100644 index fc83f237a1..0000000000 --- a/reference/mongo/mongocursor/slaveokay.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - MongoCursor::slaveOkay - Sets whether this query can be done on a secondary [deprecated] - - - - &reftitle.description; - - public MongoCursorMongoCursor::slaveOkay - boolokay&true; - - - - This method is deprecated since version 1.5.0. Instead, please use - MongoCursor::setReadPreference and . - - - - Calling this will make the driver route reads to secondaries if: - - - - You are using a replica set, and - - - - - You created a MongoClient instance using the option - "replicaSet" => "setName", and - - - - - There is a healthy secondary that can be reached by the driver. - - - - You can check which server was used for this query by calling - MongoCursor::info after running the query. It's - server field will show which server the query was sent to. - - - Note that you should use this function even if you do not use the automatic - routing to secondaries. If you connect directly to a secondary in a replica - set, you still need to call this function, which basically tells the database - that you are aware that you might be getting older data and you're okay with - that. If you do not call this, you'll get "not master" errors when you try to - query. - - - This method will override the static class variable - MongoCursor::$slaveOkay. It will also override - Mongo::setSlaveOkay, - MongoDB::setSlaveOkay and - MongoCollection::setSlaveOkay. - - - - - &reftitle.parameters; - - - - - okay - - - - If it is okay to query the secondary. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.examples; - - <function>MongoCursor::slaveOkay</function> example - -find(); - -// can query secondary -$cursor = $collection->find()->slaveOkay(); - -MongoCursor::$slaveOkay = true; - -// can query secondary -$cursor = $collection->find(); - -// cannot query secondary -$cursor = $collection->find()->slaveOkay(false); - -?> -]]> - - - - - - &reftitle.seealso; - - - MongoCursor::setReadPreference - MongoCursor::getReadPreference - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - This method has been deprecated in favour of - MongoCursor::setReadPreference and . - - - - - - - - - - diff --git a/reference/mongo/mongocursor/snapshot.xml b/reference/mongo/mongocursor/snapshot.xml deleted file mode 100644 index bb9854307e..0000000000 --- a/reference/mongo/mongocursor/snapshot.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoCursor::snapshot - Use snapshot mode for the query - - - - &reftitle.description; - - public MongoCursorMongoCursor::snapshot - - - - Use snapshot mode for the query. Snapshot mode ensures that a document will - not be returned more than once because an intervening write operation results - in a move of the document. Documents inserted or deleted during the lifetime - of the cursor may or may not be returned, irrespective of snapshot mode. - - - Queries with short responses (less than 1MB) are always effectively - snapshotted. - - - Snapshot mode may not be used with sorting, explicit hints, or queries on - sharded collections. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.seealso; - - MongoDB core docs on $snapshot operator. - - - - diff --git a/reference/mongo/mongocursor/sort.xml b/reference/mongo/mongocursor/sort.xml deleted file mode 100644 index fda21fb335..0000000000 --- a/reference/mongo/mongocursor/sort.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - MongoCursor::sort - Sorts the results by given fields - - - - &reftitle.description; - - public MongoCursorMongoCursor::sort - arrayfields - - - - - &reftitle.parameters; - - - - - fields - - - - An array of fields by which to sort. Each element in the array has as - key the field name, and as value either 1 for - ascending sort, or -1 for descending sort. - - - Each result is first sorted on the first field in the array, then (if - it exists) on the second field in the array, etc. This means that the - order of the fields in the fields array is - important. See also the examples section. - - - - - - - - - &reftitle.returnvalues; - - Returns the same cursor that this method was called on. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.examples; - - <function>MongoCursor::sort</function> example - -sort(array('x' => 1)); - -// The order in the associative array is important. For instance, these two -// examples will yield different results: - -// Sort on date ascending and age descending -$cursor->sort(array('date' => 1, 'age' => -1)); - -// Sort on age descending and date ascending -$cursor->sort(array('age' => -1, 'date' => 1)); -?> -]]> - - - - - - diff --git a/reference/mongo/mongocursor/tailable.xml b/reference/mongo/mongocursor/tailable.xml deleted file mode 100644 index 5ece23827d..0000000000 --- a/reference/mongo/mongocursor/tailable.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - MongoCursor::tailable - Sets whether this cursor will be left open after fetching the last results - - - - &reftitle.description; - - public MongoCursorMongoCursor::tailable - booltail&true; - - - Mongo has a feature known as tailable cursors which are similar to the Unix - "tail -f" command. - - - Tailable means cursor is not closed when the last data is retrieved. Rather, - the cursor marks the final object's position. you can resume using the - cursor later, from where it was located, if more data were received. - - - Like any "latent cursor", the cursor may become invalid at some point -- for - example if that final object it references were deleted. Thus, you should be - prepared to requery if the cursor is MongoCursor::dead. - - - - - &reftitle.parameters; - - - - - tail - - - - If the cursor should be tailable. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Throws MongoCursorException if this cursor has started iterating. - - - - - &reftitle.examples; - - <function>MongoCursor::tailable</function> example - -find()->tailable(); - -$results = array(); - -while (1) { - if (!$cursor->hasNext()) { - // we've read all the results, exit - if ($cursor->dead()) { - break; - } - // read all results so far, wait for more - sleep(10); - } - else { - $results[] = $cursor->getNext(); - } -} - -?> -]]> - - - - - - &reftitle.seealso; - - MongoDB core docs on tailable cursors. - - - - MongoCursor::awaitData - - - - - diff --git a/reference/mongo/mongocursor/timeout.xml b/reference/mongo/mongocursor/timeout.xml deleted file mode 100644 index 4e8128f807..0000000000 --- a/reference/mongo/mongocursor/timeout.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - MongoCursor::timeout - Sets a client-side timeout for this query - - - - &reftitle.description; - - public MongoCursorMongoCursor::timeout - intms - - - A timeout can be set at any time and will affect subsequent queries on the - cursor, including fetching more results from the database. - - - - - &reftitle.parameters; - - - - ms - - - - The number of milliseconds for the cursor to wait for a response. Use - -1 to wait forever. By default, the cursor will wait - 30000 milliseconds (30 seconds). - - - - - - - - &reftitle.returnvalues; - - This cursor. - - - - - &reftitle.errors; - - Causes methods that fetch results to throw a - MongoCursorTimeoutException if the query takes longer - than the specified number of milliseconds. - - - - - &reftitle.examples; - - <function>MongoCursor::timeout</function> example - - In the following example, the driver will wait forever for the initial - database response, and then wait 100ms for subsequent responses. - - -find(); -$cursor->timeout(-1); - -/* $cursor->hasNext() executes the query. An infinite timeout has been set, so - * the driver will wait as long as necessary for a response. - */ -while ($cursor->hasNext()) { - $cursor->timeout(100); - - /* A timeout has now been set, so if the cursor needs to get more results - * from the database, it will only wait 100ms for a response. - */ - try { - print_r($cursor->getNext()); - } catch (MongoCursorTimeoutException $e) { - echo "query took too long!"; - } -} - -?> -]]> - - - - - - &reftitle.notes; - - - This does not cause the MongoDB server to cancel long-running operations; - it only instructs the driver to stop waiting for a response and throw a - MongoCursorTimeoutException after a set time. - If you need to specify a server-side timeout for a query, consider using - MongoCursor::maxTimeMS. - - - - - - &reftitle.seealso; - - MongoCursorInterface::timeout - The socketTimeoutMS option for MongoClient::__construct - - - - - diff --git a/reference/mongo/mongocursor/valid.xml b/reference/mongo/mongocursor/valid.xml deleted file mode 100644 index 0c492172e7..0000000000 --- a/reference/mongo/mongocursor/valid.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - MongoCursor::valid - Checks if the cursor is reading a valid result - - - - &reftitle.description; - - public boolMongoCursor::valid - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &true; if the current result is not null, and &false; otherwise. - - - - - &reftitle.seealso; - - Iterator::valid - - - - diff --git a/reference/mongo/mongocursorexception.xml b/reference/mongo/mongocursorexception.xml deleted file mode 100644 index 51b14acc80..0000000000 --- a/reference/mongo/mongocursorexception.xml +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - The MongoCursorException class - MongoCursorException - - - - -
- &reftitle.intro; - - Caused by accessing a cursor incorrectly or a error receiving a reply. Note - that this can be thrown by any database request that receives a reply, not - just queries. Writes, commands, and any other operation that sends - information to the database and waits for a response can throw a - MongoCursorException. The only exception is - new MongoClient() (creating a new connection), which will - only throw MongoConnectionExceptions. - - - - This returns a specific error message to help diagnose the problem and a - numeric error code associated with the cause of the exception. - - - - For example, suppose you tried to insert two documents with the same _id: - -insert(array("_id" => 1), array("w" => 1)); - $collection->insert(array("_id" => 1), array("w" => 1)); -} -catch (MongoCursorException $e) { - echo "error message: ".$e->getMessage()."\n"; - echo "error code: ".$e->getCode()."\n"; -} - -?> -]]> - - This would produce output like: - - - - Note that the MongoDB error code (11000) is used for the PHP error code. The - PHP driver uses the "native" error code wherever possible. - - - - The following is a list of common errors, codes, and causes. Exact errors - are in italics, errors where the message can vary are described in obliques. - - - - - - cannot modify cursor after beginning iteration - - - Code: 0 - - - You are calling a method that sets up the query after executing the query. - Reset the cursor and try again. - - - An example: - -find(); - var_dump($cursor->getNext()); - - // getNext() queried the database, it's too late to set a limit - $cursor->limit(1); -} -catch (MongoCursorException $e) { - echo "error message: ".$e->getMessage()."\n"; - echo "error code: ".$e->getCode()."\n"; -} - -// this will work, though: -$cursor->getNext(); -$cursor->reset(); -$cursor->limit(1); - -?> -]]> - - - - - - - Get next batch send errors - - - Code: 1 - - - Could not send the query to the database. Make sure the database is - still up and the network is okay. - - - - - - cursor not found - - - Code: 2 - - - The driver was trying to fetch more results from the database, but the - database did not have a record of the query. This usually means that the - cursor timed out on the server side: after a few minutes of inactivity, - the database will kill a cursor (see - MongoCursor::immortal for information on preventing - this). - - - An example: - -find(); - $cursor->getNext(); - - // sleep for 15 minutes - sleep(60*15); - - while ($cursor->hasNext()) { - $cursor->getNext(); - } -} -catch (MongoCursorException $e) { - echo "error message: ".$e->getMessage()."\n"; - echo "error code: ".$e->getCode()."\n"; -} - -?> -]]> - - - - - - - cursor->buf.pos is null - - - Code: 3 - - - This may indicate you are out of RAM or some other extraordinary - circumstance. - - - - - - couldn't get response header - - - Code: 4 - - - A common error if the database or network goes down. This means that the - driver couldn't get a response from the connection. - - - - - - no db response - - - Code: 5 - - - This may not even be an error, for example, the database command - "shutdown" returns no response. However, if you were expecting a - response, this means the database didn't give one. - - - - - - bad response length: %d, did the db assert? - - - Code: 6 - - - This means that the database said that its response was less than 0. This - error probably indicates a network error or database corruption. - - - - - - incomplete header - - - Code: 7 - - - Highly unusual. Occurs if the database response started out correctly, - but broke off in the middle. Probably indicates a network problem. - - - - - - incomplete response - - - Code: 8 - - - Highly unusual. Occurs if the database response started out correctly, - but broke off in the middle. Probably indicates a network problem. - - - - - - couldn't find a response - - - Code: 9 - - - If the response was cached and now cannot be located. - - - - - - error getting socket - - - Code: 10 - - - The socket was closed or encountered an error. The driver should - automatically reconnect (if possible) on the next operation. - - - - - - couldn't find reply, please try again - - - Code: 11 - - - The driver saves any database responses it cannot immediately match with a - request. This exception occurs if the driver has already passed your - request's response and cannot find your response in its cache. - - - - - - error getting database response: errstr - - - WSA error getting database response: errstr - - - "errstr" is an io error reported directly from the C socket - subsystem. On Windows, the error message is prefixed with "WSA". - - - - - - Timeout error - - - Code: 13 - - - If there was an error while waiting for a query to complete. - - - - - - couldn't send query: <various> - - - Code: 14 - - - C socket error on send. - - - - - - max number of retries exhausted, couldn't send query - - - Code: 19 - - - The driver will automatically retry "plain" queries (not commands) a - couple of times if the first attempt failed for certain reasons. This is - to cause fewer exceptions during replica set failover (although you will - probably still have to deal with some) and gloss over transient network - issues. - - - This can also be caused by the driver not being able to reconnect at all - to the database (if, for example, the database is unreachable). - - - Version 1.2.2+. - - - -
- - -
- Errors passed through by the database - - Database errors should always trigger - MongoCursorExceptions on queries. - Error messages and codes are sent directly from the database and you should - be able to see matching errors in the database log. - - - - A few common database errors are listed below: - - - - - - E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ } - - - Code: 11000 - - - Database error for duplicate keys. - - - - - - not master - - - Codes: 10107, 13435, and 10058 - - - Not master errors, piped through by the database. ach of these will - cause the driver to disconnect and attempt to find a new primary. The - actual error you get on failover may not be a "not master" error, - depending on when the change in primary occurs. - - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoCursorException - - - - - MongoCursorException - - - extends - MongoException - - - - - - - -
- -
- - &reference.mongo.entities.mongocursorexception; - -
- - diff --git a/reference/mongo/mongocursorexception/gethost.xml b/reference/mongo/mongocursorexception/gethost.xml deleted file mode 100644 index 5acc2288e8..0000000000 --- a/reference/mongo/mongocursorexception/gethost.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoCursorException::getHost - The hostname of the server that encountered the error - - - - &reftitle.description; - - public stringMongoCursorException::getHost - - - - Returns the hostname of the server the query was sent too. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the hostname, or NULL if the hostname is unknown. - - - - - - - diff --git a/reference/mongo/mongocursorinterface.xml b/reference/mongo/mongocursorinterface.xml deleted file mode 100644 index 0079075980..0000000000 --- a/reference/mongo/mongocursorinterface.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - The MongoCursorInterface interface - MongoCursorInterface - - - - -
- &reftitle.intro; - - Interface for cursors, which can be used to iterate through results of a - database query or command. This interface is implemented by the - MongoCursor and - MongoCommandCursor classes. - - - - Similar to Traversable, this interface cannot be - implemented in PHP scripts. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoCursorInterface - - - - - MongoCursorInterface - - - - extends - Iterator - - - - - &Methods; - - - &InheritedMethods; - - - -
- -
- - &reference.mongo.entities.mongocursorinterface; - -
- - diff --git a/reference/mongo/mongocursorinterface/batchsize.xml b/reference/mongo/mongocursorinterface/batchsize.xml deleted file mode 100644 index 7a83c78400..0000000000 --- a/reference/mongo/mongocursorinterface/batchsize.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - MongoCursorInterface::batchSize - Limits the number of elements returned in one batch - - - - &reftitle.description; - - abstract public MongoCursorInterfaceMongoCursorInterface::batchSize - intbatchSize - - - A cursor typically fetches a batch of result objects and stores them - locally. This method sets the batch size value to configure the amount of - documents retrieved from the server in one round trip. - - - - - &reftitle.parameters; - - - - - batchSize - - - - The number of results to return per batch. - - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - diff --git a/reference/mongo/mongocursorinterface/dead.xml b/reference/mongo/mongocursorinterface/dead.xml deleted file mode 100644 index 4aef6503db..0000000000 --- a/reference/mongo/mongocursorinterface/dead.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoCursorInterface::dead - Checks if there are results that have not yet been sent from the database - - - - &reftitle.description; - - abstract public boolMongoCursorInterface::dead - - - - This method checks whether the cursor has been exhausted and the database has - no more results to send to the client. A cursor being "dead" does not - necessarily mean that there are no more results available for iteration. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &true; if there are more results that have not yet been sent to the - client, and &false; otherwise. - - - - - diff --git a/reference/mongo/mongocursorinterface/getreadpreference.xml b/reference/mongo/mongocursorinterface/getreadpreference.xml deleted file mode 100644 index 8dc235eb33..0000000000 --- a/reference/mongo/mongocursorinterface/getreadpreference.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoCursorInterface::getReadPreference - Get the read preference for this query - - - - &reftitle.description; - - abstract public arrayMongoCursorInterface::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCursorInterface::setReadPreference - - - - - diff --git a/reference/mongo/mongocursorinterface/info.xml b/reference/mongo/mongocursorinterface/info.xml deleted file mode 100644 index fdb0376142..0000000000 --- a/reference/mongo/mongocursorinterface/info.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoCursorInterface::info - Gets information about the cursor's creation and iteration - - - - &reftitle.description; - - abstract public arrayMongoCursorInterface::info - - - - Returns information about the cursor's creation and iteration. This can be - called before or after the cursor has started iterating. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the namespace, batch size, limit, skip, flags, query, and projected - fields for this cursor. If the cursor has started iterating, additional - information about iteration and the connection will be included. - - - - - diff --git a/reference/mongo/mongocursorinterface/setreadpreference.xml b/reference/mongo/mongocursorinterface/setreadpreference.xml deleted file mode 100644 index ba6e253a3e..0000000000 --- a/reference/mongo/mongocursorinterface/setreadpreference.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - MongoCursorInterface::setReadPreference - Set the read preference for this query - - - - &reftitle.description; - - abstract public MongoCursorInterfaceMongoCursorInterface::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.seealso; - - The read preferences documentation. - MongoCursorInterface::getReadPreference - - - - - diff --git a/reference/mongo/mongocursorinterface/timeout.xml b/reference/mongo/mongocursorinterface/timeout.xml deleted file mode 100644 index 7c0272bf0f..0000000000 --- a/reference/mongo/mongocursorinterface/timeout.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - MongoCursorInterface::timeout - Sets a client-side timeout for this query - - - - &reftitle.description; - - abstract public MongoCursorInterfaceMongoCursorInterface::timeout - intms - - - A timeout can be set at any time and will affect subsequent data retrieval - associated with this cursor, including fetching more results from the - database. - - - - - &reftitle.parameters; - - - - ms - - - - The number of milliseconds for the cursor to wait for a response. Use - -1 to wait forever. By default, the cursor will wait - 30000 milliseconds (30 seconds). - - - - - - - - &reftitle.returnvalues; - - Returns this cursor. - - - - - &reftitle.errors; - - Causes methods that fetch results to throw a - MongoCursorTimeoutException if the data fetch takes - longer than the specified number of milliseconds. - - - - - &reftitle.seealso; - - The socketTimeoutMS option for MongoClient::__construct - - - - - diff --git a/reference/mongo/mongocursortimeoutexception.xml b/reference/mongo/mongocursortimeoutexception.xml deleted file mode 100644 index 0bd2ff42ef..0000000000 --- a/reference/mongo/mongocursortimeoutexception.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - The MongoCursorTimeoutException class - MongoCursorTimeoutException - - - - -
- &reftitle.intro; - - Caused by a query timing out. You can set the length of time to wait before - this exception is thrown by calling - MongoCursor::timeout on the cursor or setting - MongoCursor::$timeout. The static variable is useful for - queries such as database commands and - MongoCollection::findOne, both of which implicitly use - cursors. - -
- - -
- &reftitle.classsynopsis; - - - - MongoCursorTimeoutException - - - - - MongoCursorTimeoutException - - - extends - MongoCursorException - - - - - - - -
- -
- -
- - diff --git a/reference/mongo/mongodate.xml b/reference/mongo/mongodate.xml deleted file mode 100644 index 2a37c78a25..0000000000 --- a/reference/mongo/mongodate.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - The MongoDate class - MongoDate - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\UTCDateTime - - - - -
- &reftitle.intro; - - Represent date objects for the database. This class should be used to save - dates to the database and to query for dates. For example: - - - Storing dates with <classname>MongoDate</classname> - -save(array("ts" => new MongoDate())); - -$start = new MongoDate(strtotime("2010-01-15 00:00:00")); -$end = new MongoDate(strtotime("2010-01-30 00:00:00")); - -// find dates between 1/15/2010 and 1/30/2010 -$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end))); - -?> -]]> - - - - MongoDB stores dates as milliseconds past the epoch. This means that dates - do not contain timezone information. Timezones must be - stored in a separate field if needed. Second, this means that any precision - beyond milliseconds will be lost when the document is sent to/from the - database. - -
- - -
- &reftitle.classsynopsis; - - - - MongoDate - - - - - MongoDate - - - - - Fields - - public - int - sec - - - public - int - usec - - - - &Methods; - - - - -
- -
- - &reference.mongo.entities.mongodate; - -
- - diff --git a/reference/mongo/mongodate/construct.xml b/reference/mongo/mongodate/construct.xml deleted file mode 100644 index 6f2a6f2aa0..0000000000 --- a/reference/mongo/mongodate/construct.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - MongoDate::__construct - Creates a new date - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\UTCDateTime::__construct - - - - - - &reftitle.description; - - public MongoDate::__construct - intsectime() - intusec0 - - - Creates a new date. If no parameters are given, the current time is used. - - - - - &reftitle.parameters; - - - - - sec - - - - Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC). - - - - - - usec - - - - Microseconds. Please be aware though that MongoDB's resolution is - milliseconds and not microseconds, which means this - value will be truncated to millisecond resolution. - - - - - - - - - &reftitle.returnvalues; - - Returns this new date. - - - - - &reftitle.examples; - - <function>MongoDate::__construct</function> example - This example demonstrates creating a new date with the current time and a new date with a given time. - - -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - - MongoDate::__toString - - - - - - - diff --git a/reference/mongo/mongodate/todatetime.xml b/reference/mongo/mongodate/todatetime.xml deleted file mode 100644 index 1f08f86f4f..0000000000 --- a/reference/mongo/mongodate/todatetime.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - MongoDate::toDateTime - Returns a DateTime object representing this date - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\UTCDateTime::toDateTime - - - - - - &reftitle.description; - - public DateTimeMongoDate::toDateTime - - - - Returns the DateTime representation of this date. The - returned DateTime will use the UTC time zone. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This date as a DateTime object. - - - - - &reftitle.examples; - - <function>MongoDate::toDateTime</function> example - This example demonstrates creating a DateTime object from a MongoDate - object. - -toDateTime() ); -?> -]]> - - &example.outputs.similar; - - - string(26) "2014-11-18 11:01:25.000000" - public $timezone_type => - int(1) - public $timezone => - string(6) "+00:00" -} -]]> - - - - - - diff --git a/reference/mongo/mongodate/tostring.xml b/reference/mongo/mongodate/tostring.xml deleted file mode 100644 index 8ff8aa0c39..0000000000 --- a/reference/mongo/mongodate/tostring.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - MongoDate::__toString - Returns a string representation of this date - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\UTCDateTime::__toString - - - - - - &reftitle.description; - - public stringMongoDate::__toString - - - - Returns a string representation of this date, similar to the representation returned by microtime. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This date. - - - - - diff --git a/reference/mongo/mongodb.xml b/reference/mongo/mongodb.xml deleted file mode 100644 index 3da17a070b..0000000000 --- a/reference/mongo/mongodb.xml +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - The MongoDB class - MongoDB - - - - -
- &reftitle.intro; - - Instances of this class are used to interact with a database. To get a - database: - - Selecting a database - -selectDB("example"); - -?> -]]> - - - Database names can use almost any character in the ASCII range. However, - they cannot contain " ", "." or be the empty string. - The name "system" is also reserved. - - - A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/". - - - Unlike collection names, database names may contain "$". - -
- - -
- &reftitle.classsynopsis; - - - - MongoDB - - - - - MongoDB - - - - - &Constants; - - const - int - MongoDB::PROFILING_OFF - 0 - - - const - int - MongoDB::PROFILING_SLOW - 1 - - - const - int - MongoDB::PROFILING_ON - 2 - - - Fields - - public - int - w - 1 - - - public - int - wtimeout - 10000 - - - &Methods; - - - - -
- -
- &reftitle.constants; -
- MongoDB Log Levels - - - - MongoDB::PROFILING_OFF - - - Profiling is off. - - - - - MongoDB::PROFILING_SLOW - - - Profiling is on for slow operations (>100 ms). - - - - - MongoDB::PROFILING_ON - - - Profiling is on for all operations. - - - - -
-
- -
- Fields - - - w - 1 - - - The number of servers to replicate a change to before returning success. - Inherited by instances of MongoCollection derived - from this. w functionality is only available in - version 1.5.1+ of the MongoDB server and 1.0.8+ of the driver. - - - w is used whenever you need to adjust the - acknowledgement level - (MongoCollection::insert, - MongoCollection::update, - MongoCollection::remove, - MongoCollection::save, and - MongoCollection::ensureIndex all support this - option). With the default value (1), an acknowledged operation will return once - the database server has the operation. If the server goes down before - the operation has been replicated to a secondary, it is possible to lose - the operation forever. Thus, you can specify w to be - higher than one and guarantee that at least one secondary has the - operation before it is considered successful. - - - For example, if w is 2, the primary and one secondary - must have a record of the operation or the driver will throw a - MongoCursorException. It is tempting to set - w to the total number of secondaries + primary, but - then if one secondary is down the operation will fail and an exception - will be thrown, so usually w=2 is safest (primary and - one secondary). - - - - - wtimeout - 10000 - - - The number of milliseconds to wait for MongoDB::$w - replications to take place. Inherited by instances of - MongoCollection derived from this. - w functionality is only available in version 1.5.1+ of - the MongoDB server and 1.0.8+ of the driver. - - - Unless wtimeout is set, the server waits forever for - replicating to w servers to finish. The driver - defaults to waiting for 10 seconds, you can change this value to alter - its behavior. - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on databases. - -
-
- - &reference.mongo.entities.mongodb; - -
- - diff --git a/reference/mongo/mongodb/authenticate.xml b/reference/mongo/mongodb/authenticate.xml deleted file mode 100644 index 4ce587dc01..0000000000 --- a/reference/mongo/mongodb/authenticate.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - MongoDB::authenticate - Log in to this database - - - - - &mongo.noalternative.method.note; - Instead, you need to provide credentials through the connection - string. - - - - - &reftitle.description; - - public arrayMongoDB::authenticate - stringusername - stringpassword - - - This method causes its connection to be authenticated. If authentication is - enabled for the database server (it's not, by default), you need to log in - before the database will allow you to do anything. - - - In general, you should use the authenticate built into - MongoClient::__construct in preference to this method. - If you authenticate on connection and the connection drops and reconnects - during your session, you'll be reauthenticated. If you manually - authenticated using this method and the connection drops, you'll have to call - this method again once you're reconnected. - - - This method is identical to running: - -command(array("getnonce" => 1)); - -$saltedHash = md5($nonce["nonce"]."${username}${hash}"); - -$result = $db->command(array("authenticate" => 1, - "user" => $username, - "nonce" => $nonce["nonce"], - "key" => $saltedHash -)); - -?> -]]> - - - - Once a connection has been authenticated, it can only be un-authenticated by - using the "logout" database command: - -command(array("logout" => 1)); - -?> -]]> - - - - - &reftitle.parameters; - - - - - username - - - - The username. - - - - - - password - - - - The password (in plaintext). - - - - - - - - &reftitle.returnvalues; - - Returns database response. If the login was successful, it will return - - 1); -?> -]]> - - If something went wrong, it will return - - 0, "errmsg" => "auth fails"); -?> -]]> - - ("auth fails" could be another message, depending on database version and what - when wrong). - - - - - &reftitle.seealso; - - MongoDB core docs on authenticate. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when used. Please pass in the - authentication details to the constructor. - - - - - - - - - - diff --git a/reference/mongo/mongodb/command.xml b/reference/mongo/mongodb/command.xml deleted file mode 100644 index f0d57b61f2..0000000000 --- a/reference/mongo/mongodb/command.xml +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - MongoDB::command - Execute a database command - - - &reftitle.description; - - public arrayMongoDB::command - arraycommand - arrayoptionsarray() - stringhash - - - Almost everything that is not a CRUD operation can be done with a database - command. Need to know the database version? There's a command for that. - Need to do aggregation? There's a command for that. Need to turn up - logging? You get the idea. - - - This method is identical to: - -selectCollection('$cmd')->findOne($data); -} - -?> -]]> - - - - - &reftitle.parameters; - - - - - command - - - - The query to send. - - - - - - options - - - - An array of options for the index creation. Currently available options - include: - - &mongo.writes.parameters.sockettimeoutms; - - - - The following options are deprecated and should no longer be used: - - &mongo.writes.parameters.timeout; - - - - - - - hash - - - - Set to the connection hash of the server that executed the command. When - the command result is suitable for creating a - MongoCommandCursor, the hash is intended to be - passed to MongoCommandCursor::createFromDocument. - - - The hash will also correspond to a connection returned from - MongoClient::getConnections. - - - - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.5.0 - - - Renamed the "timeout" option to - "socketTimeoutMS". Emits - E_DEPRECATED when "timeout" is - used. - - - Added hash by-reference parameter. - - - - - PECL mongo 1.2.0 - - Added options parameter with a single option: - "timeout". - - - - - - - - - - &reftitle.returnvalues; - - Returns database response. Every database response is always maximum one - document, which means that the result of a database command can never - exceed 16MB. The resulting document's structure depends on the command, but - most results will have the ok field to indicate success - or failure and results containing an array of each of - the resulting documents. - - - - - &reftitle.examples; - - <function>MongoDB::command</function> "distinct" example - - Finding all of the distinct values for a key. - - -people; - -$people->insert(array("name" => "Joe", "age" => 4)); -$people->insert(array("name" => "Sally", "age" => 22)); -$people->insert(array("name" => "Dave", "age" => 22)); -$people->insert(array("name" => "Molly", "age" => 87)); - -$ages = $db->command(array("distinct" => "people", "key" => "age")); - -foreach ($ages['values'] as $age) { - echo "$age\n"; -} - -?> -]]> - - &example.outputs.similar; - -4 -22 -87 - - - - - <function>MongoDB::command</function> "distinct" example - - Finding all of the distinct values for a key, where the value is larger - than or equal to 18. - - -people; - -$people->insert(array("name" => "Joe", "age" => 4)); -$people->insert(array("name" => "Sally", "age" => 22)); -$people->insert(array("name" => "Dave", "age" => 22)); -$people->insert(array("name" => "Molly", "age" => 87)); - -$ages = $db->command( - array( - "distinct" => "people", - "key" => "age", - "query" => array("age" => array('$gte' => 18)) - ) -); - -foreach ($ages['values'] as $age) { - echo "$age\n"; -} - -?> -]]> - - &example.outputs.similar; - -22 -87 - - - - - <function>MongoDB::command</function> MapReduce example - - Get all users with at least on "sale" event, and how many times each - of these users has had a sale. - - -insert(array("user_id" => $id, - "type" => $type, - "time" => new MongoDate(), - "desc" => $description)); - -// construct map and reduce functions -$map = new MongoCode("function() { emit(this.user_id,1); }"); -$reduce = new MongoCode("function(k, vals) { ". - "var sum = 0;". - "for (var i in vals) {". - "sum += vals[i];". - "}". - "return sum; }"); - -$sales = $db->command(array( - "mapreduce" => "events", - "map" => $map, - "reduce" => $reduce, - "query" => array("type" => "sale"), - "out" => array("merge" => "eventCounts"))); - -$users = $db->selectCollection($sales['result'])->find(); - -foreach ($users as $user) { - echo "{$user['_id']} had {$user['value']} sale(s).\n"; -} - -?> -]]> - - &example.outputs.similar; - -User 47cc67093475061e3d9536d2 had 3 sale(s). -User 49902cde5162504500b45c2c had 14 sale(s). -User 4af467e4fd543cce7b0ea8e2 had 1 sale(s). - - - Using <classname>MongoCode</classname> - - This example uses MongoCode, which can also take a - scope argument. However, at the moment, MongoDB does not support using - scopes in MapReduce. If you would like to use client-side variables in the - MapReduce functions, you can add them to the global scope by using the - optional scope field with the database command. See the - MapReduce documentation - for more information. - - - - The <literal>out</literal> argument - - Before 1.8.0, the out argument was optional. If you did - not use it, MapReduce results would be written to a temporary collection, - which would be deleted when your connection was closed. In 1.8.0+, the - out argument is required. See the - MapReduce documentation - for more information. - - - - - - <function>MongoDB::command</function> "geoNear" example - - This example shows how to use the geoNear command. - - -demo; -$c = $d->poiConcat; - -$r = $d->command(array( - 'geoNear' => "poiConcat", // Search in the poiConcat collection - 'near' => array(-0.08, 51.48), // Search near 51.48°N, 0.08°E - 'spherical' => true, // Enable spherical search - 'num' => 5, // Maximum 5 returned documents -)); -print_r($r); -?> -]]> - - - - - - &reftitle.seealso; - - - MongoCollection::aggregate - MongoCollection::findAndModify - MongoCollection::group - - - - MongoDB core docs on - database commands. - - - - diff --git a/reference/mongo/mongodb/construct.xml b/reference/mongo/mongodb/construct.xml deleted file mode 100644 index 532dcceef8..0000000000 --- a/reference/mongo/mongodb/construct.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MongoDB::__construct - Creates a new database - - - - &reftitle.description; - - public MongoDB::__construct - MongoClientconn - stringname - - - This method is not meant to be called directly. The preferred way to create - an instance of MongoDB is through MongoClient::__get or - MongoClient::selectDB. - - - If you're ignoring the previous paragraph and want to call it directly you - can do so: - - - -]]> - - - But don't. Isn't this much nicer: - - -mydbname; - -// or, if the name contains weird characters: - -$db = $m->selectDB('my,db:name'); - -?> -]]> - - - - - &reftitle.parameters; - - - - - MongoClient - conn - - - - Database connection. - - - - - - name - - - - Database name. - - - - - - - - - &reftitle.returnvalues; - - Returns the database. - - - - - &reftitle.errors; - - Throws default exception if the database name is invalid. - - - - - diff --git a/reference/mongo/mongodb/createcollection.xml b/reference/mongo/mongodb/createcollection.xml deleted file mode 100644 index 8fa67097a8..0000000000 --- a/reference/mongo/mongodb/createcollection.xml +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - MongoDB::createCollection - Creates a collection - - - &reftitle.description; - - public MongoCollectionMongoDB::createCollection - stringname - arrayoptions - - - - This method is used to create capped collections and other collections - requiring special options. It is identical to running: - -command(array( - "create" => $name, - "capped" => $options["capped"], - "size" => $options["size"], - "max" => $options["max"], - "autoIndexId" => $options["autoIndexId"], -)); - -?> -]]> - - See MongoDB::command for more information about database commands. - - - - - &reftitle.parameters; - - - - - - name - - - - The name of the collection. - - - - - - - options - - - - An array containing options for the collections. Each option is its own - element in the options array, with the option name listed below being - the key of the element. The supported options depend on the MongoDB - server version and storage engine, and the driver passes any option - that you give it straight to the server. A few of the supported options - are, but you can find a full list in the MongoDB core docs on createCollection: - - - - - - capped - - - - If the collection should be a fixed size. - - - - - - size - - - - If the collection is fixed size, its size in bytes. - - - - - - max - - - - If the collection is fixed size, the maximum number of elements to - store in the collection. - - - - - - autoIndexId - - - - If capped is &true; you can specify &false; to disable the - automatic index created on the _id field. - Before MongoDB 2.2, the default value for - autoIndexId was &false;. - - - - - - - - - - - - - &reftitle.returnvalues; - - Returns a collection object representing the new collection. - - - - &reftitle.examples; - - <function>MongoDB::createCollection</function> capped collection example - - A capped collection is a special type of collection that has either a fixed - or a fixed number of elements. Once the collection is "full," the oldest - elements will be removed when new elements are added. Capped collections - can be very useful for applications like logging, where you may want to - reserve a certain amount of space for logs and not worry about them - getting too big. - - - This example creates a very tiny log collection that will keep a maximum of - 10 documents. - - -createCollection( - "logger", - array( - 'capped' => true, - 'size' => 10*1024, - 'max' => 10 - ) -); - -for ($i = 0; $i < 100; $i++) { - $log->insert(array("level" => WARN, "msg" => "sample log message #$i", "ts" => new MongoDate())); -} - -$msgs = $log->find(); - -foreach ($msgs as $msg) { - echo $msg['msg']."\n"; -} - -?> -]]> - - &example.outputs.similar; - -sample log message #90 -sample log message #91 -sample log message #92 -sample log message #93 -sample log message #94 -sample log message #95 -sample log message #96 -sample log message #97 -sample log message #98 -sample log message #99 - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.4.0 - - - In versions before 1.4.0, the options were all arguments to the method. The - function synopsis in those older versions is: - - - - public MongoCollectionMongoDB::createCollection - stringname - boolcapped&false; - intsize0 - intmax0 - - - - The meaning of the options is the same as described under the - options argument above. - - - - - - - - - - diff --git a/reference/mongo/mongodb/createdbref.xml b/reference/mongo/mongodb/createdbref.xml deleted file mode 100644 index 57a9704594..0000000000 --- a/reference/mongo/mongodb/createdbref.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - MongoDB::createDBRef - Creates a database reference - - - - &reftitle.description; - - public arrayMongoDB::createDBRef - stringcollection - mixeddocument_or_id - - - This method is a flexible interface for creating database refrences (see - MongoDBRef). - - - - - &reftitle.parameters; - - - - - collection - - - - The collection to which the database reference will point. - - - - - - document_or_id - - - - If an array or object is given, its _id field will be - used as the reference ID. If a MongoId or scalar - is given, it will be used as the reference ID. - - - - - - - - - &reftitle.returnvalues; - - Returns a database reference array. - - - If an array without an _id field was provided as the - document_or_id parameter, &null; will be returned. - - - - &reftitle.examples; - - <function>MongoDB::createDBRef</function> example - - Example demonstrating how to programatically create a DB reference array from - a document. - - -articles; - -$article = array( - 'title' => 'Test article', - 'description' => 'Test article description' -); - -$articles->insert($article); -$ref = $db->createDBRef('articles', $article); - -print_r($article); -print_r($ref); -?> -]]> - - &example.outputs.similar; - - Test article - [description] => Test article description - [_id] => MongoId Object - ( - ) - - ) - Array - ( - [$ref] => articles - [$id] => MongoId Object - ( - ) - - ) - ]]> - - - Now the $ref can be stored on another document and retrieved later with - MongoDB::getDBRef or MongoCollection::getDBRef. - - - - <function>MongoDB::createDBRef</function> example - - Example demonstrating how to programatically create a DB reference from just an id. - - -createDBRef('articles', $id); -?> -]]> - - - - - diff --git a/reference/mongo/mongodb/drop.xml b/reference/mongo/mongodb/drop.xml deleted file mode 100644 index 89a96f1c5b..0000000000 --- a/reference/mongo/mongodb/drop.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - MongoDB::drop - Drops this database - - - - &reftitle.description; - - public arrayMongoDB::drop - - - - This drops the database currently being used. - - - This is identical to running: - -command(array("dropDatabase" => 1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.examples; - - <function>MongoDB::drop</function> example - This example demonstrates how to drop a mongo database and the response to expect. - -foo; -$response = $db->drop(); -print_r($response); - -?> -]]> - - &example.outputs.similar; - - foo.$cmd - [ok] => 1 -) -]]> - - - - - - diff --git a/reference/mongo/mongodb/dropcollection.xml b/reference/mongo/mongodb/dropcollection.xml deleted file mode 100644 index 5895fcabff..0000000000 --- a/reference/mongo/mongodb/dropcollection.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - MongoDB::dropCollection - Drops a collection [deprecated] - - - &reftitle.description; - - public arrayMongoDB::dropCollection - mixedcoll - - - - Deprecated - - Use MongoCollection::drop instead. - - - - This function leaks memory in version 1.0.7 and earlier! - - - - - - - &reftitle.parameters; - - - - - coll - - - - MongoCollection or name of collection to drop. - - - - - - - - &reftitle.returnvalues; - - Returns the database response. - - - - diff --git a/reference/mongo/mongodb/execute.xml b/reference/mongo/mongodb/execute.xml deleted file mode 100644 index 15c3553e56..0000000000 --- a/reference/mongo/mongodb/execute.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - MongoDB::execute - Runs JavaScript code on the database server [deprecated] - - - - &reftitle.description; - - public arrayMongoDB::execute - mixedcode - arrayargsarray() - - - - The eval command, - which this method invokes, is deprecated in MongoDB 3.0+. - - - - The Mongo database server runs a JavaScript engine. This method allows you - to run arbitary JavaScript on the database. This can be useful if you want - touch a number of collections lightly, or process some results on the - database side to reduce the amount that has to be sent to the client. - - - Running JavaScript in the database takes a write lock, meaning it blocks - other operations. Make sure you consider this before running a long script. - - - This is a wrapper for the - eval database - command. This method is basically: - -command(array('eval' => $code, 'args' => $args)); -} - -?> -]]> - - - - MongoDB implies a return statement if you have a single statement on a single - line. This can cause some unintuitive behavior. For example, this returns - "foo": - - -execute('"foo";'); - -?> -]]> - - - However, these return &null;: - - -execute('"bar"; "foo";'); // more than one statement - -$db->execute('db.foo.count( -);'); // more than one line - -?> -]]> - - - To avoid surprising behavior, it is best not to depend on MongoDB to decide - what to return, but to explicitly state a return value. In the examples - above, we can change them to: - - -execute('"bar"; return "foo";'); - -$db->execute('return db.foo.count( -);'); - -?> -]]> - - - Now the first statement will return "foo" and the second statement will - return a count of the "foo" collection. - - - - - &reftitle.parameters; - - - - - code - - - - MongoCode or string to execute. - - - - - - args - - - - Arguments to be passed to code. - - - - - - - - - &reftitle.returnvalues; - - Returns the result of the evaluation. - - - - - &reftitle.examples; - - Simple <function>MongoDB::execute</function> example - -execute("function() { return 'Hello, world!'; }"); -echo $response['retval']; - -?> -]]> - - &example.outputs.similar; - -Hello, world! - - - - Parameter <function>MongoDB::execute</function> example - - The optional array of parameters will be passed to the JavaScript function. - - -execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe")); -echo $response['retval']; - -?> -]]> - - &example.outputs.similar; - -Good bye, Joe! - - - - Scope example - - If a MongoCode object is used instead of a string for - the first parameter, a scope can be passed in which the JavaScript will be - executed. - - - "Fred"); - -$code = new MongoCode($func, $scope); - -$response = $db->execute($code, array("Goodbye", "Joe")); -echo $response['retval']; - -?> -]]> - - &example.outputs.similar; - -Goodbye, Joe, says Fred - - - - - - &reftitle.seealso; - - The MongoDB eval command docs - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.7.0 - - This method has been deprecated as a result of the underlaying - eval command - being deprecated in MongoDB 3.0+. - - - - - - - - - diff --git a/reference/mongo/mongodb/forceerror.xml b/reference/mongo/mongodb/forceerror.xml deleted file mode 100644 index c35bbc5037..0000000000 --- a/reference/mongo/mongodb/forceerror.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - MongoDB::forceError - Creates a database error - - - - &reftitle.description; - - public boolMongoDB::forceError - - - - This method is not very useful for normal MongoDB use. It forces a database - error to occur. This means that MongoDB::lastError will - return a generic database error after running this command. - - - This command is identical to running: - -command(array('forceerror' => 1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - diff --git a/reference/mongo/mongodb/get.xml b/reference/mongo/mongodb/get.xml deleted file mode 100644 index d0cf059899..0000000000 --- a/reference/mongo/mongodb/get.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoDB::__get - Gets a collection - - - &reftitle.description; - - public MongoCollectionMongoDB::__get - stringname - - - This is the easiest way of getting a collection from a database object. If a - collection name contains strange characters, you may have to use - MongoDB::selectCollection instead. - -selectDB("foo")->selectCollection("bar"); -$collection = $mongo->foo->bar; - -?> -]]> - - - - - &reftitle.parameters; - - - - - name - - - - The name of the collection. - - - - - - - - &reftitle.returnvalues; - - Returns the collection. - - - - diff --git a/reference/mongo/mongodb/getcollectioninfo.xml b/reference/mongo/mongodb/getcollectioninfo.xml deleted file mode 100644 index 3ea9eba50d..0000000000 --- a/reference/mongo/mongodb/getcollectioninfo.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - MongoDB::getCollectionInfo - Returns information about collections in this database - - - - &reftitle.description; - - public arrayMongoDB::getCollectionInfo - arrayoptionsarray() - - - Gets a list of all collections in the database and returns them as an array - of documents, which contain their names and options. - - &mongo.listcollections.note; - - - - &reftitle.parameters; - - - - options - - - - An array of options for listing the collections. Currently available - options include: - - &mongo.listcollections.parameters.filter; - &mongo.listcollections.parameters.includesystemcollections; - - - - The following option may be used with MongoDB 2.8+: - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - This function returns an array where each element is an array describing a - collection. Elements will contain a name key denoting the - name of the collection, and optionally contain an options - key denoting an array of objects used to create the collection. For example, - capped collections will include capped and - size options. - - - - - &reftitle.errors; - - For MongoDB 2.6 and earlier, MongoException will be - thrown if a non-string value was specified for the - "filter" option's "name" criteria. - - - - - &reftitle.examples; - - <function>MongoDB::getCollectionInfo</function> example - -selectDB("demo"); -var_dump($db->getCollectionInfo()); -?> -]]> - - &example.outputs.similar; - - - array(2) { - ["name"]=> - string(4) "logs" - ["options"]=> - array(2) { - ["capped"]=> - bool(true) - ["size"]=> - int(10240) - } - } - [1]=> - array(2) { - ["name"]=> - string(5) "users" - ["options"]=> - array(1) { - ["flags"]=> - int(1) - } - } -} -]]> - - - - - - &reftitle.seealso; - - - MongoDB::getCollectionNames - MongoDB::listCollections - - - - - - diff --git a/reference/mongo/mongodb/getcollectionnames.xml b/reference/mongo/mongodb/getcollectionnames.xml deleted file mode 100644 index 1f4fb67b6b..0000000000 --- a/reference/mongo/mongodb/getcollectionnames.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - MongoDB::getCollectionNames - Gets an array of names for all collections in this database - - - - &reftitle.description; - - public arrayMongoDB::getCollectionNames - arrayoptionsarray() - - - Gets a list of all collections in the database and returns their names as an - array of strings. - - &mongo.listcollections.note; - - - - &reftitle.parameters; - - - - options - - - - An array of options for listing the collections. Currently available - options include: - - &mongo.listcollections.parameters.filter; - &mongo.listcollections.parameters.includesystemcollections; - - - - The following option may be used with MongoDB 2.8+: - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - Returns the collection names as an array of strings. - - - - - &reftitle.errors; - - For MongoDB 2.6 and earlier, MongoException will be - thrown if a non-string value was specified for the - "filter" option's "name" criteria. - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.6.0 - - Changed first parameter to be an array of options. Pre-1.6.0, the - first parameter was a boolean indicating the - "includeSystemCollections" option. - - - - - - - - - &reftitle.examples; - - <function>MongoDB::getCollectionNames</function> example - -selectDB("demo"); -$collections = $db->getCollectionNames(); - -foreach ($collections as $collectionName) { - echo "Found collection: ", $collectionName, "\n"; -} -?> -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - - MongoDB::listCollections - MongoDB::getCollectionInfo - - - - - - - diff --git a/reference/mongo/mongodb/getdbref.xml b/reference/mongo/mongodb/getdbref.xml deleted file mode 100644 index ab7e7c6ceb..0000000000 --- a/reference/mongo/mongodb/getdbref.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - MongoDB::getDBRef - Fetches the document pointed to by a database reference - - - - &reftitle.description; - - public arrayMongoDB::getDBRef - arrayref - - - - - &reftitle.parameters; - - - - - ref - - - - A database reference. - - - - - - - - - &reftitle.returnvalues; - - Returns the document pointed to by the reference. - - - - &reftitle.examples; - - <function>MongoDB::getDBRef</function> example - - Example demonstrating how to get a database reference and what the expected - input is. - - - 'profiles', - '$id' => new MongoId('47cc67093475061e3d9536d2') - ); - - $profile = $db->getDBRef($ref); - ?> - ]]> - - - See MongoDB::createDBRef for more information about how to programatically create DB references. - - - - - diff --git a/reference/mongo/mongodb/getgridfs.xml b/reference/mongo/mongodb/getgridfs.xml deleted file mode 100644 index 1060a7eb98..0000000000 --- a/reference/mongo/mongodb/getgridfs.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - MongoDB::getGridFS - Fetches toolkit for dealing with files stored in this database - - - - &reftitle.description; - - public MongoGridFSMongoDB::getGridFS - stringprefix"fs" - - - - - &reftitle.parameters; - - - - - prefix - - - - The prefix for the files and chunks collections. - - - - - - - - - &reftitle.returnvalues; - - Returns a new gridfs object for this database. - - - - - &reftitle.examples; - - <function>MongoDB::getGridFS</function> example - This example demonstrates how get a MongoGridFS instance. - -my_db; - -$prefix = 'files'; -$collection = $db->getGridFS($prefix); - -?> -]]> - - - Read more about the MongoGridFS to learn how to store files with MongoDB. - - - - - - diff --git a/reference/mongo/mongodb/getprofilinglevel.xml b/reference/mongo/mongodb/getprofilinglevel.xml deleted file mode 100644 index e156f876d8..0000000000 --- a/reference/mongo/mongodb/getprofilinglevel.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoDB::getProfilingLevel - Gets this database's profiling level - - - - &reftitle.description; - - public intMongoDB::getProfilingLevel - - - - This returns the current database profiling level. - - - The database profiler tracks query execution times. If you turn it on (say, - using MongoDB::setProfilingLevel or the shell), you can - see how many queries took longer than a given number of milliseconds or the - timing for all queries. - - - Note that profiling slows down queries, so it is better to use in development - or testing than in a time-sensitive application. - - - This function is equivalent to running: - -command(array('profile' => -1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the profiling level. - - - - - &reftitle.seealso; - - MongoDB core docs on profiling - MongoDB::setProfilingLevel - - - - diff --git a/reference/mongo/mongodb/getreadpreference.xml b/reference/mongo/mongodb/getreadpreference.xml deleted file mode 100644 index 633f0cdc48..0000000000 --- a/reference/mongo/mongodb/getreadpreference.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - MongoDB::getReadPreference - Get the read preference for this database - - - - &reftitle.description; - - public arrayMongoDB::getReadPreference - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getreadpreference.returnvalues; - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.3 - - The return value has changed to be consistent with - MongoDB::setReadPreference. The - type value was changed from a number to a string, - type_string was removed, and - tagsets now expresses tags as key/value pairs instead - of colon-delimited strings. - - - - - - - - - - &reftitle.examples; - - <methodname>MongoDB::getReadPreference</methodname> return value example - -test; -$db->setReadPreference(MongoClient::RP_SECONDARY, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), - array(), -)); -var_dump($db->getReadPreference()); -?> -]]> - - &example.outputs; - - - string(9) "secondary" - ["tagsets"]=> - array(3) { - [0]=> - array(2) { - ["dc"]=> - string(4) "east" - ["use"]=> - string(9) "reporting" - } - [1]=> - array(1) { - ["dc"]=> - string(7) "west" - } - [2]=> - array(0) { - } - } -} -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoDB::setReadPreference - - - - - - diff --git a/reference/mongo/mongodb/getslaveokay.xml b/reference/mongo/mongodb/getslaveokay.xml deleted file mode 100644 index 89290f9ee4..0000000000 --- a/reference/mongo/mongodb/getslaveokay.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - MongoDB::getSlaveOkay - Get slaveOkay setting for this database - - - - &reftitle.description; - - public boolMongoDB::getSlaveOkay - - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the value of slaveOkay for this instance. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoDB::getReadPreference - MongoDB::setReadPreference - - - - - - diff --git a/reference/mongo/mongodb/getwriteconcern.xml b/reference/mongo/mongodb/getwriteconcern.xml deleted file mode 100644 index 2032a85e6a..0000000000 --- a/reference/mongo/mongodb/getwriteconcern.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - MongoDB::getWriteConcern - Get the write concern for this database - - - - &reftitle.description; - - public arrayMongoDB::getWriteConcern - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - &mongo.getwriteconcern.returnvalues; - - - - &reftitle.examples; - - <methodname>MongoDB::getWriteConcern</methodname> return value example - - 500)); -$db = $mc->selectDB('test'); -var_dump($db->getWriteConcern()); - -$db->setWriteConcern(1, 1000); -var_dump($db->getWriteConcern()); -?> -]]> - - &example.outputs; - - - int(1) - ["wtimeout"]=> - int(500) -} -array(2) { - ["w"]=> - int(1) - ["wtimeout"]=> - int(1000) -} -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoDB::setWriteConcern - - - - - - diff --git a/reference/mongo/mongodb/lasterror.xml b/reference/mongo/mongodb/lasterror.xml deleted file mode 100644 index 7a0599cb84..0000000000 --- a/reference/mongo/mongodb/lasterror.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - MongoDB::lastError - Check if there was an error on the most recent db operation performed - - - - &reftitle.description; - - public arrayMongoDB::lastError - - - - This method is equivalent to: - -command(array('getlasterror' => 1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the error, if there was one. - - - - - &reftitle.examples; - - <function>MongoDB::lastError</function> &null; error example - -resetError(); -var_dump($db->lastError()); -?> -]]> - - &example.outputs.similar; - - - NULL - ["n"]=> - int(0) - ["ok"]=> - float(1) -} -]]> - - - - <function>MongoDB::lastError</function> duplicate key example - -selectCollection("foo"); - -// insert two documents with the same _id -$c->insert(array("_id" => 1)); -$c->insert(array("_id" => 1)); - -var_dump($db->lastError()); -?> -]]> - - &example.outputs.similar; - - - string(64) "E11000 duplicate key errorindex: foo.foo.$_id_ dup key: { : 1 }" - ["n"]=> - int(0) - ["ok"]=> - float(1) -} -]]> - - - - - diff --git a/reference/mongo/mongodb/listcollections.xml b/reference/mongo/mongodb/listcollections.xml deleted file mode 100644 index c8bf548cdb..0000000000 --- a/reference/mongo/mongodb/listcollections.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - MongoDB::listCollections - Gets an array of MongoCollection objects for all collections in this database - - - - &reftitle.description; - - public arrayMongoDB::listCollections - arrayoptionsarray() - - - Gets a list of all collections in the database and returns them as an array - of MongoCollection objects. - - &mongo.listcollections.note; - - - - &reftitle.parameters; - - - - options - - - - An array of options for listing the collections. Currently available - options include: - - &mongo.listcollections.parameters.filter; - &mongo.listcollections.parameters.includesystemcollections; - - - - The following option may be used with MongoDB 2.8+: - - &mongo.command.parameters.maxtimems; - - - - - - - - - &reftitle.returnvalues; - - Returns an array of MongoCollection objects. - - - - - &reftitle.errors; - - For MongoDB 2.6 and earlier, MongoException will be - thrown if a non-string value was specified for the - "filter" option's "name" criteria. - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.6.0 - - Changed first parameter to be an array of options. Pre-1.6.0, the - first parameter was a boolean indicating the - "includeSystemCollections" option. - - - - PECL mongo 1.3.0 - - Added the includeSystemCollections parameter. - - - - - - - - - &reftitle.examples; - - <function>MongoDB::listCollections</function> example - - The following example demonstrates running count on each collection in a database. - - -selectDB("demo"); -$collections = $db->listCollections(); - -foreach ($collections as $collection) { - echo "amount of documents in $collection: "; - echo $collection->count(), "\n"; -} - -?> -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - - MongoDB::getCollectionNames - MongoDB::getCollectionInfo - - - - - diff --git a/reference/mongo/mongodb/preverror.xml b/reference/mongo/mongodb/preverror.xml deleted file mode 100644 index 8cf09e0800..0000000000 --- a/reference/mongo/mongodb/preverror.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoDB::prevError - Checks for the last error thrown during a database operation - - - - &reftitle.description; - - public arrayMongoDB::prevError - - - - MongoDB::lastError is usually preferred to this. This - method returns the last database error that occurred and how many operations - ago it occurred. It is mostly deprecated. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the error and the number of operations ago it occurred. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - - diff --git a/reference/mongo/mongodb/repair.xml b/reference/mongo/mongodb/repair.xml deleted file mode 100644 index b67a825f88..0000000000 --- a/reference/mongo/mongodb/repair.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - MongoDB::repair - Repairs and compacts this database - - - - &reftitle.description; - - public arrayMongoDB::repair - boolpreserve_cloned_files&false; - boolbackup_original_files&false; - - - This creates a fresh copy of all database data. It will remove any corrupt - data and compact and large stretches of free space it finds. This is a very - slow operation on a large database. - - - This is usually run from the shell or the command line, not the driver. - - - It is equivalent to the function: - -command(array('repairDatabase' => 1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - - - - - preserve_cloned_files - - - - If cloned files should be kept if the repair fails. - - - - - - backup_original_files - - - - If original files should be backed up. - - - - - - - - - &reftitle.returnvalues; - - Returns db response. - - - - - &reftitle.seealso; - - MongoDB core docs on repairDatabase. - - - - - &reftitle.examples; - - <function>MongoDB::repair</function> example - This example demonstrates how to repare and compact a database. - -foo; - -$response = $db->repair(); -print_r($response); - -?> -]]> - - &example.outputs.similar; - - 1 -) -]]> - - - - - - diff --git a/reference/mongo/mongodb/reseterror.xml b/reference/mongo/mongodb/reseterror.xml deleted file mode 100644 index d13f564997..0000000000 --- a/reference/mongo/mongodb/reseterror.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - MongoDB::resetError - Clears any flagged errors on the database - - - - &reftitle.description; - - public arrayMongoDB::resetError - - - - This method is not used in normal operations. It resets the database error - tracker (which can be incremented with - MongoDB::forceError, also not normally used). - - - It is equivalent to running: - -command(array('reseterror' => 1)); -} - -?> -]]> - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the database response. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - diff --git a/reference/mongo/mongodb/selectcollection.xml b/reference/mongo/mongodb/selectcollection.xml deleted file mode 100644 index 656e9af710..0000000000 --- a/reference/mongo/mongodb/selectcollection.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - MongoDB::selectCollection - Gets a collection - - - &reftitle.description; - - public MongoCollectionMongoDB::selectCollection - stringname - - - - - &reftitle.parameters; - - - - - name - - - - The collection name. - - - - - - - - - &reftitle.returnvalues; - - Returns a new collection object. - - - - - &reftitle.errors; - - Throws Exception if the collection name is invalid. - - - - - diff --git a/reference/mongo/mongodb/setprofilinglevel.xml b/reference/mongo/mongodb/setprofilinglevel.xml deleted file mode 100644 index b6234c020a..0000000000 --- a/reference/mongo/mongodb/setprofilinglevel.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - MongoDB::setProfilingLevel - Sets this database's profiling level - - - - &reftitle.description; - - public intMongoDB::setProfilingLevel - intlevel - - - This changes the current database profiling level. - - - This function is equivalent to running: - -command(array('profile' => $level)); -} - -?> -]]> - - - - The options for level are 0 (off), 1 (queries > 100ms), and 2 (all queries). - If you would like to profile queries that take longer than another time - period, use the database command and pass it a second option, the number of - milliseconds. For example, to profile all queries that take longer than one - second, run: - -command(array('profile' => 1, 'slowms' => 1000)); - -?> -]]> - - - - Profiled queries will appear in the system.profile - collection of this database. - - - - - &reftitle.parameters; - - - - - level - - - - Profiling level. - - - - - - - - - &reftitle.returnvalues; - - Returns the previous profiling level. - - - - - &reftitle.seealso; - - MongoDB core docs on profiling - MongoDB::getProfilingLevel - - - - diff --git a/reference/mongo/mongodb/setreadpreference.xml b/reference/mongo/mongodb/setreadpreference.xml deleted file mode 100644 index a99cbc3627..0000000000 --- a/reference/mongo/mongodb/setreadpreference.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - MongoDB::setReadPreference - Set the read preference for this database - - - - &reftitle.description; - - public boolMongoDB::setReadPreference - stringread_preference - arraytags - - - - - &reftitle.parameters; - &mongo.setreadpreference.parameters; - - - - &reftitle.returnvalues; - &mongo.setreadpreference.returnvalues; - - - - &reftitle.errors; - &mongo.setreadpreference.errors; - - - - &reftitle.examples; - - <methodname>MongoDB::setReadPreference</methodname> tag set array syntax example - -test; - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$db->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), -)); -?> -]]> - - - - - - &reftitle.seealso; - - The read preferences documentation. - MongoDB::getReadPreference - - - - - - diff --git a/reference/mongo/mongodb/setslaveokay.xml b/reference/mongo/mongodb/setslaveokay.xml deleted file mode 100644 index af3a6c9b4d..0000000000 --- a/reference/mongo/mongodb/setslaveokay.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - MongoDB::setSlaveOkay - Change slaveOkay setting for this database - - - - &reftitle.description; - - public boolMongoDB::setSlaveOkay - boolok&true; - - - - See the query section of this manual for - information on distributing reads to secondaries. - - - - - &reftitle.parameters; - - - - - ok - - - - If reads should be sent to secondary members of a replica set for all - possible queries using this MongoDB instance. - - - - - - - - - &reftitle.returnvalues; - - Returns the former value of slaveOkay for this instance. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.seealso; - - - MongoDB::setReadPreference - MongoDB::getReadPreference - - - - - - diff --git a/reference/mongo/mongodb/setwriteconcern.xml b/reference/mongo/mongodb/setwriteconcern.xml deleted file mode 100644 index 895e0d2b73..0000000000 --- a/reference/mongo/mongodb/setwriteconcern.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoDB::setWriteConcern - Set the write concern for this database - - - - &reftitle.description; - - public boolMongoDB::setWriteConcern - mixedw - intwtimeout - - - - - &reftitle.parameters; - &mongo.setwriteconcern.parameters; - - - - &reftitle.returnvalues; - &mongo.setwriteconcern.returnvalues; - - - - &reftitle.errors; - &mongo.setwriteconcern.errors; - - - - &reftitle.examples; - - <methodname>MongoDB::setWriteConcern</methodname> example - -selectDB('test'); - -// Require that the majority of servers in the replica set acknowledge writes -// within three seconds. -$db->setWriteConcern('majority', 3000); -?> -]]> - - - - - - &reftitle.seealso; - - The write concern documentation. - MongoDB::getWriteConcern - - - - - - diff --git a/reference/mongo/mongodb/tostring.xml b/reference/mongo/mongodb/tostring.xml deleted file mode 100644 index ae103de469..0000000000 --- a/reference/mongo/mongodb/tostring.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - MongoDB::__toString - The name of this database - - - - &reftitle.description; - - public stringMongoDB::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns this database's name. - - - - diff --git a/reference/mongo/mongodbref.xml b/reference/mongo/mongodbref.xml deleted file mode 100644 index 8fc3d9627f..0000000000 --- a/reference/mongo/mongodbref.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - The MongoDBRef class - MongoDBRef - - - - - &mongo.noalternative.class.note; - - The concept of database references, and hence this class, has been - deprecated in the database. - - - - -
- &reftitle.intro; - - This class can be used to create lightweight links between objects in - different collections. - - - Motivation: Suppose we need to refer to a document in - another collection. The easiest way is to create a field in the current - document. For example, if we had a "people" collection and an "addresses" - collection, we might want to create a link between each person document and - an address document: - - Linking documents - -people; -$addresses = $db->addresses; - -$myAddress = array("line 1" => "123 Main Street", - "line 2" => null, - "city" => "Springfield", - "state" => "Vermont", - "country" => "USA"); - -// save the address -$addresses->insert($myAddress); - -// save a person with a reference to the address -$me = array("name" => "Fred", "address" => $myAddress['_id']); -$people->insert($me); - -?> -]]> - - - - - Then, later on, we can find the person's address by querying the "addresses" - collection with the MongoId we saved in the "people" - collection. - - - Suppose now that we have a more general case, where we don't know which - collection (or even which database) contains the referenced document. - MongoDBRef is a good choice for this case, as it is a - common format that all of the drivers and the database understand. - - - If each person had a list of things they liked which could come from - multiple collections, such as "hobbies", "sports", "books", etc., we could - use MongoDBRefs to keep track of what "like" went - with what collection: - - Creating MongoDBRef links - -selectCollection("people"); - -// model trains are in the "hobbies" collection -$trainRef = MongoDBRef::create("hobbies", $modelTrains['_id']); -// soccer is in the "sports" collection -$soccerRef = MongoDBRef::create("sports", $soccer['_id']); - -// now we'll know what collections the items in the "likes" array came from when -// we retrieve this document -$people->insert(array("name" => "Fred", "likes" => array($trainRef, $soccerRef))); - -?> -]]> - - - - - Database references can be thought of as hyperlinks: they give the unique - address of another document, but they do not load it or automatically follow - the link/reference. - - - A database reference is just a normal associative array, not an instance of - MongoDBRef, so this class is a little different than - the other data type classes. This class contains exclusively static methods - for manipulating database references. - -
- - -
- &reftitle.classsynopsis; - - - - MongoDBRef - - - - - MongoDBRef - - - - - &Methods; - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on databases references. - -
-
- - &reference.mongo.entities.mongodbref; - -
- - diff --git a/reference/mongo/mongodbref/create.xml b/reference/mongo/mongodbref/create.xml deleted file mode 100644 index 70675d0c42..0000000000 --- a/reference/mongo/mongodbref/create.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - MongoDBRef::create - Creates a new database reference - - - - - &mongo.noalternative.class.note; - - The concept of database references, and hence this class, has been - deprecated. - - - - - - &reftitle.description; - - public static arrayMongoDBRef::create - stringcollection - mixedid - stringdatabase - - - If no database is given, the current database is used. - - - - - &reftitle.parameters; - - - - - collection - - - - Collection name (without the database name). - - - - - - id - - - - The _id field of the object to which to link. - - - - - - database - - - - Database name. - - - - - - - - - &reftitle.returnvalues; - - Returns the reference. - - - - - &reftitle.examples; - - <function>MongoDBRef::create</function> example - - This creates a database reference to a document in the - addresses collection. The - MongoCollection::getName function returns the name of - the collection (not including the database name). - - -addresses; -$people = $db->people; - -// save $address so it has an _id -$addresses->insert($address); - -// create a reference -$ref = MongoDBRef::create($addresses->getName(), $address['_id']); - -// set the field in $person -$person['address'] = $ref; -$people->save($person); -?> -]]> - - - - - - &reftitle.seealso; - - - MongoDB::createDBRef - MongoCollection::createDBRef - - - - - - diff --git a/reference/mongo/mongodbref/get.xml b/reference/mongo/mongodbref/get.xml deleted file mode 100644 index 8e5b084c69..0000000000 --- a/reference/mongo/mongodbref/get.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - MongoDBRef::get - Fetches the object pointed to by a reference - - - - - &mongo.noalternative.class.note; - - The concept of database references, and hence this class, has been - deprecated. - - - - - - &reftitle.description; - - public static arrayMongoDBRef::get - MongoDBdb - arrayref - - - - - &reftitle.parameters; - - - - - db - - - - Database to use. - - - - - - ref - - - - Reference to fetch. - - - - - - - - - &reftitle.returnvalues; - - Returns the document to which the reference refers or &null; if the document - does not exist (the reference is broken). - - - - - &reftitle.examples; - - <function>MongoCollection::createDBRef</function> example - -findOne(); - -// dereference the address -$address = MongoDBRef::get($people->db, $person['address']); - -?> -]]> - - - - - - &reftitle.seealso; - - - MongoDB::getDBRef - MongoCollection::getDBRef - - - - - - diff --git a/reference/mongo/mongodbref/isref.xml b/reference/mongo/mongodbref/isref.xml deleted file mode 100644 index de82a82bb7..0000000000 --- a/reference/mongo/mongodbref/isref.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoDBRef::isRef - Checks if an array is a database reference - - - - - &mongo.noalternative.class.note; - - The concept of database references, and hence this class, has been - deprecated. - - - - - - &reftitle.description; - - public static boolMongoDBRef::isRef - mixedref - - - This method does not actually follow the reference, so it does not determine if it is - broken or not. It merely checks that ref is in valid - database reference format (in that it is an object or array with $ref and $id - fields). - - - - - &reftitle.parameters; - - - - - ref - - - - Array or object to check. - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - diff --git a/reference/mongo/mongodeletebatch.xml b/reference/mongo/mongodeletebatch.xml deleted file mode 100644 index 0603d348f3..0000000000 --- a/reference/mongo/mongodeletebatch.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - The MongoDeleteBatch class - MongoDeleteBatch - - - - -
- &reftitle.intro; - - Constructs a batch of DELETE operations. See MongoWriteBatch. - -
- - -
- &reftitle.classsynopsis; - - - - MongoDeleteBatch - - - - - MongoDeleteBatch - - - - extends - MongoWriteBatch - - - - - &Methods; - - - &InheritedMethods; - - - - - -
- -
- - &reference.mongo.entities.mongodeletebatch; - -
- - diff --git a/reference/mongo/mongodeletebatch/construct.xml b/reference/mongo/mongodeletebatch/construct.xml deleted file mode 100644 index fabddf4e5b..0000000000 --- a/reference/mongo/mongodeletebatch/construct.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - MongoDeleteBatch::__construct - Description - - - - &reftitle.description; - - public MongoDeleteBatch::__construct - MongoCollectioncollection - arraywrite_options - - - Constructs a batch of DELETE operations. See MongoWriteBatch. - - - - - - &reftitle.parameters; - - - collection - &mongo.mongowritebatch.collection.description; - - - write_options - &mongo.mongowritebatch.writeoptions.description; - - - - - - &reftitle.returnvalues; - - A new MongoDeleteBatch. - - - - - - - diff --git a/reference/mongo/mongoduplicatekeyexception.xml b/reference/mongo/mongoduplicatekeyexception.xml deleted file mode 100644 index 5d742f2e84..0000000000 --- a/reference/mongo/mongoduplicatekeyexception.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - The MongoDuplicateKeyException class - MongoDuplicateKeyException - - - - -
- &reftitle.intro; - - Thrown when attempting to insert a document into a collection which already contains the same values for the unique keys. - -
- - -
- &reftitle.classsynopsis; - - - - MongoDuplicateKeyException - - - - - MongoDuplicateKeyException - - - - extends - MongoWriteConcernException - - - - &InheritedProperties; - - - - &InheritedMethods; - - - - - -
- -
- &reftitle.examples; - - Catching MongoDuplicateKeyException - -selectCollection("test", "test"); - -$c->insert(array('_id' => 1)); -try { - $c->insert(array('_id' => 1)); -} catch (MongoWriteConcernException $e) { - echo $e->getMessage(), "\n"; -} -?> -]]> - - &examples.outputs.similar; - - - - -
- -
- -
- - diff --git a/reference/mongo/mongoexception.xml b/reference/mongo/mongoexception.xml deleted file mode 100644 index 1ae1c1920c..0000000000 --- a/reference/mongo/mongoexception.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - The MongoException class - MongoException - - - - -
- &reftitle.intro; - - Default Mongo exception. - - - - This covers a bunch of different error conditions that may eventually be - moved to more specific exceptions, but will always extend - MongoException. - - - - - - - The MongoSomething object has not been correctly initialized by its constructor - - - Code: 0 - - - Probably your Mongo object is not connected to a database server. - - - - - - zero-length keys are not allowed, did you use $ with double quotes? - - - Code: 1 - - - You tried to save "" as a key. You generally should not do this. "" can - mess up subobject access and is used by MongoDB internally. However, if - you really want, you can set - mongo.allow_empty_keys - to true in your php.ini file to override this sanity check. If you - override this, it is highly recommended that you set error checking to - strict to avoid string interpolation errors. - - - - - - '.' not allowed in key: <key> - - - Code: 2 - - - You attempted to write a key with '.' in it, which is prohibited. - - - - - - insert too large: <size>, max: <max> - - - Code: 3 - - - You're attempting to send too much data to the database at once: the - database will only accept inserts up to a certain size (currently 16 MB). - - - - - - no elements in doc - - - Code: 4 - - - You're attempting to save a document with no fields. - - - - - - size of BSON doc is <size> bytes, max <max>MB - - - Code: 5 - - - You're attempting to save a document that is larger than MongoDB can save. - - - - - - no documents given - - - Code: 6 - - - You're attempting to batch insert an empty array of documents. - - - - - - MongoCollection::group takes an array, object, or MongoCode key - - - Code: 7 - - - Wrong type parameter send to MongoCollection::group. - - - - - - field names must be strings - - - Code: 8 - - - You should format field selectors as - array("field1" => 1, "field2" => 1, ..., "fieldN" => 1). - - - - - - invalid regex - - - Code: 9 - - - The regex passed to MongoRegex is not of the - correct form. - - - - - - MongoDBRef::get: $ref field must be a string - - - Code: 10 - - - - - - MongoDBRef::get: $db field must be a string - - - Code: 11 - - - - - - non-utf8 string: <str> - - - Code: 12 - - - This error occurs if you attempt to send a non-utf8 string to the - database. All strings going into the database should be UTF8. See php.ini - options for the transition option of quieting this exception. - - - - - - mutex error: <err> - - - Code: 13 - - - The driver uses mutexes for synchronizing requests and responses in - multithreaded environments. This is a fairly serious error and may not - have a stack trace. It's unusual and should be reported to maintainers - with any system information and steps to reproduce that you can provide. - - - - - - index name too long: <len>, max <max> characters - - - Code: 14 - - - Indexes with names longer than 128 characters cannot be created. If you - get this error, you should use - MongoCollection::ensureIndex's "name" option to - create a shorter name for your index. - - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoException - - - - - MongoException - - - extends - Exception - - - - - - - -
- -
- -
- - diff --git a/reference/mongo/mongoexecutiontimeoutexception.xml b/reference/mongo/mongoexecutiontimeoutexception.xml deleted file mode 100644 index 0f73c9c7ed..0000000000 --- a/reference/mongo/mongoexecutiontimeoutexception.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - The MongoExecutionTimeoutException class - MongoExecutionTimeoutException - - - - -
- &reftitle.intro; - - Thrown when a operation times out server side (i.e. in MongoDB). - - - To configure the operation timeout threshold, use - MongoCursor::maxTimeMS or the - "maxTimeMS" command option. - -
- - -
- &reftitle.classsynopsis; - - - - MongoExecutionTimeoutException - - - - - MongoExecutionTimeoutException - - - - extends - MongoException - - - - &InheritedProperties; - - - - - -
- -
- -
- - diff --git a/reference/mongo/mongogridfs.xml b/reference/mongo/mongogridfs.xml deleted file mode 100644 index 1ad46ac9d7..0000000000 --- a/reference/mongo/mongogridfs.xml +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - The MongoGridFS class - MongoGridFS - - - - -
- &reftitle.intro; - - Utilities for storing and retrieving files from the database. - - - - GridFS is a storage specification all supported drivers implement. - Basically, it defines two collections: files, for file - metadata, and chunks, for file content. If the file is - large, it will automatically be split into smaller chunks and each chunk - will be saved as a document in the chunks collection. - - - - Each document in the files collection contains the filename, upload date, - and md5 hash. It also contains a unique _id field, which - can be used to query the chunks collection for the file's content. Each - document in the chunks collection contains a chunk of binary data, a - files_id field that matches its file's - _id, and the position of this chunk in the overall file. - - - - For example, the files document is something like: - - 123456789, "filename" => "foo.txt", "chunkSize" => 3, "length" => 12); -?> -]]> - - and the chunks documents look like: - - 123456789, "n" => 0, "data" => new MongoBinData("abc")); -array("files_id" => 123456789, "n" => 1, "data" => new MongoBinData("def")); -array("files_id" => 123456789, "n" => 2, "data" => new MongoBinData("ghi")); -array("files_id" => 123456789, "n" => 3, "data" => new MongoBinData("jkl")); -?> -]]> - - Of course, the default chunk size is thousands of bytes, but that makes an unwieldy example. - -
- -
- Inter-Language Compatibility - - You should be able to use any files created by MongoGridFS with any other - drivers, and vice versa. However, some drivers expect that all metadata - associated with a file be in a "metadata" field. If you're going to be - using other languages, it's a good idea to wrap info you might want them to - see in a "metadata" field. For example, instead of: - - -storeFile("somefile.txt", array("date" => new MongoDate())); - -?> -]]> - - - use something like: - - -storeFile("somefile.txt", array("metadata" => array("date" => new MongoDate()))); - -?> -]]> - -
- -
- The <classname>MongoGridFS</classname> Family - - - MongoGridFS represents the files and chunks - collections. MongoGridFS extends MongoCollection, - and an instance of MongoGridFS has access to all of - MongoCollection methods, which act on the files - collection: - - -getGridFS(); -$grid->update(array("filename" => "foo"), $newObj); // update on the files collection - -?> -]]> - - - - - - Another example of manipulating metadata: - - -storeFile("game.tgz"); -$game = $grid->findOne(); - -// add a downloads counter -$game->file['downloads'] = 0; -$grid->save($game->file); - -// increment the counter -$grid->update(array("_id" => $id), array('$inc' => array("downloads" => 1))); - -?> -]]> - - - - - - You can also access the chunks collection from an instance of - MongoGridFS: - - -chunks; // $chunks is a normal MongoCollection -$chunks->insert(array("x" => 4)); - -?> -]]> - - - - - There are some methods for MongoGridFS with the same - name as MongoCollection methods, that behave - slightly differently. For example, MongoGridFS::remove - will remove any objects that match the criteria from the files collection - and their content from the chunks collection. - - - - To store something new in GridFS, there are a couple options. If you have - a filename, you can say: - - -storeFile($filename, array("whatever" => "metadata", "you" => "want")); - -?> -]]> - - - - - - If you have a string of bytes that isn't a file, you can also store that - using MongoGridFS::storeBytes: - - -storeBytes($bytes, array("whatever" => "metadata", "you" => "want")); - -?> -]]> - - - - - - Querying a MongoGridFS collection returns a - MongoGridFSCursor, which behaves like a normal - MongoCursor except that it returns - MongoGridFSFiles instead of associative arrays. - - - - MongoGridFSFiles can be written back to disc using - MongoGridFSFile::write or retrieved in memory using - MongoGridFSFile::getBytes. There is currently no - method that automatically streams chunks, but it would be fairly easy to - write by querying the $grid->chunks collection. - - - - MongoGridFSFile objects contain a field file which - contains any file metadata. - -
- - -
- &reftitle.classsynopsis; - - - - MongoGridFS - - - - - extends - MongoCollection - - - - - Fields - - public - MongoCollection - chunks - &null; - - - protected - string - filesName - &null; - - - protected - string - chunksName - &null; - - - &Methods; - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on GridFS - LightCube Solutions blog post on saving user uploads - LightCube Solutions blog post on adding metadata to files - -
-
- - &reference.mongo.entities.mongogridfs; - -
- - diff --git a/reference/mongo/mongogridfs/construct.xml b/reference/mongo/mongogridfs/construct.xml deleted file mode 100644 index aae73b99c2..0000000000 --- a/reference/mongo/mongogridfs/construct.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - MongoGridFS::__construct - Creates new file collections - - - &reftitle.description; - - public MongoGridFS::__construct - MongoDBdb - stringprefix"fs" - mixedchunks"fs" - - - - Files as stored across two collections, the first containing file meta information, the - second containing chunks of the actual file. By default, fs.files and fs.chunks are the - collection names used. - - - Use one argument to specify a prefix other than "fs": - - uses myfiles.files and myfiles.chunks collections. - - - - - &reftitle.parameters; - - - - - db - - - - Database. - - - - - - files - - - - Optional collection name prefix. - - - - - - - - diff --git a/reference/mongo/mongogridfs/delete.xml b/reference/mongo/mongogridfs/delete.xml deleted file mode 100644 index 823f951169..0000000000 --- a/reference/mongo/mongogridfs/delete.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - MongoGridFS::delete - Remove a file and its chunks from the database - - - - &reftitle.description; - - public boolarrayMongoGridFS::delete - mixedid - - - - - MongoGridFS::delete is a convenience method for - calling MongoGridFS::remove with specific - criteria and default options - parameters. - - - - - - &reftitle.parameters; - - - - - id - - - - _id of the file to remove. - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the removal (with respect to the - files collection) if a - write concern is applied. - Otherwise, returns &true;. - - - Fields in the status array are described in the documentation for - MongoCollection::insert. - - - - - &reftitle.errors; - &mongo.errors.exceptions.writeconcern; - - - - diff --git a/reference/mongo/mongogridfs/drop.xml b/reference/mongo/mongogridfs/drop.xml deleted file mode 100644 index 1efc6a25d8..0000000000 --- a/reference/mongo/mongogridfs/drop.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - MongoGridFS::drop - Drops the files and chunks collections - - - - &reftitle.description; - - public arrayMongoGridFS::drop - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The database response. - - - - - diff --git a/reference/mongo/mongogridfs/find.xml b/reference/mongo/mongogridfs/find.xml deleted file mode 100644 index bf02a15518..0000000000 --- a/reference/mongo/mongogridfs/find.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - MongoGridFS::find - Queries for files - - - - &reftitle.description; - - public MongoGridFSCursorMongoGridFS::find - arrayqueryarray() - arrayfieldsarray() - - - - - &reftitle.parameters; - - - - - query - - - - The query. - - - - - - fields - - - - Fields to return. - - - - - - - - - &reftitle.returnvalues; - - A MongoGridFSCursor. - - - - - diff --git a/reference/mongo/mongogridfs/findone.xml b/reference/mongo/mongogridfs/findone.xml deleted file mode 100644 index be42ab5bc5..0000000000 --- a/reference/mongo/mongogridfs/findone.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - MongoGridFS::findOne - Returns a single file matching the criteria - - - - &reftitle.description; - - public MongoGridFSFileMongoGridFS::findOne - mixedqueryarray() - mixedfieldsarray() - - - - - &reftitle.parameters; - - - - - query - - - - The filename or criteria for which to search. - - - - - - - - - &reftitle.returnvalues; - - Returns a MongoGridFSFile or &null;. - - - - - &reftitle.examples; - - <methodname>MongoGridFS::findOne</methodname> example - - Example demonstrating how to find a single file from the MongoGridFS. - - -my_db->getGridFS('downloads'); - -$downloads->storeFile('filename.tgz'); - -$download = $downloads->findOne('filename.tgz'); // instance of MongoGridFSFile - -print_r($download); -?> -]]> - - - See MongoGridFSFile for more information about how to work with files. - - &example.outputs.similar; - - Array - ( - [_id] => MongoId Object - ( - ) - - [filename] => filename.tgz - [uploadDate] => MongoDate Object - ( - [sec] => 1274288014 - [usec] => 467000 - ) - - [chunkSize] => 262144 - [md5] => d41d8cd98f00b204e9800998ecf8427e - ) - - [gridfs:protected] => MongoGridFS Object - ( - [chunks] => MongoCollection Object - ( - ) - - [filesName:protected] => downloads.files - [chunksName:protected] => downloads.chunks - ) - -) -]]> - - - - - - diff --git a/reference/mongo/mongogridfs/get.xml b/reference/mongo/mongogridfs/get.xml deleted file mode 100644 index 0fd5ed3708..0000000000 --- a/reference/mongo/mongogridfs/get.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - MongoGridFS::get - Retrieve a file from the database - - - - &reftitle.description; - - public MongoGridFSFileMongoGridFS::get - mixedid - - - - - &reftitle.parameters; - - - - - id - - - - _id of the file to find. - - - - - - - - - &reftitle.returnvalues; - - Returns the file, if found, or &null;. - - - - - diff --git a/reference/mongo/mongogridfs/put.xml b/reference/mongo/mongogridfs/put.xml deleted file mode 100644 index bf44306fb0..0000000000 --- a/reference/mongo/mongogridfs/put.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - MongoGridFS::put - Stores a file in the database - - - - &reftitle.description; - - public mixedMongoGridFS::put - stringfilename - arraymetadataarray() - arrayoptionsarray() - - - - - MongoGridFS::put is an alias of MongoGridFS::storeFile. - - - - - - &reftitle.parameters; - - - - - filename - - - - Name of the file to store. - - - - - - metadata - - - - Other metadata fields to include in the file document. - - &mongo.gridfs.store.metadata.note; - - - - - options - - - - An array of options for the insert operations executed against the - chunks and files collections. See - MongoCollection::insert for documentation on these - these options. - - - - - - - - - &reftitle.returnvalues; - &mongo.gridfs.store.return; - - - - &reftitle.errors; - - Throws MongoGridFSException if there is an error - reading filename or inserting into the - chunks or files collections. - - - - - &reftitle.seealso; - - MongoGridFS::storeBytes - MongoGridFS::storeFile - MongoGridFS::storeUpload - MongoDB core docs on GridFS - - - - - diff --git a/reference/mongo/mongogridfs/remove.xml b/reference/mongo/mongogridfs/remove.xml deleted file mode 100644 index f3ab83edae..0000000000 --- a/reference/mongo/mongogridfs/remove.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - MongoGridFS::remove - Remove files and their chunks from the database - - - - &reftitle.description; - - public boolarrayMongoGridFS::remove - arraycriteriaarray() - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - criteria - - - - The filename or criteria for which to search. - - - - - - options - - - - An array of options for the remove operations executed against the - chunks and files collections. See - MongoCollection::remove for documentation on these - options. - - - - - - - - - &reftitle.returnvalues; - - Returns an array containing the status of the removal (with respect to the - files collection) if the "w" option is - set. Otherwise, returns &true;. - - - Fields in the status array are described in the documentation for - MongoCollection::insert. - - - - - &reftitle.errors; - &mongo.errors.exceptions.writeconcern; - - - - diff --git a/reference/mongo/mongogridfs/storebytes.xml b/reference/mongo/mongogridfs/storebytes.xml deleted file mode 100644 index 08d87dc9b1..0000000000 --- a/reference/mongo/mongogridfs/storebytes.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - MongoGridFS::storeBytes - Stores a string of bytes in the database - - - - &reftitle.description; - - public mixedMongoGridFS::storeBytes - stringbytes - arraymetadataarray() - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - bytes - - - - String of bytes to store. - - - - - - metadata - - - - Other metadata fields to include in the file document. - - &mongo.gridfs.store.metadata.note; - - - - - options - - - - An array of options for the insert operations executed against the - chunks and files collections. See - MongoCollection::insert for documentation on these - these options. - - - - - - - - - &reftitle.returnvalues; - &mongo.gridfs.store.return; - - - - &reftitle.errors; - - Throws MongoGridFSException if there is an error - inserting into the chunks or files - collections. - - - - - &reftitle.examples; - - <function>MongoGridFS::storeBytes</function> with additional metadata - -selectDB('test')->getGridFS(); - -$bytes = 'abcdefghijklmnopqrstuvwxyz'; -$id = $gridfs->storeBytes($bytes, array('_id' => 'alphabet')); -$gridfsFile = $gridfs->get($id); - -var_dump($gridfsFile->file); -?> -]]> - - &example.outputs.similar; - - - string(8) "alphabet" - ["uploadDate"]=> - object(MongoDate)#7 (0) { - } - ["length"]=> - int(26) - ["chunkSize"]=> - int(262144) - ["md5"]=> - string(32) "c3fcd3d76192e4007dfb496cca67e13b" -} -]]> - - - - - - &reftitle.seealso; - - MongoGridFS::put - MongoGridFS::storeFile - MongoGridFS::storeUpload - MongoDB core docs on GridFS - - - - - diff --git a/reference/mongo/mongogridfs/storefile.xml b/reference/mongo/mongogridfs/storefile.xml deleted file mode 100644 index f8c2b99e21..0000000000 --- a/reference/mongo/mongogridfs/storefile.xml +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - MongoGridFS::storeFile - Stores a file in the database - - - - &reftitle.description; - - public mixedMongoGridFS::storeFile - stringresourcefilename - arraymetadataarray() - arrayoptionsarray() - - - - - &reftitle.parameters; - - - - - filename - - - - Name of the file or a readable stream to store. - - - - - - metadata - - - - Other metadata fields to include in the file document. - - &mongo.gridfs.store.metadata.note; - - - - - options - - - - An array of options for the insert operations executed against the - chunks and files collections. See - MongoCollection::insert for documentation on these - these options. - - - - - - - - - &reftitle.returnvalues; - &mongo.gridfs.store.return; - - - - &reftitle.errors; - - Throws MongoGridFSException if there is an error - reading filename or inserting into the - chunks or files collections. - - - - - &reftitle.examples; - - <function>MongoGridFS::storeFile</function> with additional metadata - -selectDB('test')->getGridFS(); - -$id = $gridfs->storeFile('example.txt', array('contentType' => 'plain/text')); -$gridfsFile = $gridfs->get($id); - -var_dump($gridfsFile->file); -?> -]]> - - &example.outputs.similar; - - - object(MongoId)#6 (0) { - } - ["contentType"]=> - string(10) "plain/text" - ["filename"]=> - string(11) "example.txt" - ["uploadDate"]=> - object(MongoDate)#7 (0) { - } - ["length"]=> - int(26) - ["chunkSize"]=> - int(262144) - ["md5"]=> - string(32) "c3fcd3d76192e4007dfb496cca67e13b" -} -]]> - - - - - - &reftitle.seealso; - - MongoGridFS::put - MongoGridFS::storeBytes - MongoGridFS::storeUpload - MongoDB core docs on GridFS - - - - - diff --git a/reference/mongo/mongogridfs/storeupload.xml b/reference/mongo/mongogridfs/storeupload.xml deleted file mode 100644 index ac9c141f35..0000000000 --- a/reference/mongo/mongogridfs/storeupload.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - MongoGridFS::storeUpload - Stores an uploaded file in the database - - - - &reftitle.description; - - public mixedMongoGridFS::storeUpload - stringname - arraymetadata - - - - - &reftitle.parameters; - - - - - name - - - - The name of the uploaded file(s) to store. This should correspond to the - file field's name attribute in the HTML form. - - - - - - metadata - - - - Other metadata fields to include in the file document. - - &mongo.gridfs.store.metadata.note; - - - The filename field will be populated with the - client's filename (e.g. $_FILES['foo']['name']). - - - - - - - - - - &reftitle.returnvalues; - &mongo.gridfs.store.return; - - - If multiple files are uploaded - using the same field name, this method will not return anything; - however, the files themselves will still be processed. - - - - - - &reftitle.errors; - - Throws MongoGridFSException if there is an error - reading the uploaded file(s) or inserting into the chunks - or files collections. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.5 - - Changed second parameter to an array of metadata. Pre-1.2.5, the - second parameter was an optional string overriding the filename. - - - - - - - - - - &reftitle.examples; - - <function>MongoGridFS::storeUpload</function> HTML form example - - Suppose you have the following HTML form: - - - - - - - - - - - -]]> - - - If you wanted to store the uploaded image in MongoDB, you could do the - following in the script handling the form submission: - - -selectDB('test')->getGridFS(); - -$gridfs->storeUpload('pic', array('username' => $_POST['username'])); -?> -]]> - - - - - - &reftitle.seealso; - - MongoGridFS::put - MongoGridFS::storeBytes - MongoGridFS::storeFile - MongoDB core docs on GridFS - - - - - diff --git a/reference/mongo/mongogridfscursor.xml b/reference/mongo/mongogridfscursor.xml deleted file mode 100644 index 0d042738f6..0000000000 --- a/reference/mongo/mongogridfscursor.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - The MongoGridFSCursor class - MongoGridFSCursor - - - - -
- &reftitle.intro; - - Cursor for database file results. - -
- - -
- &reftitle.classsynopsis; - - - - MongoGridFSCursor - - - - - extends - MongoCursor - - - - - Fields - - protected - MongoGridFS - gridfs - &null; - - - &Methods; - - - - -
- -
- - &reference.mongo.entities.mongogridfscursor; - -
- - diff --git a/reference/mongo/mongogridfscursor/construct.xml b/reference/mongo/mongogridfscursor/construct.xml deleted file mode 100644 index e76df22af6..0000000000 --- a/reference/mongo/mongogridfscursor/construct.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - MongoGridFSCursor::__construct - Create a new cursor - - - - &reftitle.description; - - public MongoGridFSCursor::__construct - MongoGridFSgridfs - resourceconnection - stringns - arrayquery - arrayfields - - - - - &reftitle.parameters; - - - - - gridfs - - - - Related GridFS collection. - - - - - - connection - - - - Database connection. - - - - - - ns - - - - Full name of database and collection. - - - - - - query - - - - Database query. - - - - - - fields - - - - Fields to return. - - - - - - - - - &reftitle.returnvalues; - - Returns the new cursor. - - - - - diff --git a/reference/mongo/mongogridfscursor/current.xml b/reference/mongo/mongogridfscursor/current.xml deleted file mode 100644 index 42a3dfd072..0000000000 --- a/reference/mongo/mongogridfscursor/current.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - MongoGridFSCursor::current - Returns the current file - - - - &reftitle.description; - - public MongoGridFSFileMongoGridFSCursor::current - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current file. - - - - diff --git a/reference/mongo/mongogridfscursor/getnext.xml b/reference/mongo/mongogridfscursor/getnext.xml deleted file mode 100644 index fb143feca1..0000000000 --- a/reference/mongo/mongogridfscursor/getnext.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - MongoGridFSCursor::getNext - Return the next file to which this cursor points, and advance the cursor - - - - &reftitle.description; - - public MongoGridFSFileMongoGridFSCursor::getNext - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the next file. - - - - diff --git a/reference/mongo/mongogridfscursor/key.xml b/reference/mongo/mongogridfscursor/key.xml deleted file mode 100644 index cd771497e0..0000000000 --- a/reference/mongo/mongogridfscursor/key.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - MongoGridFSCursor::key - Returns the current result's filename - - - - &reftitle.description; - - public stringMongoGridFSCursor::key - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The current result's _id as a string. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.0 - - The document's _id is returned as a string value, - since the key should be unique. Pre-1.3.0, filename - was returned. - - - - - - - - - - diff --git a/reference/mongo/mongogridfsexception.xml b/reference/mongo/mongogridfsexception.xml deleted file mode 100644 index 5e98736c1c..0000000000 --- a/reference/mongo/mongogridfsexception.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - The MongoGridFSException class - MongoGridFSException - - - - -
- &reftitle.intro; - - Thrown when there are errors reading or writing files - to or from the database. - -
- - -
- &reftitle.classsynopsis; - - - - MongoGridFSException - - - - - MongoGridFSException - - - extends - MongoException - - - - - - - -
- -
- Error codes - - - <classname>MongoGridFSException</classname> error codes - - - - Code - Message - Reason - - - - - 3 - Could not open file $filename - Attempting to store an invalid file, such as directory - - - 4 - File $filename is too large: $filesize bytes - Maximum filesize in GridFS is 4GB - - - 5 - could not find filehandle - Resource doesn't have a filehandle - - - 6 - no file is associate with this filehandle - Resource isn't a file resource - - - 7 - error setting up file: $filenames - Could not open file for reading - - - 9 - error reading file $filenames - Failed reading file - - - 10 - error reading filehandle - Failed reading from a resource - - - 11 - could not find uploaded file %s - Filename doesn't seem to be uploaded file - - - 12 - Couldn't find tmp_name in the $_FILES array. Are you sure the upload worked? - Uploaded filename probably failed - - - 13 - tmp_name was not a string or an array - Invalid filename given - - - 14 - couldn't find file size - The length property is missing - - - 15 - Cannot find filename - No filename provided, and no filename property set - - - 16 - could not open destination file %s - Destination filename not writable - - - 17 - error reading chunk of file - Chunk corruption - - - 18 - couldn't create a php_stream - Couldn't create a stream resource - - - 19 - couldn't find property - Chunk corruption - - - 20 - chunk number has wrong size (size) when the max is maxchunksize - Chunk larger then expected - - - 21 - chunk has wrong format - Chunk corruption - - - -
-
-
- -
- -
- - diff --git a/reference/mongo/mongogridfsfile.xml b/reference/mongo/mongogridfsfile.xml deleted file mode 100644 index 76c6671656..0000000000 --- a/reference/mongo/mongogridfsfile.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - The MongoGridFSFile class - MongoGridFSFile - - - - -
- &reftitle.intro; - - A database file object. - -
- - -
- &reftitle.classsynopsis; - - - - MongoGridFSFile - - - - - MongoGridFSFile - - - - - Fields - - public - array - file - &null; - - - protected - MongoGridFS - gridfs - &null; - - - &Methods; - - - - -
- -
- - &reference.mongo.entities.mongogridfsfile; - -
- - diff --git a/reference/mongo/mongogridfsfile/construct.xml b/reference/mongo/mongogridfsfile/construct.xml deleted file mode 100644 index 2aa25ef7ff..0000000000 --- a/reference/mongo/mongogridfsfile/construct.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - MongoGridfsFile::__construct - Create a new GridFS file - - - &reftitle.description; - - public MongoGridfsFile::__construct - MongoGridFSgridfs - arrayfile - - - - - &reftitle.parameters; - - - - - gridfs - - - - The parent MongoGridFS instance. - - - - - - file - - - - A file from the database. - - - - - - - - - &reftitle.returnvalues; - - Returns a new MongoGridFSFile. - - - - diff --git a/reference/mongo/mongogridfsfile/getbytes.xml b/reference/mongo/mongogridfsfile/getbytes.xml deleted file mode 100644 index c7d60e7c1c..0000000000 --- a/reference/mongo/mongogridfsfile/getbytes.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - MongoGridFSFile::getBytes - Returns this file's contents as a string of bytes - - - - &reftitle.description; - - public stringMongoGridFSFile::getBytes - - - - Warning: this will load the file into memory. If the file is bigger than - your memory, this will cause problems! - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns a string of the bytes in the file. - - - - - &reftitle.examples; - - <methodname>MongoGridFSFile::getBytes</methodname> example - -my_db->getGridFS('images'); - -$image = $images->findOne('jwage.png'); - -header('Content-type: image/png;'); -echo $image->getBytes(); -?> -]]> - - - - - - diff --git a/reference/mongo/mongogridfsfile/getfilename.xml b/reference/mongo/mongogridfsfile/getfilename.xml deleted file mode 100644 index aabb9a7e6a..0000000000 --- a/reference/mongo/mongogridfsfile/getfilename.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - MongoGridFSFile::getFilename - Returns this file's filename - - - &reftitle.description; - - public stringMongoGridFSFile::getFilename - - - - - &reftitle.parameters; - &no.function.parameters; - - - &reftitle.returnvalues; - - Returns the filename. - - - - diff --git a/reference/mongo/mongogridfsfile/getresource.xml b/reference/mongo/mongogridfsfile/getresource.xml deleted file mode 100644 index 03fc84d992..0000000000 --- a/reference/mongo/mongogridfsfile/getresource.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - MongoGridFSFile::getResource - Returns a resource that can be used to read the stored file - - - - &reftitle.description; - - public resourceMongoGridFSFile::getResource - - - - This method returns a stream resource that can be used with all file - functions in PHP that deal with reading files. The contents of the file are - pulled out of MongoDB on the fly, so that the whole file does not have to - be loaded into memory first. - - - At most two GridFSFile chunks will be loaded in memory. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns a resource that can be used to read the file with - - - - - &reftitle.examples; - - <methodname>MongoGridFSFile::getResource</methodname> example - -my_db->getGridFS('images'); - -$image = $images->findOne('mongo.png'); - -header('Content-type: image/png;'); -$stream = $image->getResource(); - -while (!feof($stream)) { - echo fread($stream, 8192); -} -?> -]]> - - - - - - diff --git a/reference/mongo/mongogridfsfile/getsize.xml b/reference/mongo/mongogridfsfile/getsize.xml deleted file mode 100644 index eeeb93c87a..0000000000 --- a/reference/mongo/mongogridfsfile/getsize.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - MongoGridFSFile::getSize - Returns this file's size - - - &reftitle.description; - - public intMongoGridFSFile::getSize - - - - - &reftitle.parameters; - &no.function.parameters; - - - &reftitle.returnvalues; - - Returns this file's size - - - - diff --git a/reference/mongo/mongogridfsfile/write.xml b/reference/mongo/mongogridfsfile/write.xml deleted file mode 100644 index 59a78fff90..0000000000 --- a/reference/mongo/mongogridfsfile/write.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoGridFSFile::write - Writes this file to the filesystem - - - &reftitle.description; - - public intMongoGridFSFile::write - stringfilename&null; - - - - &reftitle.parameters; - - - - - filename - - - - The location to which to write the file. If none is given, - the stored filename will be used. - - - - - - - - &reftitle.returnvalues; - - Returns the number of bytes written. - - - - - &reftitle.examples; - - <methodname>MongoGridFSFile::write</methodname> example - -my_db->getGridFS('images'); - -$image = $images->findOne('jwage.png'); -$image->write('/path/to/write/jwage.png'); -?> -]]> - - - - - diff --git a/reference/mongo/mongoid.xml b/reference/mongo/mongoid.xml deleted file mode 100644 index 543edee787..0000000000 --- a/reference/mongo/mongoid.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - The MongoId class - MongoId - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\ObjectId - - - - -
- &reftitle.intro; - - A unique identifier created for database objects. If an object is inserted - into the database without an _id field, an _id field will be added to it - with a MongoId instance as its value. If the data - has a naturally occurring unique field (e.g. username or timestamp) it is - fine to use this as the _id field instead, and it will not be replaced with - a MongoId. - - - Instances of the MongoId class fulfill the role that - autoincrementing does in a relational database: to provide a unique key if - the data does not naturally have one. Autoincrementing does not work well - with a sharded database, as it is difficult to determine the next number in - the sequence. This class fulfills the constraints of quickly generating a - value that is unique across shards. - - - Each MongoId is 12 bytes (making its string form 24 hexadecimal characters). - The first four bytes are a timestamp, the next three are a hash of the - client machine's hostname, the next two are the two least significant bytes - of the process id running the script, and the last three bytes are an - incrementing value. - - - MongoIds are serializable/unserializable. Their - serialized form is similar to their string form: - - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoId - - - - - MongoId - - - - - - public - string - $id - &null; - - - &Methods; - - - - -
- -
- Fields - - - $id - - - This field contains the string representation of this object. - - - - The property name begins with a $ character. It may - be accessed using - complex variable - parsed syntax (e.g. $mongoId->{'$id'}). - - - - - -
- -
- &reftitle.seealso; - - MongoDB core docs on ObjectIds. - -
-
- - &reference.mongo.entities.mongoid; - -
- - diff --git a/reference/mongo/mongoid/construct.xml b/reference/mongo/mongoid/construct.xml deleted file mode 100644 index 20119df51b..0000000000 --- a/reference/mongo/mongoid/construct.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - MongoId::__construct - Creates a new id - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\ObjectId::__construct - - - - - - &reftitle.description; - - public MongoId::__construct - stringMongoIdid&null; - - - - - &reftitle.parameters; - - - - - id - - - - A string (must be 24 hexadecimal characters) or a - MongoId instance. - - - - - - - - - &reftitle.returnvalues; - - Returns a new id. - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL mongo 1.4.0 - - An exception is thrown when passed invalid string - - - - - - - - - &reftitle.examples; - - <function>MongoId::__construct</function> example - - This example shows how to create a new id. This is seldom necessary, as the - driver adds an id to arrays automatically before storing them in the - database. - - - -]]> - - &example.outputs.similar; - - - - - - Parameter example - This example shows how to use a string parameter to initialize a MongoId with a given value. - - -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.seealso; - - - MongoId::__toString - MongoId::isvalid - - - - - - diff --git a/reference/mongo/mongoid/gethostname.xml b/reference/mongo/mongoid/gethostname.xml deleted file mode 100644 index 9ed00fac61..0000000000 --- a/reference/mongo/mongoid/gethostname.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - MongoId::getHostname - Gets the hostname being used for this machine's ids - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public static stringMongoId::getHostname - - - - This returns the hostname MongoId is using to - generate unique ids. This should be the same value - gethostname returns. - - - It is identical to the function: - - - -]]> - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the hostname. - - - - - diff --git a/reference/mongo/mongoid/getinc.xml b/reference/mongo/mongoid/getinc.xml deleted file mode 100644 index e3d2a2472e..0000000000 --- a/reference/mongo/mongoid/getinc.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoId::getInc - Gets the incremented value to create this id - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public intMongoId::getInc - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the incremented value used to create this MongoId. - - - - - diff --git a/reference/mongo/mongoid/getpid.xml b/reference/mongo/mongoid/getpid.xml deleted file mode 100644 index 295ccd1010..0000000000 --- a/reference/mongo/mongoid/getpid.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - MongoId::getPID - Gets the process ID - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public intMongoId::getPID - - - - Extracts the pid from the Mongo ID - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the PID of the MongoId. - - - - - diff --git a/reference/mongo/mongoid/gettimestamp.xml b/reference/mongo/mongoid/gettimestamp.xml deleted file mode 100644 index 1c2f55345b..0000000000 --- a/reference/mongo/mongoid/gettimestamp.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - MongoId::getTimestamp - Gets the number of seconds since the epoch that this id was created - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public intMongoId::getTimestamp - - - - This returns the same thing as running time when the id is created. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the number of seconds since the epoch that this id was created. There are only - four bytes of timestamp stored, so MongoDate is a better choice - for storing exact or wide-ranging times. - - - - - diff --git a/reference/mongo/mongoid/isvalid.xml b/reference/mongo/mongoid/isvalid.xml deleted file mode 100644 index 800831b627..0000000000 --- a/reference/mongo/mongoid/isvalid.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - MongoId::isValid - Check if a value is a valid ObjectId - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public static boolMongoId::isValid - mixedvalue - - - This method may be used to check a variable before passing it as an argument - to MongoId::__construct. - - - - - &reftitle.parameters; - - - - - value - - - - The value to check for validity. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; if value is a - MongoId instance or a string consisting of exactly 24 - hexadecimal characters; otherwise, &false; is returned. - - - - - diff --git a/reference/mongo/mongoid/set-state.xml b/reference/mongo/mongoid/set-state.xml deleted file mode 100644 index 9aa7adc673..0000000000 --- a/reference/mongo/mongoid/set-state.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - MongoId::__set_state - Create a dummy MongoId - - - - - &mongo.noalternative.method.note; - - - - - &reftitle.description; - - public static MongoIdMongoId::__set_state - arrayprops - - - This function is only used by PHP internally, it shouldn't need to ever be - called by the user. - - - It is identical to the function: - - - -]]> - - - - - &reftitle.parameters; - - - - - props - - - - Theoretically, an array of properties used to create the new id. - However, as MongoId instances have no properties, this is not used. - - - - - - - - - &reftitle.returnvalues; - - A new id with the value "000000000000000000000000". - - - - - diff --git a/reference/mongo/mongoid/tostring.xml b/reference/mongo/mongoid/tostring.xml deleted file mode 100644 index 8586167c43..0000000000 --- a/reference/mongo/mongoid/tostring.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - MongoId::__toString - Returns a hexidecimal representation of this id - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\ObjectId::__toString - - - - - - &reftitle.description; - - public stringMongoId::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This id. - - - - - &reftitle.examples; - - <function>MongoId::__toString</function> example - -selectDB("foo")->selectCollection("bar"); - -$collection->insert(array( "x" => "y" )); -$collection->insert(array( "x" => "y" )); - -$cursor = $collection->find(); -$r1 = $cursor->next(); -$r2 = $cursor->next(); - -echo $r1["_id"] . "\n"; -echo $r2["_id"] . "\n"; - -?> -]]> - - &example.outputs.similar; - - - - - - - - diff --git a/reference/mongo/mongoinsertbatch.xml b/reference/mongo/mongoinsertbatch.xml deleted file mode 100644 index 80f43e4bfa..0000000000 --- a/reference/mongo/mongoinsertbatch.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - The MongoInsertBatch class - MongoInsertBatch - - - - -
- &reftitle.intro; - - Constructs a batch of INSERT operations. See MongoWriteBatch. - -
- - -
- &reftitle.classsynopsis; - - - - MongoInsertBatch - - - - - MongoInsertBatch - - - - extends - MongoWriteBatch - - - - - &Methods; - - - &InheritedMethods; - - - - - -
- -
- - &reference.mongo.entities.mongoinsertbatch; - -
- - diff --git a/reference/mongo/mongoinsertbatch/construct.xml b/reference/mongo/mongoinsertbatch/construct.xml deleted file mode 100644 index 589879c7e7..0000000000 --- a/reference/mongo/mongoinsertbatch/construct.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - MongoInsertBatch::__construct - Description - - - - &reftitle.description; - - public MongoInsertBatch::__construct - MongoCollectioncollection - arraywrite_options - - - Constructs a batch of INSERT operations. See MongoWriteBatch. - - - - - - &reftitle.parameters; - - - collection - &mongo.mongowritebatch.collection.description; - - - write_options - &mongo.mongowritebatch.writeoptions.description; - - - - - - &reftitle.returnvalues; - - A new MongoInsertBatch. - - - - - - - diff --git a/reference/mongo/mongoint32.xml b/reference/mongo/mongoint32.xml deleted file mode 100644 index 59c48ee2e0..0000000000 --- a/reference/mongo/mongoint32.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - The MongoInt32 class - MongoInt32 - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - -
- &reftitle.intro; - - The class can be used to save 32-bit integers to the database on a 64-bit - system. - -
- - -
- &reftitle.classsynopsis; - - - - MongoInt32 - - - - - MongoInt32 - - - - - Fields - - public - string - value - - - &Methods; - - - - -
- -
- Fields - - - value - - - This is the string value of the 32-bit number. For instance, 123's value - would be "123". - - - - -
- -
- - &reference.mongo.entities.mongoint32; - -
- - diff --git a/reference/mongo/mongoint32/construct.xml b/reference/mongo/mongoint32/construct.xml deleted file mode 100644 index 51ae05859d..0000000000 --- a/reference/mongo/mongoint32/construct.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoInt32::__construct - Creates a new 32-bit integer - - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - - - &reftitle.description; - - public MongoInt32::__construct - stringvalue - - - Creates a new 32-bit number with the given value. - - - - - &reftitle.parameters; - - - - - value - - - - A number. - - - - - - - - - &reftitle.returnvalues; - - Returns a new integer. - - - - - - diff --git a/reference/mongo/mongoint32/tostring.xml b/reference/mongo/mongoint32/tostring.xml deleted file mode 100644 index 80526e7803..0000000000 --- a/reference/mongo/mongoint32/tostring.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - MongoInt32::__toString - Returns the string representation of this 32-bit integer - - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - - - &reftitle.description; - - public stringMongoInt32::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the string representation of this integer. - - - - - - diff --git a/reference/mongo/mongoint64.xml b/reference/mongo/mongoint64.xml deleted file mode 100644 index 33a1cb38fa..0000000000 --- a/reference/mongo/mongoint64.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - The MongoInt64 class - MongoInt64 - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - -
- &reftitle.intro; - - The class can be used to save 64-bit integers to the database on a 32-bit - system. - -
- - -
- &reftitle.classsynopsis; - - - - MongoInt64 - - - - - MongoInt64 - - - - - Fields - - public - string - value - - - &Methods; - - - - -
- -
- Fields - - - value - - - This is the string value of the 64-bit number. For instance, 123's value - would be "123". - - - - -
- -
- - &reference.mongo.entities.mongoint64; - -
- - diff --git a/reference/mongo/mongoint64/construct.xml b/reference/mongo/mongoint64/construct.xml deleted file mode 100644 index ab6b217be2..0000000000 --- a/reference/mongo/mongoint64/construct.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - MongoInt64::__construct - Creates a new 64-bit integer - - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - - - &reftitle.description; - - public MongoInt64::__construct - stringvalue - - - Creates a new 64-bit number with the given value. - - - - - &reftitle.parameters; - - - - - value - - - - A number. - - - - - - - - - &reftitle.returnvalues; - - Returns a new integer. - - - - - - diff --git a/reference/mongo/mongoint64/tostring.xml b/reference/mongo/mongoint64/tostring.xml deleted file mode 100644 index 6d9f46a34e..0000000000 --- a/reference/mongo/mongoint64/tostring.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - MongoInt64::__toString - Returns the string representation of this 64-bit integer - - - - - &mongo.noalternative.class.note; - - Instead, the new extension chooses the appropriate database type depending - on the integer's value. - - - - - - &reftitle.description; - - public stringMongoInt64::__toString - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the string representation of this integer. - - - - - - diff --git a/reference/mongo/mongolog.xml b/reference/mongo/mongolog.xml deleted file mode 100644 index f3fca9c7fb..0000000000 --- a/reference/mongo/mongolog.xml +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - The MongoLog class - MongoLog - - - - -
- &reftitle.intro; - - Logging can be used to get detailed information about what the driver is - doing. Logging is disabled by default, but this class allows you to activate - specific levels of logging for various parts of the driver. Some examples: - - - -]]> - - - - By default, MongoLog emits all log messages as PHP notices. Depending - on the SAPI you use, messages may be sent to - stderr (for CLI) or the web server's - error log. If, after configuring MongoLog, log messages are not appearing - as expected, ensure that the E_NOTICE bit is included - in error_reporting and that - display_errors is on. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoLog - - - - - MongoLog - - - - - &Constants; - - const - int - MongoLog::NONE - 0 - - - const - int - MongoLog::ALL - 31 - - - level constants - - const - int - MongoLog::WARNING - 1 - - - const - int - MongoLog::INFO - 2 - - - const - int - MongoLog::FINE - 4 - - - module constants - - const - int - MongoLog::RS - 1 - - - const - int - MongoLog::POOL - 1 - - - const - int - MongoLog::CON - 2 - - - const - int - MongoLog::IO - 4 - - - const - int - MongoLog::SERVER - 8 - - - const - int - MongoLog::PARSE - 16 - - - Fields - - private - static - int - callback - - - private - static - int - level - - - private - static - int - module - - - &Methods; - - - - -
- -
- &reftitle.constants; -
- MongoLog Constants - - These constants can be used by both - MongoLog::setLevel and - MongoLog::setModule. - - - - - MongoLog::NONE - - - Log nothing. - - - - - MongoLog::ALL - - - Log everything. - - - - -
- -
- MongoLog Level Constants - - These constants can be used by MongoLog::setLevel. - - - - MongoLog::WARNING - - - Log events that are somewhat exceptional, but not quite worthy of an - actual exception (e.g. recoverable connection errors). - - - - - MongoLog::INFO - - - Log events that may be of interest to administrators, but are not - particularly noteworthy (e.g. option parsing, authentication steps). - - - - - MongoLog::FINE - - - Log most events that the driver performs (e.g. server selection, socket - communication). Depending on the module being logged, this can be - extremely noisy and is primarily useful for debugging. - - - - -
- -
- MongoLog Module Constants - - These constants can be used by MongoLog::setModule. - - - - MongoLog::CON - - - Log connection activity. Creating new connections, authentication, - pinging, timeouts, etc. - - - - - MongoLog::IO - - - Log traffic to/from the database. Unless your program is trivial, this - will create an enormous number of log messages. - - - - - MongoLog::PARSE - - - Log parsing of the connection string and options when constructing - MongoClient. - - - - - MongoLog::POOL - - - Previously used to log connection pool activity. This option is now a - deprecated alias of MongoLog::RS. - - - - - MongoLog::RS - - - Log replica set activity. Failovers, read preference selection, etc. - - - - - MongoLog::SERVER - - - Previously used to log server status changes. This option is deprecated - in favor of MongoLog::RS. - - - - -
-
- -
- &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.0 - - Added MongoLog::CON and deprecated - MongoLog::POOL and - MongoLog::SERVER. - - - - - - -
- -
- - &reference.mongo.entities.mongolog; - -
- - diff --git a/reference/mongo/mongolog/getcallback.xml b/reference/mongo/mongolog/getcallback.xml deleted file mode 100644 index 2f937691b0..0000000000 --- a/reference/mongo/mongolog/getcallback.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - MongoLog::getCallback - Gets the previously set callback function - - - - &reftitle.description; - - public static callableMongoLog::getCallback - - - - Retrieves the callback function. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the callback function, or &false; if not set yet. - - - - - &reftitle.notes; - - - This function is only available with PHP 5.3.0 and later. - - - - - - - diff --git a/reference/mongo/mongolog/getlevel.xml b/reference/mongo/mongolog/getlevel.xml deleted file mode 100644 index 58ff883188..0000000000 --- a/reference/mongo/mongolog/getlevel.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoLog::getLevel - Gets the level(s) currently being logged - - - - &reftitle.description; - - public static intMongoLog::getLevel - - - - This function can be used to see which log levels are currently enabled. - The returned integer may be compared with the - MongoLog level constants - using bitwise operators to check for specific log levels. - - - -]]> - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the level(s) currently being logged. - - - - - - diff --git a/reference/mongo/mongolog/getmodule.xml b/reference/mongo/mongolog/getmodule.xml deleted file mode 100644 index 03038091ab..0000000000 --- a/reference/mongo/mongolog/getmodule.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MongoLog::getModule - Gets the module(s) currently being logged - - - - &reftitle.description; - - public static intMongoLog::getModule - - - - This function can be used to see which driver modules are currently being - logged. The returned integer may be compared with the - MongoLog module constants - using bitwise operators to check if specific modules are being logged. - - - -]]> - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the module(s) currently being logged. - - - - - - diff --git a/reference/mongo/mongolog/setcallback.xml b/reference/mongo/mongolog/setcallback.xml deleted file mode 100644 index 62077cfbd6..0000000000 --- a/reference/mongo/mongolog/setcallback.xml +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - MongoLog::setCallback - Sets a callback function to be invoked for events - - - - &reftitle.description; - - public static voidMongoLog::setCallback - callablelog_function - - - This function will set a callback function to be invoked for events in lieu - of emitting of PHP notice. - - - - - &reftitle.parameters; - - - - log_function - - - The callback function to be invoked on events. It should have the following prototype: - - - - log_function - intmodule - intlevel - stringmessage - - - - module - - - One of the MongoLog - module constants. - - - - - level - - - One of the MongoLog - level constants. - - - - - message - - - The log message itself. - - - - - - - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - <methodname>MongoLog::setCallback</methodname> example - - -]]> - - &example.outputs.similar; - - - - - - - - &reftitle.notes; - - - This function is only available with PHP 5.3.0 and later. - - - - - - - - diff --git a/reference/mongo/mongolog/setlevel.xml b/reference/mongo/mongolog/setlevel.xml deleted file mode 100644 index b39a305480..0000000000 --- a/reference/mongo/mongolog/setlevel.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - MongoLog::setLevel - Sets the level(s) to be logged - - - - &reftitle.description; - - public static voidMongoLog::setLevel - intlevel - - - This function can be used to control logging verbosity and the types of - activities that should be logged. The - MongoLog level constants - may be used with bitwise operators to specify multiple levels. - - - -]]> - - - Note that you must also call MongoLog::setModule to - specify which modules(s) of the driver should log. - - - - - &reftitle.parameters; - - - - - level - - - - The level(s) you would like to log. - - - - - - - - - diff --git a/reference/mongo/mongolog/setmodule.xml b/reference/mongo/mongolog/setmodule.xml deleted file mode 100644 index 7c687ac5fa..0000000000 --- a/reference/mongo/mongolog/setmodule.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - MongoLog::setModule - Sets the module(s) to be logged - - - - &reftitle.description; - - public static voidMongoLog::setModule - intmodule - - - This function can be used to set which driver modules should be logged. The - MongoLog module constants - may be used with bitwise operators to specify multiple modules. - - - -]]> - - - Note that you must also call MongoLog::setLevel to - enable logging. - - - - - &reftitle.parameters; - - - - - module - - - - The module(s) you would like to log. - - - - - - - - - diff --git a/reference/mongo/mongomaxkey.xml b/reference/mongo/mongomaxkey.xml deleted file mode 100644 index 3ec42afbf1..0000000000 --- a/reference/mongo/mongomaxkey.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - The MongoMaxKey class - MongoMaxKey - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\MaxKey - - - - -
- &reftitle.intro; - - MongoMaxKey is an special type used by the database - that compares greater than all other possible BSON values. Thus, if a query - is sorted by a given field in ascending order, any document with a - MongoMaxKey as its value will be returned last. - - - MongoMaxKey has no associated fields, methods, or - constants. It is merely the "greatest" value that can be represented in the - database. - - - - MongoMaxKey is used internally by MongoDB for - indexing and sharding. There is generally no reason to use this class in - an application. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoMaxKey - - - - - MongoMaxKey - - - - - - -
- -
- Using <classname>MongoMaxKey</classname> as a value - -insert(array("task" => "dishes", "doBy" => new MongoMaxKey)); -$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days")))); - -$cursor = $collection->find()->sort(array("doBy" => 1)); - -?> -]]> - - - The cursor will return the staff meeting document followed by the dishes - document. The dishes document will always be returned last, regardless of - what else is added to the collection (unless other documents are added with - MongoMaxKey in their "doBy" field). - -
- - - &reftitle.seealso; - - MongoMinKey - - -
- -
- - diff --git a/reference/mongo/mongominkey.xml b/reference/mongo/mongominkey.xml deleted file mode 100644 index eb5dfe4972..0000000000 --- a/reference/mongo/mongominkey.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - The MongoMinKey class - MongoMinKey - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\MinKey - - - - -
- &reftitle.intro; - - MongoMinKey is an special type used by the database - that compares less than all other possible BSON values. Thus, if a query is - sorted by a given field in ascending order, any document with a - MongoMinKey as its value will be returned first. - - - MongoMinKey has no associated fields, methods, or - constants. It is merely the "smallest" value that can be represented in the - database. - - - - MongoMinKey is used internally by MongoDB for - indexing and sharding. There is generally no reason to use this class in - an application. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoMinKey - - - - - MongoMinKey - - - - - - -
- -
- Using <classname>MongoMinKey</classname> as a value - -insert(array("task" => "lunch", "doBy" => new MongoMinKey)); -$collection->insert(array("task" => "staff meeting", "doBy" => new MongoDate(strtotime("+4 days")))); - -$cursor = $collection->find()->sort(array("doBy" => 1)); - -?> -]]> - - - The cursor will return the lunch document followed by the staff meeting - document. The lunch document will always be returned first, regardless of - what else is added to the collection (unless other documents are added with - MongoMinKey in their "doBy" field). - -
- - - &reftitle.seealso; - - MongoMaxKey - - -
- -
- - diff --git a/reference/mongo/mongopool.xml b/reference/mongo/mongopool.xml deleted file mode 100644 index 2c786bfb30..0000000000 --- a/reference/mongo/mongopool.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - The MongoPool class - MongoPool - - - - -
- &reftitle.intro; - - - The current (1.3.0+) releases of the driver no longer implements pooling. - This class and its methods are therefore deprecated and should not be - used. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoPool - - - - - MongoPool - - - - - &Methods; - - - - -
-
- &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.3.0 - - This functionality has been removed and no longer does anything other - than emit deprecation warnings. This class is only kept around for - backwards compatibility and will be removed in the near future. - - - - PECL mongo 1.2.11 - - Emits E_DEPRECATED when used. - - - - - - -
- -
- - &reference.mongo.entities.mongopool; - -
- - diff --git a/reference/mongo/mongopool/getsize.xml b/reference/mongo/mongopool/getsize.xml deleted file mode 100644 index e133ab7170..0000000000 --- a/reference/mongo/mongopool/getsize.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - MongoPool::getSize - Get pool size for connection pools - - - - &reftitle.description; - - public static intMongoPool::getSize - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns the current pool size. - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - &reftitle.examples; - - Changing pool size - - This returns the default pool size, sets a new pool size, then prints the - new pool size and the pool debugging information. Note that changing the - pool size only affects new connection pools, it does not change old ones. - - - -]]> - - - - - - &reftitle.seealso; - - - MongoPool::setSize - MongoPool::info - The connection documentation. - - - - - - diff --git a/reference/mongo/mongopool/info.xml b/reference/mongo/mongopool/info.xml deleted file mode 100644 index 8146af4bef..0000000000 --- a/reference/mongo/mongopool/info.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - MongoPool::info - Returns information about all connection pools - - - - &reftitle.description; - - public arrayMongoPool::info - - - - - Returns an array of information about all connection pools. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Each connection pool has an identifier, which starts with the host. For each - pool, this function shows the following fields: - - - - in use - - - - The number of connections currently being used by - Mongo instances. - - - - - - in pool - - - - The number of connections currently in the pool (not being used). - - - - - - remaining - - - - The number of connections that could be created by this pool. For - example, suppose a pool had 5 connections remaining and 3 connections in - the pool. We could create 8 new instances of - MongoClient before we exhausted this pool - (assuming no instances of MongoClient went out of - scope, returning their connections to the pool). - - - A negative number means that this pool will spawn unlimited connections. - - - Before a pool is created, you can change the max number of connections by - calling Mongo::setPoolSize. Once a pool is showing - up in the output of this function, its size cannot be changed. - - - - - - total - - - - The total number of connections allowed for this pool. This should be - greater than or equal to "in use" + "in pool" (or -1). - - - - - - timeout - - - - The socket timeout for connections in this pool. This is how long - connections in this pool will attempt to connect to a server before - giving up. - - - - - - waiting - - - - If you have capped the pool size, workers requesting connections from - the pool may block until other workers return their connections. This - field shows how many milliseconds workers have blocked for connections to - be released. If this number keeps increasing, you may want to use - MongoPool::setSize to add more connections to your - pool. - - - - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - diff --git a/reference/mongo/mongopool/setsize.xml b/reference/mongo/mongopool/setsize.xml deleted file mode 100644 index 334e551c5d..0000000000 --- a/reference/mongo/mongopool/setsize.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - MongoPool::setSize - Set the size for future connection pools - - - - &reftitle.description; - - public static boolMongoPool::setSize - intsize - - - - Sets the max number of connections new pools will be able to create. - - - - - &reftitle.parameters; - - - - - size - - - - The max number of connections future pools will be able to create. - Negative numbers mean that the pool will spawn an infinite number of - connections. - - - - - - - - - &reftitle.returnvalues; - - Returns the former value of pool size. - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - PECL mongo 1.2.11 - Emits E_DEPRECATED when used. - - - - - - - - - - &reftitle.examples; - - - <function>Mongo::setPoolSize</function> example - - If you set the pool size to n and then create - n connections, attempting to create an - n+1st connection will throw a - MongoConnectionException. - - - -]]> - - &example.outputs.similar; - -__construct() -#1 {main} - thrown in /path/to/php/script.php on line 10 -]]> - - - - - - - - &reftitle.seealso; - - - MongoPool::getSize - MongoPool::info - The connection documentation. - - - - - diff --git a/reference/mongo/mongoprotocolexception.xml b/reference/mongo/mongoprotocolexception.xml deleted file mode 100644 index b08e84c253..0000000000 --- a/reference/mongo/mongoprotocolexception.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - The MongoProtocolException class - MongoProtocolException - - - - -
- &reftitle.intro; - - When talking to MongoDB 2.6.0, and later, certain operations (such as writes) may throw MongoProtocolException when the response - from the server did not make sense - for example during network failure (we could read the entire response) or data corruption. - - - This exception is also thrown when attempting to talk newer protocols then the server supports, for example using the - MongoWriteBatch when talking to a MongoDB server prior to 2.6.0. - -
- - -
- &reftitle.classsynopsis; - - - - MongoProtocolException - - - - - MongoProtocolException - - - - extends - MongoException - - - - &InheritedProperties; - - - - - -
- -
- &reftitle.examples; - - Catching MongoProtocolException - - Running the following example against MongoDB prior to 2.6.0 will throw an MongoProtocolException - - -selectCollection("test", "test"); - -try { - $batch = new MongoInsertBatch($c); -} catch(MongoProtocolException $e) { - echo $e->getMessage(); -} -?> -]]> - - &examples.outputs.similar; - - - - -
- - -
- -
- - diff --git a/reference/mongo/mongoregex.xml b/reference/mongo/mongoregex.xml deleted file mode 100644 index adf8dc7fa5..0000000000 --- a/reference/mongo/mongoregex.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - The MongoRegex class - MongoRegex - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\Regex - - - - -
- &reftitle.intro; - - This class can be used to create regular expressions. Typically, these - expressions will be used to query the database and find matching strings. - More unusually, they can be saved to the database and retrieved. - - - Regular expressions consist of four parts. First a / - as starting delimiter, then the pattern, another / - and finally a string containing flags. - - - - Regular expression pattern - - - - - - - MongoDB recognizes six regular expression flags: - - - - - i: Case insensitive - - - - - m: Multiline - - - - - x: Can contain comments - - - - - l: locale - - - - - s: dotall, "." matches everything, including newlines - - - - - u: match unicode - - - -
- - -
- &reftitle.classsynopsis; - - - - MongoRegex - - - - - MongoRegex - - - - - Fields - - public - string - regex - - - public - string - flags - - - &Methods; - - - - -
- -
- - &reference.mongo.entities.mongoregex; - -
- - diff --git a/reference/mongo/mongoregex/construct.xml b/reference/mongo/mongoregex/construct.xml deleted file mode 100644 index 885bebb9ae..0000000000 --- a/reference/mongo/mongoregex/construct.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - MongoRegex::__construct - Creates a new regular expression - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Regex::__construct - - - - - - &reftitle.description; - - public MongoRegex::__construct - stringregex - - - Creates a new regular expression. - - - - - &reftitle.parameters; - - - - - regex - - - - Regular expression string of the form /expr/flags. - - - - - - - - - &reftitle.returnvalues; - - Returns a new regular expression. - - - - - &reftitle.examples; - - - <function>MongoRegex::__construct</function> example - This example uses a regular expression to query for all documents - with a username field starting (^) with an - l and a vowel ([aeiouy]), - case-insensitive (/i). - -find(array("username" => $luke_search)); -?> -]]> - - - - - - - &reftitle.seealso; - - - MongoRegex::__toString - - - - - - diff --git a/reference/mongo/mongoregex/tostring.xml b/reference/mongo/mongoregex/tostring.xml deleted file mode 100644 index 6d004631f1..0000000000 --- a/reference/mongo/mongoregex/tostring.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - MongoRegex::__toString - A string representation of this regular expression - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Regex::__toString - - - - - - &reftitle.description; - - public stringMongoRegex::__toString - - - - Returns a string representation of this regular expression. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - This regular expression in the form "/expr/flags". - - - - - &reftitle.examples; - - - <function>MongoRegex::__toString</function> example - -regex . "\n"; -echo $r->flags . "\n"; -echo "$r\n"; - -?> -]]> - - &example.outputs.similar; - - - - - - - - - diff --git a/reference/mongo/mongoresultexception.xml b/reference/mongo/mongoresultexception.xml deleted file mode 100644 index 21ba7acd87..0000000000 --- a/reference/mongo/mongoresultexception.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - The MongoResultException class - MongoResultException - - - - -
- &reftitle.intro; - - The MongoResultException is thrown by several command helpers (such as - MongoCollection::findAndModify) in the event of - failure. The original result document is available through - MongoResultException::getDocument. - -
- - -
- &reftitle.classsynopsis; - - - - MongoResultException - - - - - MongoResultException - - - - extends - MongoException - - - - &Properties; - - public - document - - - &InheritedProperties; - - - &Methods; - - - - - -
- - - -
- &reftitle.properties; - - - document - - The raw result document as an array. - - - -
- - - -
- - &reference.mongo.entities.mongoresultexception; - -
- - diff --git a/reference/mongo/mongoresultexception/getdocument.xml b/reference/mongo/mongoresultexception/getdocument.xml deleted file mode 100644 index 55f80710bf..0000000000 --- a/reference/mongo/mongoresultexception/getdocument.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - MongoResultException::getDocument - Retrieve the full result document - - - - &reftitle.description; - - public arrayMongoResultException::getDocument - - - - Retrieves the full error result document. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The full result document as an array, including partial data if available and - additional keys. - - - - - &reftitle.examples; - - <methodname>MongoResultException::getDocument</methodname> example - -selectCollection("test", "test"); - -$c->insert(array( - "name" => "Next promo", - "inprogress" => false, - "priority" => 0, - "tasks" => array( "select product", "add inventory", "do placement"), -) ); - -$c->insert(array( - "name" => "Biz report", - "inprogress" => false, - "priority" => 1, - "tasks" => array( "run sales report", "email report" ) -) ); - -$c->insert(array( - "name" => "Biz report", - "inprogress" => false, - "priority" => 2, - "tasks" => array( "run marketing report", "email report" ) - ), - array("w" => true) -); - -try { - $retval = $c->findAndModify( - array("inprogress" => false, "name" => "Biz report"), - array('$set' => array('$set' => array('inprogress' => true, "started" => new MongoDate()))), - null, - array( - "sort" => array("priority" => -1), - "new" => true, - ) - ); -} catch(MongoResultException $e) { - echo $e->getMessage(), "\n"; - $res = $e->getDocument(); - var_dump($res); -} -?> -]]> - - &examples.outputs.similar; - - - array(5) { - ["connectionId"]=> - int(6) - ["err"]=> - string(30) "$set is not valid for storage." - ["code"]=> - int(52) - ["n"]=> - int(0) - ["ok"]=> - float(1) - } - ["ok"]=> - float(0) - ["errmsg"]=> - string(30) "$set is not valid for storage." -} -]]> - - - - - - diff --git a/reference/mongo/mongotimestamp.xml b/reference/mongo/mongotimestamp.xml deleted file mode 100644 index 72e92b1aea..0000000000 --- a/reference/mongo/mongotimestamp.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - The MongoTimestamp class - MongoTimestamp - - - - - &mongo.alternative.class.note; - - MongoDB\BSON\Timestamp - - - - -
- &reftitle.intro; - - MongoTimestamp is an internal type used by MongoDB - for replication and sharding. It consists of a 4-byte timestamp (i.e. - seconds since the epoch) and a 4-byte increment. This type is not intended - for storing time or date values (e.g. a "createdAt" field on a document). - - - - Unless you are writing an application that interacts with MongoDB's - replication oplog or sharding internals: stop, go directly to - MongoDate, do not pass go, and do not collect 200 - dollars. This is not the class you are looking for. - - -
- - -
- &reftitle.classsynopsis; - - - - MongoTimestamp - - - - - MongoTimestamp - - - - - Fields - - public - int - sec - 0 - - - public - int - inc - 0 - - - &Methods; - - - - - -
-
- - &reference.mongo.entities.mongotimestamp; - -
- - diff --git a/reference/mongo/mongotimestamp/construct.xml b/reference/mongo/mongotimestamp/construct.xml deleted file mode 100644 index 36c9105c92..0000000000 --- a/reference/mongo/mongotimestamp/construct.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - MongoTimestamp::__construct - Creates a new timestamp - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Timestamp::__construct - - - - - - &reftitle.description; - - public MongoTimestamp::__construct - intsectime() - intinc - - - Creates a new timestamp. If no parameters are given, the current time is - used and the increment is automatically provided. The increment is set to 0 - when the module is loaded and is incremented every time this constructor is - called (without the $inc parameter passed in). - - - - - &reftitle.parameters; - - - - - sec - - - - Number of seconds since the epoch (i.e. 1 Jan 1970 00:00:00.000 UTC). - - - - - - inc - - - - Increment. - - - - - - - - - &reftitle.returnvalues; - - Returns this new timestamp. - - - - - &reftitle.seealso; - - - MongoTimestamp::__toString - - - - - - - diff --git a/reference/mongo/mongotimestamp/tostring.xml b/reference/mongo/mongotimestamp/tostring.xml deleted file mode 100644 index b3e8db9e8c..0000000000 --- a/reference/mongo/mongotimestamp/tostring.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - MongoTimestamp::__toString - Returns a string representation of this timestamp - - - - - &mongo.alternative.method.note; - - MongoDB\BSON\Timestamp::__toString - - - - - - &reftitle.description; - - public stringMongoTimestamp::__toString - - - - Returns the "sec" field of this timestamp. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - The seconds since epoch represented by this timestamp. - - - - - diff --git a/reference/mongo/mongoupdatebatch.xml b/reference/mongo/mongoupdatebatch.xml deleted file mode 100644 index a550b8dc29..0000000000 --- a/reference/mongo/mongoupdatebatch.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - The MongoUpdateBatch class - MongoUpdateBatch - - - - -
- &reftitle.intro; - - Constructs a batch of UPDATE operations. See MongoWriteBatch. - -
- - -
- &reftitle.classsynopsis; - - - - MongoUpdateBatch - - - - - MongoUpdateBatch - - - - extends - MongoWriteBatch - - - - - &Methods; - - - &InheritedMethods; - - - - - -
- -
- - &reference.mongo.entities.mongoupdatebatch; - -
- - diff --git a/reference/mongo/mongoupdatebatch/construct.xml b/reference/mongo/mongoupdatebatch/construct.xml deleted file mode 100644 index dbf8ad930c..0000000000 --- a/reference/mongo/mongoupdatebatch/construct.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - MongoUpdateBatch::__construct - Description - - - - &reftitle.description; - - public MongoUpdateBatch::__construct - MongoCollectioncollection - arraywrite_options - - - Constructs a batch of UPDATE operations. See MongoWriteBatch. - - - - - - &reftitle.parameters; - - - collection - &mongo.mongowritebatch.collection.description; - - - write_options - &mongo.mongowritebatch.writeoptions.description; - - - - - - &reftitle.returnvalues; - - A new MongoUpdateBatch. - - - - - - - diff --git a/reference/mongo/mongowritebatch.xml b/reference/mongo/mongowritebatch.xml deleted file mode 100644 index 01b2b502ef..0000000000 --- a/reference/mongo/mongowritebatch.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - The MongoWriteBatch class - MongoWriteBatch - - - - -
- &reftitle.intro; - - MongoWriteBatch is the base class for the MongoInsertBatch, - MongoUpdateBatch and MongoDeleteBatch classes. - - - MongoWriteBatch allows you to "batch up" multiple operations (of same type) and shipping them all - to MongoDB at the same time. This can be especially useful when operating on many documents at the - same time to reduce roundtrips. - - - Prior to version 1.5.0 of the driver it was possible to use MongoCollection::batchInsert, - however, as of 1.5.0 that method is now discouraged. - - - Note: This class is only available when talking to MongoDB 2.6.0 (and later) servers. It will throw - MongoProtocolException if attempting to use it on older MongoDB servers. - -
- - -
- &reftitle.classsynopsis; - - - - MongoWriteBatch - - - - - MongoWriteBatch - - - - - &Constants; - - const - int - MongoWriteBatch::COMMAND_INSERT - 1 - - - const - int - MongoWriteBatch::COMMAND_UPDATE - 2 - - - const - int - MongoWriteBatch::COMMAND_DELETE - 3 - - - &Methods; - - - - - -
- MongoWriteBatch types - - - - MongoWriteBatch::COMMAND_INSERT - - Create an Insert Write Batch - - - - - MongoWriteBatch::COMMAND_UPDATE - - Create an Update Write Batch - - - - - MongoWriteBatch::COMMAND_DELETE - - Create an Delete Write Batch - - - - -
-
- -
- &reftitle.description; - - When executing a batch by calling - MongoWriteBatch::execute, MongoWriteBatch will send - up to maxWriteBatchSize (defaults to 1000) documents or - maxBsonObjectSize (defaults to 16777216 bytes), whichever - comes first. - - - - Documents will never be partially transferred. When adding documents to the batch, that overflows the limit, a new - batch will be created and the document put into the new batch. - - -
- -
- &reftitle.errors; - - Exception on parameter parsing failures - Exception on argument validation errors (e.g. missing keys) - MongoProtocolException when talking to MongoDB server older then 2.6.0. - MongoProtocolException on socket errors. - MongoWriteConcernException when a write fails due to WriteConcerns - -
- -
- &reftitle.examples; - - <classname>MongoWriteBatch</classname> example - - Adding documents to a Insert batch and then execute it - - -selectCollection("test", "test"); - - -$docs = array(); -$docs[] = array("my" => "demo"); -$docs[] = array("is" => "working"); -$docs[] = array("pretty" => "well"); - -$batch = new MongoInsertBatch($collection); -foreach($docs as $document) { - $batch->add($document); -} -$retval = $batch->execute(array("w" => 1)); -var_dump($retval); -?> -]]> - - &example.outputs; - - - int(3) - ["ok"]=> - bool(true) -} -]]> - - -
- -
- - &reference.mongo.entities.mongowritebatch; - -
- - diff --git a/reference/mongo/mongowritebatch/add.xml b/reference/mongo/mongowritebatch/add.xml deleted file mode 100644 index d725c988b7..0000000000 --- a/reference/mongo/mongowritebatch/add.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - MongoWriteBatch::add - Adds a write operation to a batch - - - - &reftitle.description; - - public boolMongoWriteBatch::add - arrayitem - - - Adds a write operation to the batch. - - - If $item causes the batch to exceed the - maxWriteBatchSize or maxBsonObjectSize - limits, the driver will internally split the batches into multiple write - commands upon calling MongoWriteBatch::execute. - - - - - &reftitle.parameters; - - - item - - - An array that describes a write operation. The structure of this value - depends on the batch's operation type. - - - - Batch type - Argument expectation - - - - - MongoWriteBatch::COMMAND_INSERT - - The document to add. - - - - MongoWriteBatch::COMMAND_UPDATE - - Raw update operation. - Required keys are "q" and "u", which correspond to the $criteria and $new_object parameters of MongoCollection::update, respectively. - Optional keys are "multi" and "upsert", which correspond to the "multiple" and "upsert" options for MongoCollection::update, respectively. If unspecified, both options default to &false;. - - - - MongoWriteBatch::COMMAND_DELETE - - Raw delete operation. - Required keys are: "q" and "limit", which correspond to the $criteria parameter and "justOne" option of MongoCollection::remove, respectively. - The "limit" option is an int; however, MongoDB only supports 0 (i.e. remove all matching documents) and 1 (i.e. remove at most one matching document) at this time. - - - - - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success and throws an exception on failure. - - - - - &reftitle.errors; - - Exception on parameter parsing failures - Exception on argument validation errors (e.g. missing keys) - - - - - &reftitle.examples; - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple insert operations - - -selectCollection("test", "test"); - - -$docs = array(); -$docs[] = array("my" => "demo"); -$docs[] = array("is" => "working"); -$docs[] = array("pretty" => "well"); - -$batch = new MongoInsertBatch($collection); -foreach($docs as $document) { - $batch->add($document); -} -$batch->execute(array("w" => 1)); -?> -]]> - - - - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple update operations - - -selectCollection("test", "test"); - - -$item1 = array( - "q" => array("my" => "demo"), - "u" => array('$set' => array("try" => 1)), - "multi" => false, /* default value */ - "upsert" => false, /* default value */ -); -$item2 = array( - "q" => array("is" => "working"), - "u" => array('$set' => array("try" => 2)), - "multi" => true, -); -$item3 = array( - "q" => array("created" => "new-document"), - "u" => array('$set' => array("try" => 3)), - "upsert" => true, -); - -$batch = new MongoUpdateBatch($collection); -$batch->add($item1); -$batch->add($item2); -$batch->add($item3); -$batch->execute(array("w" => 1)); - -?> -]]> - - - - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple delete operations - - -selectCollection("test", "test"); - - -$item1 = array( - "q" => array("my" => "demo"), - "limit" => 1, -); -$item2 = array( - "q" => array("try" => 3), - "limit" => 1, -); - - -$batch = new MongoDeleteBatch($collection); -$batch->add($item1); -$batch->add($item2); -$batch->execute(array("w" => 1)); -?> -]]> - - - - - - - - - diff --git a/reference/mongo/mongowritebatch/construct.xml b/reference/mongo/mongowritebatch/construct.xml deleted file mode 100644 index bfbe1bf877..0000000000 --- a/reference/mongo/mongowritebatch/construct.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - MongoWriteBatch::__construct - Creates a new batch of write operations - - - - &reftitle.description; - - protected MongoWriteBatch::__construct - MongoCollectioncollection - stringbatch_type - arraywrite_options - - - Constructs a new MongoWriteBatch. - - - - This is a protected constructor. Please use one of the classes inheriting MongoWriteBatch. - - - - - - - &reftitle.parameters; - - - collection - &mongo.mongowritebatch.collection.description; - - - batch_type - - - One of: - - 0 - make an MongoWriteBatch::COMMAND_INSERT batch - 1 - make an MongoWriteBatch::COMMAND_UPDATE batch - 2 - make a MongoWriteBatch::COMMAND_DELETE batch - - - - - - write_options - &mongo.mongowritebatch.writeoptions.description; - - - - - - &reftitle.returnvalues; - - A new MongoWriteBatch of type batch_type. - - - - - &reftitle.seealso; - - MongoInsertBatch - MongoUpdateBatch - MongoDeleteBatch - - - - - - diff --git a/reference/mongo/mongowritebatch/execute.xml b/reference/mongo/mongowritebatch/execute.xml deleted file mode 100644 index 1437117728..0000000000 --- a/reference/mongo/mongowritebatch/execute.xml +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - MongoWriteBatch::execute - Executes a batch of write operations - - - - &reftitle.description; - - final public arrayMongoWriteBatch::execute - arraywrite_options - - - Executes the batch of write operations. - - - - - - &reftitle.parameters; - - - write_options - - - See MongoWriteBatch::__construct. - - - - - - - - &reftitle.returnvalues; - - Returns an array containing statistical information for the full batch. - If the batch had to be split into multiple batches, the return value will aggregate - the values from individual batches and return only the totals. - - - If the batch was empty, an array containing only the 'ok' field is returned (as &true;) although - nothing will be shipped over the wire (NOOP). - - - - - - Array key - Value meaning - Returned for batch type - - - - - nInserted - Number of inserted documents - MongoWriteBatch::COMMAND_INSERT batch - - - nMatched - Number of documents matching the query criteria - MongoWriteBatch::COMMAND_UPDATE batch - - - nModified - Number of documents actually needed to be modied - MongoWriteBatch::COMMAND_UPDATE batch - - - nUpserted - Number of upserted documents - MongoWriteBatch::COMMAND_UPDATE batch - - - nRemoved - Number of documents removed - MongoWriteBatch::COMMAND_DELETE batch - - - ok - Command success indicator - All - - - - - - - - &reftitle.errors; - - A MongoWriteConcernException exception is thrown on failure. - - - - - &reftitle.examples; - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple insert operations - - -selectCollection("test", "test"); - - -$docs = array(); -$docs[] = array("my" => "demo"); -$docs[] = array("is" => "working"); -$docs[] = array("pretty" => "well"); - -$batch = new MongoInsertBatch($collection); -foreach($docs as $document) { - $batch->add($document); -} -$retval = $batch->execute(array("w" => 1)); -var_dump($retval); -?> -]]> - - &example.outputs; - - - int(3) - ["ok"]=> - bool(true) -} -]]> - - - - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple update operations - - -selectCollection("test", "test"); - - -$item1 = array( - "q" => array("my" => "demo"), - "u" => array('$set' => array("try" => 1)), - "multi" => false, /* default value */ - "upsert" => false, /* default value */ -); -$item2 = array( - "q" => array("is" => "working"), - "u" => array('$set' => array("try" => 2)), - "multi" => true, -); -$item3 = array( - "q" => array("created" => "new-document"), - "u" => array('$set' => array("try" => 3)), - "upsert" => true, -); - -$batch = new MongoUpdateBatch($collection); -$batch->add($item1); -$batch->add($item2); -$batch->add($item3); -$retval = $batch->execute(array("w" => 1)); -var_dump($retval); - -?> -]]> - - &example.outputs; - - - int(18) - ["nModified"]=> - int(2) - ["nUpserted"]=> - int(0) - ["ok"]=> - bool(true) -} -]]> - - - - - <methodname>MongoWriteBatch::add</methodname> example - - Batching up multiple delete operations - - -selectCollection("test", "test"); - - -$item1 = array( - "q" => array("my" => "demo"), - "limit" => 1, -); -$item2 = array( - "q" => array("try" => 3), - "limit" => 1, -); - - -$batch = new MongoDeleteBatch($collection); -$batch->add($item1); -$batch->add($item2); -$retval = $batch->execute(array("w" => 1)); -var_dump($retval); -?> -]]> - - &example.outputs; - - - int(1) - ["ok"]=> - bool(true) -} -]]> - - - - - - - diff --git a/reference/mongo/mongowriteconcernexception.xml b/reference/mongo/mongowriteconcernexception.xml deleted file mode 100644 index 21fc3ffff5..0000000000 --- a/reference/mongo/mongowriteconcernexception.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - The MongoWriteConcernException class - MongoWriteConcernException - - - - -
- &reftitle.intro; - - MongoWriteConcernException is thrown when a write fails. See for how to set failure thresholds. - - - Prior to MongoDB 2.6.0, the getLastError command would determine whether a write failed. - -
- - -
- &reftitle.classsynopsis; - - - - MongoWriteConcernException - - - - - MongoWriteConcernException - - - - extends - MongoCursorException - - - - &InheritedProperties; - - - - &Methods; - - - &InheritedMethods; - - - - - -
- -
- - &reference.mongo.entities.mongowriteconcernexception; - -
- - diff --git a/reference/mongo/mongowriteconcernexception/getdocument.xml b/reference/mongo/mongowriteconcernexception/getdocument.xml deleted file mode 100644 index dac57cbccf..0000000000 --- a/reference/mongo/mongowriteconcernexception/getdocument.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - MongoWriteConcernException::getDocument - Get the error document - - - - &reftitle.description; - - public arrayMongoWriteConcernException::getDocument - - - - Returns the actual response from the server that was interperated as an error. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - A MongoDB document, if available, as an array. - - - - - - - diff --git a/reference/mongo/queries.xml b/reference/mongo/queries.xml deleted file mode 100644 index 3777b41cc5..0000000000 --- a/reference/mongo/queries.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - - Querying - - - Distributing queries to secondaries - - - All queries (reads and writes) are only sent to the primary member of a - replica set by default. This is however easily configurable by using the - Read Preferences which allow - you to set some generic read preferences (such as allowing secondary reads - of the nearest server), and also provide ways to specifically target a - server in a specific country, datacenter, or even hardware, by the use of - replica set tag sets. - - - Read preferences can be configured at every level of the driver: - - As a query parameter or option to MongoClient::__construct - Specifically by calling MongoClient::setReadPreference - At the database level with MongoDB::setReadPreference - At the collection level with MongoCollection::setReadPreference - At the cursor level with MongoCursor::setReadPreference or MongoCommandCursor::setReadPreference - - Each class inherits its read preference setting from the "parent" context. - - - Inheriting read preferences from the database level down to the cursor - -setReadPreference(MongoClient::RP_SECONDARY_PREFERRED); -$c = $db->myCollection; - -$cursor = $c->find(); -?> -]]> - - - - In this example, the query will be executed against a secondary. The - collection inherits MongoClient::RP_SECONDARY_PREFERRED - from the database and the cursor inherits it from the collection. - - - - - How secondaries are chosen - - - Each instance of MongoClient chooses its own - secondary using the available secondary with the lowest ping time. So, if we - had a PHP client in Europe and one in Australia and we had one secondary in - each of these data centers, we could do: - - - - "setName", "readPreference" => MongoClient::RP_SECONDARY_PREFERRED); - -// on the Australian client -$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options); -$cursor = $m->foo->bar->find(); -$cursor->getNext(); -echo "Reading from: ", $cursor->info()["server"], "\n"; - -// on the European client -$m = new MongoClient("mongodb://primary,australianhost.secondary,europeanhost.secondary", $options); -$cursor = $m->foo->bar->find(); -$cursor->getNext(); -echo "Reading from: ", $cursor->info()["server"], "\n"; -?> -]]> - - &example.outputs.similar; - - - - - Note that we have to do a query before a secondary is chosen: secondaries - are chosen lazily by the driver, and for each query separately. - - - - - You can see what the driver thinks is the current status of the set - members by running MongoClient::getHosts or - MongoClient::getConnections. - - - - If no secondary is readable, the driver will send reads to the - primary as we specified - MongoClient::RP_SECONDARY_PREFERRED which will - fallback to execute a query on a primary if no secondaries are available. - A server is considered readable if its state is 2 (SECONDARY) and its - health is 1. You can check this with - MongoClient::getHosts and - MongoClient::getConnections. - - - - - Random notes - - - Writes are always sent to the primary—and by default all reads are sent - to the primary too. - - - - - - Querying by _id - - Every object inserted is automatically assigned a unique - _id field, which is often a useful field to use in - queries. This works similarly to "get last insert ID" functionality, except - that the _id is chosen by the client. - - - Suppose that we wish to find the document we just inserted. Inserting adds - an _id field to the document, so we can query by that: - - - - "joe"); - -$people->insert($person); - -// now $joe has an _id field -$joe = $people->findOne(array("_id" => $person['_id'])); -?> -]]> - - - - - Unless the user has specified otherwise, the _id field is a - MongoId. The most common mistake is attempting to use - a string to match a MongoId. Keep in mind that these - are two different datatypes, and will not match each other in the same way - that the string "array()" is not the same as an empty array. For example: - - - - "joe"); - -$people->insert($person); - -// convert the _id to a string -$pid = $person['_id'] . ""; - -// FAILS - $pid is a string, not a MongoId -$joe = $people->findOne(array("_id" => $pid)); -?> -]]> - - - - - - - Arrays - - - Arrays are special in a couple ways. First, there are two types that - MongoDB uses: "normal" arrays and associative arrays. Associative arrays can - have any mix of key types and values. "Normal" arrays are defined as arrays - with ascending numeric indexes starting at 0 and increasing by one for each - element. These are, typically, just your usual PHP array. - - - - For instance, if you want to save a list of awards in a document, you could - say: - - - - -save(array("awards" => array("gold", "silver", "bronze"))); - -?> -]]> - - - - - Queries can reach into arrays to search for elements. Suppose that we wish - to find all documents with an array element of a given value. For example, - documents with a "gold" award, such as: - - - - - - - - This can be done with a simple query, ignoring the fact that "awards" is an - array: - - - - -find(array("awards" => "gold")); - -?> -]]> - - - - - Suppose we are querying for a more complex object, if each element of the - array were an object itself, such as: - - - - - - - - Still ignoring that this is an array, we can use dot notation to query the - subobject: - - - - -find(array("awards.first place" => "gold")); - -?> -]]> - - - - - Notice that it doesn't matter that there is a space in the field name - (although it may be best not to use spaces, just to make things more - readable). - - - - You can also use an array to query for a number of possible values. For - instance, if we were looking for documents "gold" or "copper", we could do: - - - - -find(array("awards" => array('$in' => array("gold", "copper")))); - -?> -]]> - - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - - 1.3.0 - - Introduced the Read - Preferences framework to allow more fine grained control over - secondary reads. - - - - 1.3.0 - - Deprecated slaveOkay usage, the alternative is Read Preferences. - - - - 1.1.0 - - Introduced the possiblity of routing reads to secondaries of replica set - members using Mongo::setSlaveOkay - - - - - - - - - - - diff --git a/reference/mongo/readpreferences.xml b/reference/mongo/readpreferences.xml deleted file mode 100644 index 0213ba186c..0000000000 --- a/reference/mongo/readpreferences.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - Read Preferences - - MongoDB 2.2 and version 1.3.0 of the driver add support for - read preferences, - which allow control over how queries are directed to mongod instances in a - replica set environment. Read preferences may be specified on either a - per-connection, per-database, or per-collection basis. Preferences defined - at a higher level - will be inherited by default (e.g. MongoCollection will - inherit read preferences defined on the corresponding - MongoDB instance). - - - Read preferences are specified with a combination of modes and tag sets. Modes - determine how mongod instances are prioritized, while - tag sets specify criteria - for eligible mongod instances. Mongod instances are only eligible if they - are within a 15ms difference in ping time from the nearest mongod instance. - - - Read Preference Modes - - - All read preference modes except MongoClient::RP_PRIMARY - may return stale data as secondaries replicate operations from the primary - with some delay. Ensure that your application can tolerate stale data if you - choose to use a mode other than MongoClient::RP_PRIMARY. - - - - - - MongoClient::RP_PRIMARY - - - All read operations use only the current replica set primary. This is the - default. If the primary is unavailable, read operations will produce an - exception. - - - This mode is incompatible with use of tag sets. Specifying a tag set with - MongoClient::RP_PRIMARY will result in an exception. - - - - - MongoClient::RP_PRIMARY_PREFERRED - - - In most situations, operations read from the primary member of the set. - However, if the primary is unavailable, as is the case during failover - situations, operations read from secondary members. - - - When the read preference includes a tag set, the client reads first from - the primary, if available, and then from secondaries that match the - specified tags. If no secondaries have matching tags, the read operation - will produce an exception. - - - - Version 2.2 of mongos added full support for read preferences. When - connecting to older mongos instances, - MongoClient::RP_PRIMARY_PREFERRED will send queries to - secondaries. - - - - - - MongoClient::RP_SECONDARY - - - Operations read only from the secondary members of the set. If no - secondaries are available, read operations will produce an exception. - - - Most sets have at least one secondary, but there are situations where - there may be no available secondary. For example, a set with a primary, a - secondary, and an arbiter may not have any secondaries if a member is in - recovering state or unavailable. - - - When the read preference includes a tag set, the client attempts to find - secondary members that match the specified tag set and directs reads to a - random secondary from among the nearest group. If no secondaries have - matching tags, the read operation will produce an exception. - - - - - MongoClient::RP_SECONDARY_PREFERRED - - - In most situations, operations read from secondary members, but in - situations where the set consists of a single primary with no other - members, the read operation will use the set's primary. - - - When the read preference includes a tag set, the client attempts to find a - secondary member that matches the specified tag set and directs reads to a - random secondary from among the nearest group. If no secondaries have - matching tags, the read operation will produce an exception. - - - - - MongoClient::RP_NEAREST - - - The driver reads from a random member of the set - that has a ping time that is less than 15ms slower than the member with - the lowest ping time. Reads in the - MongoClient::RP_NEAREST mode do not consider the - member's type and may read from both primaries and secondaries. - - - Set this mode to minimize the effect of network latency on read operations - without preference for current or stale data. - - - If you specify a tag set, the client attempts to find a member - that matches the specified tag set and directs reads to a random node - from among the nearest group. - - - - All operations read from the nearest member of the replica set that - matches the specified read preference mode. The - MongoClient::RP_NEAREST mode prefers low latency reads - over a member's primary or secondary status. - - - - - - - Tag Sets - - Tag sets allow you to - specify criteria so that your application can target read operations to - specific members, based on custom parameters. Tag sets make it possible to - ensure that read operations target members in a particular data center or - target mongod instances designated for a particular class of operations, such - as reporting or analytics. - - - You can specify tag sets with the following read preference modes: - - - - - MongoClient::RP_PRIMARY_PREFERRED - - - - - MongoClient::RP_SECONDARY - - - - - MongoClient::RP_SECONDARY_PREFERRED - - - - - MongoClient::RP_NEAREST - - - - - You cannot specify tag sets with the - MongoClient::RP_PRIMARY read preference mode. Tags apply - only when selecting a secondary member of a set, except for the when in the - nearest mode. - - - - Specifying Read Preferences - - Read preferences may be specified in either the connection URI provided to - MongoClient::__construct, which uses a query string - syntax, or via setter methods on the core classes, which use an array syntax - for tag sets. - - - When specifying read preference modes in a query string, the tag sets for - the readPreferenceTags value should be a comma-delimited - sequence of colon-delimited key/value pairs. - - - - Each tag set defined in the query string will use the - readPreferenceTags name. Unlike how PHP might handle URL - query strings, successive values for readPreferenceTags - will not overwrite each other. The driver will collect tag sets in the order - they appear in the query string. - - - - - If the driver cannot find a matching tag set the read will fail! It is - your responsibility of providing suitable fallback, such as an empty - readPreferenceTags value to fallback to "no tag set - preference". - - - - - Connection URI read preferences with query string syntax - - 'rs')); - -// Pick the nearest server in the "east" data center -$uri = 'mongodb://rs1.example.com,rs2.example.com/'; -$uri .= '?readPreference=nearest'; -$uri .= '&readPreferenceTags=dc:east'; -$m = new MongoClient($uri, array('replicaSet' => 'rs')); - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$uri = 'mongodb://rs1.example.com,rs2.example.com/'; -$uri .= '?readPreference=nearest'; -$uri .= '&readPreferenceTags=dc:east,use:reporting'; -$uri .= '&readPreferenceTags=dc:west'; -$m = new MongoClient($uri, array('replicaSet' => 'rs')); - -// Prefer the nearest server in the "east" data center, then a server in the -// "west" data center, and finally fall back to no tag set preference -$uri = 'mongodb://rs1.example.com,rs2.example.com/'; -$uri .= '?readPreference=nearest'; -$uri .= '&readPreferenceTags=dc:east'; -$uri .= '&readPreferenceTags=dc:west'; -$uri .= '&readPreferenceTags='; -$m = new MongoClient($uri, array('replicaSet' => 'rs')); -?> -]]> - - - - - - Setting read preferences with array syntax for tag sets - - 'rs', -)); - -// Prefer the nearest server with no tag preference -$m->setReadPreference(MongoClient::RP_NEAREST, array()); - -// Pick the nearest server in the "east" data center -$m->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east'), -)); - -// Prefer the nearest server in the "east" data center also used for reporting, -// but fall back to a server in the "west" data center -$m->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east', 'use' => 'reporting'), - array('dc' => 'west'), -)); - -// Prefer the nearest server in the "east" data center, then a server in the -// "west" data center, and finally fall back to no tag set preference -$m->setReadPreference(MongoClient::RP_NEAREST, array( - array('dc' => 'east'), - array('dc' => 'west'), - array(), -)); -?> -]]> - - - - - - - - diff --git a/reference/mongo/reference.xml b/reference/mongo/reference.xml deleted file mode 100644 index 23a48bfb4f..0000000000 --- a/reference/mongo/reference.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Mongo &Functions; - - &reference.mongo.entities.functions; - - - - - diff --git a/reference/mongo/security.xml b/reference/mongo/security.xml deleted file mode 100644 index 7f453dc45a..0000000000 --- a/reference/mongo/security.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Security - -
- Request Injection Attacks - - If you are passing $_GET (or $_POST) - parameters to your queries, make sure that they are cast to strings first. - Users can insert associative arrays in GET and POST requests, which could - then become unwanted $-queries. - - - - A fairly innocuous example: suppose you are looking up a user's information - with the request http://www.example.com?username=bob. - Your application does the query - $collection->find(array("username" => $_GET['username'])). - - - - Someone could subvert this by getting - http://www.example.com?username[$ne]=foo, which PHP - will magically turn into an associative array, turning your query into - $collection->find(array("username" => array('$ne' => "foo"))), - which will return all users not named "foo" (all of your users, probably). - - - - This is a fairly easy attack to defend against: make sure $_GET and $_POST - parameters are the type you expect before you send them to the database - (cast them to strings, in this case). - - - - Note that this type of attack can be used with any databases interation that - locates a document, including updates, upserts, find-and-modifies, and - removes. - - - - Thanks to Phil for pointing this out. - - - - See the main documentation - for more information about SQL-injection-like issues with MongoDB. - -
- -
- Script Injection Attacks - - If you are using JavaScript, make sure that any variables that cross the PHP- - to-JavaScript boundry are passed in the scope field of - MongoCode, not interpolated into the JavaScript - string. This can come up when using MongoDB::execute, - $where clauses, MapReduces, group-bys, and any other time - you may pass JavaScript into the database. - - - - MapReduce ignore the scope field of - MongoCode, but there is a scope - option on the command that can be used instead. - - - - For example, suppose we have some JavaScript to greet a user in the database - logs. We could do: - - -execute("print('Hello, $username!');"); - -?> -]]> - - - However, what if a malicious user passes in some JavaScript? - - -execute("print('Hello, $username!');"); - -?> -]]> - - - Now MongoDB executes the JavaScript string - "print('Hello, '); db.users.drop(); print('!');". - This attack is easy to avoid: use scope to pass - variables from PHP to JavaScript: - - - $username); -$db->execute(new MongoCode("print('Hello, '+user+'!');", $scope)); - -?> -]]> - - - This adds a variable user to the JavaScript scope. Now if - someone tries to send malicious code, MongoDB will harmlessly print - Hello, '); db.dropDatabase(); print('!. - - - - Using scope helps prevent malicious input from being - executed by the database. However, you must make sure that your code does - not turn around and execute the input anyway! For example, never use the - JavaScript eval function on user input: - - - $jsShellInput); -$db->execute(new MongoCode("eval(input);", $scope)); - -?> -]]> - - - Always use scope and never allow the database to execute - user input as code. - -
-
- - - diff --git a/reference/mongo/setup.xml b/reference/mongo/setup.xml deleted file mode 100644 index 25d3c5bb05..0000000000 --- a/reference/mongo/setup.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - &reftitle.setup; - - - &mongo.deprecated.note; - - - -
- &reftitle.required; - &no.requirement; -
- - - - &reference.mongo.configure; - - - - &reference.mongo.ini; - - -
- - - diff --git a/reference/mongo/sqltomongo.xml b/reference/mongo/sqltomongo.xml deleted file mode 100644 index 1e89dfd86d..0000000000 --- a/reference/mongo/sqltomongo.xml +++ /dev/null @@ -1,254 +0,0 @@ - - - - SQL to Mongo Mapping Chart - - This is a PHP-specific version of the - SQL to Mongo - mapping chart in the main docs. - - - - - - - SQL Statement - Mongo Query Language Statement - - - - - - - CREATE TABLE USERS (a Number, b Number) - - - Implicit or use MongoDB::createCollection. - - - - - INSERT INTO USERS VALUES(1,1) - - - $db->users->insert(array("a" => 1, "b" => 1)); - - - - - SELECT a,b FROM users - - - $db->users->find(array(), array("a" => 1, "b" => 1)); - - - - - SELECT * FROM users WHERE age=33 - - - $db->users->find(array("age" => 33)); - - - - - SELECT a,b FROM users WHERE age=33 - - - $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); - - - - - SELECT a,b FROM users WHERE age=33 ORDER BY name - - - $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1)); - - - - - SELECT * FROM users WHERE age>33 - - - $db->users->find(array("age" => array('$gt' => 33))); - - - - - SELECT * FROM users WHERE age<33 - - - $db->users->find(array("age" => array('$lt' => 33))); - - - - - SELECT * FROM users WHERE name LIKE "%Joe%" - - - $db->users->find(array("name" => new MongoRegex("/Joe/"))); - - - - - SELECT * FROM users WHERE name LIKE "Joe%" - - - $db->users->find(array("name" => new MongoRegex("/^Joe/"))); - - - - - SELECT * FROM users WHERE age>33 AND age<=40 - - - $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40))); - - - - - SELECT * FROM users ORDER BY name DESC - - - $db->users->find()->sort(array("name" => -1)); - - - - - CREATE INDEX myindexname ON users(name) - - - $db->users->ensureIndex(array("name" => 1)); - - - - - CREATE INDEX myindexname ON users(name,ts DESC) - - - $db->users->ensureIndex(array("name" => 1, "ts" => -1)); - - - - - SELECT * FROM users WHERE a=1 and b='q' - - - $db->users->find(array("a" => 1, "b" => "q")); - - - - - SELECT * FROM users LIMIT 20, 10 - - - $db->users->find()->limit(10)->skip(20); - - - - - SELECT * FROM users WHERE a=1 or b=2 - - - $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2)))); - - - - - SELECT * FROM users LIMIT 1 - - - $db->users->find()->limit(1); - - - - - EXPLAIN SELECT * FROM users WHERE z=3 - - - $db->users->find(array("z" => 3))->explain() - - - - - SELECT DISTINCT last_name FROM users - - - $db->command(array("distinct" => "users", "key" => "last_name")); - - - - - SELECT COUNT(*y) FROM users - - - $db->users->count(); - - - - - SELECT COUNT(*y) FROM users where AGE > 30 - - - $db->users->find(array("age" => array('$gt' => 30)))->count(); - - - - - SELECT COUNT(AGE) from users - - - $db->users->find(array("age" => array('$exists' => true)))->count(); - - - - - UPDATE users SET a=1 WHERE b='q' - - - $db->users->update(array("b" => "q"), array('$set' => array("a" => 1))); - - - - - UPDATE users SET a=a+2 WHERE b='q' - - - $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2))); - - - - - DELETE FROM users WHERE z="abc" - - - $db->users->remove(array("z" => "abc")); - - - - - - - - - diff --git a/reference/mongo/testing.xml b/reference/mongo/testing.xml deleted file mode 100644 index 135f8b4133..0000000000 --- a/reference/mongo/testing.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Running the Driver's Tests - - - The PECL package does not come with the tests, but they are available at - Github. - - -
- .phpt Tests - - .phpt tests are the standard way of testing PHP extensions. After compiling - the MongoDB driver with "make" you can then issue "make test" to run the - tests. These tests require MongoDB to be working, and hence, you need to - configure the test suite itself. - - - There is more information on running the tests in the contributing - guidelines on - GitHub. - -
- -
- Reporting Errors - - Please report any failures or errors in the - bugtracker. There may be skipped - tests, these are normal and can be ignored. - - - New tests are always welcome! Please feel free to contribute new tests of any - type testing any functionality. - -
-
- - - diff --git a/reference/mongo/trouble.xml b/reference/mongo/trouble.xml deleted file mode 100644 index 948e3d22c9..0000000000 --- a/reference/mongo/trouble.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - Troubleshooting - - - If you're having trouble, there are lots of resources you can turn to. - - - - - IRC - - The official MongoDB IRC room is irc.freenode.net/#mongodb. This is the - fastest way to get help. - - - - Mailing List - - MongoDB's mailing list - is a good (and usually very fast) way to get answers to questions. - - - - Bug Tracker - - Found a bug? Want a feature? Have a question? File it in the - PHP driver's bug tracker. - - - - - - You can make the driver log all kinds of error messages as - E_NOTICE level PHP error messages. Have a look at - the MongoLog for an example. - - - - - - diff --git a/reference/mongo/tutorial.xml b/reference/mongo/tutorial.xml deleted file mode 100644 index d0ceb20edd..0000000000 --- a/reference/mongo/tutorial.xml +++ /dev/null @@ -1,576 +0,0 @@ - - - - - Tutorial - - &mongo.deprecated.note; - - - This is the official MongoDB driver for PHP. - - Here's a quick code sample that connects, inserts documents, queries for - documents, iterates through query results, and disconnects from MongoDB. - There are more details on each step in the tutorial below. - - - -comedy; - -// select a collection (analogous to a relational database's table) -$collection = $db->cartoons; - -// add a record -$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" ); -$collection->insert($document); - -// add another record, with a different "shape" -$document = array( "title" => "XKCD", "online" => true ); -$collection->insert($document); - -// find everything in the collection -$cursor = $collection->find(); - -// iterate through the results -foreach ($cursor as $document) { - echo $document["title"] . "\n"; -} - -?> -]]> - - &example.outputs; - - - - - - -
- Making a Connection - - To connect to the database server, use one of the following: - - - - - -]]> - - - - You do not have to explicitly disconnect from the database. The driver uses - persistent connections and will re-use already established connections. - -
- See Also - - The chapter on connecting - covers different types of connections. - - - The API documentation on the MongoClient class and - MongoClient::__construct give a comprehensive look at - all possible options with a number of examples. - -
-
- -
- Getting a Database - - To select a database, use: - - - -dbname; -?> -]]> - - - - The database does not need to be created in advance, you can create new - databases by selecting them. - - - Be careful of typos! You can inadvertently create a new database, which can - cause confusing errors (here name is misspelled as - anme in the second selection: - - - -mybiglongdbname; -// do some stuff - -$db = $connection->mybiglongdbanme; -// now connected to a different database! -?> -]]> - - - -
- See Also - - The API documentation on the MongoDB class contains - more information about database objects. - -
-
- -
- Getting A Collection - - Getting a collection has the same syntax as getting a database: - - - -baz; - -// select a collection: -$collection = $db->foobar; - -// or, directly selecting a database and collection: -$collection = $connection->baz->foobar; -?> -]]> - - - - A collection is analogous to a table (if you are familiar with relational - databases). - -
- See Also - - The API documentation on the MongoCollection class - contains more information about collection objects. - -
-
- -
- Inserting a Document - - Associative arrays are the basic object that can be saved to a collection in - the database. A somewhat random "document" might be: - - - - "MongoDB", - "type" => "database", - "count" => 1, - "info" => (object)array( "x" => 203, "y" => 102), - "versions" => array("0.9.7", "0.9.8", "0.9.9") -); -?> -]]> - - - - Note that you can have nested arrays and objects. The driver will always - store an associative array as an object in the database. A - numerically indexed array is stored as an array in case the keys start at - 0 and are not interrupted, and as an object if the array keys don't start - at 0 or have gaps (ie: 0, 1, 4, 5). - - - To insert this document, use MongoCollection::insert: - - - -database->collectionName; - -$collection->insert( $doc ); -?> -]]> - - -
- See Also - - The API documentation on MongoCollection::insert - contains more information about inserting data. - -
-
- -
- - Finding Documents using <function>MongoCollection::findOne</function> - - - To show that the document we inserted in the previous step is stored in - the database, we can do a simple - MongoCollection::findOne operation to get a single - document from the collection. This method is useful when there is only one - document matching the query or you are only interested in one result. - - - -database->collectionName; - -$document = $collection->findOne(); -var_dump( $document ); -?> -]]> - - &example.outputs; - - - object(MongoId)#8 (1) { - ["$id"]=> - string(24) "4e2995576803fab768000000" - } - ["name"]=> - string(7) "MongoDB" - ["type"]=> - string(8) "database" - ["count"]=> - int(1) - ["info"]=> - array(2) { - ["x"]=> - int(203) - ["y"]=> - int(102) - } - ["versions"]=> - array(3) { - [0]=> - string(5) "0.9.7" - [1]=> - string(5) "0.9.8" - [2]=> - string(5) "0.9.9" - } -} -]]> - - - - Note that there is an _id field that has been added - automatically to your document. _id is the "primary key" - field. If your document does not specify one, the driver will add one - automatically. - - - If you specify your own _id field, it must be unique to - the collection. See the example here: - - - -database; - -$db->foo->insert(array("_id" => 1)); -// this will throw an exception -$db->foo->insert(array("_id" => 1)); - -// this is fine, as it is a different collection -$db->bar->insert(array("_id" => 1)); -?> -]]> - - - - By default the driver will ensure the server has acknowledged the write - before returning. You can optionally turn this behaviour off by passing - array("w" => 0) as the second argument. This means that - the driver should not wait for the database to acknowledge the write and - would not throw the duplicate _id exception. - -
- See Also - - MongoCollection::findOne for more information about - finding data. - - - MongoId goes into more detail on unique ids. - - - The writes section covers - writes in more depth, and the - chapter goes into details of the various Write Concern options. - -
-
- -
- Adding Multiple Documents - - In order to do more interesting things with queries, let's add multiple - simple documents to the collection. These documents will just be of the form - array( "i" => value ); and we - can do this fairly efficiently in a loop: - - - -database->collectionName; - -for ( $i = 0; $i < 100; $i++ ) -{ - $collection->insert( array( 'i' => $i, "field{$i}" => $i * 2 ) ); -} -?> -]]> - - - - - Notice that we can insert arrays with different keys into the same - collection. This aspect is what we mean when we say that MongoDB is - "schema-free". In the example above each document has an - i field, but also a field name in the form of - field + $i. - -
- -
- Counting Documents in A Collection - - Now that we've inserted 101 documents (the 100 we did in the loop, plus the - first one), we can check to see if we have them all using the - MongoCollection::count method. - - -database->collectionName; - -echo $collection->count(); -?> -]]> - - - and it should print 101. - -
- -
- Using a Cursor to Get All of the Documents - - In order to get all the documents in the collection, we will use - MongoCollection::find. The find() method returns a - MongoCursor object which allows us to iterate over the - set of documents that matched our query. So to query all of the documents and - print them out: - - - -database->collectionName; - -$cursor = $collection->find(); -foreach ( $cursor as $id => $value ) -{ - echo "$id: "; - var_dump( $value ); -} -?> -]]> - - - - and that should print all 101 documents in the collection. - $id is the _id field of a document - (cast to a string) and $value is the document itself. - -
- See Also - - The API documentation on MongoCollection::find - contains more information about finding data. - -
-
- -
- Setting Criteria for a Query - - We can create a query to pass to the - MongoCollection::find method to get a subset of the - documents in our collection. For example, if we wanted to find the document - for which the value of the "i" field is - 71, we would do the following: - - - -database->collectionName; - -$query = array( 'i' => 71 ); -$cursor = $collection->find( $query ); - -while ( $cursor->hasNext() ) -{ - var_dump( $cursor->getNext() ); -} -?> -]]> - - &example.outputs; - - - object(MongoId)#6 (0) { - } - ["i"]=> - int(71) - ["_ns"]=> - "testCollection" -} -]]> - - -
- -
- Getting A Set of Documents With a Query - - We can use the query to get a set of documents from our collection. For - example, if we wanted to get all documents where "i" - > 50, we could write: - - - -database->collectionName; - -$query = array( "i" => array( '$gt' => 50 ) ); //note the single quotes around '$gt' -$cursor = $collection->find( $query ); - -while ( $cursor->hasNext() ) -{ - var_dump( $cursor->getNext() ); -} -?> -]]> - - - which should print the documents where "i" > - 50. We could also get a range, say - 20 < i <= 30: - - -database->collectionName; - -$query = array( 'i' => array( '$gt' => 20, "\$lte" => 30 ) ); -$cursor = $collection->find( $query ); - -while ( $cursor->hasNext() ) -{ - var_dump( $cursor->getNext() ); -} -?> -]]> - - - - Remember to always escape the $-symbol or use single quotes. Otherwise PHP - will interpret it to be the variable $gt. - -
- -
- Creating An Index - - MongoDB supports indexes, and they are very easy to add on a collection. To - create an index, you specify the field name and direction: ascending (1) or - descending (-1). The following creates an ascending index on the "i" field: - - - -database->collectionName; - -$collection->ensureIndex( array( "i" => 1 ) ); // create index on "i" -$collection->ensureIndex( array( "i" => -1, "j" => 1 ) ); // index on "i" descending, "j" ascending -?> -]]> - - - - Indexing is critical for good read performance as your data grows. If you - are not familiar with indexing, check out the - MongoCollection::ensureIndex documentation and the core - MongoDB indexing documentation. - -
-
- - diff --git a/reference/mongo/types.xml b/reference/mongo/types.xml deleted file mode 100644 index ffc191da08..0000000000 --- a/reference/mongo/types.xml +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - Types - - -
- - MongoDB allows programmers to save and query for data expressed in all of the - basic PHP types, compound types (arrays, associative arrays, and objects), and - a half-dozen classes provided by the MongoDB PHP driver (for regular - expressions, dates, and other specialized applications). - -
- -
- Booleans and &null; - - &true;, &false;, and &null; can be used as-is. - -
- -
- Numbers - - Numbers are distinct from strings in MongoDB: "123" does not match 123. - Thus, if you want to make sure numbers are sorted and matched correctly, you - must make sure that they are actually saved as numbers. - - - 123, "b" => "123"); -$collection->insert($doc); - -$doc->find(array("a" => 123)); // matches -$doc->find(array("a" => "123")); // doesn't match -$doc->find(array("a" => 123.0)); // matches -$doc->find(array("b" => 123)); // doesn't match -$doc->find(array("b" => "123")); // matches - -?> -]]> - - - As noted above, floating point numbers do compare with/match integer numbers - as one would expect. - -
- Large Numbers - - By default, on a 32-bit system, numbers are sent to the database as 32-bit - integers. On a 64-bit system, they are sent as 64-bit integers. For - backwards compatibility, all systems deserialize 64-bit integers as floating - point numbers. Floating point numbers are not exact. If you need exact - values, you must tweak your - php.ini settings. - - - On a 32-bit system, if mongo.long_as_object is set, - 64-bit integers will be returns as MongoInt64 - objects. The integer will be stored in the value field - with perfect precision (as a string). You can also use - MongoInt64 to save 64-bit integers on 32-bit - machines. - - - On 64-bit systems, you can either set mongo.long_as_object - or set mongo.native_long. - mongo.native_long will return 64-bit integers and - "normal" PHP integers. You can use MongoInt32 to - save 32-bit integers on 64-bit machines. - - - You should set the mongo.long_as_object and - mongo.native_long behavior that you plan to use, even if - it is the default behavior (to protect against future changes to the - defaults). - - - See also: php.ini Options, - MongoInt32, MongoInt64. - -
-
- -
- Strings - - Strings must be UTF-8. Non-UTF-8 strings must either be converted to UTF-8 - before being sent to the database or saved as binary data. - - - Regular expressions can be used to match strings, and are expressed using the - MongoRegex class. - -
- -
- Binary Data - - Non-UTF-8 strings, images, and any other binary data should be sent to the - database using the MongoBinData type. - -
- -
- Dates - - Dates can be created using the MongoDate class. They - are stored as milliseconds since the epoch. - - - MongoTimestamp is not for saving dates or timestamps, - it is used internally by MongoDB. Unless you are creating a tool that - interacts with the internals of replication or sharding, you should use - MongoDate, not - MongoTimestamp. - -
- -
- Unique Ids - - The driver will automatically create an _id field before - inserting a document (unless one is specified by the user). This field is an - instance of MongoId (called "ObjectId" in most other - languages). - - - These ids are 12 bytes long and composed of: - - - 4 bytes of timestamp - - No two records can have the same id if they were inserted at different - times. - - - - 3 bytes machine id - - No two records can have the same id if they were inserted on different - machines - - - - 2 bytes thread id - - No two records can have the same id if they were inserted by different - threads running on the same machine. - - - - 3 bytes incrementing value - - Each time an id is created, a global counter is incremented and used - as the increment value of the next id. - - - - Thus, no two records can have the same id unless a single process on a - single machine managed to insert 256^3 (over 16 million) documents in - one second, overflowing the increment field. - -
- -
- JavaScript - - MongoDB comes with a JavaScript engine, so you can embed JavaScript in - queries (using a $where clause), send it directly to the database to be - executed, and use it to perform aggregations. - - - For security, use MongoCode's scope - field to use PHP variables in JavaScript. Code that does not require - external values can either use MongoCode or just be - a string. See the - section on security for more - information about sending JavaScript to the database. - -
- -
- Arrays and Objects - - - Arrays and objects can also be saved to the database. An array with ascending - numeric keys will be saved as a an array, anything else will be saved as an - object. - - - -insert(array("scores" => $scores)); - -// $scores will be saved as an object -$scores = array("quiz1" => 98, "midterm" => 100, "quiz2" => 73, "final" => 85); -$collection->insert(array("scores" => $scores)); - -?> -]]> - - - - If you query for these objects using the database shell, they will look like: - - db.students.find() -{ "_id" : ObjectId("4b06beada9ad6390dab17c43"), "scores" : [ 98, 100, 73, 85 ] } -{ "_id" : ObjectId("4b06bebea9ad6390dab17c44"), "scores" : { "quiz1" : 98, "midterm" : 100, "quiz2" : 73, "final" : 85 } } -]]> - - - - - The database can also save arbitrary PHP objects (although they will be - returned as associative arrays). The fields are used for the key/value - pairs. For example, a blog post might look like: - -author = $author; -$this->content = $content; - $this->date = new MongoDate(); - } - - public function setTitle($title) { - $this->title = $title; - } -} - -// create a simple blog post and insert it into the database -$post1 = new Post("Adam", "This is a blog post"); - -$blog->insert($post1); - - -// there is nothing restricting the type of the "author" field, so we can make -// it a nested object -$author = array("name" => "Fred", "karma" => 42); -$post2 = new Post($author, "This is another blog post."); - -// we create an extra field by setting the title -$post2->setTitle("Second Post"); - -$blog->insert($post2); - -?> -]]> - - - - - From the database shell, this will look something like: - - db.blog.find() -{ "_id" : ObjectId("4b06c263edb87a281e09dad8"), "author" : "Adam", "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:22:59 GMT-0500 (EST)" } -{ "_id" : ObjectId("4b06c282edb87a281e09dad9"), "author" : { "name" : "Fred", "karma" : 42 }, "content" : "This is a blog post", "comments" : [ ], "date" : "Fri Nov 20 2009 11:23:30 GMT-0500 (EST)", "title" : "Second Post" } -]]> - - - - - The driver will not detect reference loops in arrays and objects. For - example, this will give a fatal error: - -insert($GLOBALS); - -?> -]]> - - - - - If you need to insert documents that may have recursive dependency, you have - to check for it yourself before passing it to the driver. - -
-
- &reference.mongo.mongoid; - &reference.mongo.mongocode; - &reference.mongo.mongodate; - &reference.mongo.mongoregex; - &reference.mongo.mongobindata; - &reference.mongo.mongoint32; - &reference.mongo.mongoint64; - &reference.mongo.mongodbref; - &reference.mongo.mongominkey; - &reference.mongo.mongomaxkey; - &reference.mongo.mongotimestamp; - -
diff --git a/reference/mongo/updates.xml b/reference/mongo/updates.xml deleted file mode 100644 index 1d4bc2eb94..0000000000 --- a/reference/mongo/updates.xml +++ /dev/null @@ -1,163 +0,0 @@ - - - - - Updates - - - Updates can be one of the most complicated operation available with - MongoDB. They combine a query with an action, modifying documents that match - the criteria. They are also extremely powerful, allowing you to change - documents quickly and replace them altogether. They are done in-place (when - possible) with little overhead. - - -
- Modifying vs. replacing documents - - - There are two types of updates you can use: modifying updates and replacing - updates. Modifying updates contain $-operators and change fields in a - document: they might increment counters, push new elements onto an array, - or change the type of a field. - - - - For example, a modifying update could add a new field to a document. - -update(array("username" => "joe"), array('$set' => array("twitter" => "@joe4153"))); - -/** now the document will look like: - * {"username" : "joe", "password" : "...", "email" : "...", "twitter" : "@joe4153"} - */ -?> -]]> - - - - - Replacing updates replace the entire matching document with a new document. - They are generally not as efficient as using $-modifiers, but can be very - usefully for complex operations or updates that can't be expressed in terms - of $-operators. - - - - For example, a replacing update can completely change the structure of a - document. - -update(array("username" => "joe"), array("userId" => 12345, "info" => array( - "name" => "joe", "twitter" => "@joe4153", "email" => "..."), "likes" => array())); - -/** now the document will look like: - * { - * "userId" : 12345, - * "info" : { - * "name" : "joe", - * "twitter" : "@joe4153", - * "email" : "..." - * }, - * "likes" : [] - * } - */ -?> -]]> - - - -
- -
- Updating Nested Objects - - - Suppose we wish to change the name of a comment's author in this document: - - - - - - In order to change an inner field, we use $set (so that all of the other - fields are not removed!) with the index of comment to change: - - -update($criteria, array('$set' => array("comments.1" => array("author" => "Jim")))); - -?> -]]> - - -
- -
- The Positional Operator - - The positional operator $ is useful for updating objects - that are in arrays. In the example above, for instance, suppose that we did - not know the index of the comment that we needed to change, merely that we - needed to change "John" to "Jim". We can use $ to do so. - - -update( - array("comments.author" => "John"), - array('$set' => array('comments.$.author' => "Jim"))); - -?> -]]> - -
-
- - - diff --git a/reference/mongo/versions.xml b/reference/mongo/versions.xml deleted file mode 100644 index bc89f67668..0000000000 --- a/reference/mongo/versions.xml +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reference/mongo/writeconcerns.xml b/reference/mongo/writeconcerns.xml deleted file mode 100644 index 81507f32ae..0000000000 --- a/reference/mongo/writeconcerns.xml +++ /dev/null @@ -1,413 +0,0 @@ - - - - - Write Concerns - - - MongoDB provides several different ways of selecting how durable a write to - the database should be. These ways are called Write - Concerns and span everything from completely ignoring all errors, - to specifically targetting which servers are required to confirm the write - before returning the operation. - - - When a write (such as with MongoCollection::insert, - MongoCollection::update, and - MongoCollection::remove) is given a Write Concern - option ("w") the driver will send the query to MongoDB - and piggy back a getLastError command - (GLE) with the Write Concern option at the same time. - The server only returns when the Write Concern condition is verified to be - fulfilled, or the query times out (controlled with the - "wtimeout" option, 10000 milliseconds - is the default). - - - - - Even though a getLastError command times out the data - will most likely have been written to the primary server and will be - replicated to all the secondaries once they have caught up. - - - The typical reasons for a timeout to happen is if you specify a Write - Concern which requires confirmation from more servers then you currently - have available. - - - - - When using acknowledged writes and the replica set has failed over, the driver - will automatically disconnect from the primary, throw an exception, and - attempt to find a new primary on the next operation (your application must - decide whether or not to retry the operation on the new primary). - - - When using unacknowledged writes (w=0) and the replica set has failed over, - there will be no way for the driver to know about the change so it will - continue and silently fail to write. - - - The default Write Concern for the MongoClient is - 1: acknowledge write operations. - - - - - - Available Write Concerns - - - - Write Concern - Meaning - Description - - - - - - w=0 - Unacknowledged - A write will not be followed up with a GLE call, and therefore not checked ("fire and forget") - - - w=1 - Acknowledged - The write will be acknowledged by the server (the primary on replica set configuration) - - - w=N - Replica Set Acknowledged - The write will be acknowledged by the primary server, and - replicated to N-1 secondaries. - - - w=majority - Majority Acknowledged - The write will be acknowledged by the majority of the replica set (including the primary). This is a special reserved string. - - - w=<tag set> - Replica Set Tag Set Acknowledged - The write will be acknowledged by members of the entire tag set - - - j=true - Journaled - The write will be acknowledged by primary and the journal flushed to disk - - - -
-
- - - Using WriteConcerns - - Each of the methods that causes writes - (MongoCollection::insert, - MongoCollection::update, - MongoCollection::remove, and - MongoCollection::batchInsert) allow an optional - argument to send a set of options to the MongoDB server. With this option - array you can set the WriteConcern as the following example illustrates: - - - Passing a WriteConcern to a write operation - -insert($someDoc, array("w" => 0)); - -// Setting w=majority for update: -$collection->update($someDoc, $someUpdates, array("w" => "majority")); - -// Setting w=5 and j=true for remove: -$collection->update($someDoc, array("w" => 5, "j" => true)); - -// Setting w="AllDCs" for batchInsert: -$collection->update(array($someDoc1, $someDoc2), array("w" => "AllDCs")); -?> -]]> - - - - Besides setting WriteConcerns per operation as an option argument, it is - also possible to set a default WriteConcern in different ways. - - - The first way is through the connection - string. The connection string accepts the - journal, w, and - wTimeoutMS options: - - - Connection string WriteConcerns - - -]]> - - - - - Since driver version 1.5 it is also possible to call - MongoDB::setWriteConcern and - MongoCollection::setWriteConcern to set a default - WriteConcern for all operations created from that specific - MongoDB or MongoCollection - object: - - - MongoDB::setWriteConcern and MongoCollection::setWriteConcern - -demoDb; -$c = $d->demoCollection; - -// Set w=3 on the database object with a timeout of 25000ms -$d->setWriteConcern(3, 25000); - -// Set w=majority on the collection object without changing the timeout -$c->setWriteConcern("majority"); -?> -]]> - - - - - - Unacknowledged Writes - - By not requiring the server to acknowledge writes the writes can be performed - extremely quickly, but you don't know whether or not they actually succeeded. - Writes can fail for a number of reasons: if there are network problems, if a - database server goes down, or if the write was simply invalid (e.g., writing - to a system collection; or duplicate key errors). - - - While developing, you should always use acknowledged writes (to protect against - inadvertent mistakes, such as syntax errors, invalid operators, duplicate key errors and so on). In - production, unacknowledged writes can be used for "unimportant" data. Unimportant - data varies on application, but it's generally automatically (instead of user - generated) data, such as click tracking or GPS locations, where you can get - thousands of records per second. - - - It is strongly recommended that you do an acknowledged write at the end of - series of unacknowledged writes. Doing so will not incur in a too large - performance penalty, but still allow you to catch any errors that may have - occurred. - - - Unacknowledged WriteConcern, followed with Acknowledged Write - -insert($someDoc, array("w" => 0)); -$collection->update($criteria, $newObj, array("w" => 0)); -$collection->insert($somethingElse, array("w" => 0)); -try { - $collection->remove($something, array("w" => 1)); -} catch(MongoCursorException $e) { - /* Handle the exception.. */ - /* Here we should issue find() queries on the IDs generated for - $somethingElse and $someDoc to verify they got written to the database and - attempt to figureout where in the chain something happened. */ -} -?> -]]> - - - If the last write throws an exception, you know that there's a problem - with your database. - - - - - - Acknowledged Writes - - These type of write operations will make sure that the database has - accepted the write operation before returning success. If the write failed, - it will throw a MongoCursorException with an - explanation of the failure. The MongoClient default - behaviour is to acknowledge the write (w=1). - - - It is possible to specify how many members of an replica set have to - acknowledge the write (i.e. have it replicated) before the write is deemed - acknowledged and the operation returns. - - Acknowledged Writes - -insert($doc, array("w" => 1)); - -// Force acknowledgement from the primary, and one other member of the -// replica set -$collection->insert($doc, array("w" => 2)); - -// Force acknowledgement from the primary, and six other members of the -// replica set (you probably never should do this): -$collection->insert($doc, array("w" => 7)); -?> -]]> - - - Keep in mind to select your Write Concern carefully. If you have a - replica set with 5 members, and you select Write Concern of - 4 you will risk the write blocking forever when one - member of the replica set goes down for maintenance or a temporary network - outage happens. - - - - - - Passing in a string value for Write Concern has a specific meaning - (Replica Set Tag Set Acknowledged). Please be careful of - NOT using string values for numbers (i.e. - array("w" => "1")) as it will be treated as a tag set - name. - - - - - - Majority Acknowledged Writes - - Using the special majority Write Concern option is the - recommended way for writes that are required to survive the apocalypse, as - it will ensure the majority of your replica set will have the write and will - therefore be guaranteed to survive all usual suspect outage scenarios. - - - Majority Acknowledged Write - -insert($someDoc, array("w" => "majority")); -?> -]]> - - - - - - - - Journaled Writes - - When connecting to a replica set the default Write Concern is only to have - the primary server acknowledge the write. There is however a 100ms window - until the write gets journaled and flushed to disk. It is possible to force - the write to be journaled before acknowledging the write by setting the - j option: - - Acknowledged and Journaled Write - Forcing journal flush - - 1, - "j" => true, -); -try { - $collection->insert($document, $options); -} catch(MongoCursorException $e) { - /* handle the exception */ -} -?> -]]> - - - - - - - &reftitle.seealso; - - - MongoDB WriteConcern docs - - - - - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 1.3.0 - - MongoClient was introduced and defaults to - acknowledged writes. - The deprecated Mongo defaults to unacknowledged - writes. - - - - 1.3.0 - - The "safe" write option has been deprecated and is - not available with the new MongoClient class. - Use the "w" option instead. - - - - - - - -
- - - diff --git a/reference/mongo/writes.xml b/reference/mongo/writes.xml deleted file mode 100644 index e17bb12fb6..0000000000 --- a/reference/mongo/writes.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - Writes -
- Updating Nested Objects - - - Suppose we wish to change the name of a comment's author in this document: - - - - - - In order to change an inner field, we use $set (so that all of the other - fields are not removed!) with the index of comment to change: - - -update($criteria, array('$set' => array("comments.1" => array("author" => "Jim")))); - -?> -]]> - - -
- -
- The Positional Operator - - The positional operator $ is useful for updating objects - that are in arrays. In the example above, for instance, suppose that we did - not know the index of the comment that we needed to change, merely that we - needed to change "John" to "Jim". We can use $ to do so. - - -update( - array('comments.author' => 'John'), - array('$set' => array('comments.$.author' => 'Jim'))); - -?> -]]> - -
- -
- - - diff --git a/reference/mongodb/architecture.xml b/reference/mongodb/architecture.xml index 5d70ca3909..2fad6372c3 100644 --- a/reference/mongodb/architecture.xml +++ b/reference/mongodb/architecture.xml @@ -13,8 +13,8 @@ This section explains how all the different parts of the driver fit together. From the different language runtimes, through the extension and to the PHP libraries on top. This new architecture has replaced the old - mongo extension. We refer to the new one - as the mongodb extension. + mongo extension. We refer to the new one + as the mongodb extension. @@ -513,16 +513,15 @@ class UpperClass implements MongoDB\BSON\Persistable { Deserialization from BSON - The legacy mongo extension deserialized + The legacy mongo extension deserialized both BSON documents and arrays as PHP arrays. While PHP arrays are convenient to work with, this behavior was problematic because different BSON types could deserialize to the same PHP value (e.g. - {"0": "foo"} and ["foo"]) and make it + {"0": "foo"} and ["foo"]) and make it impossible to infer the original BSON type. By default, the current driver addresses this concern by ensuring that BSON arrays and documents are converted to PHP arrays and objects, respectively. - For compound types, there are three data types: diff --git a/reference/mongodb/set.xml b/reference/mongodb/set.xml index 448f42e58c..576d2e8922 100644 --- a/reference/mongodb/set.xml +++ b/reference/mongodb/set.xml @@ -8,8 +8,7 @@ - Unlike the mongo extension, this - extension is developed atop the + This extension is developed atop the libmongoc and libbson libraries. It provides a minimal API for core driver functionality: From 2de5fb458e886b011050a210c6f406ca9ed51c75 Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Wed, 26 May 2021 09:08:57 +0200 Subject: [PATCH 189/444] MongoDB: remove obsolete terminology --- reference/mongodb/architecture.xml | 6 +++--- .../mongodb/driver/cursor/getserver.xml | 6 +++--- .../mongodb/driver/manager/construct.xml | 20 +++---------------- .../mongodb/driver/manager/getservers.xml | 6 +++--- .../mongodb/driver/query/construct.xml | 14 +++++-------- .../mongodb/mongodb/driver/server/getinfo.xml | 4 ++-- .../mongodb/driver/server/getlatency.xml | 4 ++-- 7 files changed, 21 insertions(+), 39 deletions(-) diff --git a/reference/mongodb/architecture.xml b/reference/mongodb/architecture.xml index 2fad6372c3..f7d42c7cc7 100644 --- a/reference/mongodb/architecture.xml +++ b/reference/mongodb/architecture.xml @@ -197,7 +197,7 @@ foreach ($managers as $manager) { 127.0.0.1 and one connection to each of rs1.example.com and rs2.example.com. If the driver discovers additional members of the replica set after issuing - isMaster commands, it will open additional connections to + hello commands, it will open additional connections to those servers as well. @@ -205,7 +205,7 @@ foreach ($managers as $manager) { If the same worker executes the script again in a second request, the three clients will be re-used and no new connections should be made. Depending on how long ago the previous request was served, the driver may need to issue - additional isMaster commands to update its view of the + additional hello commands to update its view of the topologies.
@@ -268,7 +268,7 @@ foreach ($managers as $manager) { If an array is a packed array — i.e. the keys start - at 0 and are sequential without gaps: BSON array. + at 0 and are sequential without gaps: BSON array. diff --git a/reference/mongodb/mongodb/driver/cursor/getserver.xml b/reference/mongodb/mongodb/driver/cursor/getserver.xml index 543aee4477..7d417c6f03 100644 --- a/reference/mongodb/mongodb/driver/cursor/getserver.xml +++ b/reference/mongodb/mongodb/driver/cursor/getserver.xml @@ -1,5 +1,5 @@ - + @@ -83,9 +83,9 @@ object(MongoDB\Driver\Server)#5 (10) { bool(false) ["is_passive"]=> bool(false) - ["last_is_master"]=> + ["last_hello_response"]=> array(8) { - ["ismaster"]=> + ["isWritablePrimary"]=> bool(true) ["maxBsonObjectSize"]=> int(16777216) diff --git a/reference/mongodb/mongodb/driver/manager/construct.xml b/reference/mongodb/mongodb/driver/manager/construct.xml index 16d9be1c9e..44338b8d70 100644 --- a/reference/mongodb/mongodb/driver/manager/construct.xml +++ b/reference/mongodb/mongodb/driver/manager/construct.xml @@ -1,5 +1,5 @@ - + @@ -434,27 +434,13 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ - - slaveOk - bool - - - Specifies "secondaryPreferred" for the read - preference mode if &true;. For details, see - MongoDB\Driver\ReadPreference. - - - This option is deprecated and should not be used. - - - socketCheckIntervalMS int If a socket has not been used recently, the driver must check it via - an isMaster command before using it for any + a hello command before using it for any operation. Defaults to 5,000 milliseconds. @@ -768,7 +754,7 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ are not bypassed will result in error. To bypass automatic encryption for all operations, set bypassAutoEncryption=true in autoEncryption. For more information on - whitelisted operations, see the + allowed operations, see the Client-Side Encryption Specification. diff --git a/reference/mongodb/mongodb/driver/manager/getservers.xml b/reference/mongodb/mongodb/driver/manager/getservers.xml index b5c78285af..9259dc9cb1 100644 --- a/reference/mongodb/mongodb/driver/manager/getservers.xml +++ b/reference/mongodb/mongodb/driver/manager/getservers.xml @@ -1,5 +1,5 @@ - + @@ -93,9 +93,9 @@ array(1) { bool(false) ["is_passive"]=> bool(false) - ["last_is_master"]=> + ["last_hello_response"]=> array(8) { - ["ismaster"]=> + ["isWritablePrimary"]=> bool(true) ["maxBsonObjectSize"]=> int(16777216) diff --git a/reference/mongodb/mongodb/driver/query/construct.xml b/reference/mongodb/mongodb/driver/query/construct.xml index e1f111c778..8b289c3d58 100644 --- a/reference/mongodb/mongodb/driver/query/construct.xml +++ b/reference/mongodb/mongodb/driver/query/construct.xml @@ -1,5 +1,5 @@ - + @@ -368,11 +368,6 @@ int Number of documents to skip. Defaults to 0. - - slaveOk - bool - Allow query of replica set secondaries - snapshot bool @@ -483,9 +478,10 @@ "allowPartialResults" is not specified. - Removed the "slaveOk" option, which is obsolete. - For queries using the legacy wire protocol OP_QUERY, the driver will - set the slaveOk bit as needed in accordance with the + Removed the legacy "secondaryOk" option, which is + obsolete. For queries using the legacy wire protocol OP_QUERY, the + driver will set the secondaryOk bit as needed in + accordance with the Server Selection Specification. diff --git a/reference/mongodb/mongodb/driver/server/getinfo.xml b/reference/mongodb/mongodb/driver/server/getinfo.xml index 750b48b2c8..4c73d799c1 100644 --- a/reference/mongodb/mongodb/driver/server/getinfo.xml +++ b/reference/mongodb/mongodb/driver/server/getinfo.xml @@ -1,5 +1,5 @@ - + @@ -60,7 +60,7 @@ var_dump($server->getInfo()); + ["isWritablePrimary"]=> bool(true) ["maxBsonObjectSize"]=> int(16777216) diff --git a/reference/mongodb/mongodb/driver/server/getlatency.xml b/reference/mongodb/mongodb/driver/server/getlatency.xml index a5c4cc145a..e7cf53788e 100644 --- a/reference/mongodb/mongodb/driver/server/getlatency.xml +++ b/reference/mongodb/mongodb/driver/server/getlatency.xml @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ Returns the latency of this server (i.e. the client's measured round trip time - of an ismaster command). + of a hello command). From cc0198aafd5e2574511b539da241657c68738007 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 26 May 2021 12:03:49 +0200 Subject: [PATCH 190/444] Fix typo in example --- language/oop5/interfaces.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml index 0155f98379..8376d7329a 100644 --- a/language/oop5/interfaces.xml +++ b/language/oop5/interfaces.xml @@ -264,7 +264,7 @@ interface A // Classes that extend the abstract class must implement the rest. abstract class B implements A { - pubic function foo(string $s): string + public function foo(string $s): string { return $s . PHP_EOL; } From f1b1ac9c7dfed9676197dc3ff779cb7049fc0442 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 28 May 2021 09:43:39 +0300 Subject: [PATCH 191/444] Fix a typo --- reference/image/functions/imagedestroy.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/image/functions/imagedestroy.xml b/reference/image/functions/imagedestroy.xml index 1c80d3dc0b..62d34254cd 100644 --- a/reference/image/functions/imagedestroy.xml +++ b/reference/image/functions/imagedestroy.xml @@ -12,7 +12,7 @@ GdImageimage - Priot zo PHP 8.0.0, imagedestroy freed any memory associated + Prior to PHP 8.0.0, imagedestroy freed any memory associated with image image. From b90054e3ebc5332d7dbe510d4d9010dff32c66f7 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 28 May 2021 11:38:26 +0300 Subject: [PATCH 192/444] Fix function description (#635) --- reference/image/functions/imageresolution.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/image/functions/imageresolution.xml b/reference/image/functions/imageresolution.xml index 7b16b73a1e..9ed6fcf864 100644 --- a/reference/image/functions/imageresolution.xml +++ b/reference/image/functions/imageresolution.xml @@ -18,7 +18,7 @@ imageresolution allows to set and get the resolution of an image in DPI (dots per inch). If the optional parameters are &null;, the current resolution is returned as an indexed array. If only - resolution_x is &null;, the horizontal and vertical resolution + resolution_x is not &null;, the horizontal and vertical resolution are set to this value. If none of the optional parameters are &null;, the horizontal and vertical resolution are set to these values, respectively. From 5243392681e8c902f6a216ecad66fd0a220a3d73 Mon Sep 17 00:00:00 2001 From: Kieran Date: Fri, 28 May 2021 14:26:50 +0100 Subject: [PATCH 193/444] Update stream_bucket_make_writeable return types Closes GH-636. --- reference/stream/functions/stream-bucket-make-writeable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/stream/functions/stream-bucket-make-writeable.xml b/reference/stream/functions/stream-bucket-make-writeable.xml index ca9bd43be3..aeeac02ac9 100644 --- a/reference/stream/functions/stream-bucket-make-writeable.xml +++ b/reference/stream/functions/stream-bucket-make-writeable.xml @@ -11,7 +11,7 @@ &reftitle.description; - objectstream_bucket_make_writeable + objectnullstream_bucket_make_writeable resourcebrigade From 4d6b19c5461f3ae5f62d428b67133237536bffa0 Mon Sep 17 00:00:00 2001 From: Colin O'Dell Date: Sun, 16 May 2021 18:14:10 -0400 Subject: [PATCH 194/444] Update types for IntlChar::charType() Based on https://github.com/php/php-src/blob/5b01c4863fe9e4bc2702b2bbf66d292d23001a18/ext/intl/uchar/uchar.stub.php#L29-L30 Closes GH-604. --- reference/intl/intlchar/chartype.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/reference/intl/intlchar/chartype.xml b/reference/intl/intlchar/chartype.xml index 5020cacc51..65a40e30b6 100644 --- a/reference/intl/intlchar/chartype.xml +++ b/reference/intl/intlchar/chartype.xml @@ -10,8 +10,8 @@ &reftitle.description; - public static intIntlChar::charType - mixedcodepoint + public static intnullIntlChar::charType + intstringcodepoint Returns the general category value for the code point. @@ -82,6 +82,7 @@ var_dump(IntlChar::charType("A") === IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER); var_dump(IntlChar::charType(".") === IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION); var_dump(IntlChar::charType("\t") === IntlChar::CHAR_CATEGORY_CONTROL_CHAR); var_dump(IntlChar::charType("\u{2603}") === IntlChar::CHAR_CATEGORY_OTHER_SYMBOL); +var_dump(IntlChar::charType("multiple chars") === null); ?> ]]> @@ -92,6 +93,7 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) ]]> From e4b889a3e8b9d87ab605aac9bbe85d2c16c69a1b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 28 May 2021 16:10:48 +0200 Subject: [PATCH 195/444] Fix #53397: Modulo is not accurate with double --- language/operators.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/language/operators.xml b/language/operators.xml index 1b099c465e..6e1fae3326 100644 --- a/language/operators.xml +++ b/language/operators.xml @@ -509,8 +509,8 @@ x minus one equals 3, or so I hope integer division, see intdiv. - Operands of modulo are converted to integers (by stripping the decimal - part) before processing. For floating-point modulo, see + Operands of modulo are converted to int + before processing. For floating-point modulo, see fmod. From 3263a6218e51bab67de19e1cc4c772aca35a523f Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sat, 29 May 2021 08:59:50 +0300 Subject: [PATCH 196/444] DateInterval: weeks and days can be combined since 8.0.0 (#637) Closes #633 --- reference/datetime/dateinterval/construct.xml | 95 +++++++++++++++++-- 1 file changed, 86 insertions(+), 9 deletions(-) diff --git a/reference/datetime/dateinterval/construct.xml b/reference/datetime/dateinterval/construct.xml index 3791ea289b..e7dab5b155 100644 --- a/reference/datetime/dateinterval/construct.xml +++ b/reference/datetime/dateinterval/construct.xml @@ -65,8 +65,8 @@ W - weeks. These get converted into days, - so can not be combined with D. + weeks. Converted into days. + Prior to PHP 8.0.0, can not be combined with D. @@ -128,6 +128,28 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + W can be combined with D. + + + + + + + &reftitle.examples; @@ -137,32 +159,87 @@ ]]> - &example.outputs; + &example.outputs.8; - int(2) + int(0) ["m"]=> int(0) ["d"]=> - int(4) + int(9) ["h"]=> - int(6) + int(0) ["i"]=> - int(8) + int(0) ["s"]=> int(0) + ["f"]=> + float(0) + ["weekday"]=> + int(0) + ["weekday_behavior"]=> + int(0) + ["first_last_day_of"]=> + int(0) ["invert"]=> int(0) ["days"]=> bool(false) + ["special_type"]=> + int(0) + ["special_amount"]=> + int(0) + ["have_weekday_relative"]=> + int(0) + ["have_special_relative"]=> + int(0) +} +]]> + + &example.outputs.7; + + + int(0) + ["m"]=> + int(0) + ["d"]=> + int(2) + ["h"]=> + int(0) + ["i"]=> + int(0) + ["s"]=> + int(0) + ["f"]=> + float(0) + ["weekday"]=> + int(0) + ["weekday_behavior"]=> + int(0) + ["first_last_day_of"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + bool(false) + ["special_type"]=> + int(0) + ["special_amount"]=> + int(0) + ["have_weekday_relative"]=> + int(0) + ["have_special_relative"]=> + int(0) } ]]> From 9c50518b733b0610a05861d57a0e3a4184e9d578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Mon, 31 May 2021 18:23:33 +0800 Subject: [PATCH 197/444] Remove spldoublylinkedlist construct (#641) * Remove spldoublylinkedlist construct * Update * Remove spldoublylinkedlist construct --- reference/spl/spldoublylinkedlist.xml | 1 - .../spl/spldoublylinkedlist/construct.xml | 92 ------------------- 2 files changed, 93 deletions(-) delete mode 100644 reference/spl/spldoublylinkedlist/construct.xml diff --git a/reference/spl/spldoublylinkedlist.xml b/reference/spl/spldoublylinkedlist.xml index b98e0b3975..401a09087c 100644 --- a/reference/spl/spldoublylinkedlist.xml +++ b/reference/spl/spldoublylinkedlist.xml @@ -84,7 +84,6 @@ }}} --> &Methods; - diff --git a/reference/spl/spldoublylinkedlist/construct.xml b/reference/spl/spldoublylinkedlist/construct.xml deleted file mode 100644 index 04b5647ee5..0000000000 --- a/reference/spl/spldoublylinkedlist/construct.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - SplDoublyLinkedList::__construct - Constructs a new doubly linked list - - - - &reftitle.description; - - public SplDoublyLinkedList::__construct - - - - This constructs a new empty doubly linked list. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.void; - - - - - &reftitle.examples; - - - <function>SplDoublyLinkedList::__construct</function> example - -push(2); -$dll->push(3); -$dll->unshift(5); - -var_dump($dll); -?> -]]> - - &example.outputs; - - - int(0) - ["dllist":"SplDoublyLinkedList":private]=> - array(3) { - [0]=> - int(5) - [1]=> - int(2) - [2]=> - int(3) - } -} -]]> - - - - - - - From 67d2e5fb1dc83aea4e82ec1e6b5a39299eff6bab Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Wed, 26 May 2021 02:58:50 +0100 Subject: [PATCH 198/444] Remove mysqlnd plugin docs --- appendices/extensions.xml | 10 - appendices/ini.list.xml | 5 - reference/mysqlinfo/set.xml | 35 - reference/mysqlnd_memcache/book.xml | 150 - reference/mysqlnd_memcache/changes.xml | 61 - reference/mysqlnd_memcache/configure.xml | 42 - reference/mysqlnd_memcache/constants.xml | 122 - .../mysqlnd_memcache/figures/mymemflow.dot | 32 - .../mysqlnd_memcache/figures/mymemflow.png | Bin 9414 -> 0 bytes .../functions/mysqlnd-memcache-get-config.xml | 270 -- .../functions/mysqlnd-memcache-set.xml | 174 - reference/mysqlnd_memcache/ini.xml | 82 - reference/mysqlnd_memcache/quickstart.xml | 181 - reference/mysqlnd_memcache/reference.xml | 30 - reference/mysqlnd_memcache/setup.xml | 59 - reference/mysqlnd_memcache/versions.xml | 33 - reference/mysqlnd_ms/book.xml | 359 -- reference/mysqlnd_ms/changes.xml | 1008 ----- reference/mysqlnd_ms/concepts.xml | 2353 ---------- reference/mysqlnd_ms/configure.xml | 42 - reference/mysqlnd_ms/constants.xml | 326 -- .../functions/mysqlnd-ms-dump-servers.xml | 259 -- .../mysqlnd-ms-fabric-select-global.xml | 94 - .../mysqlnd-ms-fabric-select-shard.xml | 102 - .../functions/mysqlnd-ms-get-last-gtid.xml | 142 - .../mysqlnd-ms-get-last-used-connection.xml | 263 -- .../functions/mysqlnd-ms-get-stats.xml | 792 ---- .../functions/mysqlnd-ms-match-wild.xml | 139 - .../functions/mysqlnd-ms-query-is-select.xml | 160 - .../functions/mysqlnd-ms-set-qos.xml | 233 - .../mysqlnd-ms-set-user-pick-server.xml | 247 -- .../functions/mysqlnd-ms-xa-begin.xml | 179 - .../functions/mysqlnd-ms-xa-commit.xml | 111 - .../mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml | 148 - .../functions/mysqlnd-ms-xa-rollback.xml | 106 - reference/mysqlnd_ms/ini.xml | 232 - reference/mysqlnd_ms/quickstart.xml | 2384 ----------- reference/mysqlnd_ms/reference.xml | 30 - reference/mysqlnd_ms/setup.xml | 3776 ----------------- reference/mysqlnd_ms/versions.xml | 42 - reference/mysqlnd_mux/book.xml | 176 - reference/mysqlnd_mux/changes.xml | 69 - reference/mysqlnd_mux/concepts.xml | 118 - reference/mysqlnd_mux/configure.xml | 34 - reference/mysqlnd_mux/constants.xml | 98 - reference/mysqlnd_mux/ini.xml | 74 - reference/mysqlnd_mux/setup.xml | 50 - reference/mysqlnd_qc/book.xml | 187 - reference/mysqlnd_qc/changes.xml | 292 -- reference/mysqlnd_qc/configure.xml | 41 - reference/mysqlnd_qc/constants.xml | 268 -- .../functions/mysqlnd-qc-clear-cache.xml | 77 - .../mysqlnd-qc-get-available-handlers.xml | 133 - .../functions/mysqlnd-qc-get-cache-info.xml | 551 --- .../functions/mysqlnd-qc-get-core-stats.xml | 512 --- ...qlnd-qc-get-normalized-query-trace-log.xml | 339 -- .../mysqlnd-qc-get-query-trace-log.xml | 377 -- .../mysqlnd-qc-set-cache-condition.xml | 161 - .../functions/mysqlnd-qc-set-is-select.xml | 161 - .../mysqlnd-qc-set-storage-handler.xml | 138 - .../mysqlnd-qc-set-user-handlers.xml | 189 - reference/mysqlnd_qc/ini.xml | 443 -- reference/mysqlnd_qc/quickstart.xml | 1732 -------- reference/mysqlnd_qc/reference.xml | 30 - reference/mysqlnd_qc/setup.xml | 56 - reference/mysqlnd_qc/versions.xml | 40 - reference/mysqlnd_uh/book.xml | 168 - reference/mysqlnd_uh/changes.xml | 96 - reference/mysqlnd_uh/configure.xml | 40 - reference/mysqlnd_uh/constants.xml | 1095 ----- .../mysqlnd-uh-convert-to-mysqlnd.xml | 132 - .../mysqlnd-uh-set-connection-proxy.xml | 160 - .../mysqlnd-uh-set-statement-proxy.xml | 99 - reference/mysqlnd_uh/ini.xml | 92 - reference/mysqlnd_uh/mysqlnduhconnection.xml | 67 - .../mysqlnduhconnection/changeuser.xml | 172 - .../mysqlnduhconnection/charsetname.xml | 115 - .../mysqlnd_uh/mysqlnduhconnection/close.xml | 156 - .../mysqlnduhconnection/connect.xml | 196 - .../mysqlnduhconnection/construct.xml | 58 - .../mysqlnduhconnection/endpsession.xml | 116 - .../mysqlnduhconnection/escapestring.xml | 133 - .../mysqlnduhconnection/getaffectedrows.xml | 120 - .../mysqlnduhconnection/geterrornumber.xml | 139 - .../mysqlnduhconnection/geterrorstring.xml | 139 - .../mysqlnduhconnection/getfieldcount.xml | 131 - .../gethostinformation.xml | 118 - .../mysqlnduhconnection/getlastinsertid.xml | 120 - .../mysqlnduhconnection/getlastmessage.xml | 126 - .../getprotocolinformation.xml | 117 - .../getserverinformation.xml | 117 - .../getserverstatistics.xml | 117 - .../mysqlnduhconnection/getserverversion.xml | 117 - .../mysqlnduhconnection/getsqlstate.xml | 122 - .../mysqlnduhconnection/getstatistics.xml | 600 --- .../mysqlnduhconnection/getthreadid.xml | 117 - .../mysqlnduhconnection/getwarningcount.xml | 114 - .../mysqlnd_uh/mysqlnduhconnection/init.xml | 120 - .../mysqlnduhconnection/killconnection.xml | 124 - .../mysqlnduhconnection/listfields.xml | 143 - .../mysqlnduhconnection/listmethod.xml | 181 - .../mysqlnduhconnection/moreresults.xml | 137 - .../mysqlnduhconnection/nextresult.xml | 129 - .../mysqlnd_uh/mysqlnduhconnection/ping.xml | 117 - .../mysqlnd_uh/mysqlnduhconnection/query.xml | 133 - .../queryreadresultsetheader.xml | 128 - .../mysqlnduhconnection/reapquery.xml | 177 - .../mysqlnduhconnection/refreshserver.xml | 123 - .../mysqlnduhconnection/restartpsession.xml | 112 - .../mysqlnduhconnection/selectdb.xml | 128 - .../mysqlnduhconnection/sendclose.xml | 116 - .../mysqlnduhconnection/sendquery.xml | 120 - .../serverdumpdebuginformation.xml | 113 - .../mysqlnduhconnection/setautocommit.xml | 129 - .../mysqlnduhconnection/setcharset.xml | 124 - .../mysqlnduhconnection/setclientoption.xml | 199 - .../mysqlnduhconnection/setserveroption.xml | 144 - .../mysqlnduhconnection/shutdownserver.xml | 76 - .../mysqlnduhconnection/simplecommand.xml | 230 - .../simplecommandhandleresponse.xml | 210 - .../mysqlnd_uh/mysqlnduhconnection/sslset.xml | 164 - .../mysqlnduhconnection/stmtinit.xml | 124 - .../mysqlnduhconnection/storeresult.xml | 138 - .../mysqlnduhconnection/txcommit.xml | 115 - .../mysqlnduhconnection/txrollback.xml | 115 - .../mysqlnduhconnection/useresult.xml | 128 - .../mysqlnd_uh/mysqlnduhpreparedstatement.xml | 67 - .../mysqlnduhpreparedstatement/construct.xml | 58 - .../mysqlnduhpreparedstatement/execute.xml | 126 - .../mysqlnduhpreparedstatement/prepare.xml | 137 - reference/mysqlnd_uh/quickstart.xml | 424 -- reference/mysqlnd_uh/reference.xml | 30 - reference/mysqlnd_uh/setup.xml | 64 - reference/mysqlnd_uh/versions.xml | 92 - 134 files changed, 31363 deletions(-) delete mode 100644 reference/mysqlnd_memcache/book.xml delete mode 100644 reference/mysqlnd_memcache/changes.xml delete mode 100644 reference/mysqlnd_memcache/configure.xml delete mode 100644 reference/mysqlnd_memcache/constants.xml delete mode 100644 reference/mysqlnd_memcache/figures/mymemflow.dot delete mode 100644 reference/mysqlnd_memcache/figures/mymemflow.png delete mode 100644 reference/mysqlnd_memcache/functions/mysqlnd-memcache-get-config.xml delete mode 100644 reference/mysqlnd_memcache/functions/mysqlnd-memcache-set.xml delete mode 100644 reference/mysqlnd_memcache/ini.xml delete mode 100644 reference/mysqlnd_memcache/quickstart.xml delete mode 100644 reference/mysqlnd_memcache/reference.xml delete mode 100644 reference/mysqlnd_memcache/setup.xml delete mode 100644 reference/mysqlnd_memcache/versions.xml delete mode 100644 reference/mysqlnd_ms/book.xml delete mode 100644 reference/mysqlnd_ms/changes.xml delete mode 100644 reference/mysqlnd_ms/concepts.xml delete mode 100644 reference/mysqlnd_ms/configure.xml delete mode 100644 reference/mysqlnd_ms/constants.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-dump-servers.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-global.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-shard.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-gtid.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-used-connection.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-get-stats.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-match-wild.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-query-is-select.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-set-qos.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-set-user-pick-server.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-xa-begin.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-xa-commit.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml delete mode 100644 reference/mysqlnd_ms/functions/mysqlnd-ms-xa-rollback.xml delete mode 100644 reference/mysqlnd_ms/ini.xml delete mode 100644 reference/mysqlnd_ms/quickstart.xml delete mode 100644 reference/mysqlnd_ms/reference.xml delete mode 100644 reference/mysqlnd_ms/setup.xml delete mode 100644 reference/mysqlnd_ms/versions.xml delete mode 100644 reference/mysqlnd_mux/book.xml delete mode 100644 reference/mysqlnd_mux/changes.xml delete mode 100644 reference/mysqlnd_mux/concepts.xml delete mode 100644 reference/mysqlnd_mux/configure.xml delete mode 100644 reference/mysqlnd_mux/constants.xml delete mode 100644 reference/mysqlnd_mux/ini.xml delete mode 100644 reference/mysqlnd_mux/setup.xml delete mode 100644 reference/mysqlnd_qc/book.xml delete mode 100644 reference/mysqlnd_qc/changes.xml delete mode 100644 reference/mysqlnd_qc/configure.xml delete mode 100644 reference/mysqlnd_qc/constants.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-clear-cache.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-get-available-handlers.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-get-cache-info.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-get-core-stats.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-get-normalized-query-trace-log.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-get-query-trace-log.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-set-cache-condition.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-set-is-select.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-set-storage-handler.xml delete mode 100644 reference/mysqlnd_qc/functions/mysqlnd-qc-set-user-handlers.xml delete mode 100644 reference/mysqlnd_qc/ini.xml delete mode 100644 reference/mysqlnd_qc/quickstart.xml delete mode 100644 reference/mysqlnd_qc/reference.xml delete mode 100644 reference/mysqlnd_qc/setup.xml delete mode 100644 reference/mysqlnd_qc/versions.xml delete mode 100644 reference/mysqlnd_uh/book.xml delete mode 100644 reference/mysqlnd_uh/changes.xml delete mode 100644 reference/mysqlnd_uh/configure.xml delete mode 100644 reference/mysqlnd_uh/constants.xml delete mode 100644 reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml delete mode 100644 reference/mysqlnd_uh/functions/mysqlnd-uh-set-connection-proxy.xml delete mode 100644 reference/mysqlnd_uh/functions/mysqlnd-uh-set-statement-proxy.xml delete mode 100644 reference/mysqlnd_uh/ini.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/changeuser.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/charsetname.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/close.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/connect.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/construct.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/endpsession.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/escapestring.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getaffectedrows.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/geterrornumber.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/geterrorstring.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getfieldcount.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/gethostinformation.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getlastinsertid.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getlastmessage.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getprotocolinformation.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getserverinformation.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getserverstatistics.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getserverversion.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getsqlstate.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getstatistics.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getthreadid.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/getwarningcount.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/init.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/killconnection.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/listfields.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/listmethod.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/moreresults.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/nextresult.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/ping.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/query.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/queryreadresultsetheader.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/reapquery.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/refreshserver.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/restartpsession.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/selectdb.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/sendclose.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/sendquery.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/serverdumpdebuginformation.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/setautocommit.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/setcharset.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/setclientoption.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/setserveroption.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/shutdownserver.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/simplecommand.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/simplecommandhandleresponse.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/sslset.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/stmtinit.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/storeresult.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/txcommit.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/txrollback.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhconnection/useresult.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhpreparedstatement.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhpreparedstatement/construct.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhpreparedstatement/execute.xml delete mode 100644 reference/mysqlnd_uh/mysqlnduhpreparedstatement/prepare.xml delete mode 100644 reference/mysqlnd_uh/quickstart.xml delete mode 100644 reference/mysqlnd_uh/reference.xml delete mode 100644 reference/mysqlnd_uh/setup.xml delete mode 100644 reference/mysqlnd_uh/versions.xml diff --git a/appendices/extensions.xml b/appendices/extensions.xml index cd50eb1009..5a11104fd5 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -87,11 +87,6 @@ - - - - - @@ -331,11 +326,6 @@ - - - - - diff --git a/appendices/ini.list.xml b/appendices/ini.list.xml index 2d12e2cb8f..072267d8b8 100644 --- a/appendices/ini.list.xml +++ b/appendices/ini.list.xml @@ -557,11 +557,6 @@ - - - - - diff --git a/reference/mysqlinfo/set.xml b/reference/mysqlinfo/set.xml index 30a65cda67..8608af65c0 100644 --- a/reference/mysqlinfo/set.xml +++ b/reference/mysqlinfo/set.xml @@ -428,36 +428,6 @@ $ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysq Yes Limited - - Read/Write splitting for MySQL Replication - Yes, with plugin - No - - - Load Balancing - Yes, with plugin - No - - - Fail over - Yes, with plugin - No - - - Lazy connections - Yes, with plugin - No - - - Query caching - Yes, with plugin - No - - - Transparent query manipulations (E.g., auto-EXPLAIN or monitoring) - Yes, with plugin - No - Automatic reconnect No @@ -476,10 +446,5 @@ $ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysq &reference.mysql-xdevapi.book; &reference.mysql.book; &reference.mysqlnd.book; - &reference.mysqlnd-ms.book; - &reference.mysqlnd-qc.book; - &reference.mysqlnd-uh.book; - &reference.mysqlnd-mux.book; - &reference.mysqlnd-memcache.book; diff --git a/reference/mysqlnd_memcache/book.xml b/reference/mysqlnd_memcache/book.xml deleted file mode 100644 index f59a9f124b..0000000000 --- a/reference/mysqlnd_memcache/book.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - Mysqlnd Memcache plugin - mysqlnd_memcache - - - &reftitle.intro; - - The mysqlnd memcache plugin (mysqlnd_memcache) is an PHP - extension for transparently translating SQL into requests for the - MySQL InnoDB Memcached Daemon Plugin (server plugin). It includes - experimental support for the MySQL Cluster Memcached Daemon. The server - plugin provides access to data stored inside MySQL InnoDB (respectively - MySQL Cluster NDB) tables using the Memcache protocol. - This PHP extension, which supports all PHP MySQL extensions that use - mysqlnd, will identify tables exported in - this way and will translate specific SELECT queries into Memcache requests. - - - mysqlnd_memcache data flow - - - - - - - This plugin depends on the MySQL InnoDB Memcached Daemon Plugin. It is not - provided to be used with a stand-alone Memcached. For a generic query cache - using Memcached look at the mysqlnd query - cache plugin. For direct Memcache access look at the - memcache and - memcached extensions. - - - - The MySQL native driver for PHP is a C library that ships together with - PHP. It serves as a drop-in replacement for the - MySQL Client Library (libmysqlclient). Using mysqlnd has - several advantages: no extra downloads are required because it's bundled with PHP, - it's under the PHP license, there is lower memory consumption in certain cases, and - it contains new functionality such as asynchronous queries. - - - The mysqlnd_mmemcache operates, for the most part, - transparently from a user perspective. The mysqlnd memcache - plugin supports all PHP applications, and all MySQL PHP extensions. - It does not change existing APIs. Therefore, it can easily be used with - existing PHP applications. - - - The MySQL Memcache plugins add key-value style access method for data stored - in InnoDB resp. NDB (MySQL Cluster) SQL tables through the Memcache protocol. - This type of key-value access if often faster than using SQL. - -
- Key Features - - The key features of PECL/mysqlnd_memcache are as follows. - - - - - - Possible performance benefits - - - - - - Client-side: light-weight protocol. - - - - - Server-side: no SQL parsing, direct access to the storage. - - - - - Please, run your own benchmarks! Actual performance results are - highly dependent on setup and hardware used. - - - - - - - -
- -
- Limitations - - The initial version is not binary safe. Due to the way the MySQL Memcache - plugins works there are restrictions related to separators. - - - Prepared statements and asynchronous queries are not supported. Result set - meta data support is limited. - - - The mapping information for tables accessible via Memcache is not cached - in the plugin between requests but fetched from the MySQL server each time - a MySQL connection is associated with a Memcache connection. See - mysqlnd_memcache_set for details. - -
- -
- On the name - - The shortcut mysqlnd_memcache - stands for mysqlnd memcache plugin. - Memcache refers to support of the MySQL Memcache plugins - for InnoDB and NDB (MySQL Cluster). The plugin is not - related to the Memcached cache server. - -
-
- - &reference.mysqlnd-memcache.quickstart; - &reference.mysqlnd-memcache.setup; - &reference.mysqlnd-memcache.constants; - &reference.mysqlnd-memcache.reference; - &reference.mysqlnd-memcache.changes; - -
- - diff --git a/reference/mysqlnd_memcache/changes.xml b/reference/mysqlnd_memcache/changes.xml deleted file mode 100644 index c3306bd3c1..0000000000 --- a/reference/mysqlnd_memcache/changes.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Change History - - This change history is a high level summary of selected changes - that may impact applications and/or break backwards compatibility. - - - See also the CHANGES file in the source distribution - for a complete list of changes. - - -
- PECL/mysqlnd_memcache 1.0 series - - 1.0.0-alpha - - - - Release date: TBD - - - - - Motto/theme: Basic mapping of SQL SELECT to a MySQL Memcache plugin access. - - - - - - The initial release does map basic SQL SELECT statements to a MySQL Memcache plugin - access. This bares potential performance benefits as the direct - key-value access to MySQL storage using the Memcache protocol is usually - faster than using SQL access. - -
- -
- - diff --git a/reference/mysqlnd_memcache/configure.xml b/reference/mysqlnd_memcache/configure.xml deleted file mode 100644 index 3998d69963..0000000000 --- a/reference/mysqlnd_memcache/configure.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.moved; - - - - &pecl.info; - &url.pecl.package;mysqlnd_memcache - - - - &pecl.windows.download; - - -
- - - diff --git a/reference/mysqlnd_memcache/constants.xml b/reference/mysqlnd_memcache/constants.xml deleted file mode 100644 index 1b0f1d844a..0000000000 --- a/reference/mysqlnd_memcache/constants.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - MySQL Memcache Plugin related - - - - - - MYSQLND_MEMCACHE_DEFAULT_REGEXP - (string) - - - - Default regular expression (PCRE style) used for matching SELECT - statements that will be mapped into a MySQL Memcache Plugin access point, if possible. - - - It is also possible to use mysqlnd_memcache_set, but the default - approach is using this regular expression for pattern matching. - - - - - - - - Assorted - - - The version number of this plugin can be obtained by using - MYSQLND_MEMCACHE_VERSION or - MYSQLND_MEMCACHE_VERSION_ID. - MYSQLND_MEMCACHE_VERSION - is the string representation of the numerical version number - MYSQLND_MEMCACHE_VERSION_ID, which is an integer such as 10000. - Developers can calculate the version number as follows. - - - - - - - Version (part) - Example - - - - - Major*10000 - 1*10000 = 10000 - - - Minor*100 - 0*100 = 0 - - - Patch - 0 = 0 - - - MYSQLND_MEMCACHE_VERSION_ID - 10000 - - - - - - - - - - MYSQLND_MEMCACHE_VERSION - (string) - - - - Plugin version string, for example, 1.0.0-alpha. - - - - - - MYSQLND_MEMCACHE_VERSION_ID - (int) - - - - Plugin version number, for example, 10000. - - - - - - - - - diff --git a/reference/mysqlnd_memcache/figures/mymemflow.dot b/reference/mysqlnd_memcache/figures/mymemflow.dot deleted file mode 100644 index a69de553d8..0000000000 --- a/reference/mysqlnd_memcache/figures/mymemflow.dot +++ /dev/null @@ -1,32 +0,0 @@ -/* -Render using -$ dot -Tpng -ofigures/mymemflow.png figures/mymemflow.dot -*/ -graph mymemflow { - rankdir=LR - node [shape=box] - - subgraph clusterPHP { - rankdir=LR - label="PHP" - extmysql [label="ext/mysql"] - extmysql -- mysqlnd_memcache - mysqli -- mysqlnd_memcache - pdo -- mysqlnd_memcache - - subgraph clusterMysqlnd { - label=mysqlnd - mysqlnd_memcache [color=blue] - } - } - - subgraph clusterMySQL { - label="MySQL Server" - color=black - sqlengine [label="SQL Engine"] - innoplugin [label="InnoDB Memcache Daemon" color=blue] - } - - mysqlnd_memcache -- innoplugin [label="memcache protocol" color=blue] - mysqlnd_memcache -- sqlengine [label="MySQL Protocol"] -} diff --git a/reference/mysqlnd_memcache/figures/mymemflow.png b/reference/mysqlnd_memcache/figures/mymemflow.png deleted file mode 100644 index 328d66c1387b8abdf3fda84d7d505afbf30188c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9414 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 diff --git a/reference/mysqlnd_memcache/functions/mysqlnd-memcache-get-config.xml b/reference/mysqlnd_memcache/functions/mysqlnd-memcache-get-config.xml deleted file mode 100644 index c9bdde6284..0000000000 --- a/reference/mysqlnd_memcache/functions/mysqlnd-memcache-get-config.xml +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - mysqlnd_memcache_get_config - Returns information about the plugin configuration - - - - &reftitle.description; - - array - mysqlnd_memcache_get_config - mixedconnection - - - This function returns an array of all mysqlnd_memcache related configuration - information that is attached to the MySQL connection. This includes MySQL, the - Memcache object provided via mysqlnd_memcache_set, - and the table mapping configuration that was automatically collected - from the MySQL Server. - - - - - &reftitle.parameters; - - - connection - - - A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are - PDO_MYSQL, mysqli or - ext/mysql. - - - - - - - - &reftitle.returnvalues; - - An array of mysqlnd_memcache configuration information on success, otherwise &false;. - - - The returned array has these elements: - - - - <function>mysqlnd_memcache_get_config</function> array structure - - - - Array Key - Description - - - - - memcached - - Instance of Memcached associated to this MySQL connection - by mysqlnd_memcache_set. You can use this to - change settings of the memcache connection, or directly by querying the - server on this connection. - - - - pattern - - The PCRE regular expression used to match the SQL query sent to the server. - Queries matching this pattern will be further analyzed to decide whether - the query can be intercepted and sent via the memcache interface or - whether the query is sent using the general MySQL protocol to the - server. The pattern is either the default pattern - (MYSQLND_MEMCACHE_DEFAULT_REGEXP) or it is set via - mysqlnd_memcache_set. - - - - mappings - - An associative array with a list of all configured containers as they - were discovered by this plugin. The key for these elements is the name - of the container in the MySQL configuration. The value is described - below. The contents of this field is created by querying the MySQL - Server during association to MySQL and a memcache connection using - mysqlnd_memcache_set. - - - - mapping_query - An SQL query used during - mysqlnd_memcache_set - to identify the available containers and mappings. The result of that - query is provided in the mappings element. - - - - -
- - Mapping entry structure - - - - Array Key - Description - - - - - prefix - - A prefix used while accessing data via memcache. With the MySQL InnoDB - Memcache Deamon plugin, this usually begins with @@ and ends with a - configurable separator. This prefix is placed in front of the key value - while using the memcache protocol. - - - - schema_name - - Name of the schema (database) which contains the table being accessed. - - - - table_name - - Name of the table which contains the data accessible via memcache - protocol. - - - - id_field_name - - Name of the database field (column) with the id used as key when - accessing the table via memcache. Often this is the database field - having a primary key. - - - - separator - - The separator used to split the different field values. This is needed as - memcache only provides access to a single value while MySQL can map - multiple columns to this value. - - - The separator, which can be set in the MySQL Server configuration, - should not be part of any value retrieved via memcache because proper - mapping can't be guaranteed. - - - - - - fields - - An array with the name of all fields available for this mapping. - - - - -
-
-
- - - &reftitle.examples; - - - <function>mysqlnd_memcache_get_config</function> example - -addServer("host", 11211); -mysqlnd_memcache_set($mysqli, $memc); - -var_dump(mysqlnd_memcache_get_config($mysqli)); -?> -]]> - - &example.outputs; - - - object(Memcached)#2 (0) { - } - ["pattern"]=> - string(125) "/^\s*SELECT\s*(.+?)\s*FROM\s*`?([a-z0-9_]+)`?\s*WHERE\s*`?([a-z0-9_]+)`?\s*=\s*(?(?=["'])["']([^"']*)["']|([0-9e\.]*))\s*$/is" - ["mappings"]=> - array(1) { - ["mymem_test"]=> - array(6) { - ["prefix"]=> - string(13) "@@mymem_test." - ["schema_name"]=> - string(4) "test" - ["table_name"]=> - string(10) "mymem_test" - ["id_field_name"]=> - string(2) "id" - ["separator"]=> - string(1) "|" - ["fields"]=> - array(3) { - [0]=> - string(2) "f1" - [1]=> - string(2) "f2" - [2]=> - string(2) "f3" - } - } - } - ["mapping_query"]=> - string(209) " SELECT c.name, - CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix, - c.db_schema, - c.db_table, - c.key_columns, - c.value_columns, - (SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep - FROM innodb_memcache.containers c" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_memcache_set - - - - - -
- - diff --git a/reference/mysqlnd_memcache/functions/mysqlnd-memcache-set.xml b/reference/mysqlnd_memcache/functions/mysqlnd-memcache-set.xml deleted file mode 100644 index 92b40613a6..0000000000 --- a/reference/mysqlnd_memcache/functions/mysqlnd-memcache-set.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - mysqlnd_memcache_set - Associate a MySQL connection with a Memcache connection - - - - &reftitle.description; - - bool - mysqlnd_memcache_set - mixedmysql_connection - Memcachedmemcache_connection - stringpattern - callablecallback - - - Associate mysql_connection with - memcache_connection using pattern - as a PCRE regular expression, and callback as a notification - callback or to unset the association of mysql_connection. - - - While associating a MySQL connection with a Memcache connection, this function - will query the MySQL Server for its configuration. It will automatically - detect whether the server is configured to use the InnoDB Memcache Daemon - Plugin or MySQL Cluster NDB Memcache support. It will also query the server - to automatically identify exported tables and other configuration options. - The results of this automatic configuration can be retrieved using - mysqlnd_memcache_get_config. - - - - - &reftitle.parameters; - - - mysql_connection - - - A handle to a MySQL Server using one of the MySQL API extensions for PHP, which are - PDO_MYSQL, mysqli or - ext/mysql. - - - - - memcache_connection - - - A Memcached instance with a - connection to the MySQL Memcache Daemon plugin. If this parameter - is omitted, then mysql_connection will be unassociated - from any memcache connection. And if a previous association exists, then it will be - replaced. - - - - - pattern - - - A regular expression in Perl Compatible - Regular Expression syntax used to identify potential - Memcache-queries. The query should have three sub patterns. The - first subpattern contains the requested field list, the second the name - of the ID column from the query and the third the requested value. If - this parameter is omitted or os set to &null;, then a default - pattern will be used. - - - - - callback - - - A callback which will be used whenever a query is being sent to - MySQL. The callback will receive a single &boolean; parameter - telling if a query was sent via Memcache. - - - - - - - - &reftitle.returnvalues; - - &true; if the association or disassociation is successful, otherwise &false; if there - is an error. - - - - - &reftitle.examples; - - - - <function>mysqlnd_memcache_set</function> example with - <function>var_dump</function> as a simple debugging callback. - - -addServer("host", 11211); -mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump'); - -/* This query will be intercepted and executed via Memcache protocol */ -echo "Sending query for id via Memcache: "; -$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1"); - -/* f1 is not configured as valid key field, this won't be sent via Memcache */ -echo "Sending query for f1 via Memcache: "; -$mysqli->query("SELECT id FROM test WHERE f1 = 1"); - -mysqlnd_memcache_set($mysqli); - -/* Now the regular MySQL protocol will be used */ -echo "var_dump won't be invoked: "; -$mysqli->query("SELECT f1, f2, f3 WHERE id = 1"); - -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - - mysqlnd_memcache_get_config - - - - - - - - diff --git a/reference/mysqlnd_memcache/ini.xml b/reference/mysqlnd_memcache/ini.xml deleted file mode 100644 index 4cf3d3869c..0000000000 --- a/reference/mysqlnd_memcache/ini.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - Mysqlnd_memcache &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mysqlnd_memcache.enable - 1 - PHP_INI_SYSTEM - Available since 1.0.0 - - - -
-
- - &ini.descriptions.title; - - - - - - - mysqlnd_memcache.enable - int - - - - Enables or disables the plugin. If disabled, the extension will not plug - into - mysqlnd to proxy internal - mysqlnd C API calls. - - - This option is mainly used by developers to build this - extension statically into PHP. General users are encouraged to build - this extension as a shared object, and to unload it completely when - it is not needed. - - - - - - - - -
- - diff --git a/reference/mysqlnd_memcache/quickstart.xml b/reference/mysqlnd_memcache/quickstart.xml deleted file mode 100644 index 6ca7001cc7..0000000000 --- a/reference/mysqlnd_memcache/quickstart.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - Quickstart and Examples - - The mysqlnd memcache plugin is easy to use. - This quickstart will demo typical use-cases, and provide practical advice on getting - started. - - - It is strongly recommended to read the reference sections in addition to the - quickstart. The quickstart tries to avoid discussing theoretical concepts - and limitations. Instead, it will link to the reference sections. It is safe - to begin with the quickstart. However, before using the plugin in mission critical - environments we urge you to read additionally the background information from the - reference sections. - -
- Setup - - The plugin is implemented as a PHP extension. See also the - installation instructions to - install this extension. - - - Compile or configure the PHP MySQL extension (API) (mysqli, - PDO_MYSQL, mysql). - That extension must use the mysqlnd library as - because mysqlnd_memcache is a plugin for the mysqlnd library. For additional information, - refer to the mysqlnd_memcache installation instructions. - - - Then, load this extension into PHP and activate the plugin in the PHP configuration - file using the PHP configuration directive named - mysqlnd_memcache.enable. - - - - Enabling the plugin (php.ini) - - - - - - - Follow the instructions given in the MySQL - Reference Manual on installing the Memcache plugins for the MySQL server. Activate - the plugins and configure Memcache access for SQL tables. - - - The examples in this quickguide assume that the following table exists, and that - Memcache is configured with access to it. - - - - SQL table used for the Quickstart - - - - - -
-
- Usage - - After associating a MySQL connection with a Memcache connection using - mysqnd_memcache_set the plugin attempts to transparently - replace SQL SELECT - statements by a memcache access. For that purpose the plugin monitors - all SQL statements executed and tries to match the statement string - against MYSQLND_MEMCACHE_DEFAULT_REGEXP. - In case of a match, the mysqlnd memcache plugin checks whether the - SELECT is accessing only columns of a mapped table and - the WHERE clause is limited to a single key lookup. - - - In case of the example SQL table, the plugin will use the Memcache interface - of the MySQL server to fetch results for a SQL query like - SELECT f1, f2, f3 WHERE id = n. - - - - - Basic example. - - -addServer("host", 11211); -mysqlnd_memcache_set($mysqli, $memc); - -/* - This is a query which queries table test using id as key in the WHERE part - and is accessing fields f1, f2 and f3. Therefore, mysqlnd_memcache - will intercept it and route it via memcache. -*/ -$result = $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1"); -while ($row = $result->fetch_row()) { - print_r($row); -} - -/* - This is a query which queries table test but using f1 in the WHERE clause. - Therefore, mysqlnd_memcache can't intercept it. This will be executed - using the MySQL protocol -*/ -$mysqli->query("SELECT id FROM test WHERE f1 = 'Lady'"); -while ($row = $result->fetch_row()) { - print_r($row); -} -?> -]]> - - &example.outputs; - - Hello - [f2] => World - [f3] => ! -) -array( - [id] => 2 -) -]]> - - - - -
- -
- diff --git a/reference/mysqlnd_memcache/reference.xml b/reference/mysqlnd_memcache/reference.xml deleted file mode 100644 index 43c158bcff..0000000000 --- a/reference/mysqlnd_memcache/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Mysqlnd_memcache &Functions; - - &reference.mysqlnd-memcache.entities.functions; - - - - diff --git a/reference/mysqlnd_memcache/setup.xml b/reference/mysqlnd_memcache/setup.xml deleted file mode 100644 index d295e20402..0000000000 --- a/reference/mysqlnd_memcache/setup.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - PHP: this extension requires PHP 5.4+, version PHP 5.4.4 or never. The required - PHP extensions are PCRE (enabled by default), and - the memcached extension version 2.0.x. - - - The mysqlnd_memcache Memcache - plugin supports all PHP applications and all available PHP MySQL extensions - (mysqli, - mysql, - PDO_MYSQL). - The PHP MySQL extension must be configured with - mysqlnd support. - - - For accessing InnoDB tables, this PHP extension requires - MySQL Server 5.6.6 or newer with the InnoDB Memcache - Daemon Plugin enabled. - - - For accessing MySQL Cluster NDB tables, this PHP extension requires - MySQL Cluster 7.2 or newer with the NDB Memcache API nodes - enabled. - -
- - &reference.mysqlnd-memcache.configure; - &reference.mysqlnd-memcache.ini; - -
- - diff --git a/reference/mysqlnd_memcache/versions.xml b/reference/mysqlnd_memcache/versions.xml deleted file mode 100644 index ebbe0568a5..0000000000 --- a/reference/mysqlnd_memcache/versions.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/reference/mysqlnd_ms/book.xml b/reference/mysqlnd_ms/book.xml deleted file mode 100644 index 2f5a3a8a9c..0000000000 --- a/reference/mysqlnd_ms/book.xml +++ /dev/null @@ -1,359 +0,0 @@ - - - - - Mysqlnd replication and load balancing plugin - mysqlnd_ms - - - &reftitle.intro; - - The mysqlnd replication and load balancing plugin (mysqlnd_ms) - adds easy to use MySQL replication support to all PHP MySQL extensions that use - mysqlnd. - - - As of version PHP 5.3.3 the MySQL native driver for PHP - (mysqlnd) - features an internal plugin C API. C plugins, such as the replication and - load balancing plugin, can extend the functionality of - mysqlnd. - - - The MySQL native driver for PHP is a C library that ships together with - PHP. It serves as a drop-in replacement for the - MySQL Client Library (libmysqlclient). Using mysqlnd has - several advantages: no extra downloads are required because it's bundled with PHP, - it's under the PHP license, there is lower memory consumption in certain cases, and - it contains new functionality such as asynchronous queries. - - - Mysqlnd plugins like mysqlnd_ms operate, for the most part, - transparently from a user perspective. The replication and load balancing - plugin supports all PHP applications, and all MySQL PHP extensions. - It does not change existing APIs. Therefore, it can easily be used with - existing PHP applications. - -
- Key Features - - The key features of PECL/mysqlnd_ms are as follows. - - - - - - Transparent and therefore easy to use. - - - - - - Supports all of the PHP MySQL extensions. - - - - - SSL support. - - - - - A consistent API. - - - - - Little to no application changes required, dependent on the required usage scenario. - - - - - Lazy connections: connections to master and slave servers are not - opened before a SQL statement is executed. - - - - - Optional: automatic use of master after the first write in a web request, to - lower the possible impact of replication lag. - - - - - - - - - Can be used with any MySQL clustering solution. - - - - - - MySQL Replication: Read-write splitting is done by the plugin. - Primary focus of the plugin. - - - - - MySQL Cluster: Read-write splitting can be disabled. - Configuration of multiple masters possible - - - - - Third-party solutions: the plugin is optimized for MySQL Replication - but can be used with any other kind of MySQL clustering solution. - - - - - - - - - Featured read-write split strategies - - - - - - Automatic detection of SELECT. - - - - - Supports SQL hints to overrule automatism. - - - - - User-defined. - - - - - Can be disabled for, for example, when using synchronous clusters such as MySQL Cluster. - - - - - - - - - Featured load balancing strategies - - - - - - Round Robin: choose a different slave in round-robin fashion for every slave request. - - - - - Random: choose a random slave for every slave request. - - - - - Random once (sticky): choose a random slave once to run all slave requests for the duration of a web request. - - - - - User-defined. The application can register callbacks with mysqlnd_ms. - - - - - PHP 5.4.0 or newer: transaction aware when using API calls only to control transactions. - - - - - Weighted load balancing: servers can be assigned different priorities, for example, to - direct more requests to a powerful machine than to another less powerful machine. Or, to - prefer nearby machines to reduce latency. - - - - - - - - - Global transaction ID - - - - - - Client-side emulation. Makes manual master server failover and slave promotion easier - with asynchronous clusters, such as MySQL Replication. - - - - - Support for built-in global transaction identifier feature of MySQL 5.6.5 or newer. - - - - - Supports using transaction ids to identify up-to-date asynchronous slaves - for reading when session consistency is required. Please, note the restrictions - mentioned in the manual. - - - - - Throttling: optionally, the plugin can wait for a slave to become "synchronous" before - continuing. - - - - - - - - - Service and consistency levels - - - - - - Applications can request eventual, session and strong consistency - service levels for connections. Appropriate cluster nodes will - be searched automatically. - - - - - Eventual consistent MySQL Replication slave accesses can be replaced - with fast local cache accesses transparently to reduce server load. - - - - - - - - - Partitioning and sharding - - - - - - Servers of a replication cluster can be organized into groups. SQL hints - can be used to manually direct queries to a specific group. - Grouping can be used to partition (shard) the data, or to cure the issue of - hotspots with updates. - - - - - MySQL Replication filters are supported through the table filter. - - - - - - - - - MySQL Fabric - - - - - - Experimental support - for MySQL Fabric is included. - - - - - - - -
- -
- Limitations - - The built-in read-write-split mechanism is very basic. Every - query which starts with SELECT - is considered a read request to be sent to a MySQL slave server. - All other queries (such as SHOW statements) - are considered as write requests that are sent to the MySQL master server. - The build-in behavior can be overruled using - SQL hints, or a user-defined - callback function. - - - The read-write splitter is not aware of multi-statements. Multi-statements - are considered as one statement. The decision of where to run the statement - will be based on the beginning of the statement string. For example, if - using mysqli_multi_query - to execute the multi-statement SELECT id FROM test ; INSERT INTO test(id) VALUES (1), - the statement will be redirected to a slave server because it begins with - SELECT. The INSERT statement, which is - also part of the multi-statement, will not be redirected to a master server. - - - - Applications must be aware of the consequences of connection switches that are - performed for load balancing purposes. Please check the documentation on - connection pooling and switching, - transaction handling, - failover - load balancing&listendand; - read-write splitting. - - -
- -
- On the name - - The shortcut mysqlnd_ms - stands for mysqlnd master slave plugin. The name - was chosen for a quick-and-dirty proof-of-concept. In the beginning - the developers did not expect to continue using the code base. - -
-
- - &reference.mysqlnd-ms.quickstart; - &reference.mysqlnd-ms.concepts; - &reference.mysqlnd-ms.setup; - &reference.mysqlnd-ms.constants; - &reference.mysqlnd-ms.reference; - &reference.mysqlnd-ms.changes; - -
- - diff --git a/reference/mysqlnd_ms/changes.xml b/reference/mysqlnd_ms/changes.xml deleted file mode 100644 index c057ea8991..0000000000 --- a/reference/mysqlnd_ms/changes.xml +++ /dev/null @@ -1,1008 +0,0 @@ - - - - - Change History - - This change history is a high level summary of selected changes - that may impact applications and/or break backwards compatibility. - - - See also the CHANGES file in the source distribution - for a complete list of changes. - - -
- PECL/mysqlnd_ms 1.6 series - - 1.6.0-alpha - - - - Release date: TBD - - - - - Motto/theme: Maintenance and initial MySQL Fabric support - - - - - - - This is the current development series. All - features are at an early stage. Changes may happen at any time without - prior notice. Please, do not use this version in production environments. - - - The documentation may not reflect all changes yet. - - - - Bug fixes - - - - Won't fix: #66616 R/W split fails: QOS with mysqlnd_get_last_gtid with built-in MySQL GTID - - - This is not a bug in the plugins implementation but a server side feature - limitation not considered and documented before. MySQL 5.6 built-in GTIDs cannot be - used to ensure session consistency when reading from slaves in all cases. - In the worst case the plugin will not consider using the slaves and - fallback to using the master. There will be no wrong results but no benefit - from doing GTID checks either. - - - - - Fixed #66064 - Random once load balancer ignoring weights - - - Due to a config parsing bug random load balancing has ignored node - weights if, and only if, the sticky flag was set (random once). - - - - - Fixed #65496 - Wrong check for slave delay - - - The quality of service filter has erroneously ignored slaves - that lag for zero (0) seconds if a any maximum lag had been set. - Although a slave was not lagging behind, it was excluded from the - load balancing list if a maximum age was set by the QoS filter. - This was due to using the wrong comparison operator in the source - of the filter. - - - - - Fixed #65408 - Compile failure with -Werror=format-security - - - - - - Feature changes - - - - Introduced an internal connection pool. When using Fabric and switching - from shard group A to shard group B, we are replacing the entire list of - masters and slaves. This troubles the connections state alignment logic and - some filters. Some filters cache information on the master and slave lists. - The new internal connection pool abstraction allows us to inform the filters - of changes, hence they can update their caches. - - - Later on, the pool can also be used to reduce connection overhead. Assume - you are switching from a shard group to another and back again. Whenever - the switch is done, the pool's active server (and connection) lists are - replaced. However, no longer used connections are not necessarily closed - immediately but can be kept in the pool for later reuse. - - - Please note, the connection pool is internalat this point. There are some - new statistics to monitor it. However, you cannot yet configure pool size - of behaviour. - - - - - Added a basic distributed transaction abstraction. - XA transactions can are supported ever since using standard SQL calls. - This is inconvenient as XA participants must be managed manually. - PECL/mysqlnd_ms introduces API calls to control XA transaction among MySQL servers. - When using the new functions, PECL/mysqlnd_ms acts as a transaction coordinator. - After starting a distributed transaction, the plugin tracks all servers - involved until the transaction is ended and issues appropriate SQL statements - on the XA participants. - - - This is useful, for example, when using Fabric and sharding. When using - Fabric the actual shard servers involved in a business transaction may not be known - in advance. Thus, manually controlling a transaction that spawns multiple shards becomes - difficult. - Please, be warned about current limitations. - - - - - Introduced automatic retry loop for - transient errors and - corresponding statistic - to count the number of implicit retries. Some distributed - database clusters use transient errors to hint a client to retry - its operation in a bit. Most often, the client is then supposed - to halt execution (sleep) for a short moment before retrying the - desired operation. Immediately failing over to another node - is not necessary in response to the error. Instead, a retry loop - can be performed. Common situation when using MySQL Cluster. - - - - - Introduced automatic retry loop for - transient errors and - corresponding statistic - to count the number of implicit retries. Some distributed - database clusters use transient errors to hint a client to retry - its operation in a bit. Most often, the client is then supposed - to halt execution (sleep) for a short moment before retrying the - desired operation. Immediately failing over to another node - is not necessary in response to the error. Instead, a retry loop - can be performed. Common situation when using MySQL Cluster. - - - - - Introduced most basic support - for the MySQL Fabric High Availability and sharding framework. - - - Please, consider this pre-alpha quality. Both the - server side framework and the client side code is supposed to work flawless - considering the MySQL Fabric quickstart examples only. However, testing has not been - performed to the level of prior plugin alpha releases. - Either sides are moving targets, API changes may happen at any - time without prior warning. - - - As this is work in progress, the manual may not yet reflect allow - feature limitations and known bugs. - - - - - New - statistics - to monitor the Fabric XML RPC call sharding.lookup_servers: - fabric_sharding_lookup_servers_success, - fabric_sharding_lookup_servers_failure, - fabric_sharding_lookup_servers_time_total, - fabric_sharding_lookup_servers_bytes_total, - fabric_sharding_lookup_servers_xml_failure. - - - - - New functions related to MySQL Fabric: - mysqlnd_ms_fabric_select_shard, - mysqlnd_ms_fabric_select_global, - mysqlnd_ms_dump_servers. - - - - -
- -
- PECL/mysqlnd_ms 1.5 series - - 1.5.1-stable - - - - Release date: 06/2013 - - - - - Motto/theme: Sharding support, improved transaction support - - - - - - - This is the current stable series. Use this version in production environments. - - - The documentation is complete. - - - - 1.5.0-alpha - - - - Release date: 03/2013 - - - - - Motto/theme: Sharding support, improved transaction support - - - - - - Bug fixes - - - - Fixed #60605 PHP segmentation fault when mysqlnd_ms is enabled. - - - - - Setting transaction stickiness disables all load balancing, including - automatic failover, for the duration of a transaction. So far - connection switches could have happened in the middle of a transaction - in multi-master configurations and during automatic failover although - transaction monitoring had detected transaction boundaries properly. - - - - - BC break and bug fix. SQL hints enforcing the use of a specific - kind of server (MYSQLND_MS_MASTER_SWITCH, - MYSQLND_MS_SLAVE_SWITCH, - MYSQLND_MS_LAST_USED_SWITCH) are ignored for the - duration of a transaction of transaction stickiness is enabled and - transaction boundaries have been detected properly. - - - This is a change in behaviour. However, it is also a bug fix and a step - to align behaviour. If, in previous versions, transaction stickiness, - one of the above listed SQL hints and the quality of service filtering - was combined it could happened that the SQL hints got ignored. In some - case the SQL hints did work, in other cases they did not. The new - behaviour is more consistent. SQL hints will always be ignore for - the duration of a transaction, if - transaction stickiness - is enabled. - - - Please note, transaction boundary detection continues to be based on API - call monitoring. SQL commands controlling transactions are not monitored. - - - - - BC break and bug fix. Calls to mysqlnd_ms_set_qos - will fail when done in the middle of a transaction if - transaction stickiness - is enabled. Connection switches are not allowed for the duration of a - transaction. Changing the quality of service likely results on a different - set of servers qualifying for query execution, possibly making it - necessary to switch connections. Thus, the call is not allowed in - during an active transaction. The quality of server can, however, be - changed in between transactions. - - - - - - Feature changes - - - - Introduced the node_group filter. - The filter lets you organize servers (master and slaves) - into groups. Queries can be directed to a certain group of servers - by prefixing the query statement with a SQL hint/comment that contains - the groups configured name. Grouping can be used for - partitioning and sharding, and also to optimize for local caching. - In the case of sharding, a group name can be thought of like a shard key. - All queries for a given shard key will be executed on the - configured shard. Note: both the client and server must support sharding - for sharding to function with mysqlnd_ms. - - - - - Extended configuration file validation during PHP startup (RINIT). - An E_WARNING level error will be thrown if the configuration - file can not be read (permissions), is empty, or the file (JSON) could not be parsed. - Warnings may appear in log files, which depending on how PHP is configured. - - - Distributions that aim to provide a pre-configured setup, including a - configuration file stub, are asked to put {} into - the configuration file to prevent this warning about an invalid - configuration file. - - - Further configuration file validation is done when parsing sections - upon opening a connection. Please, note that there may still be situations - when an invalid plugin configuration file does not lead to proper error messages - but a failure to connect. - - - - - As of PHP 5.5.0, improved support for transaction boundaries detection was added for - mysqli. The mysqli extension has been - modified to use the new C API calls of the mysqlnd - library to begin, commit, and rollback a transaction or savepoint. - If trx_stickiness - is used to enable transaction aware load balancing, the mysqli_begin, - mysqli_commit and mysqli_rollback functions - will now be monitered by the plugin, to go along with the mysqli_autocommit - function that was already supported. All SQL features to control - transactions are also available through the improved mysqli - transaction control related functions. This means that it is not required to - issue SQL statements instead of using API calls. Applications - using the appropriate API calls can be load balanced by PECL/mysqlnd_ms - in a completely transaction-aware way. - - - Please note, PDO_MySQL has not been updated - yet to utilize the new mysqlnd API calls. Thus, transaction boundary - detection with PDO_MySQL continues to be limited to - the monitoring by passing in PDO::ATTR_AUTOCOMMIT to - PDO::setAttribute. - - - - - Introduced trx_stickiness=on. This - trx_stickiness - option differs from trx_stickiness=master as it - tries to execute a read-only transaction on a slave, if - quality of service (consistency level) allows the use of a slave. - Read-only transactions were introduced in MySQL 5.6, and they - offer performance gains. - - - - - Query cache support is considered beta if used with the mysqli - API. It should work fine with primary copy based clusters. For all other - APIs, this feature continues to be called experimental. - - - - - The code examples in the mysqlnd_ms source were updated. - - - - -
- -
- PECL/mysqlnd_ms 1.4 series - - 1.4.2-stable - - - - Release date: 08/2012 - - - - - Motto/theme: Tweaking based on user feedback - - - - - - 1.4.1-beta - - - - Release date: 08/2012 - - - - - Motto/theme: Tweaking based on user feedback - - - - - - Bug fixes - - - - Fixed build with PHP 5.5 - - - - - - 1.4.0-alpha - - - - Release date: 07/2012 - - - - - Motto/theme: Tweaking based on user feedback - - - - - - Feature changes - - - - BC break: Renamed plugin configuration setting ini_file - to config_file. In early versions the plugin configuration - file used ini style. Back then the configuration setting was named accordingly. - It has now been renamed to reflect the newer file format and to distinguish it - from PHP's own ini file (configuration directives file). - - - - - Introduced new default charset setting server_charset - to allow proper escaping before a connection - is opened. This is most useful when using lazy connections, which are a default. - - - - - Introduced wait_for_gtid_timeout setting to throttle - slave reads that need session consistency. If global transaction identifier are - used and the service level is set to session consistency, the plugin - tries to find up-to-date slaves. The slave status check is done by - a SQL statement. If nothing else is set, the slave status is checked only - one can the search for more up-to-date slaves continues immediately - thereafter. Setting wait_for_gtid_timeout instructs the plugin - to poll a slaves status for wait_for_gtid_timeout seconds - if the first execution of the SQL statement has shown that the slave is not - up-to-date yet. The poll will be done once per second. This way, the plugin - will wait for slaves to catch up and throttle the client. - - - - - New failover strategy loop_before_master. - By default the plugin does no failover. It is possible to enable - automatic failover if a connection attempt fails. Upto version 1.3 - only master strategy existed to failover to a master if - a slave connection fails. loop_before_master is - similar but tries all other slaves before attempting to connect to the master - if a slave connection fails. - - - The number of attempts can be limited using the max_retries option. - Failed hosts can be remembered and skipped in load balancing for the rest of - the web request. max_retries and - remember_failed are considered experimental although - decent stability is given. Syntax and semantics may change in the future - without prior notice. - - - - -
- -
- PECL/mysqlnd_ms 1.3 series - - 1.3.2-stable - - - - Release date: 04/2012 - - - - - Motto/theme: see 1.3.0-alpha - - - - - - Bug fixes - - - - Fixed problem with multi-master where although in a transaction - the queries to the master weren't sticky and were spread all - over the masters (RR). Still not sticky for Random. Random_once - is not affected. - - - - - - 1.3.1-beta - - - - Release date: 04/2012 - - - - - Motto/theme: see 1.3.0-alpha - - - - - - Bug fixes - - - - Fixed problem with building together with QC. - - - - - - 1.3.0-alpha - - - - Release date: 04/2012 - - - - - Motto/theme: Query caching through quality-of-service concept - - - - - - The 1.3 series aims to improve the performance of applications - and the overall load of an asynchronous MySQL cluster, for example, a MySQL - cluster using MySQL Replication. This is done by transparently replacing - a slave access with a local cache access, if the application allows it by - setting an appropriate quality of service flag. When using MySQL replication - a slave can serve stale data. An application using MySQL replication must - continue to work correctly with stale data. Given that the application - is know to work correctly with stale data, the slave access can transparently - be replace with a local cache access. - - - PECL/mysqlnd_qc serves as a cache - backend. PECL/mysqlnd_qc supports use of various storage locations, - among others main memory, APC and MEMCACHE. - - - Feature changes - - - - Added cache option to quality-of-service (QoS) filter. - - - - New configure option enable-mysqlnd-ms-cache-support - - - - - New constant MYSQLND_MS_HAVE_CACHE_SUPPORT. - - - - - New constant MYSQLND_MS_QOS_OPTION_CACHE to be used - with mysqlnd_ms_set_qos. - - - - - - - - Support for built-in global transaction identifier feature of MySQL 5.6.5-m8 or newer. - - - - -
- -
- PECL/mysqlnd_ms 1.2 series - - 1.2.1-beta - - - - Release date: 01/2012 - - - - - Motto/theme: see 1.2.0-alpha - - - - - - Minor test changes. - - - 1.2.0-alpha - - - - Release date: 11/2011 - - - - - Motto/theme: Global Transaction ID injection and quality-of-service concept - - - - - - In version 1.2 the focus continues to be on supporting MySQL database clusters - with asynchronous replication. The plugin tries to make using the cluster - introducing a quality-of-service filter which applications can use to define - what service quality they need from the cluster. Service levels provided are - eventual consistency with optional maximum age/slave slag, session consistency - and strong consistency. - - - Additionally the plugin can do client-side global transaction id injection - to make manual master failover easier. - - - Feature changes - - - - Introduced quality-of-service (QoS) filter. Service levels provided by QoS filter: - - - - eventual consistency, optional option slave lag - - - - - session consistency, optional option GTID - - - - - strong consistency - - - - - - - - Added the mysqlnd_ms_set_qos function to set the - required connection quality at runtime. The new constants related to - mysqlnd_ms_set_qos are: - - - - MYSQLND_MS_QOS_CONSISTENCY_STRONG - - - - - MYSQLND_MS_QOS_CONSISTENCY_SESSION - - - - - MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL - - - - - MYSQLND_MS_QOS_OPTION_GTID - - - - - MYSQLND_MS_QOS_OPTION_AGE - - - - - - - - Added client-side global transaction id injection (GTID). - - - - - New statistics related to GTID: - - - - gtid_autocommit_injections_success - - - - - gtid_autocommit_injections_failure - - - - - gtid_commit_injections_success - - - - - gtid_commit_injections_failure - - - - - gtid_implicit_commit_injections_success - - - - - gtid_implicit_commit_injections_failure - - - - - - - - Added mysqlnd_ms_get_last_gtid to fetch the last - global transaction id. - - - - - Enabled support for multi master without slaves. - - - - -
- -
- PECL/mysqlnd_ms 1.1 series - - 1.1.0 - - - - Release date: 09/2011 - - - - - Motto/theme: Cover replication basics with production quality - - - - - - The 1.1 and 1.0 series expose a similar feature set. Internally, - the 1.1 series has been refactored to plan for future feature - additions. A new configuration file format has been introduced, - and limitations have been lifted. And the code quality and quality - assurance has been improved. - - - Feature changes - - - - Added the (chainable) filter concept: - - - - BC break: - mysqlnd_ms_set_user_pick_server - has been removed. Thehttp://svn.php.net/viewvc/pecl/mysqlnd_ms/trunk/ - user - filter has been introduced to replace it. - The filter offers similar functionality, but see below for an - explanation of the differences. - - - - - - - - New powerful JSON based configuration syntax. - - - - - Lazy connections improved: - security relevant, and state changing commands are covered. - - - - - Support for (native) prepared statements. - - - - - New statistics: use_master_guess, - use_slave_guess. - - - - BC break: Semantics of statistics changed for - use_slave, use_master. - Future changes are likely. Please see, - mysqlnd_ms_get_stats. - - - - - - - - List of broadcasted messages extended by ssl_set. - - - - - Library calls now monitored to remember settings for lazy connections: - change_user, select_db, - set_charset, set_autocommit. - - - - - Introduced mysqlnd_ms.disable_rw_split. - The configuration setting allows using the load balancing and lazy connection - functionality independently of read write splitting. - - - - - - Bug fixes - - - - Fixed PECL #22724 - Server switching (mysqlnd_ms_query_is_select() case sensitive) - - - - - Fixed PECL #22784 - Using mysql_connect and mysql_select_db did not work - - - - - Fixed PECL #59982 - Unusable extension with --enable-mysqlnd-ms-table-filter. - Use of the option is NOT supported. You must not used it. Added note to m4. - - - - - Fixed Bug #60119 - host="localhost" lost in mysqlnd_ms_get_last_used_connection() - - - - - - The mysqlnd_ms_set_user_pick_server function was removed, and - replaced in favor of a new user filter. You can no longer set a - callback function using mysqlnd_ms_set_user_pick_server at - runtime, but instead have to configure it in the plugins configuration file. The user - filter will pass the same arguments to the callback as before. - Therefore, you can continue to use the same procedural function as a callback.callback - It is no longer possible to use static class methods, or class methods of - an object instance, as a callback. Doing so will cause the function - executing a statement handled by the plugin to emit an - E_RECOVERABLE_ERROR level error, which might look like: - "(mysqlnd_ms) Specified callback (picker) is not a valid callback." - Note: this may halt your application. - -
- -
- PECL/mysqlnd_ms 1.0 series - - 1.0.1-alpha - - - - Release date: 04/2011 - - - - - Motto/theme: bug fix release - - - - - - 1.0.0-alpha - - - - Release date: 04/2011 - - - - - Motto/theme: Cover replication basics to test user feedback - - - - - - The first release of practical use. It features basic automatic read-write splitting, - SQL hints to overrule automatic redirection, load balancing of - slave requests, lazy connections, and optional, automatic use of the master - after the first write. - - - The public feature set is close to that of the 1.1 release. - - - 1.0.0-pre-alpha - - - - Release date: 09/2010 - - - - - Motto/theme: Proof of concept - - - - - - Initial check-in. Essentially a demo of the - mysqlnd plugin API. - -
- -
- - diff --git a/reference/mysqlnd_ms/concepts.xml b/reference/mysqlnd_ms/concepts.xml deleted file mode 100644 index 75c491144a..0000000000 --- a/reference/mysqlnd_ms/concepts.xml +++ /dev/null @@ -1,2353 +0,0 @@ - - - - - Concepts - - This explains the architecture and related concepts for this plugin, and - describes the impact that MySQL replication and this plugin have on developmental - tasks while using a database cluster. Reading and understanding these concepts - is required, in order to use this plugin with success. - -
- Architecture - - The mysqlnd replication and load balancing plugin is - implemented as a PHP extension. - It is written in C and operates under the hood of PHP. During the - startup of the PHP interpreter, in the module init phase of the - PHP engine, it gets registered as a - mysqlnd plugin to replace selected - mysqlnd C methods. - - - At PHP runtime, it inspects queries sent from - mysqlnd (PHP) to the MySQL server. If a query is recognized as read-only, - it will be sent to one of the configured slave servers. Statements are - considered read-only if they either start with SELECT, - the SQL hint /*ms=slave*/ or a slave had been chosen for - running the previous query, and the query started with the SQL hint - /*ms=last_used*/. In all other cases, the query will - be sent to the MySQL replication master server. - - - For better portability, applications should use the - MYSQLND_MS_MASTER_SWITCH, - MYSQLND_MS_SLAVE_SWITCH, and - MYSQLND_MS_LAST_USED_SWITCH - predefined mysqlnd_ms constants, - instead of their literal values, such as /*ms=slave*/. - - - The plugin handles the opening and closing of database connections - to both master and slave servers. From an application - point of view, there continues to be only one connection handle. However, - internally, this one public connection handle represents a pool of - network connections that are managed by the plugin. The plugin proxies queries - to the master server, and to the slaves using multiple connections. - - - Database connections have a state consisting of, for example, transaction - status, transaction settings, character set settings, and temporary tables. - The plugin will try to maintain the same state among all internal - connections, whenever this can be done in an automatic and transparent way. - In cases where it is not easily possible to maintain state among all - connections, such as when using BEGIN TRANSACTION, the - plugin leaves it to the user to handle. - - -
- -
- Connection pooling and switching - - The replication and load balancing plugin changes the semantics of a PHP - MySQL connection handle. The existing API of the PHP MySQL extensions - (mysqli, - mysql, and - PDO_MYSQL) are not changed in - a way that functions are added or removed. But their behavior - changes when using the plugin. Existing applications do not need to - be adapted to a new API, but they may need to be modified because of - the behavior changes. - - - The plugin breaks the one-by-one relationship between a - mysqli, - mysql, and - PDO_MYSQL connection - handle and a MySQL network connection. And a - mysqli, - mysql, and - PDO_MYSQL connection - handle represents a local pool of connections to the configured - MySQL replication master and MySQL replication slave servers. - The plugin redirects queries to the master and slave servers. - At some point in time one and the same PHP connection handle - may point to the MySQL master server. Later on, it may point - to one of the slave servers or still the master. Manipulating - and replacing the network connection referenced by a PHP MySQL - connection handle is not a transparent operation. - - - Every MySQL connection has a state. The state of the connections in - the connection pool of the plugin can differ. Whenever the - plugin switches from one wire connection to another, the current state of - the user connection may change. The applications must be aware of this. - - - The following list shows what the connection state consists of. The list - may not be complete. - - - - - - Transaction status - - - - - Temporary tables - - - - - Table locks - - - - - Session system variables and session user variables - - - - - The current database set using USE and other state chaining SQL commands - - - - - Prepared statements - - - - - HANDLER variables - - - - - Locks acquired with GET_LOCK() - - - - - - Connection switches happen right before queries are executed. The plugin does - not switch the current connection until the next statement is executed. - - - Replication issues - - See also the MySQL reference manual chapter about - replication features and - related issues. Some restrictions may not be related to the PHP plugin, but - are properties of the MySQL replication system. - - - Broadcasted messages - - The plugins philosophy is to align the state of connections in the - pool only if the state is under full control of the plugin, or if it is - necessary for security reasons. Just a few actions that change the - state of the connection fall into this category. - - - The following is a list of connection client library calls that change state, - and are broadcasted to all open connections in the connection pool. - - - If any of the listed calls below are to be executed, the plugin loops over all - open master and slave connections. The loop continues until all servers - have been contacted, and the loop does not break if a server indicates a failure. - If possible, the failure will propagate to the called user API function, which may - be detected depending on which underlying library function was triggered. - - - - - - - - - Library call - Notes - Version - - - - - - change_user() - - - Called by the mysqli_change_user user API call. - Also triggered upon reuse of a persistent mysqli - connection. - - Since 1.0.0. - - - - select_db - - - Called by the following user API calls: - mysql_select_db, - mysql_list_tables, - mysql_db_query, - mysql_list_fields, - mysqli_select_db. - Note, that SQL USE is not monitored. - - Since 1.0.0. - - - - set_charset() - - - Called by the following user API calls: - mysql_set_charset. - mysqli_set_charset. - Note, that SQL SET NAMES is not monitored. - - Since 1.0.0. - - - - set_server_option() - - - Called by the following user API calls: - mysqli_multi_query, - mysqli_real_query, - mysqli_query, - mysql_query. - - Since 1.0.0. - - - - set_client_option() - - - Called by the following user API calls: - mysqli_options, - mysqli_ssl_set, - mysqli_connect, - mysql_connect, - mysql_pconnect. - - Since 1.0.0. - - - - set_autocommit() - - - Called by the following user API calls: - mysqli_autocommit, - PDO::setAttribute(PDO::ATTR_AUTOCOMMIT). - - Since 1.0.0. PHP >= 5.4.0. - - - - ssl_set() - - - Called by the following user API calls: - mysqli_ssl_set. - - Since 1.1.0. - - - - - Broadcasting and lazy connections - - The plugin does not proxy or - remember all settings to apply them on connections - opened in the future. This is important to remember, if - using - lazy connections. - Lazy connections are connections which are not - opened before the client sends the first connection. - Use of lazy connections is the default plugin action. - - - The following connection library calls each changed state, and their execution is - recorded for later use when lazy connections are opened. This helps ensure that - the connection state of all connections in the connection pool are comparable. - - - - - - - - - Library call - Notes - Version - - - - - - change_user() - - - User, password and database recorded for future use. - - Since 1.1.0. - - - - select_db - - - Database recorded for future use. - - Since 1.1.0. - - - - set_charset() - - - Calls set_client_option(MYSQL_SET_CHARSET_NAME, charset) - on lazy connection to ensure charset will be used - upon opening the lazy connection. - - Since 1.1.0. - - - - set_autocommit() - - - Adds SET AUTOCOMMIT=0|1 to the list of init commands - of a lazy connection using - set_client_option(MYSQL_INIT_COMMAND, "SET AUTOCOMMIT=...%quot;). - - Since 1.1.0. PHP >= 5.4.0. - - - - - - - Connection state - - The connection state is not only changed by API calls. Thus, even if - PECL mysqlnd_ms monitors all API calls, the application must still - be aware. Ultimately, it is the applications responsibility to maintain - the connection state, if needed. - - - - Charsets and string escaping - - Due to the use of lazy connections, which are a default, it can happen that - an application tries to escape a string for use within SQL statements before - a connection has been established. In this case string escaping is not possible. - The string escape function does not know what charset to use before a connection - has been established. - - - To overcome the problem a new configuration setting - server_charset - has been introduced in version 1.4.0. - - - Attention has to be paid on escaping strings with a certain charset but using - the result on a connection that uses a different charset. Please note, - that PECL/mysqlnd_ms manipulates connections and one application level connection - represents a pool of multiple connections that all may have different default charsets. - It is recommended to configure the servers involved to use the same default charsets. - The configuration setting server_charset does help with this situation as well. - If using server_charset, the plugin will set the given - charset on all newly opened connections. - -
- -
- Local transaction handling - - Transaction handling is fundamentally changed. - An SQL transaction is a unit of work that is run on one database server. The - unit of work consists of one or more SQL statements. - - - By default the plugin is not aware of SQL transactions. The plugin may - switch connections for load balancing at any point in time. Connection - switches may happen in the middle of a transaction. This is against the - nature of an SQL transaction. By default, the plugin is not transaction safe. - - - Any kind of MySQL load balancer must be hinted about the begin and end of a - transaction. Hinting can either be done implicitly by monitoring API calls - or using SQL hints. Both options are supported by the plugin, depending on - your PHP version. API monitoring requires PHP 5.4.0 or newer. The plugin, - like any other MySQL load balancer, cannot detect transaction boundaries based - on the MySQL Client Server Protocol. Thus, entirely transparent transaction - aware load balancing is not possible. The least intrusive option is API - monitoring, which requires little to no application changes, depending - on your application. - - - Please, find examples of using SQL hints or the API monitoring in the - examples section. The - details behind the API monitoring, which makes the plugin transaction - aware, are described below. - - - Beginning with PHP 5.4.0, the mysqlnd - library allows this plugin to subclass the library C API call - set_autocommit(), to detect the status of - autocommit mode. - - - The PHP MySQL extensions either issue a query (such as SET AUTOCOMMIT=0|1), - or use the mysqlnd library call set_autocommit() to control - the autocommit setting. If an extension makes use of - set_autocommit(), the plugin can be made transaction aware. - Transaction awareness cannot be achieved if using SQL to set the autocommit - mode. - The library function set_autocommit() is called by the - mysqli_autocommit and - PDO::setAttribute(PDO::ATTR_AUTOCOMMIT) user API calls. - - - The plugin configuration option - trx_stickiness=master - can be used to make the plugin transactional aware. In this mode, the plugin stops load - balancing if autocommit becomes disabled, and directs all statements to the master until - autocommit gets enabled. - - - An application that does not want to set SQL hints for transactions but wants - to use the transparent API monitoring to avoid application changes must make - sure that the autocommit settings is changed exclusively through the listed - API calls. - - - API based transaction boundary detection has been improved with PHP 5.5.0 and - PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit - but also mysqli_begin, - mysqli_commit and mysqli_rollback. - -
- -
- Error handling - - Applications using PECL/mysqlnd_ms should implement proper error handling - for all user API calls. And because the plugin changes the semantics - of a connection handle, API calls may return unexpected errors. If using - the plugin on a connection handle that no longer represents an individual network - connection, but a connection pool, an error code and error message will - be set on the connection handle whenever an error occurs on any of the network - connections behind. - - - If using lazy connections, which is the default, connections are not - opened until they are needed for query execution. Therefore, - an API call for a statement execution may return a connection error. - In the example below, an error is provoked when trying to run a statement on a slave. - Opening a slave connection fails because the plugin configuration file - lists an invalid host name for the slave. - - - - Provoking a connection error - - - - - - - The explicit activation of lazy connections is for demonstration purpose only. - - - - Connection error on query execution - -query("SET @myrole='master'")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* Connection 2, run on slave because SELECT, provoke connection error */ -if (!($res = $mysqli->query("SELECT @myrole AS _role"))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} else { - $row = $res->fetch_assoc(); - $res->close(); - printf("@myrole = '%s'\n", $row['_role']); -} -$mysqli->close(); -?> -]]> - -&example.outputs.similar; - - - - - - - Applications are expected to handle possible connection errors by - implementing proper error handling. - - - Depending on the use case, applications may want to handle connection errors - differently from other errors. Typical connection errors are - 2002 (CR_CONNECTION_ERROR) - Can't connect to local MySQL server through socket '%s' (%d), - 2003 (CR_CONN_HOST_ERROR) - Can't connect to MySQL server on '%s' (%d) and - 2005 (CR_UNKNOWN_HOST) - Unknown MySQL server host '%s' (%d). - For example, the application may test for the error codes and manually - perform a fail over. The plugins philosophy is not to offer automatic fail over, - beyond master fail over, because fail over is not a transparent operation. - - - - Provoking a connection error - - - - - - - Explicitly activating lazy connections is done for demonstration purposes, - as is round robin load balancing as opposed to the default random once - type. - - - - Most basic failover - -query("SET @myrole='master'")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* Connection 2, first slave */ -$res = $mysqli->query("SELECT VERSION() AS _version"); -/* Hackish manual fail over */ -if (2002 == $mysqli->errno || 2003 == $mysqli->errno || 2004 == $mysqli->errno) { - /* Connection 3, first slave connection failed, trying next slave */ - $res = $mysqli->query("SELECT VERSION() AS _version"); -} - -if (!$res) { - printf("ERROR, [%d] '%s'\n", $mysqli->errno, $mysqli->error); -} else { - /* Error messages are taken from connection 3, thus no error */ - printf("SUCCESS, [%d] '%s'\n", $mysqli->errno, $mysqli->error); - $row = $res->fetch_assoc(); - $res->close(); - printf("version = %s\n", $row['_version']); -} -$mysqli->close(); -?> -]]> - -&example.outputs.similar; - - - - - - - In some cases, it may not be easily possible to retrieve all errors that - occur on all network connections through a connection handle. For example, let's assume a - connection handle represents a pool of three open connections. One connection - to a master and two connections to the slaves. The application changes the - current database using the user API call mysqli_select_db, - which then calls the mysqlnd library function to change the schemata. - mysqlnd_ms monitors the function, and tries to change the current - database on all connections to harmonize their state. Now, assume the master succeeds - in changing the database, and both slaves fail. Upon the initial error - from the first slave, the plugin will set an appropriate error on the - connection handle. The same is done when the second slave fails to change the - database. The error message from the first slave is lost. - - - Such cases can be debugged by either checking for errors of the type - E_WARNING (see above) or, if no other option, investigation - of the mysqlnd_ms debug and trace log. - -
- -
- Transient errors - - Some distributed database clusters make use of transient errors. A transient - error is a temporary error that is likely to disappear soon. By definition - it is safe for a client to ignore a transient error and retry the failed - operation on the same database server. The retry is free of side effects. - Clients are not forced to abort their work or to fail over to another database - server immediately. They may enter a retry loop before to wait for the - error to disappear before giving up on the database server. - Transient errors can be seen, for example, when using MySQL Cluster. But they - are not bound to any specific clustering solution per se. - - - PECL/mysqlnd_ms can perform an automatic retry loop in - case of a transient error. This increases distribution transparency and thus - makes it easier to migrate an application running on a single database - server to run on a cluster of database servers without having to change - the source of the application. - - - The automatic retry loop will repeat the requested operation up to a user - configurable number of times and pause between the attempts for a configurable - amount of time. If the error disappears during the loop, the application will - never see it. If not, the error is forwarded to the application for handling. - - - In the example below a duplicate key error is provoked to make the plugin - retry the failing query two times before the error is passed to the application. - Between the two attempts the plugin sleeps for 100 milliseconds. - - - - Provoking a transient error - - - - - - - - - - - Transient error retry loop - -query("DROP TABLE IF EXISTS test") || - !$mysqli->query("CREATE TABLE test(id INT PRIMARY KEY)") || - !$mysqli->query("INSERT INTO test(id) VALUES (1))")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* Retry loop is completely transparent. Checking statistics is - the only way to know about implicit retries */ -$stats = mysqlnd_ms_get_stats(); -printf("Transient error retries before error: %d\n", $stats['transient_error_retries']); - -/* Provoking duplicate key error to see statistics change */ -if (!$mysqli->query("INSERT INTO test(id) VALUES (1))")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -$stats = mysqlnd_ms_get_stats(); -printf("Transient error retries after error: %d\n", $stats['transient_error_retries']); - -$mysqli->close(); -?> -]]> - -&example.outputs.similar; - - - - - - - Because the execution of the retry loop is transparent from a users point of - view, the example checks the - statistics - provided by the plugin to learn about it. - - - As the example shows, the plugin can be instructed to consider any error - transient regardless of the database servers error semantics. The only error - that a stock MySQL server considers temporary has the error code - 1297. When configuring other error codes but - 1297 make sure your configuration reflects - the semantics of your clusters error codes. - - - The following mysqlnd C API calls are monitored by the plugin to check - for transient errors: query(), - change_user(), select_db(), - set_charset(), set_server_option() - prepare(), execute(), - set_autocommit(), - tx_begin(), tx_commit(), - tx_rollback(), tx_commit_or_rollback(). - The corresponding user API calls have similar names. - - - The maximum time the plugin may sleep during the retry loop depends on the - function in question. The a retry loop for query(), - prepare() or execute() will sleep for - up to max_retries * usleep_retry milliseconds. - - - However, functions that - control connection state - are dispatched to all connections. The retry loop settings are applied - to every connection on which the command is to be run. Thus, such a function - may interrupt program execution for longer than a function that is run - on one server only. For example, set_autocommit() is - dispatched to connections and may sleep up to - (max_retries * usleep_retry) * number_of_open_connections) - milliseconds. Please, keep this in mind when setting long sleep times - and large retry numbers. Using the default settings of - max_retries=1, usleep_retry=100 and - lazy_connections=1 it is unlikely that you will - ever see a delay of more than 1 second. - -
- -
- Failover - - By default, connection failover handling is left to the user. - The application is responsible - for checking return values of the database functions it calls and reacting - to possible errors. If, for example, the plugin recognizes a query as a read-only - query to be sent to the slave servers, and the slave server selected by the - plugin is not available, the plugin will raise an error after not executing - the statement. - - - Default: manual failover - - - It is up to - the application to handle the error and, if required, re-issue the query to - trigger the selection of another slave server for statement execution. - The plugin will make no attempts to failover automatically, because the plugin - cannot ensure that an automatic failover will not change the state of - the connection. For example, the application may have issued a query - which depends on SQL user variables which are bound to a specific connection. - Such a query might return incorrect results if the plugin would switch the - connection implicitly as part of automatic failover. To ensure correct - results, the application must take care of the failover, and rebuild - the required connection state. Therefore, by default, no automatic failover - is performed by the plugin. - - - A user that does not change the connection state after opening a connection - may activate automatic failover. Please note, that automatic failover logic - is limited to connection attempts. Automatic failover is not used for already - established connections. There is no way to instruct the plugin to attempt - failover on a connection that has been connected to MySQL already in the past. - - - Automatic failover - - - The failover policy is configured in the plugins configuration file, by - using the failover - configuration directive. - - - Automatic and silent failover can be enabled through the - failover - configuration directive. Automatic failover can either be configured to - try exactly one master after a slave failure or, alternatively, loop - over slaves and masters before returning an error to the user. The number - of connection attempts can be limited and failed hosts can be excluded - from future load balancing attempts. Limiting the number of retries and - remembering failed hosts are considered experimental features, albeit being - reasonable stable. Syntax and semantics may change in future versions. - - - Please note, since version 1.5.0 automatic failover is disabled for the - duration of a transaction if transaction stickiness is enabled and - transaction boundaries have been detected. The plugin will not switch - connections for the duration of a transaction. It will also not perform - automatic and silent failover. Instead an error will be thrown. It is then left - to the user to handle the failure of the transaction. Please check, the - trx_stickiness - documentation how to do this. - - - A basic manual failover example is provided within the - error handling section. - - - Standby servers - - - Using weighted load balancing, - introduced in PECL/mysqlnd 1.4.0, it is possible - to configure standby servers that are sparsely used during normal operations. - A standby server that is primarily used as a worst-case standby failover target - can be assigned a very low weight/priority in relation to all other - servers. As long as all servers are up and running the majority of the workload - is assigned to the servers which have hight weight values. Few requests - will be directed to the standby system which has a very low weight value. - - - Upon failure of the servers with a high priority, you can still failover to - the standby, which has been given a low load balancing priority by assigning a low - weight to it. Failover can be some manually or automatically. If done - automatically, you may want to combine it with the - remember_failed - option. - - - At this point, it is not possible to instruct the load balancer to direct no - requests at all to a standby. This may not be much of a limitation given that - the highest weight you can assign to a server is 65535. Given two slaves, - of which one shall act as a standby and has been assigned a weight of 1, - the standby will have to handle far less than one percent of the overall workload. - - - Failover and primary copy - - - Please note, if using a primary copy cluster, such as MySQL Replication, it is - difficult to do connection failover in case of a master failure. - At any time there is only one master in the cluster for a given dataset. - The master is a single point of failure. If the master fails, clients have no - target to fail over write requests. In case of a master outage the database - administrator must take care of the situation and update the client - configurations, if need be. - -
- -
- Load balancing - - Four load balancing strategies are supported to distribute - statements over the configured MySQL slave servers: - - - - - random - - - Chooses a random server whenever a statement is executed. - - - - - random once (default) - - - Chooses a random server after the first statement is executed, - and uses the decision for the rest of the PHP request. - - - It is the default, and the lowest impact on the connection state. - - - - - round robin - - - Iterates over the list of configured servers. - - - - - user-defined via callback - - - Is used to implement any other strategy. - - - - - - - The load balancing policy is configured in the plugins configuration - file using the - random, - roundrobin, - and user - filters. - - - Servers can be prioritized assigning a weight. A server that has been given - a weight of two will get twice as many requests as a server that has been - given the default weight of one. Prioritization can be handy in heterogenous - environments. For example, you may want to assign more requests to - a powerful machine than to a less powerful. Or, you may have configured - servers that are close or far from the client, thus expose different latencies. - -
- -
- Read-write splitting - - The plugin executes read-only statements on the configured MySQL slaves, and - all other queries on the MySQL master. Statements are - considered read-only if they either start with SELECT, - the SQL hint /*ms=slave*/, or if a slave had been chosen for - running the previous query and the query starts with the SQL hint - /*ms=last_used*/. In all other cases, the query will - be sent to the MySQL replication master server. It is recommended to - use the constants MYSQLND_MS_SLAVE_SWITCH, - MYSQLND_MS_MASTER_SWITCH and MYSQLND_MS_LAST_USED_SWITCH - instead of /*ms=slave*/. See also the - list of mysqlnd_ms constants. - - - SQL hints are a special kind of standard compliant SQL comments. The plugin - does check every statement for certain SQL hints. The SQL hints are described - within the mysqlnd_ms constants - documentation, constants that are exported by the extension. Other systems - involved with the statement processing, such as the MySQL server, SQL firewalls, - and SQL proxies, are unaffected by the SQL hints, because those systems are - designed to ignore SQL comments. - - - The built-in read-write splitter can be replaced by a user-defined filter, see also the - user filter - documentation. - - - A user-defined read-write splitter can request the built-in logic to - send a statement to a specific location, by invoking - mysqlnd_ms_is_select. - - - - The built-in read-write splitter is not aware of multi-statements. - Multi-statements are seen as one statement. The splitter will check the - beginning of the statement to decide where to run the statement. If, for example, - a multi-statement begins with - SELECT 1 FROM DUAL; INSERT INTO test(id) VALUES (1); ... - the plugin will run it on a slave although the statement is not read-only. - - -
- -
- Filter - - Version requirement - - Filters exist as of mysqlnd_ms version 1.1.0-beta. - - - - filters. - PHP applications that implement a MySQL replication cluster must first identify - a group of servers in the cluster which could execute a statement before - the statement is executed by one of the candidates. In other words: a defined - list of servers must be filtered until only one server is available. - - - The process of filtering may include using one or more filters, and filters can be - chained. And they are executed in the order they are defined in the plugins - configuration file. - - - Explanation: comparing filter chaining to pipes - - The concept of chained filters can be compared to using pipes to connect - command line utilities on an operating system command shell. For example, - an input stream is passed to a processor, filtered, and then transferred - to be output. Then, the output is passed as input to the next command, - which is connected to the previous using the pipe operator. - - - - Available filters: - - - - Load balancing filters: - random and - roundrobin. - - - - - Selection filter: - user, - user_multi, - quality_of_service. - - - - - - - The random filter implements the 'random' and 'random once' - load balancing policies. The 'round robin' load balancing can be configured - through the roundrobin filter. Setting a 'user defined - callback' for server selection is possible with the user - filter. The quality_of_service filter finds cluster - nodes capable of delivering a certain service, for example, read-your-writes or, - not lagging more seconds behind the master than allowed. - - - Filters can accept parameters to change their behavior. - The random filter accepts an optional - sticky parameter. If set to true, the filter changes - load balancing from random to random once. Random picks a random server - every time a statement is to be executed. Random once picks a random - server when the first statement is to be executed and uses the same - server for the rest of the PHP request. - - - One of the biggest strength of the filter concept is the possibility to - chain filters. This strength does not become immediately visible because - the random, roundrobin and - user filters are supposed to output no more than one server. - If a filter reduces the list of candidates for running a statement to - only one server, it makes little sense to use that one server as - input for another filter for further reduction of the list of candidates. - - - An example filter sequence that will fail: - - - - Statement to be executed: SELECT 1 FROM DUAL. Passed to all filters. - - - - - All configured nodes are passed as input to the first filter. - Master nodes: master_0. - Slave nodes:slave_0, slave_1 - - - - - Filter: random, argument sticky=1. - Picks a random slave once to be used for the rest of the PHP request. - Output: slave_0. - - - - - Output of slave_0 and the statement to be executed - is passed as input to the next filter. Here: roundrobin, - server list passed to filter is: slave_0. - - - - - Filter: roundrobin. Server list consists of - one server only, round robin will always return the same server. - - - - If trying to use such a filter sequence, - the plugin may emit a warning like (mysqlnd_ms) Error while creating - filter '%s' . Non-multi filter '%s' already created. Stopping in %s on - line %d. Furthermore, an appropriate error on the connection handle - may be set. - - - A second type of filter exists: multi filter. A multi filter emits zero, one or multiple - servers after processing. The quality_of_service filter - is an example. If the service quality requested sets an upper limit for the slave - lag and more than one slave is lagging behind less than the allowed number of seconds, - the filter returns more than one cluster node. A multi filter must be followed by other - to further reduce the list of candidates for statement execution until a candidate - is found. - - - A filter sequence with the quality_of_service - multi filter followed by a load balancing filter. - - - - Statement to be executed: SELECT sum(price) FROM orders WHERE order_id = 1. - Passed to all filters. - - - - - All configured nodes are passed as input to the first filter. - Master nodes: master_0. - Slave nodes: slave_0, slave_1, - slave_2, slave_3 - - - - - Filter: quality_of_service, rule set: session_consistency (read-your-writes) - Output: master_0 - - - - - Output of master_0 - and the statement to be executed - is passed as input to the next filter, which is roundrobin. - - - - - Filter: roundrobin. Server list consists of - one server. Round robin selects master_0. - - - - - - A filter sequence must not end with a multi filter. If trying to use - a filter sequence which ends with a multi filter the plugin may emit a - warning like (mysqlnd_ms) Error in configuration. Last filter is multi - filter. Needs to be non-multi one. Stopping in %s on line %d. - Furthermore, an appropriate error on the connection handle - may be set. - - - - Speculation towards the future: MySQL replication filtering - - In future versions, there may be additional multi filters. - For example, there may be a table - filter to support MySQL replication filtering. This would allow - you to define rules for which database or table is to be replicated to which - node of a replication cluster. Assume your replication cluster - consists of four slaves (slave_0, slave_1, - slave_2, slave_3) two of which replicate a database named - sales (slave_0, slave_1). - If the application queries the database slaves, the - hypothetical table filter reduces the list of possible - servers to slave_0 and slave_1. Because - the output and list of candidates consists of more than one server, it is - necessary and possible to add additional filters to the candidate list, for example, using - a load balancing filter to identify a server for statement execution. - - - -
- -
- Service level and consistency - - Version requirement - - Service levels have been introduced in mysqlnd_ms version 1.2.0-alpha. - mysqlnd_ms_set_qos - requires PHP 5.4.0 or newer. - - - - The plugin can be used with different kinds of MySQL database clusters. - Different clusters can deliver different levels of service to applications. - The service levels can be grouped by the data consistency levels that - can be achieved. The plugin knows about: - - - eventual consistency - - - session consistency - - - strong consistency - - - - - Depending how a cluster is used it may be possible to achieve higher service - levels than the default one. For example, a read from an asynchronous - MySQL replication slave is eventual consistent. Thus, one may say the default - consistency level of a MySQL replication cluster is eventual consistency. - However, if the master only is used by a client for reading and writing during a - session, session consistency (read your writes) is given. PECL mysqlnd 1.2.0 - abstracts the details of choosing an appropriate node for any of the above - service levels from the user. - - - Service levels can be set through the qualify-of-service filter in the - plugins configuration file - and at runtime using the function - mysqlnd_ms_set_qos. - - - The plugin defines the different service levels as follows. - - - Eventual consistency is the default service provided by an asynchronous - cluster, such as classical MySQL replication. A read operation executed - on an arbitrary node may or may not return stale data. The applications - view of the data is eventual consistent. - - - Session consistency is given if a client can always read its own writes. - An asynchronous MySQL replication cluster can deliver session consistency if clients - always use the master after the first write or never query a slave which has - not yet replicated the clients write operation. - - - The plugins understanding of strong consistency is that all clients always - see the committed writes of all other clients. This is the default when - using MySQL Cluster or any other cluster offering - synchronous data distribution. - - - Service level parameters - - - Eventual consistency and session consistency service level accept parameters. - - - Eventual consistency is the service provided by classical MySQL replication. - By default, all nodes qualify for read requests. An optional age - parameter can be given to filter out nodes which lag more than a certain number of - seconds behind the master. The plugin is using SHOW SLAVE STATUS - to measure the lag. Please, see the MySQL reference manual to learn about accuracy and - reliability of the SHOW SLAVE STATUS command. - - - Session consistency (read your writes) accepts an optional GTID - parameter to consider reading not only from the master but also from slaves - which already have replicated a certain write described by its transaction identifier. - This way, when using asynchronous MySQL replication, read requests may be load balanced - over slaves while still ensuring session consistency. - - - The latter requires the use of - client-side global transaction id injection. - - - Advantages of the new approach - - - The new approach supersedes the use of SQL hints and the configuration option - master_on_write in some respects. If an application - running on top of an asynchronous MySQL replication cluster cannot accept stale - data for certain reads, it is easier to tell the plugin to choose appropriate - nodes than prefixing all read statements in question with the SQL hint - to enforce the use of the master. Furthermore, the plugin may be able to - use selected slaves for reading. - - - The master_on_write configuration option makes the plugin - use the master after the first write (session consistency, read your writes). - In some cases, session consistency may not be needed for the rest of the session - but only for some, few read operations. Thus, master_on_write - may result in more read load on the master than necessary. In those cases it - is better to request a higher than default service level only for those reads - that actually need it. Once the reads are done, the application can return to - default service level. Switching between service levels is only possible - using mysqlnd_ms_set_qos. - - - Performance considerations - - - A MySQL replication cluster cannot tell clients which slaves are capable - of delivering which level of service. Thus, in some cases, - clients need to query the slaves to check their status. - PECL mysqlnd_ms transparently runs the necessary SQL in the - background. However, this is an expensive and slow operation. SQL statements - are run if eventual consistency is combined with an age (slave lag) limit and - if session consistency is combined with a global transaction ID. - - - If eventual consistency is combined with an maximum age (slave lag), the plugin - selects candidates for statement execution and load balancing for each statement - as follows. If the statement is a write all masters are considered as candidates. Slaves - are not checked and not considered as candidates. If the statement is a read, the - plugin transparently executes SHOW SLAVE STATUS on every slaves - connection. It will loop over all connections, send the statement and then start - checking for results. Usually, this is slightly faster than a loop over all connections - in which for every connection a query is send and the plugin waits for its results. - A slave is considered a candidate if SHOW SLAVE STATUS reports - Slave_IO_Running=Yes, - Slave_SQL_Running=Yes and - Seconds_Behind_Master is less or equal than the allowed maximum age. - In case of an SQL error, the plugin emits a warning but does not set an error on - the connection. The error is not set to make it possible to use the plugin as a drop-in. - - - If session consistency is combined with a global transaction ID, the plugin executes - the SQL statement set with the fetch_last_gtid entry of the - global_transaction_id_injection section from the plugins configuration file. - Further details are identical to those described above. - - - In version 1.2.0 no additional optimizations are done for executing background queries. - Future versions may contain optimizations, depending on user demand. - - - If no parameters and options are set, no SQL is needed. In that case, - the plugin consider all nodes of the type shown below. - - - eventual consistency, no further options set: all masters, all slaves - - - session consistency, no further options set: all masters - - - strong consistency (no options allowed): all masters - - - - - Throttling - - - The quality of service filter can be combined with - Global transaction IDs to - throttle clients. Throttling does reduce the write load on the master - by slowing down clients. If session consistency is requested and - global transactions identifier are used to check the status of - a slave, the check can be done in two ways. By default a slave - is checked and skipped immediately if it does not match - the criteria for session consistency. Alternatively, the - plugin can wait for a slave to catch up to the master until - session consistency is possible. To enable the throttling, - you have to set - wait_for_gtid_timeout - configuration option. - -
- -
- Global transaction IDs - - Version requirement - - Client side global transaction ID injection exists as of mysqlnd_ms version 1.2.0-alpha. - Transaction boundaries are detected by monitoring API calls. This is possible - as of PHP 5.4.0. Please, see also Transaction handling. - - - As of MySQL 5.6.5-m8 the MySQL server features built-in global transaction identifiers. - The MySQL built-in global transaction ID feature is supported by - PECL/mysqlnd_ms 1.3.0-alpha or - later. Neither are client-side transaction boundary monitoring nor any setup - activities required if using the server feature. - - - Please note, all MySQL 5.6 production versions do not provide - clients with enough information to use GTIDs for enforcing session consistency. - In the worst case, the plugin will choose the master only. - - - - Idea and client-side emulation - - - PECL/mysqlnd_ms can do client-side transparent global transaction ID injection. - In its most basic form, a global transaction identifier is a counter which is - incremented for every transaction executed on the master. The counter is held - in a table on the master. Slaves replicate the counter table. - - - In case of a master failure a database administrator can easily identify the - most recent slave for promoting it as a new master. The most recent slave has - the highest transaction identifier. - - - Application developers can ask the plugin for the global transaction identifier - (GTID) for their last successful write operation. The plugin will return - an identifier that refers to an transaction no older than that of the clients last - write operation. Then, the GTID can be passed as a parameter - to the quality of service (QoS) filter as an option for session consistency. - Session consistency ensures read your writes. The filter ensures that all - reads are either directed to a master or a slave which has replicated the write - referenced by the GTID. - - - When injection is done - - - The plugin transparently maintains the GTID table on the master. - In autocommit mode the plugin injects an UPDATE statement - before executing the users statement for every master use. In manual - transaction mode, the injection is done before the application calls - commit() to close a transaction. The configuration option - report_error of the GTID section in the plugins configuration - file is used to control whether a failed injection shall abort the current - operation or be ignored silently (default). - - - Please note, the - PHP version requirements for - transaction boundary monitoring - and their limits. - - - Limitations - - - Client-side global transaction ID injection has shortcomings. The potential - issues are not specific to PECL/mysqlnd_ms - but are rather of general nature. - - - - Global transaction ID tables must be deployed on all masters and replicas. - - - - - The GTID can have holes. Only PHP clients using the plugin will - maintain the table. Other clients will not. - - - - - Client-side transaction boundary detection is based on API calls only. - - - - - Client-side transaction boundary detection does not take implicit - commit into account. Some MySQL SQL statements cause an implicit - commit and cannot be rolled back. - - - - - - Using server-side global transaction identifier - - - Starting with PECL/mysqlnd_ms 1.3.0-alpha - the MySQL 5.6.5-m8 or newer built-in global - transaction identifier feature is supported. Use of the server feature lifts - all of the above listed limitations. Please, see the MySQL Reference Manual - for limitations and preconditions for using server built-in global transaction - identifiers. - - - Whether to use the client-side emulation or the server built-in - functionality is a question not directly related to the plugin, thus it is not - discussed in depth. There are no plans to remove the client-side emulation and - you can continue to use it, if the server-side solution is no option. This may - be the case in heterogenous environments with old MySQL server or, if any of the - server-side solution limitations is not acceptable. - - - From an applications perspective there is hardly a difference in using one or the - other approach. The following properties differ. - - - - Client-side emulation, as shown in the manual, is using an easy to compare sequence number - for global transactions. Multi-master is not handled to keep the manual examples easy. - - - Server-side built-in feature is using a combination of a server identifier - and a sequence number as a global transaction identifier. Comparison cannot - use numeric algebra. Instead a SQL function must be used. Please, - see the MySQL Reference Manual for details. - - - Server-side built-in feature of MySQL 5.6 cannot be used to ensure session consistency - under all circumstances. Do not use it for the quality-of-service feature. Here is a simple - example why it will not give reliable results. There are more edge cases that cannot - be covered with limited functionality exported by the server. Currently, clients can - ask a MySQL replication master for a list of all executed global transaction IDs only. - If a slave is configured not to replicate all transactions, for example, because replication - filters are set, then the slave will never show the same set of executed global transaction - IDs. Albeit the slave may have replicated a clients writes and it may be a candidate - for a consistent read, it will never be considered by the plugin. Upon write the plugin - learns from the master that the servers complete transaction history consists of GTID=1..3. - There is no way for the plugin to ask for the GTID of the write transaction itself, say GTID=3. - Assume that a slave does not replicate the transactions GTID=1..2 but only GTID=3 because of - a replication feature. Then, the slaves transaction history is GTID=3. However, the plugin tries - to find a node which has a transaction history of GITD=1...3. Albeit the slave has replicated - the clients write and session consistency may be achieved when reading from the slave, it - will not be considered by the plugin. This is not a fault of the plugin implementation but - a feature gap on the server side. Please note, this is a trivial case to illustrate the - issue there are other issues. In sum you are asked not to attempt using MySQL 5.6 built-in GTIDs - for enforcing session consistency. Sooner or later the load balancing will stop working properly - and the plugin will direct all session consistency requests to the master. - - - - - Plugin global transaction ID statistics are only available with client-side - emulation because they monitor the emulation. - - - - - - Global transaction identifiers in distributed systems - - Global transaction identifiers can serve multiple purposes in the context of distributed - systems, such as a database cluster. Global transaction identifiers can - be used for, for example, system wide identification of transactions, - global ordering of transactions, heartbeat mechanism and - for checking the replication status of replicas. PECL/mysqlnd_ms, a clientside - driver based software, does focus on using GTIDs for tasks that can be - handled at the client, such as checking the replication status of replicas - for asynchronous replication setups. - - -
- -
- Cache integration - - Version requirement - - The feature requires use of PECL/mysqlnd_ms 1.3.0-beta or later, - and PECL/mysqlnd_qc 1.1.0-alpha or newer. - PECL/mysqlnd_ms must be - compiled to support the feature. PHP 5.4.0 or newer is required. - - - - Setup: extension load order - - PECL/mysqlnd_ms must be loaded before - PECL/mysqlnd_qc, when using shared - extensions. - - - - Feature stability - - The cache integration is of beta quality. - - - - Suitable MySQL clusters - - The feature is targeted for use with MySQL Replication (primary copy). - Currently, no other kinds of MySQL clusters are supported. Users - of such cluster must control PECL/mysqlnd_qc manually if they are - interested in client-side query caching. - - - - Support for MySQL replication clusters (asynchronous primary copy) is the - main focus of PECL/mysqlnd_ms. - The slaves of a MySQL replication cluster - may or may not reflect the latest updates from the master. - Slaves are asynchronous and can lag behind the master. A read from a slave - is eventual consistent from a cluster-wide perspective. - - - The same level of consistency is offered by a local cache using time-to-live (TTL) - invalidation strategy. Current data or stale data may be served. Eventually, data - searched for in the cache is not available and the source of the cache needs to - be accessed. - - - Given that both a MySQL Replication slave (asynchronous secondary) and a local - TTL-driven cache deliver the same level of service it is possible to transparently - replace a remote database access with a local cache access to gain better possibility. - - - As of PECL/mysqlnd_ms 1.3.0-beta the plugin is - capable of transparently controlling PECL/mysqlnd_ms 1.1.0-alpha - or newer to cache a read-only query if explicitly allowed by setting an - appropriate quality of service through mysqlnd_ms_set_qos. P - lease, see the - quickstart for a code example. - Both plugins must be installed, PECL/mysqlnd_ms - must be compiled to support the cache feature and PHP 5.4.0 or newer has to be used. - - - Applications have full control of cache usage and can request fresh data - at any time, if need be. The cache usage can be enabled and disabled - time during the execution of a script. The cache will be used - if mysqlnd_ms_set_qos sets the quality of service - to eventual consistency and enables cache usage. Cache usage is disabled by - requesting higher consistency levels, for example, - session consistency (read your writes). Once the quality of service has been - relaxed to eventual consistency the cache can be used again. - - - If caching is enabled for a read-only statement, PECL/mysqlnd_ms may inject - SQL hints to control caching - by PECL/mysqlnd_qc. It may modify the SQL statement it got from the application. - Subsequent SQL processors are supposed to ignore the SQL hints. A SQL hint is a - SQL comment. Comments must not be ignored, for example, by the database server. - - - The TTL of a cache entry is computed on a per statement basis. Applications - set an maximum age for the data they want to retrieve using - mysqlnd_ms_set_qos. The age sets an approximate upper limit - of how many seconds the data returned may lag behind the master. - - - The following logic is used to compute the actual TTL if caching is enabled. - The logic takes the estimated slave lag into account for choosing a TTL. If, - for example, there are two slaves lagging 5 and 10 seconds behind and the maximum - age allowed is 60 seconds, the TTL is set to 50 seconds. Please note, the - age setting is no more than an estimated guess. - - - - Check whether the statement is read-only. If not, don't cache. - - - - - If caching is enabled, check the slave lag of all configured slaves. - Establish slave connections if none exist so far and lazy connections are - used. - - - - - Send SHOW SLAVE STATUS to all slaves. Do not wait - for the first slave to reply before sending to the second slave. Clients - often wait long for replies, thus we send out all requests in a burst before - fetching in a second stage. - - - - - Loop over all slaves. For every slave wait for its reply. Do not start - checking another slave before the currently waited for slave has replied. - Check for Slave_IO_Running=Yes and Slave_SQL_Running=Yes. - If both conditions hold true, fetch the value of Seconds_Behind_Master. - In case of any errors or if conditions fail, set an error on the slave connection. - Skip any such slave connection for the rest of connection filtering. - - - - - Search for the maximum value of Seconds_Behind_Master from - all slaves that passed the previous conditions. Subtract the value from - the maximum age provided by the user with mysqlnd_ms_set_qos. - Use the result as a TTL. - - - - - The filtering may sort out all slaves. If so, the maximum age is used as - TTL, because the maximum lag found equals zero. It is perfectly valid to - sort out all slaves. In the following it is up to subsequent filter - to decide what to do. The built-in load balancing filter will pick the - master. - - - - - Inject the appropriate SQL hints to enable caching by PECL/mysqlnd_qc. - - - - - Proceed with the connection filtering, e.g. apply load balancing rules to - pick a slave. - - - - - PECL/mysqlnd_qc is loaded after - PECL/mysqlnd_ms by PHP. Thus, it will see - all query modifications of PECL/mysqlnd_ms and cache - the query if instructed to do so. - - - - - - The algorithm may seem expensive. SHOW SLAVE STATUS is a very - fast operation. Given a sufficient number of requests and cache hits per second the cost of - checking the slaves lag can easily outweigh the costs of the cache decision. - - - Suggestions on a better algorithm are always welcome. - -
- -
- Supported clusters - - Any application using any kind of MySQL cluster is faced with the same tasks: - - - - Identify nodes capable of executing a given statement with - the required service level - - - - - Load balance requests within the list of candidates - - - - - Automatic fail over within candidates, if needed - - - - - - The plugin is optimized for fulfilling these tasks in the context of a classical - asynchronous MySQL replication cluster consisting of a single master and - many slaves (primary copy). When using classical, asynchronous MySQL replication - all of the above listed tasks need to be mastered at the client side. - - - Other types of MySQL cluster may have lower requirements on the application side. - For example, if all nodes in the cluster can answer read and write requests, no - read-write splitting needs to be done (multi-master, update-all). - If all nodes in the cluster are synchronous, they automatically provide the - highest possible quality of service which makes choosing a node easier. - In this case, the plugin may serve the application after some reconfiguration - to disable certain features, such as built-in read-write splitting. - - - Documentation focus - - The documentation focusses describing the use of the plugin with classical - asynchronous MySQL replication clusters (primary copy). Support for this - kind of cluster has been the original development goal. Use of other - clusters is briefly described below. Please note, that - this is still work in progress. - - - - Primary copy (MySQL Replication) - - - This is the primary use case of the plugin. Follow the hints given in the descriptions of each feature. - - - - - - Configure one master and one or more slaves. - Server configuration details - are given in the setup section. - - - - - Use random load balancing policy together with the - sticky flag. - - - - - If you do not plan to use the - service level API calls, - add the master on write - flag. - - - - - Please, make yourself aware of the properties of automatic failover before - adding a failover directive. - - - - - Consider the use of trx_stickiness - to execute transactions on the primary only. Please, read carefully how it works - before you rely on it. - - - - - - - Enabling the plugin (php.ini) - - - - - - - - Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication - - - - - - - Primary copy with multi primaries (MMM - MySQL Multi Master) - - - MySQL Replication allows you to create cluster topologies with multiple masters (primaries). - Write-write conflicts are not handled by the replication system. This is no update anywhere setup. - Thus, data must be partitioned manually and clients must redirected in accordance - to the partitioning rules. The recommended setup is equal to the sharding setup below. - - - Manual sharding, possibly combined with primary copy and multiple primaries - - - Use SQL hints and the node group filter for clusters that use data partitioning - but leave query redirection to the client. The example configuration shows a multi master - setup with two shards. - - - - Multiple primaries - multi master (php.ini) - - - - - - - - Primary copy with multiple primaries and paritioning - - - - - - - The plugin can also be used with a loose collection of unrelated shards. For - such a cluster, configure masters only and disable read write splitting. The nodes of - such a cluster are called masters in the plugin configuration as they accept - both reads and writes for their partition. - - - Using synchronous update everywhere clusters such as MySQL Cluster - - - MySQL Cluster is a synchronous cluster solution. All cluster nodes accept - read and write requests. In the context of the plugin, all nodes shall - be considered as masters. - - - Use the load balancing and fail over features only. - - - - - - Disable the plugins built-in read-write splitting. - - - - - Configure masters only. - - - - - Consider random once load balancing strategy, which is the plugins default. - If random once is used, only masters are configured and no SQL hints are used - to force using a certain node, no connection switches will happen for the - duration of a web request. Thus, no special handling is required - for transactions. The plugin will pick one master at the beginning of the - PHP script and use it until the script terminates. - - - - - Do not set the quality of service. All nodes have all the data. This - automatically gives you the highest possible service quality (strong consistency). - - - - - Do not enable client-side global transaction injection. It is neither - required to help with server-side fail over nor to assist the quality of service - filter choosing an appropriate node. - - - - - - Disabling built-in read-write splitting. - - - - Set - mysqlnd_ms.disable_rw_split=1 - - - - - Do not use SQL hints - to enforce the use of slaves - - - - - - Configure masters only. - - - - Set - mysqlnd_ms.multi_master=1. - - - - Do not configure any slaves. - - - - Set - failover=loop_before_master - in the plugins configuration file to avoid warnings about the empty slave list - and to make the failover logic loop over all configured masters before emitting an error. - - - Please, note the warnings about automatic failover given in the previous sections. - - - - - - - Multiple primaries - multi master (php.ini) - - - - - - - - Synchronous update anywhere cluster - - - - - - - If running an update everywhere cluster that has no built-in partitioning to - avoid hot spots and high collision rates, consider using the node groups filter - to keep updates on a frequently accessed table on one of the nodes. This may - help to reduce collision rates and thus improve performance. - -
- -
- XA/Distributed transactions - - Version requirement - - XA related functions have been introduced in PECL/mysqlnd_ms version 1.6.0-alpha. - - - - Early adaptors wanted - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments, although - early lab tests indicate reasonable quality. - - - Please, contact the development team if you are interested in this feature. - We are looking for real life feedback to complement the feature. - - - Below is a list of some feature restrictions. - - - The feature is not yet compatible with the MySQL Fabric support . This limitation is soon to be lifted. - XA transaction identifier are currently restricted to numbers. This limitation will be lifted upon request, it is a simplification used during the initial implementation. - - - - - - MySQL server restrictions - - The XA support by the MySQL server has some restrictions. Most noteably, - the servers binary log may lack changes made by XA transactions in case - of certain errors. Please, see the MySQL manual for details. - - - - XA/Distributed transactions can spawn multiple MySQL servers. - Thus, they may seem like a perfect - tool for sharded MySQL clusters, for example, clusters managed with MySQL Fabric. - PECL/mysqlnd_ms hides most of the SQL commands - to control XA transactions and performs automatic administrative tasks in cases - of errors, to provide the user with a comprehensive API. Users should - setup the plugin carefully and be well aware of server restrictions prior - to using the feature. - - - - General pattern for XA transactions - -query("UPDATE some_table SET col_a = 1"); -... - -/* COMMIT */ -mysqlnd_ms_xa_commit($link, 1); -?> -]]> - - - - - XA transactions use the two-phase commit protocol. The two-phase commit - protocol is a blocking protocol. During the first phase participating servers - begin a transaction and the client carries out its work. This phase is followed - by a second voting phase. During voting, the servers first make a firm promise - that they are ready to commit the work even in case of their possible unexpected - failure. Should a server crash in this phase, it will still recall the aborted - transaction after recover and wait for the client to decide on whether - it shall be committed or rolled back. - - - Should a client that has initiated a global transaction crash after all the - participating servers gave their promise to be ready to commit, then the servers - must wait for a decision. The servers are not allowed to unilaterally decide on the - transaction. - - - A client crash or disconnect from a participant, a server crash or server error - during the fist phase of the protocol is uncritical. In most cases, the server - will forget about the XA transaction and its work is rolled back. Additionally, - the plugin tries to reach out to as many participants as it can to instruct - the server to roll back the work immediately. It is not possible to disable this implicit - rollback carried out by PECL/mysqlnd_ms in case of errors - during the first phase of the protocol. This design decision has been made to - keep the implementation simple. - - - An error during the second phase of the commit protocol can develop into a - more severe situation. The servers will not forget about - prepared but unfinished transactions in all cases. The plugin will not - attempt to solve these cases immediately but waits for optional background - garbage collection to ensure progress of the commit protocol. It is assumed - that a solution will take significant time as it may include waiting - for a participating server to recover from a crash. This time span may - be longer than a developer and end user expects when trying to commit a - global transaction with mysqlnd_ms_xa_commit. Thus, - the function returns with the unfinished global transaction still - requiring attention. Please, be warned that at this point, it is not yet - clear whether the global transaction will be committed or rolled back later on. - - - Errors during the second phase can be ignored, handled by yourself or solved - by the build-int garbage collection logic. Ignoring them is not recommended - as you may experience unfinished global transactions on your servers that block - resources virtually indefinitely. Handling the errors requires knowing the - participants, checking their state and issuing appropriate SQL commands on them. - There are no user API calls to expose this very information. You will have to - configure a state store and make the plugin record its actions in it to receive - the desired facts. - - - Please, see the - quickstart and - related plugin - configuration file settings for an example how to configure a state. - In addition to configuring a state store, you have to setup some SQL tables. - The table definitions are given in the description of the plugin configuration - settings. - - - Setting up and configuring a state store is also a precondition for using the - built-in garbage collection for XA transactions that fail during the - second commit phase. Recording information about ongoing XA transactions is - an unavoidable extra task. The extra task consists of updating the state - store after each and every operation that changes the state of the global transaction - itself (started, committed, rolled back, errors and aborts), the addition of - participants (host, optionally user and password required to connect) and any - changes to a participants state. Please note, depending on configuration and your - security policies, these recordings may be considered sensitive. - It is therefore recommended to restrict access to the state store. Unless the - state store itself becomes overloaded, writing the state information may contribute - noteworthy to the runtime but should overall be only a minor factor. - - - It is possible that the effort it takes to implement your own routines for handling - XA transactions that failed during the second commit phase exceeds the benefits - of using the XA feature of PECL/mysqlnd_ms in the first place. - Thus, the manual focussed on using the built-on garbage collection only. - - - Garbage collection can be triggered manually or automatically in the background. - You may want to call mysqlnd_ms_xa_gc immediately after - a commit failure to attempt to solve any failed but still open global transactions - as soon as possible. You may also decide to disable the automatic background - garbage collection, implement your own rule set for invoking the built-in - garbage collection and trigger it when desired. - - - By default the plugin will start the garbage collection with a certain probability - in the extensions internal RSHUTDOWN method. The request - shutdown is called after your script finished. Whether the garbage collection - will be triggered is determined by computing a random value between - 1...1000 and comparing it with the configuration setting - probability - (default: 5). If the setting is - greater or equal to the random value, the garbage collection will be triggered. - - - Once started, the garbage collection acts upon up to - max_transactions_per_run (default: 100) global transactions - recorded. Records include successfully finished but also unfinished XA - transactions. Records for successful transactions are removed and unfinished - transactions are attempted to be solved. There are no statistics that help - you finding the right balance between keeping garbage collection runs short - by limiting the number of transactions considered per run and preventing the garbage - collection to fall behind, resulting in many records. - - - For each failed XA transaction the garbage collection makes - max_retries (default: 5) attempts to finish it. After that - PECL/mysqlnd_ms gives up. There are two possible reasons for this. Either - a participating server crashed and has not become accessible again within - max_retries invocations of the garbage collection, or there - is a situation that the built-in garbage collection cannot cope with. Likely, the - latter would be considered a bug. However, you can manually force more - garbage collection runs calling mysqlnd_ms_xa_gc with the - appropriate parameter set. Should even those function runs fail to solve - the situation, then the problem must be solved by an operator. - - - The function mysqlnd_ms_get_stats - provides some statistics on how many XA transactions have been started, - committed, failed or rolled back. - - -
- -
- - diff --git a/reference/mysqlnd_ms/configure.xml b/reference/mysqlnd_ms/configure.xml deleted file mode 100644 index 06a73b3730..0000000000 --- a/reference/mysqlnd_ms/configure.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.moved; - - - - &pecl.info; - &url.pecl.package;mysqlnd_ms - - - - &pecl.windows.download; - - -
- - - diff --git a/reference/mysqlnd_ms/constants.xml b/reference/mysqlnd_ms/constants.xml deleted file mode 100644 index fa77dbc60d..0000000000 --- a/reference/mysqlnd_ms/constants.xml +++ /dev/null @@ -1,326 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - SQL hint related - - - - Example demonstrating the usage of mysqlnd_ms constants - - The mysqlnd replication and load balancing plugin (mysqlnd_ms) - performs read/write splitting. This directs write queries to a MySQL - master server, and read-only queries to the MySQL slave servers. - The plugin has a built-in read/write split logic. - All queries which start with SELECT are considered read-only - queries, which are then sent to a MySQL slave server that is listed in - the plugin configuration file. All other queries are directed to the - MySQL master server that is also specified in the plugin configuration file. - - - User supplied SQL hints can be used to overrule automatic read/write splitting, - to gain full control on the process. SQL hints are standards compliant - SQL comments. The plugin will scan the beginning of a query string for - an SQL comment for certain commands, which then control query redirection. - Other systems involved in the query processing are unaffected by the - SQL hints because other systems will ignore the SQL comments. - - - The plugin supports three SQL hints to direct queries to either the MySQL slave - servers, the MySQL master server, or the last used MySQL server. SQL hints - must be placed at the beginning of a query to be recognized by the plugin. - - - For better portability, it is recommended to use the string constants - MYSQLND_MS_MASTER_SWITCH, - MYSQLND_MS_SLAVE_SWITCH and - MYSQLND_MS_LAST_USED_SWITCH instead of their literal - values. - - - -]]> - - &examples.outputs; - - - - - - - - - - MYSQLND_MS_MASTER_SWITCH - (string) - - - - SQL hint used to send a query to the MySQL replication master server. - - - - - - MYSQLND_MS_SLAVE_SWITCH - (string) - - - - SQL hint used to send a query to one of the MySQL replication slave servers. - - - - - - MYSQLND_MS_LAST_USED_SWITCH - (string) - - - - SQL hint used to send a query to the last used MySQL server. The last - used MySQL server can either be a master or a slave server in a - MySQL replication setup. - - - - - - - - mysqlnd_ms_query_is_select - related - - - - - - MYSQLND_MS_QUERY_USE_MASTER - (int) - - - - If mysqlnd_ms_is_select returns - MYSQLND_MS_QUERY_USE_MASTER for a given query, the - built-in read/write split mechanism recommends sending the query to - a MySQL replication master server. - - - - - - MYSQLND_MS_QUERY_USE_SLAVE - (int) - - - - If mysqlnd_ms_is_select returns - MYSQLND_MS_QUERY_USE_SLAVE for a given query, the - built-in read/write split mechanism recommends sending the query to - a MySQL replication slave server. - - - - - - MYSQLND_MS_QUERY_USE_LAST_USED - (int) - - - - If mysqlnd_ms_is_select returns - MYSQLND_MS_QUERY_USE_LAST_USED for a given query, the - built-in read/write split mechanism recommends sending the query to - the last used server. - - - - - - - - mysqlnd_ms_set_qos, - quality of service filter and service level related - - - - - - MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL - (int) - - - - Use to request the service level eventual consistency from the - mysqlnd_ms_set_qos. Eventual consistency is the - default quality of service when reading from an asynchronous MySQL - replication slave. Data returned in this service level may or may not - be stale, depending on whether the selected slaves happen to have replicated - the latest changes from the MySQL replication master or not. - - - - - - MYSQLND_MS_QOS_CONSISTENCY_SESSION - (int) - - - - Use to request the service level session consistency from the - mysqlnd_ms_set_qos. Session consistency - is defined as read your writes. The client is guaranteed to see his - latest changes. - - - - - - MYSQLND_MS_QOS_CONSISTENCY_STRONG - (int) - - - - Use to request the service level strong consistency from the - mysqlnd_ms_set_qos. Strong consistency - is used to ensure all clients see each others changes. - - - - - - MYSQLND_MS_QOS_OPTION_GTID - (int) - - - - Used as a service level option with - mysqlnd_ms_set_qos to parameterize session - consistency. - - - - - - MYSQLND_MS_QOS_OPTION_AGE - (int) - - - - Used as a service level option with - mysqlnd_ms_set_qos to parameterize eventual - consistency. - - - - - - - - Other - - - The plugins version number can be obtained using - MYSQLND_MS_VERSION or - MYSQLND_MS_VERSION_ID. - MYSQLND_MS_VERSION - is the string representation of the numerical version number - MYSQLND_MS_VERSION_ID, which is an integer such as 10000. - Developers can calculate the version number as follows. - - - - - - - Version (part) - Example - - - - - Major*10000 - 1*10000 = 10000 - - - Minor*100 - 0*100 = 0 - - - Patch - 0 = 0 - - - MYSQLND_MS_VERSION_ID - 10000 - - - - - - - - - - MYSQLND_MS_VERSION - (string) - - - - Plugin version string, for example, 1.0.0-prototype. - - - - - - MYSQLND_MS_VERSION_ID - (int) - - - - Plugin version number, for example, 10000. - - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-dump-servers.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-dump-servers.xml deleted file mode 100644 index 0fe21e2629..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-dump-servers.xml +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - mysqlnd_ms_dump_servers - Returns a list of currently configured servers - - - - &reftitle.description; - - array - mysqlnd_ms_dump_servers - mixedconnection - - - Returns a list of currently configured servers. - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - - - - &reftitle.returnvalues; - - &false; on error. Otherwise, returns an array with two entries - masters and slaves each of which contains - an array listing all corresponding servers. - - - The function can be used to check and debug the list of servers currently - used by the plugin. It is mostly useful when the list of servers changes at - runtime, for example, when using MySQL Fabric. - - - masters and slaves server entries - - - - - - - - - Key - Description - Version - - - - - - name_from_config - - - - Server entry name from config, if appliciable. NULL if no - configuration name is available. - - - Since 1.6.0. - - - - hostname - - - - Host name of the server. - - - Since 1.6.0. - - - - user - - - - Database user used to authenticate against the server. - - - Since 1.6.0. - - - - port - - - - TCP/IP port of the server. - - - Since 1.6.0. - - - - socket - - - - Unix domain socket of the server. - - - Since 1.6.0. - - - - - - - - &reftitle.notes; - - - mysqlnd_ms_dump_servers requires - PECL mysqlnd_ms >> 1.6.0. - - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_dump_servers</function> example - - - - - -]]> - - &example.outputs; - - - array(1) { - [0]=> - array(5) { - ["name_from_config"]=> - string(7) "master1" - ["hostname"]=> - string(12) "master1_host" - ["user"]=> - string(12) "master1_user" - ["port"]=> - int(3306) - ["socket"]=> - string(14) "master1_socket" - } - } - ["slaves"]=> - array(2) { - [0]=> - array(5) { - ["name_from_config"]=> - string(7) "slave_0" - ["hostname"]=> - string(11) "slave0_host" - ["user"]=> - string(11) "slave0_user" - ["port"]=> - int(3306) - ["socket"]=> - string(13) "slave0_socket" - } - [1]=> - array(5) { - ["name_from_config"]=> - string(7) "slave_1" - ["hostname"]=> - string(11) "slave1_host" - ["user"]=> - string(12) "gloabal_user" - ["port"]=> - int(1234) - ["socket"]=> - string(13) "global_socket" - } - } -} -]]> - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-global.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-global.xml deleted file mode 100644 index fee5dc5ea6..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-global.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - mysqlnd_ms_fabric_select_global - Switch to global sharding server for a given table - - - - &reftitle.description; - - array - mysqlnd_ms_fabric_select_global - mixedconnection - mixedtable_name - - - &warn.undocumented.func; - - - MySQL Fabric related. - - - Switch the connection to the nodes handling global sharding queries - for the given table name. - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - table_name - - - The table name to ask Fabric about. - - - - - - - - - &reftitle.returnvalues; - - &false; on error. Otherwise, &true; - - - - - &reftitle.notes; - - - mysqlnd_ms_fabric_select_global requires - PECL mysqlnd_ms >> 1.6.0. - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-shard.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-shard.xml deleted file mode 100644 index 8bdf8c6e91..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-fabric-select-shard.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - mysqlnd_ms_fabric_select_shard - Switch to shard - - - - &reftitle.description; - - array - mysqlnd_ms_fabric_select_shard - mixedconnection - mixedtable_name - mixedshard_key - - - &warn.undocumented.func; - - - MySQL Fabric related. - - - Switch the connection to the shards responsible for the - given table name and shard key. - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - table_name - - - The table name to ask Fabric about. - - - - - shard_key - - - The shard key to ask Fabric about. - - - - - - - - &reftitle.returnvalues; - - &false; on error. Otherwise, &true; - - - - - &reftitle.notes; - - - mysqlnd_ms_fabric_select_shard requires - PECL mysqlnd_ms >> 1.6.0. - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-gtid.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-gtid.xml deleted file mode 100644 index 5bf9bf9588..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-gtid.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - mysqlnd_ms_get_last_gtid - Returns the latest global transaction ID - - - - &reftitle.description; - - string - mysqlnd_ms_get_last_gtid - mixedconnection - - - Returns a global transaction identifier which belongs to a write operation no - older than the last write performed by the client. It is not guaranteed that - the global transaction identifier is identical to that one created for the - last write transaction performed by the client. - - - - - &reftitle.parameters; - - - connection - - - A PECL/mysqlnd_ms connection handle to a MySQL server of the type - PDO_MYSQL, mysqli> or - ext/mysql. - The connection handle is obtained when opening a connection with - a host name that matches a mysqlnd_ms configuration file - entry using any of the above three MySQL driver extensions. - - - - - - - - &reftitle.returnvalues; - - Returns a global transaction ID (GTID) on success. - Otherwise, returns &false;. - - - The function mysqlnd_ms_get_last_gtid returns the - GTID obtained when executing the SQL statement from - the fetch_last_gtid entry of the - global_transaction_id_injection section from - the plugins configuration file. - - - The function may be called after the GTID has been incremented. - - - - - &reftitle.notes; - - - mysqlnd_ms_get_last_gtid requires - PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using - a mysqlnd library C functionality not available with PHP 5.3. - - - Please note, all MySQL 5.6 production versions do not provide - clients with enough information to use GTIDs for enforcing session consistency. - In the worst case, the plugin will choose the master only. - - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_get_last_gtid</function> example - -query("DROP TABLE IF EXISTS test")) - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - -printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); - -/* auto commit mode, transaction on master, GTID must be incremented */ -if (!$mysqli->query("CREATE TABLE test(id INT)")) - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - -printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); -?> -]]> - - - - - - - &reftitle.seealso; - - - - Global Transaction IDs - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-used-connection.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-used-connection.xml deleted file mode 100644 index e48104432c..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-last-used-connection.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - mysqlnd_ms_get_last_used_connection - Returns an array which describes the last used connection - - - - &reftitle.description; - - array - mysqlnd_ms_get_last_used_connection - mixedconnection - - - Returns an array which describes the last used connection from the plugins - connection pool currently pointed to by the user connection handle. If using the - plugin, a user connection handle represents a pool of database connections. - It is not possible to tell from the user connection handles properties to which - database server from the pool the user connection handle points. - - - The function can be used to debug or monitor PECL mysqlnd_ms. - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - - - - &reftitle.returnvalues; - - &false; on error. Otherwise, an - array which describes the connection used to - execute the last statement on. - - - Array which describes the connection. - - - - - - - - - Property - Description - Version - - - - - - scheme - - - Connection scheme. Either tcp://host:port - or unix://host:socket. If you want to - distinguish connections from each other use a combination - of scheme and thread_id as a unique - key. Neither scheme nor thread_id - alone are sufficient to distinguish two connections from each other. - Two servers may assign the same thread_id to two - different connections. Thus, connections in the pool may have the same - thread_id. Also, do not rely on uniqueness of - scheme in a pool. Your QA engineers may use the - same MySQL server instance for two distinct logical roles and add it - multiple times to the pool. This hack is used, for example, - in the test suite. - - Since 1.1.0. - - - - host - - - Database server host used with the connection. - The host is only set with TCP/IP connections. - It is empty with Unix domain or Windows named pipe connections, - - Since 1.1.0. - - - - host_info - - - A character string representing the server hostname and the connection type. - - Since 1.1.2. - - - - port - - - Database server port used with the connection. - - Since 1.1.0. - - - - socket_or_pipe - - - Unix domain socket or Windows named pipe used with the connection. - The value is empty for TCP/IP connections. - - Since 1.1.2. - - - - thread_id - - - Connection thread id. - - Since 1.1.0. - - - - last_message - - - Info message obtained from the - MySQL C API function mysql_info(). Please, see - mysqli_info for - a description. - - Since 1.1.0. - - - - errno - - - Error code. - - Since 1.1.0. - - - - error - - - Error message. - - Since 1.1.0. - - - - sqlstate - - - Error SQLstate code. - - Since 1.1.0. - - - - - - - - &reftitle.notes; - - - mysqlnd_ms_get_last_used_connection requires - PHP >= 5.4.0 and PECL mysqlnd_ms >> 1.1.0. Internally, it is using - a mysqlnd library C call not available with PHP 5.3. - - - - - - &reftitle.examples; - - The example assumes that myapp refers to a - plugin configuration file section and represents a connection pool. - - - - <function>mysqlnd_ms_get_last_used_connection</function> example - -query("SELECT 1 FROM DUAL"); -var_dump(mysqlnd_ms_get_last_used_connection($link)); -?> -]]> - - &example.outputs; - - - string(22) "unix:///tmp/mysql.sock" - ["host_info"]=> - string(25) "Localhost via UNIX socket" - ["host"]=> - string(0) "" - ["port"]=> - int(3306) - ["socket_or_pipe"]=> - string(15) "/tmp/mysql.sock" - ["thread_id"]=> - int(46253) - ["last_message"]=> - string(0) "" - ["errno"]=> - int(0) - ["error"]=> - string(0) "" - ["sqlstate"]=> - string(5) "00000" -} -]]> - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-stats.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-get-stats.xml deleted file mode 100644 index 18f0185a59..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-get-stats.xml +++ /dev/null @@ -1,792 +0,0 @@ - - - - - - mysqlnd_ms_get_stats - Returns query distribution and connection statistics - - - - &reftitle.description; - - array - mysqlnd_ms_get_stats - - - - Returns an array of statistics collected by the replication - and load balancing plugin. - - - The PHP configuration setting - mysqlnd_ms.collect_statistics - controls the collection of statistics. The collection of statistics - is disabled by default for performance reasons. - - - The scope of the statistics is the - PHP process. - Depending on your deployment model a - PHP process may handle one or multiple requests. - - - Statistics are aggregated for all connections and all storage handler. It is not possible - to tell how much queries originating from - mysqli, - PDO_MySQL or - mysql API calls have - contributed to the aggregated data values. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns &null; if - the PHP configuration directive - mysqlnd_ms.enable - has disabled the plugin. Otherwise, returns array of statistics. - - - Array of statistics - - - - - - - - - Statistic - Description - Version - - - - - - use_slave - - - - The semantics of this statistic has changed between 1.0.1 - 1.1.0. - - - The meaning for version 1.0.1 is as follows. - Number of statements considered as read-only by the built-in query analyzer. - Neither statements which begin with a SQL hint to force - use of slave nor statements directed to a slave by an user-defined - callback are included. The total number of statements sent to the slaves is - use_slave + use_slave_sql_hint + - use_slave_callback. - - - PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The - statistics is now set by the internal load balancing filter. With - version 1.1.0 the load balancing filter is always the last in the - filter chain, if used. In future versions a load balancing filter may be - followed by other filters causing another change in the meaning of - the statistic. If, in the future, a load balancing filter is followed - by another filter it is no longer guaranteed that the statement, which - increments use_slave, will be executed on the slaves. - - - The meaning for version 1.1.0 is as follows. Number of statements - sent to the slaves. Statements directed to a slave by the user filter - (an user-defined callback) are not included. The latter are counted by - use_slave_callback. - - - Since 1.0.0. - - - - use_master - - - - The semantics of this statistic has changed between 1.0.1 - 1.1.0. - - - The meaning for version 1.0.1 is as follows. - Number of statements not considered as read-only by the built-in query analyzer. - Neither statements which begin with a SQL hint to force - use of master nor statements directed to a master by an user-defined - callback are included. The total number of statements sent to the master is - use_master + use_master_sql_hint + - use_master_callback. - - - PECL/mysqlnd_ms 1.1.0 introduces a new concept of chained filters. The - statictics is now set by the internal load balancing filter. With - version 1.1.0 the load balancing filter is always the last in the - filter chain, if used. In future versions a load balancing filter may be - followed by other filters causing another change in the meaning of - the statistic. If, in the future, a load balancing filter is followed - by another filter it is no longer guaranteed that the statement, which - increments use_master, will be executed on the slaves. - - - The meaning for version 1.1.0 is as follows. Number of statements - sent to the masters. Statements directed to a master by the user filter - (an user-defined callback) are not included. The latter are counted by - use_master_callback. - - - Since 1.0.0. - - - - use_slave_guess - - - Number of statements the built-in query analyzer recommends sending to - a slave because they contain no SQL hint to force use of a - certain server. The recommendation may be overruled in the following. - It is not guaranteed whether the statement will be executed on a slave - or not. This is how often the internal is_select - function has guessed that a slave shall be used. Please, see also the - user space function mysqlnd_ms_query_is_select. - - Since 1.1.0. - - - - use_master_guess - - - Number of statements the built-in query analyzer recommends sending to - a master because they contain no SQL hint to force use of a - certain server. The recommendation may be overruled in the following. - It is not guaranteed whether the statement will be executed on a slave - or not. This is how often the internal is_select - function has guessed that a master shall be used. Please, see also the - user space function mysqlnd_ms_query_is_select. - - Since 1.1.0. - - - - use_slave_sql_hint - - - Number of statements sent to a slave because statement begins with - the SQL hint to force use of slave. - - Since 1.0.0. - - - - use_master_sql_hint - - - Number of statements sent to a master because statement begins with - the SQL hint to force use of master. - - Since 1.0.0. - - - - use_last_used_sql_hint - - - Number of statements sent to server which has run the previous statement, - because statement begins with the SQL hint to force use of previously - used server. - - Since 1.0.0. - - - - use_slave_callback - - - Number of statements sent to a slave because an user-defined callback - has chosen a slave server for statement execution. - - Since 1.0.0. - - - - use_master_callback - - - Number of statements sent to a master because an user-defined callback - has chosen a master server for statement execution. - - Since 1.0.0. - - - - non_lazy_connections_slave_success - - - Number of successfully opened slave connections from - configurations not using - lazy connections. - The total number of successfully opened slave connections - is non_lazy_connections_slave_success + - lazy_connections_slave_success - - Since 1.0.0. - - - - non_lazy_connections_slave_failure - - - Number of failed slave connection attempts from - configurations not using - lazy connections. - The total number of failed slave connection attempts - is non_lazy_connections_slave_failure + - lazy_connections_slave_failure - - Since 1.0.0. - - - - non_lazy_connections_master_success - - - Number of successfully opened master connections from - configurations not using - lazy connections. - The total number of successfully opened master connections - is non_lazy_connections_master_success + - lazy_connections_master_success - - Since 1.0.0. - - - - non_lazy_connections_master_failure - - - Number of failed master connection attempts from - configurations not using - lazy connections. - The total number of failed master connection attempts - is non_lazy_connections_master_failure + - lazy_connections_master_failure - - Since 1.0.0. - - - - lazy_connections_slave_success - - - Number of successfully opened slave connections from - configurations using - lazy connections. - - Since 1.0.0. - - - - lazy_connections_slave_failure - - - Number of failed slave connection attempts from - configurations using - lazy connections. - - Since 1.0.0. - - - - lazy_connections_master_success - - - Number of successfully opened master connections from - configurations using - lazy connections. - - Since 1.0.0. - - - - lazy_connections_master_failure - - - Number of failed master connection attempts from - configurations using - lazy connections. - - Since 1.0.0. - - - - trx_autocommit_on - - - Number of autocommit mode activations via API calls. - This figure may be used to monitor activity related to the plugin configuration - setting - trx_stickiness. - If, for example, you want to know if a certain API call invokes the - mysqlnd library function trx_autocommit(), - which is a requirement for - trx_stickiness, - you may call the user API function in question and check if the - statistic has changed. The statistic is modified only by the - plugins internal subclassed trx_autocommit() - method. - - Since 1.0.0. - - - - trx_autocommit_off - - - Number of autocommit mode deactivations via API calls. - - Since 1.0.0. - - - - trx_master_forced - - - Number of statements redirected to the master while - trx_stickiness=master - and autocommit mode is disabled. - - Since 1.0.0. - - - - gtid_autocommit_injections_success - - - Number of successful SQL injections in autocommit mode as part - of the plugins client-side - global transaction id emulation. - - Since 1.2.0. - - - - gtid_autocommit_injections_failure - - - Number of failed SQL injections in autocommit mode as part - of the plugins client-side - global transaction id emulation. - - Since 1.2.0. - - - - gtid_commit_injections_success - - - Number of successful SQL injections in commit mode as part - of the plugins client-side - global transaction id emulation. - - Since 1.2.0. - - - - gtid_commit_injections_failure - - - Number of failed SQL injections in commit mode as part - of the plugins client-side - global transaction id emulation. - - Since 1.2.0. - - - - gtid_implicit_commit_injections_success - - - Number of successful SQL injections when implicit commit is detected as part - of the plugins client-side - global transaction id emulation. - Implicit commit happens, for example, when autocommit has been turned - off, a query is executed and autocommit is enabled again. In that case, - the statement will be committed by the server and SQL to maintain is - injected before the autocommit is re-enabled. Another sequence - causing an implicit commit is begin(), - query(), begin(). The second call - to begin() will implicitly commit the transaction - started by the first call to begin(). - begin() refers to internal library calls not actual - PHP user API calls. - - Since 1.2.0. - - - - gtid_implicit_commit_injections_failure - - - Number of failed SQL injections when implicit commit is detected as part - of the plugins client-side - global transaction id emulation. - Implicit commit happens, for example, when autocommit has been turned - off, a query is executed and autocommit is enabled again. In that case, - the statement will be committed by the server and SQL to maintain is - injected before the autocommit is re-enabled. - - Since 1.2.0. - - - - transient_error_retries - - - How often an operation has been retried when a transient error was - detected. See also, - transient_error - plugin configuration file setting. - - Since 1.6.0. - - - - fabric_sharding_lookup_servers_success - - - Number of successful sharding.lookup_servers - remote procedure calls to MySQL Fabric. - A call is considered successful if the plugin could reach MySQL - Fabric and got any reply. The reply itself may or may not be - understood by the plugin. Success refers to the network transport - only. If the reply was not understood or indicates a valid error condition, - fabric_sharding_lookup_servers_xml_failure - gets incremented. - - Since 1.6.0. - - - - fabric_sharding_lookup_servers_failure - - - Number of failed sharding.lookup_servers - remote procedure calls to MySQL Fabric. - A remote procedure call is considered failed if there was a - network error in connecting to, writing to or reading from - MySQL Fabric. - - Since 1.6.0. - - - - fabric_sharding_lookup_servers_time_total - - - Time spent connecting to,writing to and reading from MySQL - Fabrich during the sharding.lookup_servers - remote procedure call. The value is aggregated for all calls. Time is - measured in microseconds. - - Since 1.6.0. - - - - fabric_sharding_lookup_servers_bytes_total - - - Total number of bytes received from MySQL Fabric in reply to - sharding.lookup_servers calls. - - Since 1.6.0. - - - - fabric_sharding_lookup_servers_xml_failure - - - How often a reply from MySQL Fabric to - sharding.lookup_servers calls was not understood. - Please note, the current experimental implementation does not - distinguish between valid errors returned and malformed replies. - - Since 1.6.0. - - - - xa_begin - - - How many XA/distributed transactions have been started - using mysqlnd_ms_xa_begin. - - Since 1.6.0. - - - - xa_commit_success - - - How many XA/distributed transactions have been successfully committed - using mysqlnd_ms_xa_commit. - - Since 1.6.0. - - - - xa_commit_failure - - - How many XA/distributed transactions failed to commit - during mysqlnd_ms_xa_commit. - - Since 1.6.0. - - - - xa_rollback_success - - - How many XA/distributed transactions have been successfully rolled back - using mysqlnd_ms_xa_rollback. The figure does - not include implict rollbacks performed as a result of - mysqlnd_ms_xa_commit failure. - - Since 1.6.0. - - - - xa_rollback_failure - - - How many XA/distributed transactions could not be rolled back. - This includes failures of mysqlnd_ms_xa_rollback - but also failured during rollback when closing a connection, if - rollback_on_close is set. Please, see also - xa_rollback_on_close below. - - Since 1.6.0. - - - - xa_participants - - - Total number of participants in any XA transaction started with - mysqlnd_ms_xa_begin. - - Since 1.6.0. - - - - xa_rollback_on_close - - - How many XA transactions have been rolled back implicitly when - a connection was close and rollback_on_close is set. - Depending on your coding policies, this may hint a flaw in your code as - you may prefer to explicitly clean up resources. - - Since 1.6.0. - - - - pool_masters_total - - - Number of master servers (connections) in the internal connection pool. - - Since 1.6.0. - - - - pool_slaves_total - - - Number of slave servers (connections) in the internal connection pool. - - Since 1.6.0. - - - - pool_masters_active - - - Number of master servers (connections) from the internal connection pool - which are currently used for picking a connection. - - Since 1.6.0. - - - - pool_slaves_active - - - Number of slave servers (connections) from the internal connection pool - which are currently used for picking a connection. - - Since 1.6.0. - - - - pool_updates - - - How often the active connection list has been replaced and a - new set of master and slave servers had been installed. - - Since 1.6.0. - - - - pool_master_reactivated - - - How often a master connection has been reused after being - flushed from the active list. - - Since 1.6.0. - - - - pool_slave_reactivated - - - How often a slave connection has been reused after being - flushed from the active list. - - Since 1.6.0. - - - - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_get_stats</function> example - - -]]> - - &example.outputs; - - - string(1) "0" - ["use_master"]=> - string(1) "0" - ["use_slave_guess"]=> - string(1) "0" - ["use_master_guess"]=> - string(1) "0" - ["use_slave_sql_hint"]=> - string(1) "0" - ["use_master_sql_hint"]=> - string(1) "0" - ["use_last_used_sql_hint"]=> - string(1) "0" - ["use_slave_callback"]=> - string(1) "0" - ["use_master_callback"]=> - string(1) "0" - ["non_lazy_connections_slave_success"]=> - string(1) "0" - ["non_lazy_connections_slave_failure"]=> - string(1) "0" - ["non_lazy_connections_master_success"]=> - string(1) "0" - ["non_lazy_connections_master_failure"]=> - string(1) "0" - ["lazy_connections_slave_success"]=> - string(1) "0" - ["lazy_connections_slave_failure"]=> - string(1) "0" - ["lazy_connections_master_success"]=> - string(1) "0" - ["lazy_connections_master_failure"]=> - string(1) "0" - ["trx_autocommit_on"]=> - string(1) "0" - ["trx_autocommit_off"]=> - string(1) "0" - ["trx_master_forced"]=> - string(1) "0" - ["gtid_autocommit_injections_success"]=> - string(1) "0" - ["gtid_autocommit_injections_failure"]=> - string(1) "0" - ["gtid_commit_injections_success"]=> - string(1) "0" - ["gtid_commit_injections_failure"]=> - string(1) "0" - ["gtid_implicit_commit_injections_success"]=> - string(1) "0" - ["gtid_implicit_commit_injections_failure"]=> - string(1) "0" - ["transient_error_retries"]=> - string(1) "0" -} -]]> - - - - - - - &reftitle.seealso; - - - - Runtime configuration - - - mysqlnd_ms.collect_statistics - - - mysqlnd_ms.enable - - - Monitoring - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-match-wild.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-match-wild.xml deleted file mode 100644 index d1a3fdbbc6..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-match-wild.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - mysqlnd_ms_match_wild - Finds whether a table name matches a wildcard pattern or not - - - - &reftitle.description; - - bool - mysqlnd_ms_match_wild - stringtable_name - stringwildcard - - - Finds whether a table name matches a wildcard pattern or not. - - - This function is not of much practical relevance with PECL mysqlnd_ms 1.1.0 - because the plugin does not support MySQL replication table filtering yet. - - - - - &reftitle.parameters; - - - table_name - - - The table name to check if it is matched by the wildcard. - - - - - wildcard - - - The wildcard pattern to check against the table name. - The wildcard pattern supports the same placeholders as - MySQL replication filters do. - - - MySQL replication filters - can be configured by using the MySQL Server configuration - options --replicate-wild-do-table and - --replicate-wild-do-db. Please, consult - the MySQL Reference Manual to learn more about this MySQL - Server feature. - - - The supported placeholders are: - - - - % - zero or more literals - - - - - _ - one literal - - - - - - Placeholders can be escaped using \. - - - - - - - - &reftitle.returnvalues; - - Returns &true; table_name is - matched by wildcard. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_match_wild</function> example - - -]]> - - &example.outputs; - - - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-query-is-select.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-query-is-select.xml deleted file mode 100644 index 2281dd7a6b..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-query-is-select.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - mysqlnd_ms_query_is_select - Find whether to send the query to the master, the slave or the last used MySQL server - - - - &reftitle.description; - - int - mysqlnd_ms_query_is_select - stringquery - - - Finds whether to send the query to the master, the slave or the - last used MySQL server. - - - The plugins built-in read/write split mechanism - will be used to analyze the query string to make a recommendation where - to send the query. The built-in read/write split mechanism is very - basic and simple. The plugin will recommend sending all queries to the - MySQL replication master server but those which begin with - SELECT, or begin with a SQL hint which - enforces sending the query to a slave server. Due to the basic - but fast algorithm the plugin may propose to run some read-only - statements such as SHOW TABLES on the replication master. - - - - - &reftitle.parameters; - - - query - - - Query string to test. - - - - - - - - &reftitle.returnvalues; - - A return value of MYSQLND_MS_QUERY_USE_MASTER - indicates that the query should be send to the MySQL replication - master server. The function returns a value of - MYSQLND_MS_QUERY_USE_SLAVE if the query can be run - on a slave because it is considered read-only. A value of - MYSQLND_MS_QUERY_USE_LAST_USED is returned to recommend - running the query on the last used server. This can either be a MySQL - replication master server or a MySQL replication slave server. - - - If read write splitting has been disabled by setting - mysqlnd_ms.disable_rw_split, the function will - always return MYSQLND_MS_QUERY_USE_MASTER or - MYSQLND_MS_QUERY_USE_LAST_USED. - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_query_is_select</function> example - - -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - - Predefined Constants - - - user filter - - - - - Runtime configuration - - - mysqlnd_ms.disable_rw_split - - - mysqlnd_ms.enable - - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-set-qos.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-set-qos.xml deleted file mode 100644 index 44e5721ebe..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-set-qos.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - mysqlnd_ms_set_qos - Sets the quality of service needed from the cluster - - - - &reftitle.description; - - bool - mysqlnd_ms_set_qos - mixedconnection - intservice_level - intservice_level_option - mixedoption_value - - - Sets the quality of service needed from the cluster. A database cluster delivers - a certain quality of service to the user depending on its architecture. A major - aspect of the quality of service is the consistency level the cluster can offer. - An asynchronous MySQL replication cluster defaults to eventual consistency for - slave reads: a slave may serve stale data, current data, or it may have not the - requested data at all, because it is not synchronous to the master. In a - MySQL replication cluster, only master accesses can give strong consistency, which - promises that all clients see each others changes. - - - PECL/mysqlnd_ms hides the complexity of choosing appropriate nodes to achieve - a certain level of service from the cluster. The - "Quality of Service" filter implements the necessary logic. The filter can either - be configured in the plugins configuration file, or at runtime using - mysqlnd_ms_set_qos. - - - Similar results can be achieved with PECL mysqlnd_ms < 1.2.0, if using - SQL hints to force the use of a certain type of node or using the - master_on_write plugin configuration option. The first - requires more code and causes more work on the application side. - The latter is less refined than using the quality of service filter. - Settings made through the function call can be reversed, as shown in the example - below. The example temporarily switches to a higher service level - (session consistency, read your writes) and returns - back to the clusters default after it has performed all operations that require the - better service. This way, read load on the master can be minimized compared to - using master_on_write, which would continue using the master - after the first write. - - - Since 1.5.0 calls will fail when done in the middle of a transaction if - transaction stickiness - is enabled and transaction boundaries have been detected. - properly. - - - - - &reftitle.parameters; - - - connection - - - A PECL/mysqlnd_ms connection handle to a MySQL server of the type - PDO_MYSQL, mysqli or - ext/mysql for which a service level is to be set. - The connection handle is obtained when opening a connection with - a host name that matches a mysqlnd_ms configuration file - entry using any of the above three MySQL driver extensions. - - - - - service_level - - - The requested service level: MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, - MYSQLND_MS_QOS_CONSISTENCY_SESSION or - MYSQLND_MS_QOS_CONSISTENCY_STRONG. - - - - - service_level_option - - - An option to parameterize the requested service level. - The option can either be MYSQLND_MS_QOS_OPTION_GTID - or MYSQLND_MS_QOS_OPTION_AGE. - - - The option MYSQLND_MS_QOS_OPTION_GTID can be used - to refine the service level MYSQLND_MS_QOS_CONSISTENCY_SESSION. - It must be combined with a fourth function parameter, the - option_value. The option_value - shall be a global transaction ID obtained from - mysqlnd_ms_get_last_gtid. If set, the - plugin considers both master servers and asynchronous slaves for session - consistency (read your writes). Otherwise, only masters are - used to achieve session consistency. A slave is considered up-to-date and - checked if it has already replicated the global transaction ID from - option_value. Please note, searching appropriate slaves - is an expensive and slow operation. Use the feature sparsely, if the - master cannot handle the read load alone. - - - The MYSQLND_MS_QOS_OPTION_AGE option can be combined - with the MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL - service level, to filter out asynchronous slaves that lag more seconds behind - the master than option_value. If set, the plugin - will only consider slaves for reading if - SHOW SLAVE STATUS reports - Slave_IO_Running=Yes, - Slave_SQL_Running=Yes and - Seconds_Behind_Master <= option_value. Please note, - searching appropriate slaves is an expensive and slow operation. - Use the feature sparsely in version 1.2.0. Future versions may improve the - algorithm used to identify candidates. Please, see the MySQL reference - manual about the precision, accuracy and limitations of the MySQL administrative - command SHOW SLAVE STATUS. - - - - - option_value - - - Parameter value for the service level option. See also the - service_level_option parameter. - - - - - - - - &reftitle.returnvalues; - - Returns &true; if the connections service level - has been switched to the requested. Otherwise, returns &false; - - - - - &reftitle.notes; - - - mysqlnd_ms_set_qos requires - PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using - a mysqlnd library C functionality not available with PHP 5.3. - - -Please note, all MySQL 5.6 production versions do not provide - clients with enough information to use GTIDs for enforcing session consistency. - In the worst case, the plugin will choose the master only. - - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_set_qos</function> example - -errno, $mysqli->error)); - -/* Will use master and return fresh data, client can see his last write */ -if (!$res = $mysqli->query("SELECT item, price FROM orders WHERE order_id = 1")) - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - -/* Back to default: use of all slaves and masters permitted, stale data can happen */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -?> -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_ms_get_last_gtid - - - Service level and consistency concept - - - Filter concept - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-set-user-pick-server.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-set-user-pick-server.xml deleted file mode 100644 index 6cec75740e..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-set-user-pick-server.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - mysqlnd_ms_set_user_pick_server - Sets a callback for user-defined read/write splitting - - - - &reftitle.description; - - bool - mysqlnd_ms_set_user_pick_server - stringfunction - - - Sets a callback for user-defined read/write splitting. The plugin will - call the callback only if pick[]=user is the default - rule for server picking in the relevant section of the plugins configuration - file. - - - The plugins built-in read/write query split mechanism decisions can be - overwritten in two ways. The easiest way is to prepend the query string - with the SQL hints MYSQLND_MS_MASTER_SWITCH, - MYSQLND_MS_SLAVE_SWITCH or - MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can - control, for example, whether a query shall be send to the MySQL replication - master server or one of the slave servers. By help of SQL hints it is - not possible to pick a certain slave server for query execution. - - - Full control on server selection can be gained using a callback function. - Use of a callback is recommended to expert users only because the callback - has to cover all cases otherwise handled by the plugin. - - - The plugin will invoke the callback function for selecting a server from the - lists of configured master and slave servers. The callback function - inspects the query to run and picks a server for query execution by returning - the hosts URI, as found in the master and slave list. - - - If the lazy connections are enabled and the callback chooses a slave server for - which no connection has been established so far and establishing the connection - to the slave fails, the plugin will return an error upon the next action - on the failed connection, for example, when running a query. It is the - responsibility of the application developer to handle the error. For example, - the application can re-run the query to trigger a new server selection and - callback invocation. If so, the callback must make sure to select - a different slave, or check slave availability, before returning to - the plugin to prevent an endless loop. - - - - - &reftitle.parameters; - - - function - - - The function to be called. Class methods may also be invoked - statically using this function by passing - array($classname, $methodname) to this parameter. - Additionally class methods of an object instance may be called by passing - array($objectinstance, $methodname) to this parameter. - - - - - - - - &reftitle.returnvalues; - - Host to run the query on. The host URI is to be taken from the - master and slave connection lists passed to the callback function. - If callback returns a value neither found in the master nor in the slave - connection lists the plugin will fallback to the second pick method configured - via the pick[] setting in the plugin configuration file. - If not second pick method is given, the plugin falls back to the build-in - default pick method for server selection. - - - - - &reftitle.notes; - - - mysqlnd_ms_set_user_pick_server is available - with PECL mysqlnd_ms < 1.1.0. It has been replaced by the - user filter. Please, check the - Change History - for upgrade notes. - - - - - - &reftitle.examples; - - - <function>mysqlnd_ms_set_user_pick_server</function> example - - - - -query("SELECT 1 FROM DUAL"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - -if (!($res = $mysqli->query("SELECT 2 FROM DUAL"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - - -if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - -$mysqli->close(); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - - mysqlnd_ms_query_is_select - - - Filter concept - - - user filter - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-begin.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-begin.xml deleted file mode 100644 index bb96c09af2..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-begin.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - mysqlnd_ms_xa_begin - Starts a distributed/XA transaction among MySQL servers - - - - &reftitle.description; - - int - mysqlnd_ms_xa_begin - mixedconnection - stringgtrid - inttimeout - - - Starts a XA transaction among MySQL servers. PECL/mysqlnd_ms acts as a transaction - coordinator the distributed transaction. - - - Once a global transaction has been started, the plugin injects appropriate - XA BEGIN SQL statements on all MySQL servers used in the following. - The global transaction is either ended by calling mysqlnd_ms_xa_commit, - mysqlnd_ms_xa_rollback or by an implicit rollback in case - of an error. - - - During a global transaction, the plugin tracks all server switches, - for example, when switching from one MySQL shard to another MySQL shard. - Immediately before a query is run on a server that has not been participating - in the global transaction yet, XA BEGIN is executed on - the server. From a users perspective the injection happens during a call to a - query execution function such as mysqli_query. Should - the injection fail an error is reported to the caller of the query execution - function. The failing server does not become a participant in the global - transaction. The user may retry executing a query on the server and hereby retry - injecting XA BEGIN, abort the global transaction because - not all required servers can participate, or ignore and continue the global without - the failed server. - - - Reasons to fail executing XA BEGIN include but are not limited to - a server being unreachable or the server having an open, concurrent - XA transaction using the same xid. - - - Please note, global and local transactions - are mutually exclusive. You cannot start a XA transaction when you have a local - transaction open. The local transaction must be ended first. The plugin tries - to detect this conflict as early as possible. It monitors API calls for controlling - local transactions to learn about the current state. However, if using - SQL statements for local transactions such as BEGIN, the - plugin may not know the current state and the conflict is not detected - before XA BEGIN is injected and executed. - - - The use of other XA resources but MySQL servers is not supported by - the function. To carry out a global transaction among, for example, - a MySQL server and another vendors database system, you should issue - the systems SQL commands yourself. - - - Experimental - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments. - - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - gtrid - - - Global transaction identifier (gtrid). The gtrid is a binary string - up to 64 bytes long. Please note, depending on your character set settings, - 64 characters may require more than 64 bytes to store. - - - In accordance with the MySQL SQL syntax, - XA transactions use identifiers made of three parts. An xid consists of a - global transaction identifier (gtrid), a branch qualifier (bqual) and a - format identifier (formatID). Only the global transaction identifier can - and needs to be set. - - - The branch qualifier and format identifier are set automatically. The details - should be considered implementation dependent, which may change without - prior notice. In version 1.6 the branch qualifier is consecutive number - which is incremented whenever a participant joins the global transaction. - - - - - timeout - - - Timeout in seconds. The default value is 60 seconds. - - - The timeout is a hint to the garbage collection. If a transaction is recorded - to take longer than expected, the garbage collection begins checking the - transactions status. - - - Setting a low value may make the garbage collection check the progress - too often. Please note, checking the status of a global transaction may - involve connecting to all recorded participants and possibly issuing - queries on the servers. - - - - - - - - &reftitle.returnvalues; - - Returns &true; if there is no open local or global transaction and a new global - transaction can be started. Otherwise, returns &false; - - - - - &reftitle.seealso; - - - - Quickstart XA/Distributed transactions - - - Runtime configuration - - - mysqlnd_ms_get_stats - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-commit.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-commit.xml deleted file mode 100644 index adb179c7e1..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-commit.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - mysqlnd_ms_xa_commit - Commits a distributed/XA transaction among MySQL servers - - - - &reftitle.description; - - bool - mysqlnd_ms_xa_commit - mixedconnection - stringgtrid - - - - Commits a global transaction among MySQL servers started by - mysqlnd_ms_xa_begin. - - - If any of the global transaction participants fails to commit - an implicit rollback is performed. It may happen that not - all cases can be handled during the rollback. For example, - no attempts will be made to reconnect to a participant after - the connection to the participant has been lost. Solving - cases that cannot easily be rolled back is left to the - garbage collection. - - - Experimental - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments. - - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - gtrid - - - Global transaction identifier (gtrid). - - - - - - - - &reftitle.returnvalues; - - Returns &true; if the global transaction has been committed. Otherwise, returns &false; - - - - - &reftitle.seealso; - - - - Quickstart XA/Distributed transactions - - - Runtime configuration - - - mysqlnd_ms_get_stats - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml deleted file mode 100644 index 6f32f117df..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - mysqlnd_ms_xa_gc - Garbage collects unfinished XA transactions after severe errors - - - - &reftitle.description; - - int - mysqlnd_ms_xa_gc - mixedconnection - stringgtrid - boolignore_max_retries - - - - - Garbage collects unfinished XA transactions. - - - The XA protocol is a blocking protocol. There exist cases when servers - participating in a global transaction cannot make progress when the transaction - coordinator crashes or disconnects. In such a case, the MySQL servers - keep waiting for instructions to finish the XA transaction in question. - Because transactions occupy resources, transactions should always be - terminated properly. - - - Garbage collection requires configuring a state store to track global - transactions. Should a PHP client crash in the middle of a transaction - and a new PHP client be started, then the built-in garbage collection - can learn about the aborted global transaction and terminate it. If you - do not configure a state store, the garbage collection cannot perform - any cleanup tasks. - - - The state store should be crash-safe and be highly available to survive - its own crash. Currently, only MySQL is supported as a state store. - - - Garbage collection can also be performed automatically in the background. - See the plugin configuration directive garbage_collection - for details. - - - Experimental - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments. - - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - gtrid - - - Global transaction identifier (gtrid). If given, the garbage - collection considers the transaction only. Otherwise, - the state store is scanned for any unfinished transaction. - - - - - ignore_max_retries - - - Whether to ignore the plugin configuration max_retries setting. - If garbage collection continuously fails and the max_retries - limit is reached prior to finishing the failed global transaction, - you can attempt further runs prior to investigating the cause - and solving the issue manually by issuing appropriate SQL statements - on the participants. Setting the parameter has the same effect - as temporarily setting max_retries = 0. - - - - - - - - - &reftitle.returnvalues; - - Returns &true; if garbage collection was successful. Otherwise, returns &false; - - - - - &reftitle.seealso; - - - - Quickstart XA/Distributed transactions - - - Runtime configuration - - - State store configuration - - - mysqlnd_ms_get_stats - - - - - - - - diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-rollback.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-rollback.xml deleted file mode 100644 index f4b9530737..0000000000 --- a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-rollback.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - mysqlnd_ms_xa_rollback - Rolls back a distributed/XA transaction among MySQL servers - - - - &reftitle.description; - - int - mysqlnd_ms_xa_rollback - mixedconnection - stringgtrid - - - - Rolls back a global transaction among MySQL servers started by - mysqlnd_ms_xa_begin. - - - If any of the global transaction participants fails to rollback - the situation is left to be solved by the garbage collection. - - - Experimental - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments. - - - - - - &reftitle.parameters; - - - connection - - - A MySQL connection handle obtained from any of the - connect functions of the mysqli, - mysql or - PDO_MYSQL extensions. - - - - - gtrid - - - Global transaction identifier (gtrid). - - - - - - - - &reftitle.returnvalues; - - Returns &true; if the global transaction has been rolled back. Otherwise, returns &false; - - - - - &reftitle.seealso; - - - - Quickstart XA/Distributed transactions - - - Runtime configuration - - - mysqlnd_ms_get_stats - - - - - - - - diff --git a/reference/mysqlnd_ms/ini.xml b/reference/mysqlnd_ms/ini.xml deleted file mode 100644 index 681b199446..0000000000 --- a/reference/mysqlnd_ms/ini.xml +++ /dev/null @@ -1,232 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - Mysqlnd_ms &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mysqlnd_ms.enable - 0 - PHP_INI_SYSTEM - - - - mysqlnd_ms.force_config_usage - 0 - PHP_INI_SYSTEM - - - - mysqlnd_ms.ini_file - "" - PHP_INI_SYSTEM - - - - mysqlnd_ms.config_file - "" - PHP_INI_SYSTEM - - - - mysqlnd_ms.collect_statistics - 0 - PHP_INI_SYSTEM - - - - mysqlnd_ms.multi_master - 0 - PHP_INI_SYSTEM - - - - mysqlnd_ms.disable_rw_split - 0 - PHP_INI_SYSTEM - - - - -
-
- - &ini.descriptions.title; - - - - - - - mysqlnd_ms.enable - int - - - - Enables or disables the plugin. If disabled, the extension will not plug - into - mysqlnd to proxy internal - mysqlnd C API calls. - - - - - - - mysqlnd_ms.force_config_usage - int - - - - If enabled, the plugin checks if the host (server) parameters value of any - MySQL connection attempt, matches a section name from the plugin configuration - file. If not, the connection attempt is blocked. - - - This setting is not only useful to restrict PHP to certain servers but also - to debug configuration file problems. The configuration file validity is checked - at two different stages. The first check is performed when PHP begins to - handle a web request. At this point the plugin reads and decodes the configuration - file. Errors thrown at this early stage in an extensions life cycle may not be - shown properly to the user. Thus, the plugin buffers the errors, if any, and - additionally displays them when establishing a connection to MySQL. - By default a buffered startup error will emit an error of type - E_WARNING. If force_config_usage is set, - the error type used is E_RECOVERABLE_ERROR. - - - Please, see also configuration - file debugging notes. - - - - - - - mysqlnd_ms.ini_file - string - - - - Plugin specific configuration file. This setting has been - renamed to mysqlnd_ms.config_file in version 1.4.0. - - - - - - - mysqlnd_ms.config_file - string - - - - Plugin specific configuration file. This setting superseeds - mysqlnd_ms.ini_file since 1.4.0. - - - - - - - mysqlnd_ms.collect_statistics - int - - - - Enables or disables the collection of statistics. The collection of - statistics is disabled by default for performance reasons. - Statistics are returned by the function - mysqlnd_ms_get_stats. - - - - - - - mysqlnd_ms.multi_master - int - - - - Enables or disables support of MySQL multi master replication setups. - Please, see also supported clusters. - - - - - - - mysqlnd_ms.disable_rw_split - int - - - - Enables or disables built-in read write splitting. - - - Controls whether load balancing and lazy connection functionality can - be used independently of read write splitting. If read write splitting - is disabled, only servers from the master list will be used for - statement execution. All configured slave servers will be ignored. - - - The SQL hint MYSQLND_MS_USE_SLAVE will not be recognized. - If found, the statement will be redirected to a master. - - - Disabling read write splitting impacts the return value of - mysqlnd_ms_query_is_select. - The function will no longer propose query execution on slave servers. - - - Multiple master servers - - Setting mysqlnd_ms.multi_master=1 allows the plugin - to use multiple master servers, instead of only the first master server - of the master list. - - - Please, see also supported clusters. - - - - - - - -
- - diff --git a/reference/mysqlnd_ms/quickstart.xml b/reference/mysqlnd_ms/quickstart.xml deleted file mode 100644 index 2d17778e52..0000000000 --- a/reference/mysqlnd_ms/quickstart.xml +++ /dev/null @@ -1,2384 +0,0 @@ - - - - Quickstart and Examples - - The mysqlnd replication load balancing plugin is easy to use. - This quickstart will demo typical use-cases, and provide practical advice on getting - started. - - - It is strongly recommended to read the reference sections in addition to the - quickstart. The quickstart tries to avoid discussing theoretical concepts - and limitations. Instead, it will link to the reference sections. It is safe - to begin with the quickstart. However, before using the plugin in mission critical - environments we urge you to read additionally the background information from the - reference sections. - - - The focus is on using PECL mysqlnd_ms for work with an asynchronous MySQL cluster, - namely MySQL replication. Generally speaking an asynchronous cluster is more - difficult to use than a synchronous one. Thus, users of, for example, MySQL Cluster - will find more information than needed. - -
- Setup - - The plugin is implemented as a PHP extension. See also the - installation instructions to - install the - PECL/mysqlnd_ms extension. - - - Compile or configure the PHP MySQL extension (API) (mysqli, - PDO_MYSQL, - mysql) that you plan to use with support - for the mysqlnd library. PECL/mysqlnd_ms - is a plugin for the mysqlnd library. To use the plugin with any of the PHP - MySQL extensions, the extension has to use the mysqlnd library. - - - Then, load the extension into PHP and activate the plugin in the PHP configuration - file using the PHP configuration directive named - mysqlnd_ms.enable. - - - - Enabling the plugin (php.ini) - - - - - - - The plugin uses its own configuration file. Use the PHP - configuration directive - mysqlnd_ms.config_file - to set the full file path to the plugin-specific configuration file. - This file must be readable by PHP (e.g., the web server user). - Please note, the configuration directive mysqlnd_ms.config_file - superseeds mysqlnd_ms.ini_file - since 1.4.0. It is a common pitfall to use the old, no longer available - configuration directive. - - - Create a plugin-specific configuration file. Save the file to the path - set by the PHP configuration directive - mysqlnd_ms.config_file. - - - The plugins configuration file - is JSON based. It is divided into one or more sections. - Each section has a name, for example, myapp. Every section - makes its own set of configuration settings. - - - A section must, at a minimum, list the MySQL replication master server, and set - a list of slaves. The plugin supports using only one master server per section. - Multi-master MySQL replication setups are not yet fully supported. - Use the configuration setting - master - to set the hostname, and the port or socket of the MySQL master server. - MySQL slave servers are configured using the - slave - keyword. - - - - Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini) - - - - - - - Configuring a MySQL slave server list is required, although it may - contain an empty list. It is recommended to always configure at - least one slave server. - - - Server lists can use - anonymous or non-anonymous syntax. Non-anonymous - lists include alias names for the servers, such as master_0 - for the master in the above example. The quickstart uses the - more verbose non-anonymous syntax. - - - - Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini) - - - - - - - If there are - at least two servers in total, the plugin can start to load balance and switch - connections. Switching connections is not always transparent and can cause - issues in certain cases. The reference sections about - connection pooling and switching, - transaction handling, - fail over - load balancing and - read-write splitting all provide - more details. And potential pitfalls are described later in this guide. - - - It is the responsibility of the application to handle potential issues caused - by connection switches, by configuring a master with at least one slave - server, which allows switching to work therefore related problems can be found. - - - The MySQL master and MySQL slave servers, which you configure, do not need to - be part of MySQL replication setup. For testing purpose you can use single - MySQL server and make it known to the plugin as a master and slave server - as shown below. This could help you to detect many potential issues with - connection switches. However, such a setup will not be prone to the issues - caused by replication lag. - - - - Using one server as a master and as a slave (testing only!) - - - - - - - The plugin attempts to notify you of invalid configurations. Since 1.5.0 it - will throw a warning during PHP startup if the configuration file cannot be read, - is empty or parsing the JSON failed. Depending on your PHP settings those - errors may appear in some log files only. Further validation is done when a connection - is to be established and the configuration file is searched for valid sections. - Setting mysqlnd_ms.force_config_usage - may help debugging a faulty setup. Please, see also - configuration file debugging notes. - - -
- -
- Running statements - - The plugin can be used with any PHP MySQL extension - (mysqli, - mysql, and - PDO_MYSQL) that is - compiled to use the mysqlnd library. - PECL/mysqlnd_ms plugs into the mysqlnd library. - It does not change the API or behavior of those extensions. - - - Whenever a connection to MySQL is being opened, the plugin compares the host - parameter value of the connect call, with the section names - from the plugin specific configuration file. If, for example, the - plugin specific configuration file has a section myapp then - the section should be referenced by opening a MySQL connection to the - host myapp - - - - Plugin specific configuration file (mysqlnd_ms_plugin.ini) - - - - - - - - Opening a load balanced connection - - -]]> - - - - - The connection examples above will be load balanced. - The plugin will send read-only statements to the MySQL slave server with the - IP 192.168.2.27 and will listen on port 3306 - for the MySQL client connection. All other statements will be directed to the - MySQL master server running on the host localhost. If on Unix like - operating systems, the master on localhost will be accepting - MySQL client connections on the Unix domain socket /tmp/mysql.sock, - while TCP/IP is the default port on Windows. - The plugin will use the user name username and the password - password to connect to any of the MySQL servers listed in - the section myapp of the plugins configuration file. Upon - connect, the plugin will select database as the current - schemata. - - - The username, password and schema name are taken from the connect - API calls and used for all servers. In other words: you must use the same - username and password for every MySQL server listed in a plugin configuration - file section. The is not a general limitation. As of PECL/mysqlnd_ms 1.1.0, - it is possible to set the - username and - password for any server in the - plugins configuration file, to be used instead of the credentials passed - to the API call. - - - The plugin does not change the API for running statements. - Read-write splitting - works out of the box. The following example assumes that there is no - significant replication lag between the master and the slave. - - - - Executing statements - -query("DROP TABLE IF EXISTS test")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -if (!$mysqli->query("CREATE TABLE test(id INT)")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* read-only: statement will be run on a slave */ -if (!($res = $mysqli->query("SELECT id FROM test"))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} else { - $row = $res->fetch_assoc(); - $res->close(); - printf("Slave returns id = '%s'\n", $row['id']); -} -$mysqli->close(); -?> -]]> - - &example.outputs.similar; - - - - - -
- -
- Connection state - - The plugin changes the semantics of a PHP MySQL connection handle. - A new connection handle represents a connection pool, instead of a - single MySQL client-server network connection. The connection pool consists - of a master connection, and optionally any number of slave connections. - - - Every connection from the connection pool has its own state. For example, - SQL user variables, temporary tables and transactions are part of the state. - For a complete list of items that belong to the state of a connection, see the - connection pooling and switching - concepts documentation. - If the plugin decides to switch connections for load balancing, the - application could be given a connection which has a different state. - Applications must be made aware of this. - - - - Plugin config with one slave and one master - - - - - - - - Pitfall: connection state and SQL user variables - -query("SET @myrole='master'")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* Connection 2, run on slave because SELECT */ -if (!($res = $mysqli->query("SELECT @myrole AS _role"))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} else { - $row = $res->fetch_assoc(); - $res->close(); - printf("@myrole = '%s'\n", $row['_role']); -} -$mysqli->close(); -?> -]]> - -&example.outputs; - - - - - - - The example opens a load balanced connection and executes two statements. - The first statement SET @myrole='master' does not begin - with the string SELECT. Therefore the plugin does not - recognize it as a read-only query which shall be run on a slave. The - plugin runs the statement on the connection to the master. The statement - sets a SQL user variable which is bound to the master connection. The - state of the master connection has been changed. - - - The next statement is SELECT @myrole AS _role. - The plugin does recognize it as a read-only query and sends it to - the slave. The statement is run on a connection to the slave. This - second connection does not have any SQL user variables bound to it. - It has a different state than the first connection to the master. - The requested SQL user variable is not set. The example script prints - @myrole = ''. - - - It is the responsibility of the application developer to take care - of the connection state. The plugin does not monitor all - connection state changing activities. Monitoring all possible cases would - be a very CPU intensive task, if it could be done at all. - - - The pitfalls can easily be worked around using SQL hints. - -
- -
- SQL Hints - - SQL hints can force a query to choose a specific server from the connection pool. - It gives the plugin a hint to use a designated server, which can solve - issues caused by connection switches and connection state. - - - SQL hints are standard compliant SQL comments. Because - SQL comments are supposed to be ignored by SQL processing systems, they - do not interfere with other programs such as the MySQL Server, the MySQL Proxy, - or a firewall. - - - Three SQL hints are supported by the plugin: The - MYSQLND_MS_MASTER_SWITCH hint makes the plugin run a - statement on the master, MYSQLND_MS_SLAVE_SWITCH - enforces the use of the slave, and - MYSQLND_MS_LAST_USED_SWITCH will run a statement on - the same server that was used for the previous statement. - - - The plugin scans the beginning of a statement for the existence of an SQL - hint. SQL hints are only recognized if they appear at the beginning of - the statement. - - - - Plugin config with one slave and one master - - - - - - - - SQL hints to prevent connection switches - -query("SET @myrole='master'")) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} - -/* Connection 1, run on master because of SQL hint */ -if (!($res = $mysqli->query(sprintf("/*%s*/SELECT @myrole AS _role", MYSQLND_MS_LAST_USED_SWITCH)))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} else { - $row = $res->fetch_assoc(); - $res->close(); - printf("@myrole = '%s'\n", $row['_role']); -} -$mysqli->close(); -?> -]]> - -&example.outputs; - - - - - - - In the above example, using MYSQLND_MS_LAST_USED_SWITCH prevents - session switching from the master to a slave when running the SELECT - statement. - - - SQL hints can also be used to run SELECT statements - on the MySQL master server. This may be desired if the MySQL slave servers - are typically behind the master, but you need current data from the cluster. - - - In version 1.2.0 the concept of a service level has been introduced to address - cases when current data is required. Using a service level requires less attention - and removes the need of using SQL hints for this use case. Please, find more - information below in the service level and consistency section. - - - - Fighting replication lag - -query(sprintf("/*%s*/SELECT critical_data FROM important_table", MYSQLND_MS_MASTER_SWITCH))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -?> -]]> - - - - - A use case may include the creation of tables on a slave. - If an SQL hint is not given, then the plugin will send CREATE - and INSERT statements to the master. Use the - SQL hint MYSQLND_MS_SLAVE_SWITCH if you want to - run any such statement on a slave, for example, to build temporary - reporting tables. - - - - Table creation on a slave - -query(sprintf("/*%s*/CREATE TABLE slave_reporting(id INT)", MYSQLND_MS_SLAVE_SWITCH))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -/* Continue using this particular slave connection */ -if (!$mysqli->query(sprintf("/*%s*/INSERT INTO slave_reporting(id) VALUES (1), (2), (3)", MYSQLND_MS_LAST_USED_SWITCH))) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -/* Don't use MYSQLND_MS_SLAVE_SWITCH which would allow switching to another slave! */ -if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM slave_reporting", MYSQLND_MS_LAST_USED_SWITCH))) { - $row = $res->fetch_assoc(); - $res->close(); - printf("There are %d rows in the table 'slave_reporting'", $row['_num']); -} else { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -$mysqli->close(); -?> -]]> - - - - - The SQL hint MYSQLND_MS_LAST_USED forbids switching a - connection, and forces use of the previously used connection. - -
- -
- Local transactions - - The current version of the plugin is not transaction safe by default, - because it is not aware of running transactions in all cases. SQL transactions are - units of work to be run on a single server. The plugin does not always know - when the unit of work starts and when it ends. Therefore, the plugin may - decide to switch connections in the middle of a transaction. - - - No kind of MySQL load balancer can detect transaction boundaries without any - kind of hint from the application. - - - You can either use SQL hints to work around this limitation. Alternatively, - you can activate transaction API call monitoring. In the latter case you - must use API calls only to control transactions, see below. - - - - Plugin config with one slave and one master - - - - - - - - Using SQL hints for transactions - -query("START TRANSACTION")) { - /* Please use better error handling in your code */ - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Prevent connection switch! */ -if (!$mysqli->query(sprintf("/*%s*/INSERT INTO test(id) VALUES (1)", MYSQLND_MS_LAST_USED_SWITCH))) { - /* Please do proper ROLLBACK in your code, don't just die */ - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if ($res = $mysqli->query(sprintf("/*%s*/SELECT COUNT(*) AS _num FROM test", MYSQLND_MS_LAST_USED_SWITCH))) { - $row = $res->fetch_assoc(); - $res->close(); - if ($row['_num'] > 1000) { - if (!$mysqli->query(sprintf("/*%s*/INSERT INTO events(task) VALUES ('cleanup')", MYSQLND_MS_LAST_USED_SWITCH))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - } - } -} else { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if (!$mysqli->query(sprintf("/*%s*/UPDATE log SET last_update = NOW()", MYSQLND_MS_LAST_USED_SWITCH))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if (!$mysqli->query(sprintf("/*%s*/COMMIT", MYSQLND_MS_LAST_USED_SWITCH))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -$mysqli->close(); -?> -]]> - - - - - Starting with PHP 5.4.0, the mysqlnd library allows the - plugin to monitor the status of the autocommit mode, if - the mode is set by API calls instead of using SQL statements such as - SET AUTOCOMMIT=0. This makes it possible for the plugin to - become transaction aware. In this case, you do not need to use SQL hints. - - - If using PHP 5.4.0 or newer, API calls that enable autocommit mode, - and when setting the plugin configuration option - trx_stickiness=master, - the plugin can automatically disable load balancing and connection switches - for SQL transactions. In this configuration, the plugin stops load balancing - if autocommit is disabled and directs all statements to - the master. This prevents connection switches in the middle of - a transaction. Once autocommit is re-enabled, the plugin - starts to load balance statements again. - - - API based transaction boundary detection has been improved with PHP 5.5.0 and - PECL/mysqlnd_ms 1.5.0 to cover not only calls to mysqli_autocommit - but also mysqli_begin, - mysqli_commit and mysqli_rollback. - - - - Transaction aware load balancing: trx_stickiness setting - - - - - - - - Transaction aware - -autocommit(false); - -if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) { - /* Please do proper ROLLBACK in your code, don't just die */ - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if ($res = $mysqli->query("SELECT COUNT(*) AS _num FROM test")) { - $row = $res->fetch_assoc(); - $res->close(); - if ($row['_num'] > 1000) { - if (!$mysqli->query("INSERT INTO events(task) VALUES ('cleanup')")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - } - } -} else { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if (!$mysqli->query("UPDATE log SET last_update = NOW()")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -if (!$mysqli->commit()) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Plugin assumes that the transaction has ended and starts load balancing again */ -$mysqli->autocommit(true); -$mysqli->close(); -?> -]]> - - - - - Version requirement - - The plugin configuration option - trx_stickiness=master - requires PHP 5.4.0 or newer. - - - - Please note the restrictions outlined in the - transaction handling concepts - section. - -
- -
- XA/Distributed Transactions - - Version requirement - - XA related functions have been introduced in PECL mysqlnd_ms version 1.6.0-alpha. - - - - Early adaptors wanted - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments, although - early lab tests indicate reasonable quality. - - - Please, contact the development team if you are interested in this feature. - We are looking for real life feedback to complement the feature. - - - - XA transactions are a standardized method for executing transactions across - multiple resources. Those resources can be databases or other transactional - systems. The MySQL server supports XA SQL statements which allows users - to carry out a distributed SQL transaction that spawns multiple database servers - or any kind as long as they support the SQL statements too. In such a scenario - it is in the responsibility of the user to coordinate the participating - servers. - - - PECL/mysqlnd_ms can act as a transaction coordinator for a global (distributed, XA) - transaction carried out on MySQL servers only. As a transaction coordinator, the plugin - tracks all servers involved in a global transaction and transparently issues - appropriate SQL statements on the participants. The global transactions are controlled with - mysqlnd_ms_xa_begin, mysqlnd_ms_xa_commit - and mysqlnd_ms_xa_rollback. SQL details are mostly hidden from - the application as is the need to track and coordinate participants. - - - - General pattern for XA transactions - -errno, $mysqli->error)); -} - -/* run queries as usual: XA BEGIN will be injected upon running a query */ -if (!$mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) { - /* Either INSERT failed or the injected XA BEGIN failed */ - if ('XA' == substr($mysqli->sqlstate, 0, 2)) { - printf("Global transaction/XA related failure, [%d] %s\n", $mysqli->errno, $mysqli->error); - } else { - printf("INSERT failed, [%d] %s\n", $mysqli->errno, $mysqli->error); - } - /* rollback global transaction */ - mysqlnd_ms_xa_rollback($mysqli, $xid); - die("Stopping."); -} - -/* continue carrying out queries on other servers, e.g. other shards */ - -/* commit the global transaction */ -if (!mysqlnd_ms_xa_commit($mysqli, $xa_id)) { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -} -?> -]]> - - - - - Unlike with local transactions, which are carried out on a single server, - XA transactions have an identifier (xid) associated with them. - The XA transaction identifier is composed of a global transaction - identifier (gtrid), a branch qualifier (bqual) - a format identifier (formatID). Only the global transaction identifier can - and must be given when calling any of the plugins XA functions. - - - Once a global transaction has been started, the plugin begins tracking servers - until the global transaction ends. When a server is picked for query execution, - the plugin injects the SQL statement XA BEGIN prior to - executing the actual SQL statement on the server. XA BEGIN - makes the server participate in the global transaction. If the injected - SQL statement fails, the plugin will report the issue in reply to the query - execution function that was used. In the above example, - $mysqli->query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')") - would indicate such an error. You may want to check the errors SQL state code to - determine whether the actual query (here: INSERT) has failed - or the error is related to the global transaction. It is up to you to ignore the - failure to start the global transaction on a server and continue execution - without having the server participate in the global transaction. - - - - Local and global transactions are mutually exclusive - -begin_transaction()) { - die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error)); -} - -/* cannot start global transaction now - must end local transaction first */ -$gtrid_id = "12345"; -if (!mysqlnd_ms_xa_begin($mysqli, $gtrid_id)) { - die(sprintf("[%d/%s] %s\n", $mysqli->errno, $mysqli->sqlstate, $mysqli->error)); -} -?> -]]> - - &example.outputs; - - - - - - - A global transaction cannot be started when a local transaction is active. - The plugin tries to detect this situation as early as possible, that is when - mysqlnd_ms_xa_begin is called. If using API calls only to - control transactions, the plugin will know that a local transaction is open and - return an error for mysqlnd_ms_xa_begin. However, note the - plugins limitations on detecting - transaction boundaries.. In the worst case, if using direct SQL - for local transactions (BEGIN, - COMMIT, ...), it may happen that an error is delayed - until some SQL is executed on a server. - - - To end a global transaction invoke mysqlnd_ms_xa_commit or - mysqlnd_ms_xa_rollback. When a global transaction is ended - all participants must be informed of the end. Therefore, PECL/mysqlnd_ms - transparently issues appropriate XA related SQL statements - on some or all of them. Any failure during this phase will cause an implicit - rollback. The XA related API is intentionally kept simple here. A more - complex API that gave more control would bare few, if any, advantages over - a user implementation that issues all lower level XA SQL statements itself. - - - XA transactions use the two-phase commit protocol. The two-phase commit - protocol is a blocking protocol. There are cases when no progress can - be made, not even when using timeouts. Transaction coordinators - should survive their own failure, be able to detect blockades and break ties. - PECL/mysqlnd_ms takes the role of a transaction coordinator and can be - configured to survive its own crash to avoid issues with blocked MySQL servers. - Therefore, the plugin can and should be configured to use a persistent and crash-safe state - to allow garbage collection of unfinished, aborted global transactions. - A global transaction can be aborted in an open state if either the plugin fails (crashes) - or a connection from the plugin to a global transaction participant fails. - - - - Transaction coordinator state store - - - - - - - Currently, PECL/mysqlnd_ms supports only using MySQL database tables - as a state store. The SQL definitions of the tables are given in the - plugin configuration section. - Please, make sure to use a transactional and crash-safe - storage engine for the tables, such as InnoDB. InnoDB is the default - table engine in recent versions of the MySQL server. Make also sure - the database server itself is highly available. - - - If a state store has been configured, the plugin can perform a garbage collection. - During garbage collection it may be necessary to connect to a participant - of a failed global transaction. Thus, the state store holds a list of participants - and, among others, their host names. If the garbage collection is run - on another host but the one that has written a participant entry with the - host name localhost, then localhost - resolves to different machines. There are two solutions to the problem. - Either you do not configure any servers with the host name localhost but - configure an IP address (and port) or, you hint the garbage collection. - In the above example, localhost is used for - master_0, hence it may not resolve to the correct - host during garbage collection. However, participant_localhost_ip - is also set to hint the garbage collection that localhost - stands for the IP 192.168.2.12. - -
- -
- Service level and consistency - - Version requirement - - Service levels have been introduced in PECL mysqlnd_ms version 1.2.0-alpha. - mysqlnd_ms_set_qos - is available with PHP 5.4.0 or newer. - - - - Different types of MySQL cluster solutions offer different service and - data consistency levels to their users. An asynchronous MySQL replication cluster - offers eventual consistency by default. A read executed on an asynchronous slave - may return current, stale or no data at all, depending on whether the slave - has replayed all changesets from the master or not. - - - Applications using an MySQL replication cluster need to be designed to work - correctly with eventual consistent data. In some cases, however, stale data - is not acceptable. In those cases only certain slaves or even only master accesses are - allowed to achieve the required quality of service from the cluster. - - - As of PECL mysqlnd_ms 1.2.0 the plugin is capable of selecting - MySQL replication nodes automatically that deliver session consistency or - strong consistency. Session consistency means that one client can read its writes. - Other clients may or may not see the clients' write. Strong consistency means - that all clients will see all writes from the client. - - - - Session consistency: read your writes - - - - - - - - Requesting session consistency - -query("INSERT INTO orders(order_id, item) VALUES (1, 'christmas tree, 1.8m')")) { - /* Please use better error handling in your code */ - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Request session consistency: read your writes */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Plugin picks a node which has the changes, here: master */ -if (!$res = $mysqli->query("SELECT item FROM orders WHERE order_id = 1")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -var_dump($res->fetch_assoc()); - -/* Back to eventual consistency: stale data allowed */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Plugin picks any slave, stale data is allowed */ -if (!$res = $mysqli->query("SELECT item, price FROM specials")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -?> -]]> - - - - - Service levels can be set in the plugins configuration file and at runtime - using mysqlnd_ms_set_qos. - In the example the function is used to enforce - session consistency (read your writes) for all future statements until further notice. - The SELECT statement on the orders table - is run on the master to ensure the previous write can be seen by the client. - Read-write splitting logic has been adapted to fulfill the service level. - - - After the application has read its changes from the orders table - it returns to the default service level, which is eventual consistency. Eventual - consistency puts no restrictions on choosing a node for statement execution. - Thus, the SELECT statement on the specials - table is executed on a slave. - - - The new functionality supersedes the use of SQL hints and the - master_on_write configuration option. In many cases - mysqlnd_ms_set_qos is easier to use, more powerful - improves portability. - - - - Maximum age/slave lag - - - - - - - - Limiting slave lag - -errno, $mysqli->error)); -} - -/* Plugin picks any slave, which may or may not have the changes */ -if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Back to default: use of all slaves and masters permitted */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -?> -]]> - - - - - The eventual consistency service level can be used with an optional - parameter to set a maximum slave lag for choosing slaves. If set, - the plugin checks SHOW SLAVE STATUS for all - configured slaves. In case of the example, only slaves - for which Slave_IO_Running=Yes, - Slave_SQL_Running=Yes and - Seconds_Behind_Master <= 4 - is true are considered for executing the statement - SELECT item, price FROM daytrade. - - - Checking SHOW SLAVE STATUS is done transparently from - an applications perspective. Errors, if any, are reported as - warnings. No error will be set on the connection handle. Even if all - SHOW SLAVE STATUS SQL statements executed by - the plugin fail, the execution of the users statement is not stopped, given - that master fail over is enabled. Thus, no application changes are required. - - - Expensive and slow operation - - Checking SHOW SLAVE STATUS for all slaves adds overhead - to the application. It is an expensive and slow background operation. - Try to minimize the use of it. Unfortunately, a MySQL replication cluster - does not give clients the possibility to request a list of candidates - from a central instance. - Thus, a more efficient way of checking the slaves lag is not available. - - - Please, note the limitations and properties of SHOW SLAVE STATUS - as explained in the MySQL reference manual. - - - - To prevent mysqlnd_ms from emitting a warning if no slaves can be found - that lag no more than the defined number of seconds behind the master, - it is necessary to enable master fail over in the plugins configuration file. - If no slaves can be found and fail over is turned on, the plugin - picks a master for executing the statement. - - - If no slave can be found and fail over is turned off, the plugin emits - a warning, it does not execute the statement and it sets an error - on the connection. - - - - Fail over not set - - - - - - - - No slave within time limit - -errno, $mysqli->error)); -} - -/* Plugin picks any slave, which may or may not have the changes */ -if (!$res = $mysqli->query("SELECT item, price FROM daytrade")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - - -/* Back to default: use of all slaves and masters permitted */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -?> -]]> - - &example.outputs; - - - - - -
-
- Global transaction IDs - - Version requirement - - A client-side global transaction ID injection has been introduced in mysqlnd_ms version 1.2.0-alpha. - The feature is not required for synchronous clusters, such as MySQL Cluster. - Use it with asynchronous clusters such as classical MySQL replication. - - - As of MySQL 5.6.5-m8 release candidate the MySQL server features built-in global transaction identifiers. - The MySQL built-in global transaction ID feature is supported by PECL/mysqlnd_ms 1.3.0-alpha or - later. However, the final feature set found in MySQL 5.6 production releases to date is not - sufficient to support the ideas discussed below in all cases. Please, see also the - concepts section. - - - - PECL/mysqlnd_ms can either use its own global transaction ID emulation or the - global transaction ID feature built-in to MySQL 5.6.5-m8 or later. From a developer - perspective the client-side and server-side approach offer the same features with - regards to service levels provided by PECL/mysqlnd_ms. Their differences - are discussed in the concepts section. - - - The quickstart first demonstrates the use of the client-side global transaction ID emulation - built-in to PECL/mysqlnd_ms before its show how to use the server-side counterpart. - The order ensures that the underlying idea is discussed first. - - - Idea and client-side emulation - - - In its most basic form a global transaction ID (GTID) is a counter in a table on the - master. The counter is incremented whenever a transaction is committed on the master. - Slaves replicate the table. The counter serves two purposes. In case of a - master failure, it helps the database administrator to identify the most recent slave - for promoting it to the new master. The most recent slave is the one with the - highest counter value. Applications can use the global transaction ID to search - for slaves which have replicated a certain write (identified by a global transaction ID) - already. - - - PECL/mysqlnd_ms can inject SQL for every committed transaction to increment a GTID counter. - The so created GTID is accessible by the application to identify an applications - write operation. This enables the plugin to deliver session consistency (read your writes) - service level by not only querying masters but also slaves which have replicated - the change already. Read load is taken away from the master. - - - Client-side global transaction ID emulation has some limitations. Please, - read the concepts section - carefully to fully understand the principles and ideas - behind it, before using in production environments. The background knowledge - is not required to continue with the quickstart. - - - First, create a counter table on your master server and insert a record into it. - The plugin does not assist creating the table. - Database administrators must make sure it exists. Depending on the error - reporting mode, the plugin will silently ignore the lack of the table or bail out. - - - - Create counter table on master - - - - - - - In the plugins configuration file set the SQL to update the - global transaction ID table using on_commit - from the global_transaction_id_injection - section. Make sure the table name used for the UPDATE - statement is fully qualified. In the example, - test.trx is used to refer to table trx - in the schema (database) test. Use the table that was created in - the previous step. It is important to set the fully qualified table name - because the connection on which the injection is done may use a different - default database. Make sure the user that opens the connection - is allowed to execute the UPDATE. - - - Enable reporting of errors that may occur when mysqlnd_ms does global - transaction ID injection. - - - - Plugin config: SQL for client-side GTID injection - - - - - - - - Transparent global transaction ID injection - -query("DROP TABLE IF EXISTS test")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* auto commit mode, transaction on master, GTID must be incremented */ -if (!$mysqli->query("CREATE TABLE test(id INT)")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* auto commit mode, transaction on master, GTID must be incremented */ -if (!$mysqli->query("INSERT INTO test(id) VALUES (1)")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* auto commit mode, read on slave, no increment */ -if (!($res = $mysqli->query("SELECT id FROM test"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -var_dump($res->fetch_assoc()); -?> -]]> - - &example.outputs; - - - string(1) "1" -} -]]> - - - - - The example runs three statements in auto commit mode on the master, causing - three transactions on the master. For every such statement, the plugin will - inject the configured UPDATE transparently before executing - the users SQL statement. When the script ends the global - transaction ID counter on the master has been incremented by three. - - - The fourth SQL statement executed in the example, a SELECT, - does not trigger an increment. Only transactions (writes) executed on a master - shall increment the GTID counter. - - - SQL for global transaction ID: efficient solution wanted! - - The SQL used for the client-side global transaction ID emulation is inefficient. - It is optimized for clearity not for performance. Do not use it for production - environments. Please, help finding an efficient solution for inclusion in the manual. - We appreciate your input. - - - - - Plugin config: SQL for fetching GTID - - - - - - - - Obtaining GTID after injection - -query("DROP TABLE IF EXISTS test")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); - -/* auto commit mode, transaction on master, GTID must be incremented */ -if (!$mysqli->query("CREATE TABLE test(id INT)")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -printf("GTID after transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); -?> -]]> - - &example.outputs; - - - - - - - Applications can ask PECL mysqlnd_ms for a global transaction ID which - belongs to the last write operation performed by the application. - The function mysqlnd_ms_get_last_gtid returns the - GTID obtained when executing the SQL statement from - the fetch_last_gtid entry of the - global_transaction_id_injection section from - the plugins configuration file. The function may be called - after the GTID has been incremented. - - - Applications are adviced not to run the SQL - statement themselves as this bares the risk of accidentally causing an implicit - GTID increment. Also, if the function is used, it is easy to migrate - an application from one SQL statement for fetching a transaction ID to another, - for example, if any MySQL server ever features built-in global transaction ID support. - - - The quickstart shows a SQL statement which will return a GTID equal or greater - to that created for the previous statement. It is exactly the GTID created - for the previous statement if no other clients have incremented the GTID in the - time span between the statement execution and the SELECT - to fetch the GTID. Otherwise, it is greater. - - - - Plugin config: Checking for a certain GTID - -= #GTID", - "report_error":true - } - } -} -]]> - - - - - - Session consistency service level and GTID combined - -query("DROP TABLE IF EXISTS test") - || !$mysqli->query("CREATE TABLE test(id INT)") - || !$mysqli->query("INSERT INTO test(id) VALUES (1)") -) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* GTID as an identifier for the last write */ -$gtid = mysqlnd_ms_get_last_gtid($mysqli); - -/* Session consistency (read your writes): try to read from slaves not only master */ -if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION, MYSQLND_MS_QOS_OPTION_GTID, $gtid)) { - die(sprintf("[006] [%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Either run on master or a slave which has replicated the INSERT */ -if (!($res = $mysqli->query("SELECT id FROM test"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -var_dump($res->fetch_assoc()); -?> -]]> - - - - - A GTID returned from mysqlnd_ms_get_last_gtid - can be used as an option for the session consistency service level. - Session consistency delivers read your writes. Session consistency can - be requested by calling - mysqlnd_ms_set_qos. - In the example, the plugin will execute the SELECT - statement either on the master or on a slave which has replicated - the previous INSERT already. - - - PECL mysqlnd_ms will transparently check every configured slave if - it has replicated the INSERT by checking the slaves - GTID table. The check is done running the SQL set with the - check_for_gtid option from the - global_transaction_id_injection section of - the plugins configuration file. Please note, that this is a slow and - expensive procedure. Applications should try to use it sparsely and only - if read load on the master becomes to high otherwise. - - - Use of the server-side global transaction ID feature - - - Insufficient server support in MySQL 5.6 - - The plugin has been developed against a pre-production version of MySQL 5.6. - It turns out that all released production versions of MySQL 5.6 do not provide - clients with enough information to enforce session consistency based on GTIDs. - Please, read the concepts section - for details. - - - - Starting with MySQL 5.6.5-m8 the MySQL Replication system features server-side - global transaction IDs. Transaction identifiers are automatically generated and - maintained by the server. Users do not need to take care of maintaining them. - There is no need to setup any tables in advance, or for setting - on_commit. A client-side emulation is no longer needed. - - - Clients can continue to use global transaction identifier to achieve - session consistency when reading from MySQL Replication slaves in some cases but not all! - The algorithm works as described above. Different SQL statements must be configured for - fetch_last_gtid and check_for_gtid. - The statements are given below. Please note, MySQL 5.6.5-m8 is a development - version. Details of the server implementation may change in the future and require - adoption of the SQL statements shown. - - - Using the following configuration any of the above described functionality can - be used together with the server-side global transaction ID feature. - mysqlnd_ms_get_last_gtid and mysqlnd_ms_set_qos - continue to work as described above. The only difference is that the server - does not use a simple sequence number but a string containing of a server identifier - and a sequence number. Thus, users cannot easily derive an order from GTIDs returned - by mysqlnd_ms_get_last_gtid. - - - - Plugin config: using MySQL 5.6.5-m8 built-in GTID feature - - - - - -
-
- Cache integration - - Version requirement, dependencies and status - - Please, find more about version requirements, extension load order dependencies and the current status - in the concepts section! - - - - Databases clusters can deliver different levels of consistency. As of - PECL/mysqlnd_ms 1.2.0 it is possible to advice the plugin to consider only - cluster nodes that can deliver the consistency level requested. For example, - if using asynchronous MySQL Replication with its cluster-wide eventual - consistency, it is possible to request session consistency (read your writes) - at any time using mysqlnd_ms_set_quos. Please, see also the - service level and consistency - introduction. - - - - Recap: quality of service to request read your writes - -/* Request session consistency: read your writes */ -if (!mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - - - - - Assuming PECL/mysqlnd has been explicitly told to deliver no consistency level - higher than eventual consistency, it is possible to replace a database node - read access with a client-side cache using time-to-live (TTL) as its invalidation - strategy. Both the database node and the cache may or may not serve - current data as this is what eventual consistency defines. - - - Replacing a database node read access with a local cache access can improve - overall performance and lower the database load. If the cache entry is every - reused by other clients than the one creating the cache entry, - a database access is saved and thus database load is lowered. Furthermore, - system performance can become better if computation and delivery - of a database query is slower than a local cache access. - - - - Plugin config: no special entries for caching - - - - - - - - Caching a slave request - -query("DROP TABLE IF EXISTS test") - || !$mysqli->query("CREATE TABLE test(id INT)") - || !$mysqli->query("INSERT INTO test(id) VALUES (1)") -) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */ -if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* To make this example work, we must wait for a slave to catch up. Brute force style. */ -$attempts = 0; -do { - /* check if slave has the table */ - if ($res = $mysqli->query("SELECT id FROM test")) { - break; - } else if ($mysqli->errno) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - } - /* wait for slave to catch up */ - usleep(200000); -} while ($attempts++ < 10); - -/* Query has been run on a slave, result is in the cache */ -assert($res); -var_dump($res->fetch_assoc()); - -/* Served from cache */ -$res = $mysqli->query("SELECT id FROM test"); -?> -]]> - - - - - The example shows how to use the cache feature. First, you have to set - the quality of service to eventual consistency and explicitly allow for caching. - This is done by calling mysqlnd_ms_set_qos. - Then, the result set of every read-only statement is cached for upto that - many seconds as allowed with mysqlnd_ms_set_qos. - - - The actual TTL is lower or equal to the value set - with mysqlnd_ms_set_qos. The value passed to the - function sets the maximum age (seconds) of the data delivered. To calculate - the actual TTL value the replication lag on a slave is checked and subtracted - from the given value. If, for example, the maximum age is set to 60 seconds and - the slave reports a lag of 10 seconds the resulting TTL is 50 seconds. - The TTL is calculated individually for every cached query. - - - - Read your writes and caching combined - -query("DROP TABLE IF EXISTS test") - || !$mysqli->query("CREATE TABLE test(id INT)") - || !$mysqli->query("INSERT INTO test(id) VALUES (1)") -) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Explicitly allow eventual consistency and caching (TTL <= 60 seconds) */ -if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL, MYSQLND_MS_QOS_OPTION_CACHE, 60)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* To make this example work, we must wait for a slave to catch up. Brute force style. */ -$attempts = 0; -do { - /* check if slave has the table */ - if ($res = $mysqli->query("SELECT id FROM test")) { - break; - } else if ($mysqli->errno) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - } - /* wait for slave to catch up */ - usleep(200000); -} while ($attempts++ < 10); - -assert($res); - -/* Query has been run on a slave, result is in the cache */ -var_dump($res->fetch_assoc()); - -/* Served from cache */ -if (!($res = $mysqli->query("SELECT id FROM test"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -var_dump($res->fetch_assoc()); - -/* Update on master */ -if (!$mysqli->query("UPDATE test SET id = 2")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Read your writes */ -if (false == mysqlnd_ms_set_qos($mysqli, MYSQLND_MS_QOS_CONSISTENCY_SESSION)) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Fetch latest data */ -if (!($res = $mysqli->query("SELECT id FROM test"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -var_dump($res->fetch_assoc()); -?> -]]> - - - - - The quality of service can be changed at any time to avoid further cache usage. - If needed, you can switch to read your writes (session consistency). In that case, - the cache will not be used and fresh data is read. - -
-
- Failover - - By default, the plugin does not attempt to fail over if connecting to a host - fails. This prevents pitfalls related to - connection state. - It is recommended to manually handle connection errors in a way similar to a failed - transaction. You should catch the error, rebuild the connection state and rerun your - query as shown below. - - - If connection state is no issue to you, you can alternatively enable automatic - and silent failover. Depending on the configuration, the automatic and silent failover - will either attempt to fail over to the master before issuing and error or, try to - connect to other slaves, given the query allowes for it, before attempting to connect - to a master. Because automatic failover is - not fool-proof, it is not discussed in the quickstart. Instead, details are given - in the concepts section below. - - - - Manual failover, automatic optional - - - - - - - - Manual failover - -query($sql))) { - /* plugin specific: check for connection error */ - switch ($link->errno) { - case 2002: - case 2003: - case 2005: - printf("Connection error - trying next slave!\n"); - /* load balancer will pick next slave */ - $res = $link->query($sql); - break; - default: - /* no connection error, failover is unlikely to help */ - die(sprintf("SQL error: [%d] %s", $link->errno, $link->error)); - break; - } -} -if ($res) { - var_dump($res->fetch_assoc()); -} -?> -]]> - - - -
-
- Partitioning and Sharding - - Database clustering is done for various reasons. Clusters can improve availability, - fault tolerance, and increase performance by applying a divide and conquer approach - as work is distributed over many machines. Clustering is sometimes combined with - partitioning and sharding to further break up a large complex task into - smaller, more manageable units. - - - The mysqlnd_ms plugin aims to support a wide variety of MySQL database clusters. Some flavors of - MySQL database clusters have built-in methods for partitioning and sharding, - which could be transparent to use. The plugin supports the two most - common approaches: MySQL Replication table filtering, and Sharding - (application based partitioning). - - - MySQL Replication supports partitioning as filters that allow you to - create slaves that replicate all or specific databases of the master, or tables. - It is then in the responsibility of the application - to choose a slave according to the filter rules. You can either use the - mysqlnd_ms node_groups - filter to manually support this, or use the experimental table filter. - - - Manual partitioning or sharding is supported through the - node grouping filter, and SQL hints as of 1.5.0. The node_groups filter - lets you assign a symbolic name to a group of master and slave servers. - In the example, the master master_0 and slave_0 - form a group with the name Partition_A. It is entirely - up to you to decide what makes up a group. For example, you may use node - groups for sharding, and use the group names to address shards - like Shard_A_Range_0_100. - - - - Cluster node groups - - - - - - - - Manual partitioning using SQL hints - -query($sql))) { - printf("[%d] %s", $mysqli->errno, $mysqli->error); - return false; - } - $row = $res->fetch_assoc(); - printf("%d - %s - %s\n", $row['_thread'], $row['_hint'], $sql); - return true; -} - -$mysqli = new mysqli("myapp", "user", "password", "database"); -if (!$mysqli) { - /* Of course, your error handling is nicer... */ - die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error())); -} - -/* All slaves allowed */ -select($mysqli, "slave_0"); -select($mysqli, "slave_1"); - -/* only servers of node group "Partition_A" allowed */ -select($mysqli, "slave_1", "/*Partition_A*/"); -select($mysqli, "slave_1", "/*Partition_A*/"); -?> -]]> - - - - - - - - By default, the plugin will use all configured master and slave servers for - query execution. But if a query begins with a SQL hint like - /*node_group*/, the plugin will only consider the servers - listed in the node_group for query execution. Thus, - SELECT queries prefixed with /*Partition_A*/ - will only be executed on slave_0. - - -
- - -
- MySQL Fabric - - Version requirement and status - - Work on supporting MySQL Fabric started in version 1.6. Please, - consider the support to be of pre-alpha quality. The manual may - not list all features or feature limitations. This is work in progress. - - - Sharding is the only use case supported by the plugin to date. - - - - MySQL Fabric concepts - - Please, check the MySQL reference manual for more information about MySQL Fabric - and how to set it up. The PHP manual assumes that you are familiar - with the basic concepts and ideas of MySQL Fabric. - - - - MySQL Fabric is a system for managing farms of MySQL servers to achive - High Availability and optionally support sharding. Technically, it is a - middleware to manage and monitor MySQL servers. - - - Clients query MySQL Fabric to obtain lists of MySQL servers, - their state and their roles. For example, clients can request a list of - slaves for a MySQL Replication group and whether they are ready to - handle SQL requests. Another example is a cluster of sharded MySQL servers - where the client seeks to know which shard to query for a given - table and shard key. If configured to use Fabric, the plugin uses XML RCP over HTTP - to obtain the list at runtime from a MySQL Fabric host. The XML remote - procedure call itself is done in the background and transparent from a - developers point of view. - - - Instead of listing MySQL servers directly in the plugins configuration file - it contains a list of one or more MySQL Fabric hosts - - - - Plugin config: Fabric hosts instead of MySQL servers - - - - - - - Users utilize the new functions - mysqlnd_ms_fabric_select_shard and - mysqlnd_ms_fabric_select_global to switch to - the set of servers responsible for a given shard key. Then, the - plugin picks an appropriate server for running queries on. - When doing so, the plugin takes care of additional - load balancing rules set. - - - The below example assumes that MySQL Fabric has been setup - to shard the table test.fabrictest using - the id column of the table as a shard key. - - - - Manual partitioning using SQL hints - -query("CREATE TABLE test.fabrictest(id INT NOT NULL PRIMARY KEY)")) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Switch connection to appropriate shard and insert record */ -mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10); -if (!($res = $mysqli->query("INSERT INTO fabrictest(id) VALUES (10)"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} - -/* Try to read newly inserted record */ -mysqlnd_ms_fabric_select_shard($mysqli, "test.fabrictest", 10); -if (!($res = $mysqli->query("SELECT id FROM test WHERE id = 10"))) { - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); -} -?> -]]> - - - - - The example creates the sharded table, inserts a record and reads - the record thereafter. All SQL data definition language (DDL) - operations on a sharded table must be applied to the so called global server group. - Prior to creating or altering a sharded table, - mysqlnd_ms_fabric_select_global is called - to switch the given connection to the corresponding servers of the global - group. Data manipulation (DML) SQL statements must be sent to the shards - directly. The - mysqlnd_ms_fabric_select_shard switches a - connection to shards handling a certain shard key. - - - -
-
- diff --git a/reference/mysqlnd_ms/reference.xml b/reference/mysqlnd_ms/reference.xml deleted file mode 100644 index 3b444a72c4..0000000000 --- a/reference/mysqlnd_ms/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Mysqlnd_ms &Functions; - - &reference.mysqlnd-ms.entities.functions; - - - - diff --git a/reference/mysqlnd_ms/setup.xml b/reference/mysqlnd_ms/setup.xml deleted file mode 100644 index e59d2a63ae..0000000000 --- a/reference/mysqlnd_ms/setup.xml +++ /dev/null @@ -1,3776 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - PHP 5.3.6 or newer. - Some advanced functionality requires PHP 5.4.0 or newer. - - - The mysqlnd_ms replication and load balancing - plugin supports all PHP applications and all available PHP MySQL extensions - (mysqli, - mysql, - PDO_MYSQL). - The PHP MySQL extension must be configured to use - mysqlnd in order to be able - to use the mysqlnd_ms plugin for - mysqlnd. - -
- - &reference.mysqlnd-ms.configure; - &reference.mysqlnd-ms.ini; - -
- Plugin configuration file (>=1.1.x) - - - The following documentation applies to PECL/mysqlnd_ms >= 1.1.0-beta. - It is not valid for prior versions. For documentation covering earlier - versions, see the configuration documentation - for mysqlnd_ms 1.0.x and below. - - -
- Introduction - - - - Changelog: Feature was added in PECL/mysqlnd_ms 1.1.0-beta - - The below description applies to PECL/mysqlnd_ms >= 1.1.0-beta. - It is not valid for prior versions. - - - - - The plugin uses its own configuration file. The configuration file - holds information about the MySQL replication master server, - the MySQL replication slave servers, the server pick (load balancing) policy, - the failover strategy, and the use of lazy connections. - - - The plugin loads its configuration file at the beginning of a web request. - It is then cached in memory and used for the duration of the web request. - This way, there is no need to restart PHP after deploying the configuration - file. Configuration file changes will become active almost instantly. - - - The PHP configuration directive - mysqlnd_ms.config_file - is used to set the plugins configuration file. Please note, that - the PHP configuration directive may not be evaluated for every web request. - Therefore, changing the plugins configuration file name or location may - require a PHP restart. However, no restart is required to read changes if - an already existing plugin configuration file is updated. - - - Using and parsing JSON is efficient, and using JSON - makes it easier to express hierarchical data structures than the standard - php.ini format. - - - - Converting a PHP array (hash) into JSON format - - Or alternatively, a developer may be more familiar with the PHP array - syntax, and prefer it. This example demonstrates how a developer might convert a - PHP array to JSON. - - - array( - "master" => array( - "master_0" => array( - "host" => "localhost", - "socket" => "/tmp/mysql.sock", - ), - ), - "slave" => array(), - ), -); - -file_put_contents("mysqlnd_ms.ini", json_encode($config, JSON_PRETTY_PRINT)); -printf("mysqlnd_ms.ini file created...\n"); -printf("Dumping file contents...\n"); -printf("%s\n", str_repeat("-", 80)); -echo file_get_contents("mysqlnd_ms.ini"); -printf("\n%s\n", str_repeat("-", 80)); -?> -]]> - - &example.outputs; - - - - - - - A plugin configuration file consists of one or more sections. Sections - are represented by the top-level object properties of the - object encoded in the JSON file. Sections could also - be called configuration names. - - - Applications reference sections by their name. Applications use section names - as the host (server) parameter to the various connect methods of the - mysqli, - mysql and - PDO_MYSQL extensions. Upon connect, - the mysqlnd plugin compares the hostname - with all of the section names from the plugin configuration file. If the hostname and - section name match, then the plugin will load the settings for that section. - - - - Using section names example - - - - - -]]> - - - - - Section names are strings. It is valid to use a section name such as - 192.168.2.1, 127.0.0.1 or - localhost. If, for example, an application - connects to localhost and a plugin - configuration section localhost exists, the - semantics of the connect operation are changed. The application will - no longer only use the MySQL server running on the host - localhost, but the plugin will start to load balance - MySQL queries following the rules from the localhost - configuration section. This way you can load balance queries from - an application without changing the applications source code. - Please keep in mind, that such a configuration may not contribute - to overall readability of your applications source code. Using section names - that can be mixed up with host names should be seen as a last resort. - - - Each configuration section contains, at a minimum, a list of master servers - and a list of slave servers. The master list is configured with the keyword - master, while the slave list is configured with the - slave keyword. Failing to provide a slave list will result - in a fatal E_ERROR level error, although a slave list - may be empty. It is possible to allow no slaves. However, this is only recommended - with synchronous clusters, please see also - supported clusters. - The main part of the documentation focusses on the use - of asynchronous MySQL replication clusters. - - - The master and slave server lists can be optionally indexed by symbolic - names for the servers they describe. Alternatively, an array of descriptions - for slave and master servers may be used. - - - - List of anonymous slaves - - - - - - - An anonymous server list is encoded by the JSON array type. - Optionally, symbolic names may be used for indexing the slave or master servers - of a server list, and done so using the JSON object type. - - - - Master list using symbolic names - - - - - - - It is recommended to index the server lists with symbolic server names. - The alias names will be shown in error messages. - - - The order of servers is preserved and taken into account by mysqlnd_ms. - If, for example, you configure round robin load balancing strategy, the - first SELECT statement will be executed on the - slave that appears first in the slave server list. - - - A configured server can be described with the host, - port, socket, db, - user, password and connect_flags. - It is mandatory to set the database server host using the host - keyword. All other settings are optional. - - - - Keywords to configure a server - - - - - - - If a setting is omitted, the plugin will use the value provided by the user - API call used to open a connection. Please, see the - using section names example above. - - - The configuration file format has been changed in version 1.1.0-beta to allow for - chained filters. Filters are responsible for filtering the configured list of - servers to identify a server for execution of a given statement. - Filters are configured with the filter keyword. Filters - are executed by mysqlnd_ms in the order of their appearance. - Defining filters is optional. A configuration section in the plugins - configuration file does not need to have a filters entry. - - - Filters replace the - pick[] - setting from prior versions. The new random and - roundrobin provide the same functionality. - - - - New <literal>roundrobin</literal> filter, old functionality - - - - - - - The function - mysqlnd_ms_set_user_pick_server - has been removed. Setting a callback is now done with the user - filter. Some filters accept parameters. The user filter - requires and accepts a mandatory callback parameter - to set the callback previously set through the function mysqlnd_ms_set_user_pick_server. - - The <literal>user</literal> filter replaces <function>mysqlnd_ms_set_user_pick_server</function> - - - - - - - The validity of the configuration file is checked both when reading the - configuration file and later when establishing a connection. The configuration - file is read during PHP request startup. At this early stage a PHP extension - may not display error messages properly. In the worst case, no error - is shown and a connection attempt fails without an adequate error message. - This problem has been cured in version 1.5.0. - - - - Common error message in case of configuration file issues (upto version 1.5.0) - - -]]> - - &example.outputs; - - - - - - - Since version 1.5.0 startup errors are additionally buffered and emitted when - a connection attempt is made. Use the configuration directive - mysqlnd_ms.force_config_usage - to set the error type used to display buffered errors. By default an error - of type E_WARNING will be emitted. - - - - Improved configuration file validation since 1.5.0 - - -]]> - - &example.outputs; - - - - - - - It can be useful to set mysqlnd_ms.force_config_usage = 1 - when debugging potential configuration file errors. This will not only turn the - type of buffered startup errors into E_RECOVERABLE_ERROR but also - help detecting misspelled section names. - - - - Possibly more precise error due to <literal>mysqlnd_ms.force_config_usage=1</literal> - - - - - -]]> - -&example.outputs; - - - - - - -
- -
- Configuration Directives - - - Here is a short explanation of the configuration directives that can be used. - - - - - - master - array or object - - - - List of MySQL replication master servers. The list of either - of the JSON type array to declare an anonymous list - of servers or of the JSON type object. Please, - see above - for examples. - - - Setting at least one master server is mandatory. The plugin will issue an - error of type E_ERROR if the user has failed to - provide a master server list for a configuration section. - The fatal error may read - (mysqlnd_ms) Section [master] doesn't exist for host - [name_of_a_config_section] in %s on line %d. - - - A server is described with - the host, port, - socket, db, - user, password and - connect_flags. It is mandatory to - provide at a value for host. If any of the - other values is not given, it will be taken from the user - API connect call, please, see also: - using section names example. - - - Table of server configuration keywords. - - - - - - - - - Keyword - Description - Version - - - - - - host - - - - Database server host. This is a mandatory setting. - Failing to provide, will cause an error of type E_RECOVERABLE_ERROR - when the plugin tries to connect to the server. The error message may - read (mysqlnd_ms) Cannot find [host] in - [%s] section in config in %s on line %d. - - - Since 1.1.0. - - - - port - - - - Database server TCP/IP port. - - - Since 1.1.0. - - - - socket - - - - Database server Unix domain socket. - - - Since 1.1.0. - - - - db - - - - Database (schemata). - - - Since 1.1.0. - - - - user - - - - MySQL database user. - - - Since 1.1.0. - - - - password - - - - MySQL database user password. - - - Since 1.1.0. - - - - connect_flags - - - - Connection flags. - - - Since 1.1.0. - - - - - - The plugin supports using only one master server. An experimental - setting exists to enable multi-master support. The details are - not documented. The setting is meant for development only. - - - - - - slave - array or object - - - - List of one or more MySQL replication slave servers. The syntax is - identical to setting master servers, please, see - master - above for details. - - - The plugin supports using one or more slave servers. - - - Setting a list of slave servers is mandatory. The plugin will report - an error of the type E_ERROR if slave - is not given for a configuration section. The fatal error message may read - (mysqlnd_ms) Section [slave] doesn't exist for host [%s] in %s on line %d. - Note, that it is valid to use an empty slave server list. - The error has been introduced to prevent accidentally setting no slaves by - forgetting about the slave setting. - A master-only setup is still possible using an empty slave server list. - - - If an empty slave list is configured and an attempt is made to - execute a statement on a slave the plugin may emit a warning like - mysqlnd_ms) Couldn't find the appropriate slave connection. - 0 slaves to choose from. upon statement execution. - It is possible that another warning follows such as - (mysqlnd_ms) No connection selected by the last filter. - - - - - - global_transaction_id_injection - array or object - - - - Global transaction identifier configuration related to both - the use of the server built-in global transaction ID feature and - the client-side emulation. - - - - - - - - - Keyword - Description - Version - - - - - - fetch_last_gtid - - - - SQL statement for accessing the latest global transaction identifier. - The SQL statement is run if the plugin needs to know the most recent - global transaction identifier. This can be the case, for example, when checking - MySQL Replication slave status. - Also used with mysqlnd_ms_get_last_gtid. - - - Since 1.2.0. - - - - check_for_gtid - - - - SQL statement for checking if a replica has replicated - all transactions up to and including ones searched for. The - SQL statement is run when searching for replicas which can offer - a higher level of consistency than eventual consistency. - The statement must contain a placeholder #GTID - which is to be replaced with the global transaction identifier searched - for by the plugin. Please, check the - quickstart for examples. - - - Since 1.2.0. - - - - report_errors - - - - Whether to emit an error of type warning if an issue occurs while - executing any of the configured SQL statements. - - - Since 1.2.0. - - - - on_commit - - - - Client-side global transaction ID emulation only. SQL statement - to run when a transaction finished to update the global transaction - identifier sequence number on the master. Please, see the - quickstart for examples. - - - Since 1.2.0. - - - - wait_for_gtid_timeout - - - - Instructs the plugin to wait up to wait_for_gtid_timeout - seconds for a slave to catch up when searching for slaves that can - deliver session consistency. The setting limits the time spend for - polling the slave status. If polling the status takes very long, the total - clock time spend waiting may exceed wait_for_gtid_timeout. - The plugin calls sleep(1) to sleep one second between - each two polls. - - - The setting can be used both with the plugins client-side emulation - and the server-side global transaction identifier feature of MySQL 5.6. - - - Waiting for a slave to replicate a certain GTID needed for session - consistency also means throttling the client. By throttling the - client the write load on the master is reduced indirectly. A - primary copy based replication system, such as MySQL Replication, - is given more time to reach a consistent state. This can be desired, - for example, to increase the number of data copies for - high availability considerations or to prevent the master from being - overloaded. - - - Since 1.4.0. - - - - - - - - - fabric - object - - - - MySQL Fabric related settings. If the plugin is used together with MySQL - Fabric, then the plugins configuration file no longer contains lists of MySQL servers. - Instead, the plugin will ask MySQL Fabric which list of servers to use to - perform a certain task. - - - A minimum plugin configuration for use with MySQL Fabric contains a list - of one or more MySQL Fabric hosts that the plugin can query. If more - than one MySQL Fabric host is configured, the plugin will use a roundrobin - strategy to choose among them. Other strategies are currently not available. - - - - Minimum pluging configuration for use with MySQL Fabric - - - - - - - Each MySQL Fabric host is described using a JSON object with the following - members. - - - - - - - - - Keyword - Description - Version - - - - - - host - - - - Host name of the MySQL Fabric host. - - - Since 1.6.0. - - - - port - - - - The TCP/IP port on which the MySQL Fabric host listens - for remote procedure calls sent by clients such as - the plugin. - - - Since 1.6.0. - - - - - - The plugin is using PHP streams to communicate with MySQL Fabric - through XML RPC over HTTP. By default no timeouts are set - for the network communication. Thus, the plugin defaults to PHP - stream default timeouts. Those defaults are out of control of - the plugin itself. - - - An optional timeout value can be set to overrule the PHP streams - default timeout setting. Setting the timeout in the plugins - configuration file has the same effect as - setting a timeout for a PHP user space HTTP connection established - through PHP streams. - - - The plugins Fabric timeout value unit is seconds. The allowed value - range is from 0 to 65535. The setting exists since version 1.6. - - - - Optional timeout for communication with Fabric - - - - - - - Transaction stickiness - and MySQL Fabric logic can collide. The stickiness option disables switching - between servers for the duration of a transaction. When using Fabric and - sharding the user may (erroneously) start a local transaction on one share and - then attempt to switch to a different shard using either - mysqlnd_ms_fabric_select_shard or - mysqlnd_ms_fabric_select_global. In this case, the - plugin will not reject the request to switch servers in the middle of a transaction - but allow the user to switch to another server regardless of the transaction - stickiness setting used. It is clearly a user error to write such code. - - - If transaction stickiness is enabled and you would like to get an error of type - warning when calling mysqlnd_ms_fabric_select_shard or - mysqlnd_ms_fabric_select_global, - set the boolean flag trx_warn_server_list_changes. - - - - Warnings about the violation of transaction boundaries - - - - -begin_transaction(); -@$link->query("DROP TABLE IF EXISTS test"); -/* - Switching servers/shards is a mistake due to open - local transaction! -*/ -mysqlnd_ms_select_global($link, 1); -?> -]]> - - &example.outputs; - - - - - - - Please, consider the feature experimental. Changes to syntax and semantics may happen. - - - - - - filters - object - - - - List of filters. A filter is responsible to filter the list of available - servers for executing a given statement. Filters can be chained. - The random and roundrobin filter - replace the - pick[] - directive used in prior version to select a load balancing policy. - The user filter replaces the - mysqlnd_ms_set_user_pick_server function. - - - Filters may accept parameters to refine their actions. - - - If no load balancing policy is set, the plugin will default to - random_once. The random_once - policy picks a random slave server when running the first read-only - statement. The slave server will be used for all read-only - statements until the PHP script execution ends. No load balancing - policy is set and thus, defaulting takes place, - if neither the random nor the - roundrobin are part of a configuration section. - - - If a filter chain is configured so that a filter which output no - more than once server is used as input for a filter which should be given - more than one server as input, the plugin may emit a warning upon - opening a connection. The warning may read: (mysqlnd_ms) Error while creating - filter '%s' . Non-multi filter '%s' already created. - Stopping in %s on line %d. Furthermore, an error of - the error code 2000, the sql state HY000 - and an error message similar to the warning may be set on the connection - handle. - - - - Invalid filter sequence - - - - -query("SELECT 1 FROM DUAL"); -?> -]]> - - &example.outputs; - - - - - - - - - - Filter: random - object - - - - The random filter features the random and random once - load balancing policies, set through the - pick[] - directive in older versions. - - - The random policy will pick a random server whenever - a read-only statement is to be executed. The random once strategy - picks a random slave server once and continues using the slave for the - rest of the PHP web request. Random once is a default, - if load balancing is not configured through a filter. - - - If the random filter is not given any arguments, it - stands for random load balancing policy. - - - - Random load balancing with <literal>random</literal> filter - - - - - - - Optionally, the sticky argument can be passed to the - filter. If the parameter sticky is set to the string - 1, the filter follows the random once - load balancing strategy. - - - - Random once load balancing with <literal>random</literal> filter - - - - - - - Both the random and roundrobin - filters support setting a priority, a weight for a server, since - PECL/mysqlnd_ms 1.4.0. If the weight argument is - passed to the filter, it must assign a weight for all servers. Servers - must be given an alias name in the slave respectively - master server lists. The alias must be used - to reference servers for assigning a priority with weight. - - - - Referencing error - - - - - - - Using a wrong alias name with weight may result in - an error similar to the shown above. - - - If weight is omitted, the default weight of - all servers is one. - - - - Assigning a <literal>weight</literal> for load balancing - - - - - - - At the average a server assigned a weight of two will be selected twice - as often as a server assigned a weight of one. Different weights can be - assigned to reflect differently sized machines, to prefer co-located slaves - which have a low network latency or, to configure a standby failover server. - In the latter case, you may want to assign the standby server a very low - weight in relation to the other servers. For example, given the - configuration above slave3 will get only some eight - percent of the requests in the average. As long as slave1 - and slave2 are running, it will be used sparsely, - similar to a standby failover server. Upon failure of slave1 - and slave2, the usage of slave3 - increases. Please, check the notes on failover before using - weight this way. - - - Valid weight values range from 1 to 65535. - - - Unknown arguments are ignored by the filter. No warning or error is given. - - - The filter expects one or more servers as input. Outputs one server. - A filter sequence such as - random, roundrobin may - cause a warning and an error message to be set on the connection - handle when executing a statement. - - - List of filter arguments. - - - - - - - - - Keyword - Description - Version - - - - - - sticky - - - - Enables or disabled random once load - balancing policy. See above. - - - Since 1.2.0. - - - - weight - - - - Assigns a load balancing weight/priority to - a server. Please, see above for a description. - - - Since 1.4.0. - - - - - - - - - Filter: roundrobin - object - - - - If using the roundrobin filter, the plugin - iterates over the list of configured slave servers to pick a server - for statement execution. If the plugin reaches the end of the list, - it wraps around to the beginning of the list and picks the first - configured slave server. - - - - <literal>roundrobin</literal> filter - - - - - - - Expects one or more servers as input. Outputs one server. - A filter sequence such as - roundrobin, random may - cause a warning and an error message to be set on the connection - handle when executing a statement. - - - List of filter arguments. - - - - - - - - - Keyword - Description - Version - - - - - - weight - - - - Assigns a load balancing weight/priority to - a server. Please, find a description - above. - - - Since 1.4.0. - - - - - - - - - Filter: user - object - - - - The user replaces - mysqlnd_ms_set_user_pick_server function, - which was removed in 1.1.0-beta. The filter sets a callback for user-defined - read/write splitting and server selection. - - - The plugins built-in read/write query split mechanism decisions can be - overwritten in two ways. The easiest way is to prepend a query string - with the SQL hints MYSQLND_MS_MASTER_SWITCH, - MYSQLND_MS_SLAVE_SWITCH or - MYSQLND_MS_LAST_USED_SWITCH. Using SQL hints one can - control, for example, whether a query shall be send to the MySQL replication - master server or one of the slave servers. By help of SQL hints it is - not possible to pick a certain slave server for query execution. - - - Full control on server selection can be gained using a callback function. - Use of a callback is recommended to expert users only because the callback - has to cover all cases otherwise handled by the plugin. - - - The plugin will invoke the callback function for selecting a server from the - lists of configured master and slave servers. The callback function - inspects the query to run and picks a server for query execution by returning - the hosts URI, as found in the master and slave list. - - - If the lazy connections are enabled and the callback chooses a slave server for - which no connection has been established so far and establishing the connection - to the slave fails, the plugin will return an error upon the next action - on the failed connection, for example, when running a query. It is the - responsibility of the application developer to handle the error. For example, - the application can re-run the query to trigger a new server selection and - callback invocation. If so, the callback must make sure to select - a different slave, or check slave availability, before returning to - the plugin to prevent an endless loop. - - - - Setting a callback - - - - - - - The callback is supposed to return a host to run the query on. - The host URI is to be taken from the master and slave connection lists - passed to the callback function. If callback returns a value neither - found in the master nor in the slave connection lists the plugin - will emit an error of the type E_RECOVERABLE_ERROR - The error may read like - (mysqlnd_ms) User filter callback has returned an unknown server. - The server 'server that is not in master or slave list' can neither be found - in the master list nor in the slave list. - If the application catches the error to ignore it, follow up errors - may be set on the connection handle, for example, - (mysqlnd_ms) No connection selected by the last filter with - the error code 2000 and the sqlstate HY000. - Furthermore a warning may be emitted. - - - Referencing a non-existing function as a callback will result - in any error of the type E_RECOVERABLE_ERROR whenever - the plugin tries to callback function. The error message may reads like: - (mysqlnd_ms) Specified callback (pick_server) is - not a valid callback. If the application catches the error to - ignore it, follow up errors may be set on the connection handle, for example, - (mysqlnd_ms) Specified callback (pick_server) is - not a valid callback with the error code 2000 - and the sqlstate HY000. Furthermore a warning - may be emitted. - - - The following parameters are passed from the plugin to the callback. - - - - - - - - - Parameter - Description - Version - - - - - - connected_host - - - - URI of the currently connected database server. - - - Since 1.1.0. - - - - query - - - - Query string of the statement for which a server needs - to be picked. - - - Since 1.1.0. - - - - masters - - - - List of master servers to choose from. Note, that the list of master - servers may not be identical to the list of configured master - servers if the filter is not the first in the filter chain. - Previously run filters may have reduced the master - list already. - - - Since 1.1.0. - - - - slaves - - - - List of slave servers to choose from. Note, that the list of slave - servers may not be identical to the list of configured slave - servers if the filter is not the first in the filter chain. - Previously run filters may have reduced the slave - list already. - - - Since 1.1.0. - - - - last_used_connection - - - - URI of the server of the connection used to execute the previous - statement on. - - - Since 1.1.0. - - - - in_transaction - - - - Boolean flag indicating whether the statement is - part of an open transaction. If autocommit mode is turned - off, this will be set to &true;. Otherwise - it is set to &false;. - - - Transaction detection is based on monitoring the - mysqlnd library call set_autocommit. - Monitoring is not possible before PHP 5.4.0. Please, see - connection pooling and switching - concepts discussion for further details. - - - Since 1.1.0. - - - - - - - Using a callback - - - - -query("SELECT 1 FROM DUAL"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - -if (!($res = $mysqli->query("SELECT 2 FROM DUAL"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - - -if (!($res = $mysqli->query("SELECT * FROM table_on_slave_a_only"))) - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); -else - $res->close(); - -$mysqli->close(); -?> -]]> - - &example.outputs; - - - - - - - - - - Filter: user_multi - object - - - - The user_multi differs from the user - only in one aspect. Otherwise, their syntax is identical. - The user filter must pick - and return exactly one node for statement execution. A filter chain - usually ends with a filter that emits only one node. The filter chain - shall reduce the list of candidates for statement execution down to - one. This, only one node left, is the case after the user - filter has been run. - - - The user_multi filter is a multi filter. It returns a - list of slave and a list of master servers. This list needs further filtering - to identify exactly one node for statement execution. A multi filter is typically - placed at the top of the filter chain. The quality_of_service - filter is another example of a multi filter. - - - The return value of the callback set for user_multi must - be an array with two elements. The first element holds a list of selected master - servers. The second element contains a list of selected slave servers. The - lists shall contain the keys of the slave and master servers as found in - the slave and master lists passed to the callback. The below example returns - random master and slave lists extracted from the functions input. - - - - Returning random masters and slaves - - $value) { - if (mt_rand(0, 2) > 1) - $picked_masters[] = $key; - } - $picked_slaves = array() - foreach ($slaves as $key => $value) { - if (mt_rand(0, 2) > 1) - $picked_slaves[] = $key; - } - return array($picked_masters, $picked_slaves); -} -?> -]]> - - - - - The plugin will issue an - error of type E_RECOVERABLE if the callback fails to return - a server list. The error may read (mysqlnd_ms) User multi - filter callback has not returned a list of servers to use. - The callback must return an array in %s on line %d. In case the - server list is not empty but has invalid servers key/ids in it, an error - of type E_RECOVERABLE will the thrown with an - error message like (mysqlnd_ms) User multi filter callback - has returned an invalid list of servers to use. - Server id is negative in %s on line %d, or similar. - - - Whether an error is emitted in case of an empty slave or master list - depends on the configuration. If an empty master list is returned - for a write operation, it is likely that the plugin will emit a - warning that may read (mysqlnd_ms) Couldn't find the appropriate - master connection. 0 masters to choose from. Something is wrong in %s on line %d. - Typically a follow up error of type E_ERROR will happen. - In case of a read operation and an empty slave list the behavior depends - on the fail over configuration. If fail over to master is enabled, no - error should appear. If fail over to master is deactivated the plugin will - emit a warning that may read (mysqlnd_ms) Couldn't find the appropriate - slave connection. 0 slaves to choose from. Something is wrong in %s on line %d. - - - - - - - Filter: node_groups - object - - - - The node_groups filter lets you group cluster nodes - and query selected groups, for example, to support data partitioning. - Data partitioning can be required for manual sharding, primary copy based - clusters running multiple masters, or to avoid hot spots in update everywhere - clusters that have no built-in partitioning. The filter is a multi filter - which returns zero, one or multiple of its input servers. Thus, it - must be followed by other filters to reduce the number of candidates - down to one for statement execution. - - - - - - - - - Keyword - Description - Version - - - - - - user defined node group name - - - - One or more node groups must be defined. A node group can have an - arbitrary user defined name. The name is used in combination with - a SQL hint to restrict query execution to the nodes listed for the - node group. To run a query on any of the servers of a node group, - the query must begin with the SQL hint - /*user defined node group name*/. - Please note, no white space is allowed around - user defined node group name. Because - user defined node group name is used as-is - as part of a SQL hint, you should choose the name that is compliant - with the SQL language. - - - Each node group entry must contain a list of master - servers. Additional slave servers are allowed. - Failing to provide a list of master for a node group - name_of_group may cause an - error of type E_RECOVERABLE_ERROR like - (mysqlnd_ms) No masters configured in node group 'name_of_group' for 'node_groups' filter. - - - The list of master and slave servers must reference corresponding - entries in the - global master - respectively slave - server list. Referencing an unknown server in either of the both server - lists may cause an E_RECOVERABLE_ERROR error like - (mysqlnd_ms) Unknown master 'server_alias_name' (section 'name_of_group') in 'node_groups' filter configuration. - - - - Manual partitioning - - - - - - - Please note, if a filter chain - generates an empty slave list and the PHP configuration directive - mysqlnd_ms.multi_master=0 is used, the plugin may - emit a warning. - - - Since 1.5.0. - - - - - - - - - - Filter: quality_of_service - object - - - - The quality_of_service identifies cluster nodes - capable of delivering a certain quality of service. It is a multi filter - which returns zero, one or multiple of its input servers. Thus, it - must be followed by other filters to reduce the number of candidates - down to one for statement execution. - - - The quality_of_service filter has been introduced in 1.2.0-alpha. - In the 1.2 series the filters focus is on the consistency aspect of - service quality. Different types of clusters offer different - default data consistencies. For example, an asynchronous MySQL - replication slave offers eventual consistency. The slave may not - be able to deliver requested data because it has not replicated the write, - it may serve stale database because its lagging behind or it may serve - current information. Often, this is acceptable. In some cases - higher consistency levels are needed for the application to work correct. - In those cases, the quality_of_service can filter out cluster nodes - which cannot deliver the necessary quality of service. - - - The quality_of_service filter can be replaced or created - at runtime. A successful call to - mysqlnd_ms_set_qos - removes all existing qos filter entries from the - filter list and installs a new one at the very beginning. All settings - that can be made through - mysqlnd_ms_set_qos - can also be in the plugins configuration file. However, use of the function - is by far the most common use case. Instead of setting session consistency and - strong consistency service levels in the plugins configuration file it is - recommended to define only masters and no slaves. Both service levels will - force the use of masters only. Using an empty slave list shortens the - configuration file, thus improving readability. The only service level for which - there is a case of defining in the plugins configuration file is the combination - of eventual consistency and maximum slave lag. - - - - - - - - - Keyword - Description - Version - - - - - - eventual_consistency - - - - Request eventual consistency. Allows the use of all - master and slave servers. Data returned may or may not be current. - - - Eventual consistency accepts an optional age - parameter. If age is given the plugin considers - only slaves for reading for which MySQL replication reports - a slave lag less or equal to age. - The replication lag is measure using SHOW SLAVE STATUS. - If the plugin fails to fetch the replication lag, the slave tested - is skipped. Implementation details and tips are given in the - quality of service concepts section. - - - Please note, if a filter chain - generates an empty slave list and the PHP configuration directive - mysqlnd_ms.multi_master=0 is used, the plugin may - emit a warning. - - - - Global limit on slave lag - - - - - - - Since 1.2.0. - - - - session_consistency - - - - Request session consistency (read your writes). Allows use of all masters - and all slaves which are in sync with the master. - If no further parameters are given slaves are filtered out - as there is no reliable way to test if a slave has caught up - to the master or is lagging behind. Please note, if a filter chain - generates an empty slave list and the PHP configuration directive - mysqlnd_ms.multi_master=0 is used, the plugin may - emit a warning. - - - Session consistency temporarily requested using - mysqlnd_ms_set_qos is a valuable alternative - to using master_on_write. - master_on_write is likely to send more statements - to the master than needed. The application may be able to continue - operation at a lower consistency level after it has done - some critical reads. - - - Since 1.1.0. - - - - strong_consistency - - - - Request strong consistency. Only masters will be used. - - - Since 1.2.0. - - - - - - - - - - failover - Up to and including 1.3.x: string. - Since 1.4.0: object. - - - - Failover policy. Supported policies: - disabled (default), master, - loop_before_master (Since 1.4.0). - - - If no failover policy is set, the plugin will not do any - automatic failover (failover=disabled). Whenever - the plugin fails to connect a server it will emit a warning and - set the connections error code and message. Thereafter it is up to - the application to handle the error and, for example, resent the - last statement to trigger the selection of another server. - - - Please note, the automatic failover logic is applied when opening - connections only. Once a connection has been opened no automatic attempts - are made to reopen it in case of an error. If, for example, the server - a connection is connected to is shut down and the user attempts to - run a statement on the connection, no automatic failover - will be tried. Instead, an error will be reported. - - - If using failover=master the plugin will implicitly - failover to a master, if available. Please check the - concepts documentation to learn about potential - pitfalls and risks of using failover=master. - - - - Optional master failover when failing to connect to slave (PECL/mysqlnd_ms < 1.4.0) - - - - - - - Since PECL/mysqlnd_ms 1.4.0 the failover configuration keyword refers to an - object. - - - - New syntax since 1.4.0 - - - - - - - - - - - - - Keyword - Description - Version - - - - - - strategy - - - - Failover policy. Possible values: - disabled (default), master, - loop_before_master - - - A value of disabled disables automatic failover. - - - Setting master instructs the plugin to try - to connect to a master in case of a slave connection error. If the - master connection attempt fails, the plugin exists the failover - loop and returns an error to the user. - - - If using loop_before_master and a slave request - is made, the plugin tries to connect to other slaves before failing - over to a master. If multiple master are given and multi master is enabled, - the plugin also loops over the list of masters and attempts to connect - before returning an error to the user. - - - Since 1.4.0. - - - - remember_failed - - - - Remember failures for the duration of a web request. Default: - false. - - - If set to true the plugin will remember failed - hosts and skip the hosts in all future load balancing made for - the duration of the current web request. - - - - Since 1.4.0. The feature is only available together - with the random and roundrobin - load balancing filter. Use of the setting is recommended. - - - - - max_retries - - - - Maximum number of connection attempts before skipping host. - Default: 0 (no limit). - - - The setting is used to prevent hosts from being dropped of the - host list upon the first failure. If set to n > 0, - the plugin will keep the node in the node list even after a failed - connection attempt. The node will not be removed immediately from the slave respectively - master lists after the first connection failure but instead be tried to - connect to up to n times in future load balancing rounds - before being removed. - - - - Since 1.4.0. The feature is only available together - with the random and roundrobin - load balancing filter. - - - - - - - Setting failover to any other value but - disabled, master or - loop_before_master - will not emit any warning or error. - - - - - - - lazy_connections - bool - - - - Controls the use of lazy connections. Lazy connections - are connections which are not opened before the client sends the first - connection. Lazy connections are a default. - - - It is strongly recommended to use lazy connections. - Lazy connections help to keep the number of open connections low. - If you disable lazy connections and, for example, configure one MySQL - replication master server and two MySQL replication slaves, the - plugin will open three connections upon the first call to a - connect function although the application might use the master - connection only. - - - Lazy connections bare a risk if you make heavy use of actions - which change the state of a connection. The plugin does not dispatch - all state changing actions to all connections from the connection pool. - The few dispatched actions are applied to already opened connections - only. Lazy connections opened in the future are not affected. - Only some settings are "remembered" and applied when lazy - connections are opened. - - - - Disabling lazy connection - - - - - - - Please, see also server_charset to overcome potential - problems with string escaping and servers using different default - charsets. - - - - - - - server_charset - string - - - - The setting has been introduced in 1.4.0. It is recommended to set it - if using lazy connections. - - - The server_charset setting serves two purposes. It - acts as a fallback charset to be used for string escaping done before - a connection has been established and it helps to avoid escaping pitfalls - in heterogeneous environments which servers using different default charsets. - - - String escaping takes a connections charset into account. String escaping - is not possible before a connection has been opened and the connections - charset is known. The use of lazy connections delays the actual opening - of connections until a statement is send. - - - An application using lazy connections may attempt to escape a string - before sending a statement. In fact, this should be a common case as - the statement string may contain the string that is to be escaped. - However, due to the lazy connection feature no connection has been opened - yet and escaping fails. The plugin may report an error of the type - E_WARNING and a message like (mysqlnd_ms) - string escaping doesn't work without established connection. - Possible solution is to add server_charset to your configuration - to inform you of the pitfall. - - - Setting server_charset makes the plugin use - the given charset for string escaping done on lazy connection handles - before establishing a network connection to MySQL. Furthermore, the - plugin will enforce the use of the charset when the connection is - established. - - - Enforcing the use of the configured charset used for escaping is done - to prevent tapping into the pitfall of using a different charset for - escaping than used later for the connection. This has the additional - benefit of removing the need to align the charset configuration of all - servers used. No matter what the default charset on any of the servers is, - the plugin will set the configured one as a default. - - - The plugin does not stop the user from changing the charset at any time - using the set_charset call or corresponding SQL statements. - Please, note that the use of SQL is not recommended as it cannot be monitored - by the plugin. The user can, for example, change the charset on a - lazy connection handle after escaping a string and before the actual connection - is opened. The charset set by the user will be used for any subsequent escaping - before the connection is established. The connection will be established - using the configured charset, no matter what the server charset is or - what the user has set before. Once a connection has been opened, - set_charset is of no meaning anymore. - - - - String escaping on a lazy connection handle - - - - -real_escape("this will be escaped using the server_charset setting - utf8mb4"); -$mysqli->set_charset("latin1"); -$mysqli->real_escape("this will be escaped using latin1"); -/* server_charset implicitly set - utf8mb4 connection */ -$mysqli->query("SELECT 'This connection will be set to server_charset upon establishing' AS _msg FROM DUAL"); -/* latin1 used from now on */ -$mysqli->set_charset("latin1"); -?> -]]> - - - - - - - - - master_on_write - bool - - - - If set, the plugin will use the master server only after the - first statement has been executed on the master. Applications - can still send statements to the slaves using SQL hints to - overrule the automatic decision. - - - The setting may help with replication lag. If an application runs - an INSERT the plugin will, by default, use the - master to execute all following statements, including - SELECT statements. This helps to avoid problems - with reads from slaves which have not replicated the - INSERT yet. - - - - Master on write for consistent reads - - - - - - - Please, note the quality_of_service filter introduced - in version 1.2.0-alpha. It gives finer control, for example, for achieving read-your-writes - and, it offers additional functionality introducing - service levels. - - - All transaction stickiness settings, - including trx_stickiness=on, are overruled by master_on_write=1. - - - - - - - trx_stickiness - string - - - - Transaction stickiness policy. Supported policies: - disabled (default), master. - - - The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, - the plugin will emit a warning like - (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99. - - - If no transaction stickiness policy is set or, - if setting trx_stickiness=disabled, - the plugin is not transaction aware. Thus, the plugin may load balance - connections and switch connections in the middle of a transaction. - The plugin is not transaction safe. SQL hints must be used - avoid connection switches during a transaction. - - - As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor - the autocommit mode set by calls to the - libraries set_autocommit() function. - If setting set_stickiness=master and - autocommit gets disabled by a PHP MySQL extension - invoking the mysqlnd library internal - function call set_autocommit(), the plugin is made - aware of the begin of a transaction. Then, the plugin stops load balancing - and directs all statements to the master server until - autocommit is enabled. Thus, no SQL hints are required. - - - An example of a PHP MySQL API function calling the mysqlnd - library internal function call set_autocommit() is - mysqli_autocommit. - - - Although setting trx_stickiness=master, the plugin - cannot be made aware of autocommit mode changes caused - by SQL statements such as SET AUTOCOMMIT=0 or BEGIN. - - - As of PHP 5.5.0, the mysqlnd library features additional C API calls to - control transactions. The level of control matches the one offered by SQL - statements. The mysqli API has been modified to use - these calls. Since version 1.5.0, PECL/mysqlnd_ms can monitor not only - mysqli_autocommit, but also mysqli_begin, - mysqli_commit and mysqli_rollback to - detect transaction boundaries and stop load balancing for the duration of - a transaction. - - - - Using master to execute transactions - - - - - - - Since version 1.5.0 automatic and silent failover is disabled for the - duration of a transaction. If the boundaries of a transaction have been - properly detected, transaction stickiness is enabled and a server fails, - the plugin will not attempt to fail over to the next server, if any, regardless - of the failover policy configured. The user must handle the error - manually. Depending on the configuration, the plugin may emit - an error of type E_WARNING reading like - (mysqlnd_ms) Automatic failover is not permitted in the middle of a transaction. - This error may then be overwritten by follow up errors such as - (mysqlnd_ms) No connection selected by the last filter. - Those errors will be generated by the failing query function. - - - - No automatic failover, error handling pitfall - -autocommit(false); - -/* assumption: server fails */ -if (!($res = $mysqli->query("SELECT 'Assume this query fails' AS _msg FROM DUAL"))) { - /* handle failure of transaction, plugin internal state is still in_trx = 1 */ - printf("[%d] %s", $mysqli->errno, $mysqli->error); - /* - If using autocommit() based transaction detection it is a - MUST to call autocommit(true). Otherwise the plugin assumes - the current transaction continues and connection - changes remain forbidden. - */ - $mysqli->autocommit(true); - /* Likewise, you'll want to start a new transaction */ - $mysqli->autocommit(false); -} -/* latin1 used from now on */ -$mysqli->set_charset("latin1"); -?> -]]> - - - - - If a server fails in the middle of a transaction the - plugin continues to refuse to switch connections until the - current transaction has been finished. Recall - that the plugin monitors API calls to detect transaction - boundaries. Thus, you have to, for example, enable - auto commit mode to end the current transaction before - the plugin continues load balancing and switches the server. - Likewise, you will want to start a new transaction - immediately thereafter and disable auto commit mode again. - - - Not handling failed queries and not ending a failed transaction - using API calls may cause all following commands emit errors - such as Commands out of sync; you can't run this command now. - Thus, it is important to handle all errors. - - - - - - - transient_error - object - - - - The setting has been introduced in 1.6.0. - - - A database cluster node may reply a transient error to a client. The client - can then repeat the operation on the same node, fail over to a different node - or abort the operation. Per definition is it safe for a client to - retry the same operation on the same node before giving up. - - - PECL/mysqlnd_ms can perform the retry - loop on behalf of the application. - By configuring transient_error the plugin can be - instructed to repeat operations failing with a certain error code for - a certain maximum number of times with a pause between the retries. - If the transient error disappears during loop execution, it is - hidden from the application. Otherwise, the error is - forwarded to the application by the end of the loop. - - - - Retry loop for transient errors - - - - - - - - - - - - - Keyword - Description - Version - - - - - - mysql_error_codes - - - - List of transient error codes. You may add any MySQL error code - to the list. It is possible to consider any error as transient - not only 1297 - (HY000 (ER_GET_TEMPORARY_ERRMSG), - Message: Got temporary error %d '%s' from %s). - Before adding other codes but 1297 to the list, - make sure your cluster supports a new attempt without impacting - the state of your application. - - - Since 1.6.0. - - - - max_retries - - - - How often to retry an operation which - fails with a transient error before forwarding the - failure to the user. - - - Default: 1 - - - Since 1.6.0. - - - - usleep_retry - - - - Milliseconds to sleep between transient error retries. - The value is passed to the C function usleep, - hence the name. - - - Default: 100 - - - Since 1.6.0. - - - - - - - - - - xa - object - - - - The setting has been introduced in 1.6.0. - - - - Experimental - - The feature is currently under development. There may be issues and/or - feature limitations. Do not use in production environments. - - - - - - state_store - - - - record_participant_credentials - - - Whether to store the username and password of a global transaction - participant in the participants table. If disabled, the garbage - collection will use the default username and password when connecting - to the participants. Unless you are using a different username and - password for each of your MySQL servers, you can use the default - and avoid storing the sensible information in state store. - - - Please note, username and password are stored in clear text when using - the MySQL state store, which is the only one available. It is in your - responsibility to protect this sensible information. - - - Default: false - - - - - participant_localhost_ip - - - During XA garbage collection the plugin may find a participant server - for which the host localhost - has been recorded. If the garbage collection takes place on another host - but the host that has written the participant record to the state store, - the host name localhost now resolves to a different - host. Therefore, when recording a participant servers host name - in the state store, a value of localhost must - be replaced with the actual IP address of localhost. - - - Setting participant_localhost_ip should be considered - only if using localhost cannot be avoided. - From a garbage collection point of view only, it is preferrable not to - configure any socket connection but to provide an IP address and port - for a node. - - - - - mysql - - - The MySQL state store is the only state store available. - - - - global_trx_table - - - Name of the MySQL table used to store the state of an ongoing or aborted - global transaction. Use the below SQL statement to create the table. - Make sure to edit the table name to match your configuration. - - - Default: mysqlnd_ms_xa_trx - - - - SQL definition for the MySQL state store transaction table - - - - - - - - - participant_table - - - Name of the MySQL table used to store participants of an ongoing or aborted - global transaction. Use the below SQL statement to create the table. - Make sure to edit the table name to match your configuration. - - - Storing credentials can be enabled and disabled using - record_participant_credentials - - - Default: mysqlnd_ms_xa_participants - - - SQL definition for the MySQL state store transaction table - - - - - - - - garbage_collection_table - - - Name of the MySQL table used to track and synchronize garbage collection runs. - Use the below SQL statement to create the table. - Make sure to edit the table name to match your configuration. - - - Default: mysqlnd_ms_xa_gc - - - SQL definition for the MySQL state store garbage collection table - - - - - - - - host - - - Host name of the MySQL server. - - - - - user - - - Name of the user used to connect to the MySQL server. - - - - - password - - - Password for the MySQL server user. - - - - - db - - - Database that holds the garbage collection tables. - Please note, you have to create the garbage collection - tables prior to using the plugin. The tables will not be - created implicitly during runtime but garbage collection - will fail if the tables to not exist. - - - - - port - - - Port of the MySQL server. - - - - - socket - - - Unix domain socket of the MySQL server. Please note, - if you have multiple PHP servers each of them will - try to carry out garbage collection and need to be able - to connect to the state store. In this case, you may - prefer configuring an IP address and a port for - the MySQL state store server to ensure all PHP servers - can reach it. - - - - - - - - - - - rollback_on_close - - - Whether to automatically rollback an open global transaction when - a connection is closed. If enabled, it mimics the default behaviour - of local transactions. Should a client disconnect, the server rolls - back any open and unfinished transactions. - - - Default: true - - - - - garbage_collection - - - - max_retries - - - Maximum number of garbage collection runs before giving up. - Allowed values are from 0 to 100. - A setting of 0 means no limit, unless - the state store enforces a limit. Should the state store enforce a limit, - it can be supposed to be significantly higher than 100. - Available since 1.6.0. - - - Please note, it is important to end failed XA - transactions within reasonable time to make participating servers - free resources bound to the transaction. The built-in garbage - collection is not expected to fail for a long period as - long as crashed servers become available again quickly. - Still, a situation may arise where a human is required to - act because the built-in garbage collection stopped or failed. - In this case, you may first want to check if the transaction still - cannot be fixed by forcing mysqlnd_ms_xa_gc - to ignore the setting, prior to handling it manually. - - - Default: 5 - - - - - probability - - - Garbage collection probability. - Allowed values are from 0 to 1000. - A setting of 0 disables automatic background - garbage collection. Despite a setting of 0 it is - still possible to trigger garbage collection by calling - mysqlnd_ms_gc. - Available since 1.6.0. - - - The automatic garbage collection of stalled XA transaction is only - available if a state store have been configured. The state store - is responsible to keep track of XA transactions. Based on its recordings - it can find blocked XA transactions where the client has crashed, - connect to the participants and rollback the unfinished transactions. - - - The garbage collection is triggered as part of PHP's request shutdown - procedure at the end of a web request. That is after your PHP script - has finished working. Do decide whether to run the garbage collection - a random value between 0 and 1000 - is computed. If the probability value is higher - or equal to the random value, the state stores garbage collection routines - are invoked. - - - Default: 5 - - - - - max_transactions_per_run - - - Maximum number of unfinished XA transactions considered - by the garbage collection during one run. - Allowed values are from 1 to 32768. - Available since 1.6.0. - - - Cleaning up an unfinished XA transaction takes considerable - amounts of time and resources. The garbage collection routine - may have to connect to several participants of a failed global - transaction to issue the SQL commands for rolling back - the unfinished tranaction. - - - Default: 100 - - - - - - - - - - - -
- -
- Plugin configuration file (<= 1.0.x) - - - The below description applies to PECL/mysqlnd_ms < 1.1.0-beta. - It is not valid for later versions. - - - - The plugin is using its own configuration file. The configuration file - holds information on the MySQL replication master server, - the MySQL replication slave servers, the server pick (load balancing) policy, - the failover strategy and the use of lazy connections. - - - The PHP configuration directive - mysqlnd_ms.ini_file - is used to set the plugins configuration file. - - - The configuration file mimics standard the php.ini format. - It consists of one or more sections. Every section defines its own unit - of settings. There is no global section for setting defaults. - - - Applications reference sections by their name. Applications use section names - as the host (server) parameter to the various connect methods of the - mysqli, - mysql and - PDO_MYSQL extensions. Upon connect - the mysqlnd plugin compares the hostname - with all section names from the plugin configuration file. If hostname and - section name match, the plugin will load the sections settings. - - - - Using section names example - - - - - -]]> - - - - - Section names are strings. It is valid to use a section name such as - 192.168.2.1, 127.0.0.1 or - localhost. If, for example, an application - connects to localhost and a plugin - configuration section [localhost] exists, the - semantics of the connect operation are changed. The application will - no longer only use the MySQL server running on the host - localhost but the plugin will start to load balance - MySQL queries following the rules from the [localhost] - configuration section. This way you can load balance queries from - an application without changing the applications source code. - - - The master[], slave[] - and pick[] configuration directives use a list-like syntax. - Configuration directives supporting list-like syntax may appear multiple - times in a configuration section. The plugin maintains the order in - which entries appear when interpreting them. For example, - the below example shows two slave[] configuration - directives in the configuration section [myapp]. - If doing round-robin load balancing for read-only queries, the plugin - will send the first read-only query to the MySQL server - mysql_slave_1 because it is the first in the list. - The second read-only query will be send to the MySQL server - mysql_slave_2 because it is the second in the list. - Configuration directives supporting list-like syntax result are ordered - from top to bottom in accordance to their appearance within a configuration - section. - - - - List-like syntax - - - - - - - Here is a short explanation of the configuration directives that can be used. - - - - - - master[] - string - - - - URI of a MySQL replication master server. The URI follows the syntax - hostname[:port|unix_domain_socket]. - - - The plugin supports using only one master server. - - - Setting a master server is mandatory. The plugin will report a - warning upon connect if the user has failed to provide a master - server for a configuration section. - The warning may read - (mysqlnd_ms) Cannot find master section in config. - Furthermore the plugin may set an error code for the connection handle such as - HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error - message depends on your language settings. - - - - - - slave[] - string - - - - URI of one or more MySQL replication slave servers. The URI follows the syntax - hostname[:port|unix_domain_socket]. - - - The plugin supports using one or more slave servers. - - - Setting a slave server is mandatory. The plugin will report a - warning upon connect if the user has failed to provide at least one slave - server for a configuration section. The warning may read - (mysqlnd_ms) Cannot find slaves section in config. - Furthermore the plugin may set an error code for the connection handle such as - HY000/2000 (CR_UNKNOWN_ERROR). The corresponding error - message depends on your language settings. - - - - - - pick[] - string - - - - Load balancing (server picking) policy. Supported policies: - random, random_once (default), - roundrobin, user. - - - If no load balancing policy is set, the plugin will default to - random_once. The random_once - policy picks a random slave server when running the first read-only - statement. The slave server will be used for all read-only - statements until the PHP script execution ends. - - - The random policy will pick a random server whenever - a read-only statement is to be executed. - - - If using - roundrobin the plugin iterates over the list of - configured slave servers to pick a server for statement execution. - If the plugin reaches the end of the list, it wraps around to the beginning - of the list and picks the first configured slave server. - - - Setting more than one load balancing policy for a configuration - section makes only sense in conjunction with user - and mysqlnd_ms_set_user_pick_server. If the - user defined callback fails to pick a server, the plugin falls - back to the second configured load balancing policy. - - - - - - failover - string - - - - Failover policy. Supported policies: - disabled (default), master. - - - If no failover policy is set, the plugin will not do any - automatic failover (failover=disabled). Whenever - the plugin fails to connect a server it will emit a warning and - set the connections error code and message. Thereafter it is up to - the application to handle the error and, for example, resent the - last statement to trigger the selection of another server. - - - If using failover=master the plugin will implicitly - failover to a slave, if available. Please check the - concepts documentation to learn about potential - pitfalls and risks of using failover=master. - - - - - - lazy_connections - bool - - - - Controls the use of lazy connections. Lazy connections - are connections which are not opened before the client sends the first - connection. - - - It is strongly recommended to use lazy connections. - Lazy connections help to keep the number of open connections low. - If you disable lazy connections and, for example, configure one MySQL - replication master server and two MySQL replication slaves, the - plugin will open three connections upon the first call to a - connect function although the application might use the master - connection only. - - - Lazy connections bare a risk if you make heavy use of actions - which change the state of a connection. The plugin does not dispatch - all state changing actions to all connections from the connection pool. - The few dispatched actions are applied to already opened connections - only. Lazy connections opened in the future are not affected. - If, for example, the connection character set is changed using a - PHP MySQL API call, the plugin will change the character set of all - currently opened connection. It will not remember the character set - change to apply it on lazy connections opened in the future. As a - result the internal connection pool would hold connections using - different character sets. This is not desired. Remember that character - sets are taken into account for escaping. - - - - - - master_on_write - bool - - - - If set, the plugin will use the master server only after the - first statement has been executed on the master. Applications - can still send statements to the slaves using SQL hints to - overrule the automatic decision. - - - The setting may help with replication lag. If an application runs - an INSERT the plugin will, by default, use the - master to execute all following statements, including - SELECT statements. This helps to avoid problems - with reads from slaves which have not replicated the - INSERT yet. - - - - - - trx_stickiness - string - - - - Transaction stickiness policy. Supported policies: - disabled (default), master. - - - Experimental feature. - - - The setting requires 5.4.0 or newer. If used with PHP older than 5.4.0, - the plugin will emit a warning like - (mysqlnd_ms) trx_stickiness strategy is not supported before PHP 5.3.99. - - - If no transaction stickiness policy is set or, - if setting trx_stickiness=disabled, - the plugin is not transaction aware. Thus, the plugin may load balance - connections and switch connections in the middle of a transaction. - The plugin is not transaction safe. SQL hints must be used - avoid connection switches during a transaction. - - - As of PHP 5.4.0 the mysqlnd library allows the plugin to monitor - the autocommit mode set by calls to the - libraries trx_autocommit() function. - If setting trx_stickiness=master and - autocommit gets disabled by a PHP MySQL extension - invoking the mysqlnd library internal - function call trx_autocommit(), the plugin is made - aware of the begin of a transaction. Then, the plugin stops load balancing - and directs all statements to the master server until - autocommit is enabled. Thus, no SQL hints are required. - - - An example of a PHP MySQL API function calling the mysqlnd - library internal function call trx_autocommit() is - mysqli_autocommit. - - - Although setting trx_stickiness=master, the plugin - cannot be made aware of autocommit mode changes caused - by SQL statements such as SET AUTOCOMMIT=0. - - - - - -
- -
- Testing - - - The section applies to mysqlnd_ms 1.1.0 or newer, not the 1.0 series. - - - - The PECL/mysqlnd_ms test suite is in the tests/ - directory of the source distribution. The test suite consists of standard - phpt tests, which are described on the PHP Quality Assurance Teams website. - - - Running the tests requires setting up one to four MySQL servers. Some tests don't - connect to MySQL at all. Others require one server for testing. Some require - two distinct servers. In some cases two servers are used to emulate a - replication setup. In other cases a master and a slave of an existing MySQL replication - setup are required for testing. The tests will try to detect how many servers - and what kind of servers are given. If the required servers are not found, the - test will be skipped automatically. - - - Before running the tests, edit tests/config.inc to - configure the MySQL servers to be used for testing. - - - The most basic configuration is as follows. - - - - - - MYSQL_TEST_HOST, MYSQL_TEST_PORT and - MYSQL_TEST_SOCKET define the hostname, - TCP/IP port and Unix domain socket of the default database server. - MYSQL_TEST_USER and MYSQL_TEST_PASSWD - contain the user and password needed to connect to the database/schema - configured with MYSQL_TEST_DB. All configured - servers must have the same database user configured to give access to - the test database. - - - Using host, host:port or host:/path/to/socket - syntax one can set an alternate host, host and port or host and socket for any - of the servers. - - - - -
- -
- Debugging and Tracing - - The mysqlnd debug log can be used to debug and trace the actitivities of - PECL/mysqlnd_ms. As a mysqlnd PECL/mysqlnd_ms adds trace information to the - mysqlnd library debug file. Please, see the - mysqlnd.debug - PHP configuration directive documentation for a detailed description - on how to configure the debug log. - - - Configuration setting example to activate the debug log: - - - - - - This feature is only available with a debug build of PHP. Works - on Microsoft Windows if using a debug build of PHP and PHP was - built using Microsoft Visual C version 9 and above. - - - - - The debug log shows mysqlnd library and PECL/mysqlnd_ms plugin function calls, - similar to a trace log. Mysqlnd library calls are usually prefixed with - mysqlnd_. PECL/mysqlnd internal calls begin with - mysqlnd_ms. - - - Example excerpt from the debug log (connect): - -mysqlnd_connect -| info : host=myapp user=root db=test port=3306 flags=131072 -| >mysqlnd_ms::connect -| | >mysqlnd_ms_config_json_section_exists -| | | info : section=[myapp] len=[5] -| | | >mysqlnd_ms_config_json_sub_section_exists -| | | | info : section=[myapp] len=[5] -| | | | info : ret=1 -| | | - - - - The debug log is not only useful for plugin developers but also to find the - cause of user errors. For example, if your application does not do proper - error handling and fails to record error messages, checking the debug - and trace log may help finding the cause. Use of the debug log - to debug application issues should be considered only if no other - option is available. Writing the debug log to disk is a slow - operation and may have negative impact on the application - performance. - - - Example excerpt from the debug log (connection failure): - -error_info.error_no = 1045 -| | | | | mysqlnd_conn::free_contents -| | | | | | >mysqlnd_net::free_contents -| | | | | | mysqlnd_error_list_pdtor -| | | | | | - - - - The trace log can also be used to verify correct behaviour - of PECL/mysqlnd_ms itself, for example, to check which server has been - selected for query execution and why. - - - Example excerpt from the debug log (plugin decision): - -mysqlnd_ms::query -| info : query=DROP TABLE IF EXISTS test -| >_mysqlnd_plugin_get_plugin_connection_data -| | info : plugin_id=5 -| <_mysqlnd_plugin_get_plugin_connection_data -| >mysqlnd_ms_pick_server_ex -| | info : conn_data=0x7fb6a7d3e5a0 *conn_data=0x7fb6a7d410d0 -| | >mysqlnd_ms_select_servers_all -| | mysqlnd_ms_choose_connection_rr -| | | >mysqlnd_ms_query_is_select -[...] -| | | mysqlnd_ms_advanced_connect -| | | | >mysqlnd_conn::connect -| | | | | info : host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0 -]]> - - - - In this case the statement DROP TABLE IF EXISTS test has been - executed. Note that the statement string is shown in the log file. You may want - to take measures to restrict access to the log for security considerations. - - - The statement has been load balanced using round robin policy, - as you can easily guess from the functions name >mysqlnd_ms_choose_connection_rr. - It has been sent to a master server running on - host=localhost user=root db=test port=3306 flags=131072 persistent=0 state=0. - -
- -
- Monitoring - - Plugin activity can be monitored using the mysqlnd trace log, - mysqlnd statistics, mysqlnd_ms plugin statistics and external PHP debugging tools. - Use of the trace log should be limited to debugging. It is recommended - to use the plugins statistics for monitoring. - - - Writing a trace log is a slow operation. If using an external PHP debugging tool, - please refer to the vendors manual about its performance impact and the - type of information collected. In many cases, external debugging tools will - provide call stacks. Often, a call stack or a trace log is more difficult to interpret - than the statistics provided by the plugin. - - - Plugin statistics tell how often which kind of cluster node has been used (slave or master), - why the node was used, if lazy connections have been used and if global transaction - ID injection has been performed. The monitoring information provided enables - user to verify plugin decisions and to plan their cluster resources based on usage pattern. - The function mysqlnd_ms_get_stats - is used to access the statistics. Please, see the functions description for a list - of available statistics. - - - Statistics are collected on a per PHP process basis. Their scope is a PHP process. - Depending on the PHP deployment model a process may serve one or multiple web requests. - If using CGI model, a PHP process serves one web request. If using FastCGI or - pre-fork web server models, a PHP process usually serves multiple web requests. - The same is the case with a threaded web server. Please, note that threads running - in parallel can update the statistics in parallel. Thus, if using a threaded PHP - deployment model, statistics can be changed by more than one script at a time. A - script cannot rely on the fact that it sees only its own changes to statistics. - - - - Verify plugin activity in a non-threaded deployment model - - - - -query("SELECT 'Read request' FROM DUAL")) { - var_dump($res->fetch_all()); -} -$stats_after = mysqlnd_ms_get_stats(); -if ($stats_after['use_slave'] <= $stats_before['use_slave']) { - echo "According to the statistics the read request has not been run on a slave!"; -} -?> -]]> - - - - - Statistics are aggregated for all plugin activities and all connections handled by - the plugin. It is not possible to tell how much a certain connection handle has - contributed to the overall statistics. - - - Utilizing PHPs register_shutdown_function function or the - auto_append_file PHP configuration directive it is - easily possible to dump statistics into, for example, a log file when a script - finishes. Instead of using a log file it is also possible to send the statistics - to an external monitoring tool for recording and display. - - - - Recording statistics during shutdown - - - - - -]]> - - - -
-
- -
- - diff --git a/reference/mysqlnd_ms/versions.xml b/reference/mysqlnd_ms/versions.xml deleted file mode 100644 index b8a1fb25a4..0000000000 --- a/reference/mysqlnd_ms/versions.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/reference/mysqlnd_mux/book.xml b/reference/mysqlnd_mux/book.xml deleted file mode 100644 index dbd0a42ffb..0000000000 --- a/reference/mysqlnd_mux/book.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - Mysqlnd connection multiplexing plugin - mysqlnd_mux - - - &reftitle.intro; - - The mysqlnd multiplexing plugin (mysqlnd_mux) - multiplexes MySQL connections established by all PHP MySQL extensions - that use the MySQL native driver (mysqlnd) - for PHP. - - - The MySQL native driver for PHP features an internal C API for plugins, - such as the connection multiplexing plugin, which can extend the functionality of - mysqlnd. See the mysqlnd for additional details - about its benefits over the MySQL Client Library libmysqlclient. - - - Mysqlnd plugins like mysqlnd_mux operate, for the most part, - transparently from a user perspective. The connection multiplexing - plugin supports all PHP applications, and all MySQL PHP extensions. - It does not change existing APIs. Therefore, it can easily be used with - existing PHP applications. - - - - This is a proof-of-concept. All features are at an early stage. Not all - kinds of queries are handled by the plugin yet. Thus, it cannot be used - in a drop-in fashion at the moment. - - - Please, do not use this version in production environments. - - -
- Key Features - - The key features of mysqlnd_mux are as follows: - - - - - - Transparent and therefore easy to use: - - - - - - Supports all of the PHP MySQL extensions. - - - - - Little to no application changes are required, dependent on the required usage scenario. - - - - - - - - - Reduces server load and connection establishment latency: - - - - - - Opens less connections to the MySQL server. - - - - - Less connections to MySQL mean less work for the MySQL server. - In a client-server environment scaling the server is often more - difficult than scaling the client. Multiplexing helps with - horizontal scale-out (scale-by-client). - - - - - Pooling saves connection time. - - - - - Multiplexed connection: multiple user handles share the - same network connection. Once opened, - a network connection is cached and shared among - multiple user handles. There is a 1:n relationship between - internal network connection and user connection handles. - - - - - Persistent connection: a network connection is kept open - at the end of the web request, if the PHP deployment model allows. - Thus, subsequently web requests can reuse a - previously opened connection. Like other resources, network - connections are bound to the scope of a process. Thus, they can - be reused for all web requests served by a process. - - - - - - - - -
- -
- Limitations - - The proof-of-concept does not support unbuffered queries, prepared - statements, and asynchronous queries. - - - The connection pool is using a combination of the transport method and - hostname as keys. As a consequence, two connections to the same - host using the same transport method (TCP/IP, Unix socket, Windows named pipe) - will be linked to the same pooled connection even if username and - password differ. Be aware of the possible security implications. - - - The proof-of-concept is transaction agnostic. It does not know about SQL - transactions. - - - - Applications must be aware of the consequences of connection sharing connections. - - -
- -
- About the name mysqlnd_mux - - The shortcut mysqlnd_mux - stands for mysqlnd connection multiplexing plugin. - -
-
- - &reference.mysqlnd-mux.concepts; - &reference.mysqlnd-mux.setup; - &reference.mysqlnd-mux.constants; - &reference.mysqlnd-mux.changes; - -
- - diff --git a/reference/mysqlnd_mux/changes.xml b/reference/mysqlnd_mux/changes.xml deleted file mode 100644 index 9e09b27a65..0000000000 --- a/reference/mysqlnd_mux/changes.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - Change History - - This change history is a high level summary of selected changes - that may impact applications and/or break backwards compatibility. - - - See also the CHANGES file in the source distribution - for a complete list of changes. - - -
- PECL/mysqlnd_mux 1.0 series - - 1.0.0-pre-alpha - - - - Release date: no package released, initial check-in 09/2012 - - - - - Motto/theme: Proof of concept - - - - - - Initial check-in. Essentially a demo of the - mysqlnd plugin API. - - - - This is the current development series. All - features are at an early stage. Changes may happen at any time without - prior notice. Please, do not use this version in production environments. - - - The documentation may not reflect all changes yet. - - -
- -
- - diff --git a/reference/mysqlnd_mux/concepts.xml b/reference/mysqlnd_mux/concepts.xml deleted file mode 100644 index e2a28a5225..0000000000 --- a/reference/mysqlnd_mux/concepts.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - Concepts - - This explains the architecture and related concepts for this plugin. - Reading and understanding these concepts is required to successfully - use this plugin. - - -
- Architecture - - The mysqlnd connection multiplexing plugin is implemented as a PHP extension. - It is written in C and operates under the hood of PHP. During the - startup of the PHP interpreter, in the module initialization phase of the - PHP engine, it gets registered as a - mysqlnd plugin to replace specific - mysqlnd C methods. - - - The mysqlnd library uses PHP streams to communicate with the MySQL - server. PHP streams are accessed by the mysqlnd library through its net module. - The mysqlnd connection multiplexing plugin proxies methods of the mysqlnd - library net module to control opening and closing of network streams. - - - Upon opening a user connection to MySQL using the appropriate connection - functions of either mysqli, - PDO_MYSQL or - ext/mysql, the plugin will search its - connection pool for an open network connection. If the pool - contains a network connection to the host specified by the connect function - using the transport method requested (TCP/IP, Unix domain socket, Windows named pipe), - the pooled connection is linked to the user handle. Otherwise, a new - network connection is opened, put into the poolm and associated with the - user connection handle. This way, multiple user handles can be linked - to the same network connection. - -
- -
- Connection pool - - The plugins connection pool is created when PHP initializes its modules - (MINIT) and free'd when PHP shuts down the modules - (MSHUTDOWN). This is the same as for persistent MySQL connections. - - - Depending on the deployment model, the pool is used for the duration of one - or multiple web requests. Network connections are bound to the lifespan - of an operating system level process. If the PHP process serves multiple - web requests as it is the case for Fast-CGI or threaded web server deployments, - then the pooled connections can be reused over multiple connections. - Because multiplexing means sharing connections, it can even happen with a - threaded deployment that two threads or two distinct web requests are - linked to one pooled network connections. - - - A pooled connection is explicitly closed once the last reference to it - is released. An implicit close happens when PHP shuts down its modules. - -
- -
- Sharing connections - - The PHP mysqlnd connection multiplexing plugin changes the relationship - between a users connection handle and the underlying MySQL connection. - Without the plugin, every MySQL connection belongs to exactly one - user connection at a time. The multiplexing plugin changes. - A MySQL connection is shared among multiple user handles. - There no one-to-one relation if using the plugin. - - - Sharing pooled connections has an impact on the connection state. - State changing operations from multiple user handles pointing to one - MySQL connection are not isolated from each other. If, for example, - a session variable is set through one user connection handle, - the session variable becomes visible to all other user handles that - reference the same underlying MySQL connection. - - - This is similar in concept to connection state related phenomens - described for the PHP mysqlnd replication and load balancing plugin. - Please, check the - PECL/mysqlnd_ms documentation for - more details on the state of a connection. - - - The proof-of-concept takes no measures to isolate multiplexed - connections from each other. - -
- -
- - \ No newline at end of file diff --git a/reference/mysqlnd_mux/configure.xml b/reference/mysqlnd_mux/configure.xml deleted file mode 100644 index c128e99acb..0000000000 --- a/reference/mysqlnd_mux/configure.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.info; - &url.pecl.package;mysqlnd_mux - - -
- - - diff --git a/reference/mysqlnd_mux/constants.xml b/reference/mysqlnd_mux/constants.xml deleted file mode 100644 index 1ac7ac39cb..0000000000 --- a/reference/mysqlnd_mux/constants.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - - Other - - - The plugins version number can be obtained using - MYSQLND_MUX_VERSION or - MYSQLND_MUX_VERSION_ID. - MYSQLND_MUX_VERSION - is the string representation of the numerical version number - MYSQLND_MUX_VERSION_ID, which is an integer such as 10000. - Developers can calculate the version number as follows. - - - - - - - Version (part) - Example - - - - - Major*10000 - 1*10000 = 10000 - - - Minor*100 - 0*100 = 0 - - - Patch - 0 = 0 - - - MYSQLND_MUX_VERSION_ID - 10000 - - - - - - - - - - MYSQLND_MUX_VERSION - (string) - - - - Plugin version string, for example, 1.0.0-prototype. - - - - - - MYSQLND_MUX_VERSION_ID - (int) - - - - Plugin version number, for example, 10000. - - - - - - - - - diff --git a/reference/mysqlnd_mux/ini.xml b/reference/mysqlnd_mux/ini.xml deleted file mode 100644 index 38e9a89180..0000000000 --- a/reference/mysqlnd_mux/ini.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - Mysqlnd_mux &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mysqlnd_mux.enable - 0 - PHP_INI_SYSTEM - - - - -
-
- - &ini.descriptions.title; - - - - - - - mysqlnd_mux.enable - int - - - - Enables or disables the plugin. If disabled, the extension will not plug - into - mysqlnd to proxy internal - mysqlnd C API calls. - - - - - - -
- - diff --git a/reference/mysqlnd_mux/setup.xml b/reference/mysqlnd_mux/setup.xml deleted file mode 100644 index 367e6e7de4..0000000000 --- a/reference/mysqlnd_mux/setup.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - PHP 5.5.0 or newer. - Some advanced functionality requires PHP 5.5.0 or newer. - - - The mysqlnd_mux replication and load balancing - plugin supports all PHP applications and all available PHP MySQL extensions - (mysqli, - mysql, - PDO_MYSQL). - The PHP MySQL extension must be configured to use - mysqlnd in order to be able - to use the mysqlnd_mux plugin for - mysqlnd. - -
- - &reference.mysqlnd-mux.configure; - &reference.mysqlnd-mux.ini; - -
- - diff --git a/reference/mysqlnd_qc/book.xml b/reference/mysqlnd_qc/book.xml deleted file mode 100644 index bc1b331729..0000000000 --- a/reference/mysqlnd_qc/book.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - Mysqlnd query result cache plugin - mysqlnd_qc - - - &reftitle.intro; - - The mysqlnd query result cache plugin adds easy to use client-side query - caching to all PHP MySQL extensions using - mysqlnd. - - - As of version PHP 5.3.3 the MySQL native driver for PHP ( - mysqlnd) - features an internal plugin C API. C plugins, such as the query cache - plugin, can extend the functionality of - mysqlnd. - - - Mysqlnd plugins such as the query cache plugin operate transparent - from a user perspective. The cache plugin supports all PHP applications - and all PHP MySQL extensions ( - mysqli, - mysql, - PDO_MYSQL). - It does not change existing APIs. - - - No significant application changes are required to cache a query. - The cache has two operation modes. It will either cache all - queries (not recommended) or only those queries marked with a - certain SQL hint (recommended). - - -
- Key Features - - - - - Transparent and therefore easy to use - - - - - - supports all PHP MySQL extensions - - - - - no API changes - - - - - very little application changes required - - - - - - - - - Flexible invalidation strategy - - - - - - Time-to-Live (TTL) - - - - - user-defined - - - - - - - - - Storage with different scope and life-span - - - - - - Default (Hash, process memory) - - - - - APC - - - - - MEMCACHE - - - - - sqlite - - - - - user-defined - - - - - - - - - Built-in slam defense to prevent cache stampeding. - - - - -
- -
- Limitations - - The current 1.0.1 release of PECL mysqlnd_qc does - not support PHP 5.4. Version 1.1.0-alpha lifts this limitation. - - - Prepared statements and unbuffered queries are fully supported. - Thus, the plugin is capable of caching all statements issued - with mysqli or PDO_MySQL, which are - the only two PHP MySQL APIs to offer prepared statement support. - -
- -
- On the name - - The shortcut mysqlnd_qc - stands for mysqlnd query cache plugin. The name - was chosen for a quick-and-dirty proof-of-concept. In the beginning - the developers did not expect to continue using the code base. - Sometimes PECL/mysqlnd_qc has also been called - client-side query result set cache. - -
- -
- - - &reference.mysqlnd-qc.quickstart; - &reference.mysqlnd-qc.setup; - &reference.mysqlnd-qc.constants; - &reference.mysqlnd-qc.reference; - &reference.mysqlnd-qc.changes; - -
- - diff --git a/reference/mysqlnd_qc/changes.xml b/reference/mysqlnd_qc/changes.xml deleted file mode 100644 index e029ce37fb..0000000000 --- a/reference/mysqlnd_qc/changes.xml +++ /dev/null @@ -1,292 +0,0 @@ - - - - - Change History - - This change history is a high level summary of selected changes - that may impact applications and/or break backwards compatibility. - - - See also the CHANGES file in the source distribution - for a complete list of changes. - - -
- PECL/mysqlnd_qc 1.2 series - - 1.2.0 - alpha - - - - Release date: 03/2013 - - - - - Motto/theme: PHP 5.5 compatibility - - - - - - Feature changes - - - - Update build for PHP 5.5 (Credits: Remi Collet) - - - - - APC storage handler update - - - - Fix build for APC 3.1.13-beta and trunk - - - - - - - - Introduced - MYSQLND_QC_VERSION and - MYSQLND_QC_VERSION_ID. - - - - -
- -
- PECL/mysqlnd_qc 1.1 series - - 1.1.0 - stable - - - - Release date: 04/2012 - - - - - Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support - - - - - - 1.1.0 - beta - - - - Release date: 04/2012 - - - - - Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support - - - - - - 1.1.0 - alpha - - - - Release date: 04/2012 - - - - - Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support - - - - - - Feature changes - - - - APC storage handler update - - - - Fix build for APC 3.1.9+ - - - - - Note: Use of the APC storage handler is currently - not recommended due to stability issues of APC itself. - - - - - - - - New PHP configuration directives - - - - - mysqlnd_qc.collect_statistics_log_file. Aggregated - cache statistics log file written after every 10th request served by the - PHP process. - - - - - - mysqlnd_qc.ignore_sql_comments. - Control whether SQL comments are ignored for cache key hash generation. - - - - - - - - New constants and SQL hints - - - - - MYSQLND_QC_SERVER_ID_SWITCH allows grouping of cache entries from - different physical connections. This is needed by PECL/mysqlnd_ms. - - - - - - MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN - to be used with mysqlnd_qc_set_cache_condition. - - - - - - - - New function mysqlnd_qc_set_cache_condition - for built-in schema pattern based caching. Likely to support a wider - range of conditions in the future. - - - - - Report valid_until timestamp for cache entries - of the default handler through mysqlnd_qc_get_cache_info. - - - - - Include charset number for cache entry hashing. This should prevent serving result - sets which have the wrong charset. - - - API change: get_hash_key expects new "charsetnr" (int) parameter after "port". - - - - - API change: changing is_select() signature from bool is_select() to - mixed is_select(). Mixed can be either boolean or - array(long ttl, string server_id). This is needed by PECL/mysqlnd_ms. - - - - - - Other - - - - Support acting as a cache backend for - PECL/mysqlnd_ms 1.3.0-beta or later - to transparently replace MySQL Replication slave reads with cache accesses, - if the user explicitly allows. - - - - - - Bug fixes - - - - Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet) - - - - -
- -
- PECL/mysqlnd_qc 1.0 series - - 1.0.1-stable - - - - Release date: 12/2010 - - - - - Motto/theme: Prepared statement support - - - - - - Added support for Prepared statements and unbuffered queries. - - - 1.0.0-beta - - - - Release date: 07/2010 - - - - - Motto/theme: TTL-based cache with various storage options (Memcache, APC, SQLite, user-defined) - - - - - - Initial public release of the transparent TTL-based query result cache. - Flexible storage of cached results. Various storage media supported. - -
- -
- - diff --git a/reference/mysqlnd_qc/configure.xml b/reference/mysqlnd_qc/configure.xml deleted file mode 100644 index b45aafc395..0000000000 --- a/reference/mysqlnd_qc/configure.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - -
- &reftitle.install; - - &pecl.moved; - - - - &pecl.info; - &url.pecl.package;mysqlnd_qc - - - - &pecl.windows.download; - - -
- - - diff --git a/reference/mysqlnd_qc/constants.xml b/reference/mysqlnd_qc/constants.xml deleted file mode 100644 index d037b938b1..0000000000 --- a/reference/mysqlnd_qc/constants.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - SQL hint related - - - - Using SQL hint constants - - The query cache is controlled by SQL hints. SQL hints are used to enable and - disable caching. SQL hints can be used to set the - TTL of a query. - - - The SQL hints recognized by the query cache can be manually changed at - compile time. This makes it possible to use - mysqlnd_qc in environments in which the default - SQL hints are already taken and interpreted by other systems. Therefore - it is recommended to use the SQL hint string constants instead of - manually adding the default SQL hints to the query string. - - - -]]> - - &examples.outputs; - - - - - - - - - - - - MYSQLND_QC_ENABLE_SWITCH - (string) - - - - SQL hint used to enable caching of a query. - - - - - - MYSQLND_QC_DISABLE_SWITCH - (string) - - - - SQL hint used to disable caching of a query if - mysqlnd_qc.cache_by_default = 1. - - - - - - MYSQLND_QC_TTL_SWITCH - (string) - - - - SQL hint used to set the TTL of a result set. - - - - - - MYSQLND_QC_SERVER_ID_SWITCH - (string) - - - - This SQL hint should not be used in general. - - - It is needed by PECL/mysqlnd_ms - to group cache entries for one statement - but originating from different physical connections. If the - hint is used connection settings such as user, hostname and charset - are not considered for generating a cache key of a query. - Instead the given value and the query string are used as input - to the hashing function that generates the key. - - - PECL/mysqlnd_ms may, if instructed, cache results from - MySQL Replication slaves. Because it can hold many connections - to the slave the cache key shall not be formed from the user, - hostname or other settings that may vary for the various slave - connections. Instead, PECL/mysqlnd_ms provides an identifier - which refers to the group of slave connections that shall be enabled - to share cache entries no matter which physical slave connection was - to generate the cache entry. - - - Use of this feature outside of PECL/mysqlnd_ms is not recommended. - - - - - - - mysqlnd_qc_set_cache_condition related - - - - Example <function>mysqlnd_qc_set_cache_condition</function> usage - - The function mysqlnd_qc_set_cache_condition allows setting conditions - for automatic caching of statements which don't begin with the SQL hints - necessary to manually enable caching. - - -query("SELECT id, title FROM news"); - -$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password"); -/* not cached: no SQL hint, no pattern match */ -$pdo_mysql->query("SELECT id, title FROM latest_news"); -/* cached: TTL 1 second, pattern match */ -$pdo_mysql->query("SELECT id, title FROM news"); -?> -]]> - - - - - - - - MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN - (int) - - - - Used as a parameter of mysqlnd_qc_set_cache_condition - to set conditions for schema based automatic caching. - - - - - - - Other - - - The plugin version number can be obtained using either - MYSQLND_QC_VERSION, which is the string representation - of the numerical version number, or MYSQLND_QC_VERSION_ID, - which is an integer such as 10000. Developers can calculate the version number - as follows. - - - - - - - Version (part) - Example - - - - - Major*10000 - 1*10000 = 10000 - - - Minor*100 - 0*100 = 0 - - - Patch - 0 = 0 - - - MYSQLND_QC_VERSION_ID - 10000 - - - - - - - - - - MYSQLND_QC_VERSION - (string) - - - - Plugin version string, for example, 1.0.0-prototype. - - - - - - - - - - MYSQLND_QC_VERSION_ID - (int) - - - - Plugin version number, for example, 10000. - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-clear-cache.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-clear-cache.xml deleted file mode 100644 index 0e75b00d72..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-clear-cache.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - mysqlnd_qc_clear_cache - Flush all cache contents - - - - &reftitle.description; - - bool - mysqlnd_qc_clear_cache - - - - 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. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.success; - - - A return value of - &false; - indicates that flushing all cache contents has - failed or the operation is not supported by - the active storage handler. Applications must - not expect that calling the function will always - flush the cache. - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-available-handlers.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-get-available-handlers.xml deleted file mode 100644 index 12ce1fe996..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-available-handlers.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - mysqlnd_qc_get_available_handlers - Returns a list of available storage handler - - - - &reftitle.description; - - array - 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. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns an array of available built-in storage handler. - For each storage handler the version number and version string - is given. - - - - - &reftitle.examples; - - <function>mysqlnd_qc_get_available_handlers</function> example - - -]]> - - &examples.outputs; - - - array(2) { - ["version"]=> - string(5) "1.0.0" - ["version_number"]=> - int(100000) - } - ["user"]=> - array(2) { - ["version"]=> - string(5) "1.0.0" - ["version_number"]=> - int(100000) - } - ["APC"]=> - array(2) { - ["version"]=> - string(5) "1.0.0" - ["version_number"]=> - int(100000) - } - ["MEMCACHE"]=> - array(2) { - ["version"]=> - string(5) "1.0.0" - ["version_number"]=> - int(100000) - } - ["sqlite"]=> - array(2) { - ["version"]=> - string(5) "1.0.0" - ["version_number"]=> - int(100000) - } -} -]]> - - - - - - - &reftitle.seealso; - - - - Installation - - - mysqlnd_qc_set_storage_handler - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-cache-info.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-get-cache-info.xml deleted file mode 100644 index 5d59dbaa95..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-cache-info.xml +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - mysqlnd_qc_get_cache_info - Returns information on the current handler, the number of cache entries and cache entries, if available - - - - &reftitle.description; - - array - mysqlnd_qc_get_cache_info - - - - - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Returns information on the current handler, the number of cache entries and - cache entries, if available. If and what data will be returned for the cache - entries is subject to the active storage handler. - Storage handler are free to return any data. Storage handler are - recommended to return at least the data provided by the default handler, - if technically possible. - - - The scope of the information is the PHP process. Depending on the PHP deployment - model a process may serve one or more web requests. - - - Values are aggregated for all cache activities on a per storage handler basis. - It is not possible to tell how much queries originating from - mysqli, PDO_MySQL or - mysql.API calls have contributed to the aggregated data values. Use - mysqlnd_qc_get_core_stats - to get timing data aggregated for all storage handlers. - - - Array of cache information - - - - - - handler - string - - - - The active storage handler. - - - All storage handler. Since 1.0.0. - - - - - - handler_version - string - - - - The version of the active storage handler. - - - All storage handler. Since 1.0.0. - - - - - - num_entries - int - - - - The number of cache entries. The value depends on the storage handler in use. - - - The default, APC and SQLite storage handler provide the actual - number of cache entries. - - - The MEMCACHE storage handler always returns 0. - MEMCACHE does not support counting the number of cache entries. - - - If a user defined handler is used, the number of - entries of the data property is reported. - - - Since 1.0.0. - - - - - - data - array - - - - The version of the active storage handler. - - - Additional storage handler dependent data on the cache entries. - Storage handler are requested to provide similar and comparable - information. A user defined storage handler is free to return any data. - - - Since 1.0.0. - - - The following information is provided by the default storage handler - for the data property. - - - The data - property holds a hash. The hash is indexed by the internal - cache entry identifier of the storage handler. The cache entry identifier - is human-readable and contains the query string leading to the cache entry. - Please, see also the example below. The following data is given for - every cache entry. - - - - - - statistics - array - - - - Statistics of the cache entry. - - - Since 1.0.0. - - - - - - - - - Property - Description - Version - - - - - - rows - - - Number of rows of the cached result set. - - Since 1.0.0. - - - - stored_size - - - The size of the cached result set in bytes. This is the size - of the payload. The value is not suited for calculating the - total memory consumption of all cache entries including the - administrative overhead of the cache entries. - - Since 1.0.0. - - - - cache_hits - - - How often the cached entry has been returned. - - Since 1.0.0. - - - - run_time - - - Run time of the statement to which the cache entry belongs. - This is the run time of the uncached statement. It is the time - between sending the statement to MySQL receiving a reply from MySQL. - Run time saved by using the query cache plugin can be calculated - like this: cache_hits * ((run_time - avg_run_time) + (store_time - avg_store_time)). - - Since 1.0.0. - - - - store_time - - - Store time of the statements result set to which the cache entry belongs. - This is the time it took to fetch and store the results of the uncached - statement. - - Since 1.0.0. - - - - min_run_time - - - Minimum run time of the cached statement. How long it took - to find the statement in the cache. - - Since 1.0.0. - - - - min_store_time - - - Minimum store time of the cached statement. The time taken - for fetching the cached result set from the storage medium and - decoding - - Since 1.0.0. - - - - avg_run_time - - - Average run time of the cached statement. - - Since 1.0.0. - - - - avg_store_time - - - Average store time of the cached statement. - - Since 1.0.0. - - - - max_run_time - - - Average run time of the cached statement. - - Since 1.0.0. - - - - max_store_time - - - Average store time of the cached statement. - - Since 1.0.0. - - - - valid_until - - - Timestamp when the cache entry expires. - - Since 1.1.0. - - - - - - - - - metadata - array - - - - Metadata of the cache entry. - This is the metadata provided by MySQL together with the - result set of the statement in question. Different versions - of the MySQL server may return different metadata. Unlike with - some of the PHP MySQL extensions no attempt is made to hide - MySQL server version dependencies and version details from the - caller. Please, refer to the MySQL C API documentation that - belongs to the MySQL server in use for further details. - - - The metadata list contains one entry for every column. - - - Since 1.0.0. - - - - - - - - - Property - Description - Version - - - - - - name - - - The field name. Depending on the MySQL version this - may be the fields alias name. - - Since 1.0.0. - - - - org_name - - - The field name. - - Since 1.0.0. - - - - table - - - The table name. If an alias name was used for the table, this - usually holds the alias name. - - Since 1.0.0. - - - - org_table - - - The table name. - - Since 1.0.0. - - - - db - - - The database/schema name. - - Since 1.0.0. - - - - max_length - - - The maximum width of the field. Details may vary by MySQL server version. - - Since 1.0.0. - - - - length - - - The width of the field. Details may vary by MySQL server version. - - Since 1.0.0. - - - - type - - - The data type of the field. Details may vary by the MySQL server in use. - This is the MySQL C API type constants value. It is recommended - to use type constants provided by the mysqli extension - to test for its meaning. You should not test for certain type values - by comparing with certain numbers. - - Since 1.0.0. - - - - - - - - - - The APC storage handler returns the same information - for the data property but no metadata. - The metadata of a cache entry is set to NULL. - - - The MEMCACHE storage handler does not fill the data property. - Statistics are not available on a per cache entry basis with the MEMCACHE storage - handler. - - - A user defined storage handler is free to provide any data. - - - - - - - - - &reftitle.examples; - - <function>mysqlnd_qc_get_cache_info</function> example - - The example shows the output from the built-in default storage handler. - Other storage handler may report different data. - - -query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test"); - -/* Display cache information */ -var_dump(mysqlnd_qc_get_cache_info()); -?> -]]> - - &examples.outputs; - - - int(1) - ["handler"]=> - string(7) "default" - ["handler_version"]=> - string(5) "1.0.0" - ["data"]=> - array(1) { - ["Localhost via UNIX socket 3306 user schema|/*qc=on*/SELECT id FROM test"]=> - array(2) { - ["statistics"]=> - array(11) { - ["rows"]=> - int(6) - ["stored_size"]=> - int(101) - ["cache_hits"]=> - int(0) - ["run_time"]=> - int(471) - ["store_time"]=> - int(27) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - ["avg_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - } - ["metadata"]=> - array(1) { - [0]=> - array(8) { - ["name"]=> - string(2) "id" - ["orig_name"]=> - string(2) "id" - ["table"]=> - string(4) "test" - ["orig_table"]=> - string(4) "test" - ["db"]=> - string(4) "schema" - ["max_length"]=> - int(1) - ["length"]=> - int(11) - ["type"]=> - int(3) - } - } - } - } -} - -]]> - - - - - - &reftitle.seealso; - - - - mysqlnd_qc_get_core_stats - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-core-stats.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-get-core-stats.xml deleted file mode 100644 index 997505761d..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-core-stats.xml +++ /dev/null @@ -1,512 +0,0 @@ - - - - - - mysqlnd_qc_get_core_stats - Statistics collected by the core of the query cache - - - - &reftitle.description; - - array - mysqlnd_qc_get_core_stats - - - - Returns an array of statistics collected by the core of the cache plugin. - The same data fields will be reported for any storage handler because the - data is collected by the core. - - - The - PHP configuration setting - mysqlnd_qc.collect_statistics - controls the collection of statistics. The collection of statistics - is disabled by default for performance reasons. - Disabling the collection of statistics will also disable the collection - of time related statistics. - - - The - PHP configuration setting - mysqlnd_qc.collect_time_statistics controls the - collection of time related statistics. - - - The scope of the core statistics is the - PHP process. - Depending on your deployment model a - PHP process may handle one or multiple requests. - - - Statistics are aggregated for all cache entries and all storage handler. - It is not possible - to tell how much queries originating from - mysqli, - PDO_MySQL or - mysql API calls have - contributed to the aggregated data values. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - Array of core statistics - - - - - - - - - Statistic - Description - Version - - - - - - cache_hit - - - Statement is considered cacheable and cached data has been reused. - Statement is considered cacheable and a cache miss happened but - the statement got cached by someone else while we process it and thus - we can fetch the result from the refreshed cache. - - Since 1.0.0. - - - - cache_miss - - - Statement is considered cacheable... - - - - ... and has been added to the cache - - - - - ... but the - PHP - configuration directive setting of - mysqlnd_qc.cache_no_table = 1 has prevented caching. - - - - - ... but an unbuffered result set is requested. - - - - - ... but a buffered result set was empty. - - - - - Since 1.0.0. - - - - cache_put - - - Statement is considered cacheable and has been added to the cache. - Take care when calculating derived statistics. Storage handler - with a storage life time beyond process scope may report - cache_put = 0 together with - cache_hit > 0, if another process has filled - the cache. You may want to use - num_entries from - mysqlnd_qc_get_cache_info if the handler - supports it ( - default, - APC). - - Since 1.0.0. - - - - query_should_cache - - - Statement is considered cacheable based on query string analysis. - The statement may or may not be added to the cache. See also - cache_put. - - Since 1.0.0. - - - - query_should_not_cache - - - Statement is considered not cacheable based on query string analysis. - - Since 1.0.0. - - - - query_not_cached - - - Statement is considered not cacheable or it is - considered cachable but the storage handler has not returned a - hash key for it. - - Since 1.0.0. - - - - query_could_cache - - - Statement is considered cacheable... - - - - ... and statement has been run without errors - - - - - ... and meta data shows at least one column in the result set - - - - The statement may or may not be in the cache already. - It may or may not be added to the cache later on. - - Since 1.0.0. - - - - query_found_in_cache - - - Statement is considered cacheable and we have found it in the cache - but we have not replayed the cached data yet and we have not send - the result set to the client yet. This is not considered - a cache hit because the client might not fetch the result or - the cached data may be faulty. - - Since 1.0.0. - - - - query_uncached_other - - - Statement is considered cacheable and it may or may not be in - the cache already but either replaying cached data has failed, - no result set is available or some other error has happened. - - - - - query_uncached_no_table - - - Statement has not been cached because the result set has at least - one column which has no table name in its meta data. An example of - such a query is - SELECT SLEEP(1). To cache those - statements you have to change default value of the PHP configuration directive - mysqlnd_qc.cache_no_table and set - mysqlnd_qc.cache_no_table = 1. Often, it is not - desired to cache such statements. - - Since 1.0.0. - - - - query_uncached_use_result - - - Statement would have been cached if a buffered result set - had been used. The situation is also considered as a cache miss and - cache_miss will be incremented as well. - - Since 1.0.0. - - - - query_aggr_run_time_cache_hit - - - Aggregated run time (ms) of all cached queries. - Cached queries are those which have incremented - cache_hit. - - Since 1.0.0. - - - - query_aggr_run_time_cache_put - - - Aggregated run time (ms) of all uncached queries that - have been put into the cache. See also - cache_put. - - Since 1.0.0. - - - - query_aggr_run_time_total - - - Aggregated run time (ms) of all uncached and cached queries - that have been inspected and executed by the query cache. - - Since 1.0.0. - - - - query_aggr_store_time_cache_hit - - - Aggregated store time (ms) of all cached queries. - Cached queries are those which have incremented - cache_hit. - - Since 1.0.0. - - - - query_aggr_store_time_cache_put - - - Aggregated store time ( - ms) of all uncached queries that - have been put into the cache. See also - cache_put. - - Since 1.0.0. - - - - query_aggr_store_time_total - - - Aggregated store time (ms) of all uncached and cached queries - that have been inspected and executed by the query cache. - - Since 1.0.0. - - - - receive_bytes_recorded - - - Recorded incoming network traffic ( - bytes) send from MySQL to PHP. - The traffic may or may not have been added to the cache. The - traffic is the total for all queries regardless if cached or not. - - Since 1.0.0. - - - - receive_bytes_replayed - - - Network traffic replayed during cache. This is the total amount of - incoming traffic saved because of the usage of the query cache plugin. - - Since 1.0.0. - - - - send_bytes_recorded - - - Recorded outgoing network traffic ( - bytes) send from MySQL to PHP. - The traffic may or may not have been added to the cache. The - traffic is the total for all queries regardless if cached or not. - - Since 1.0.0. - - - - send_bytes_replayed - - - Network traffic replayed during cache. This is the total amount of - outgoing traffic saved because of the usage of the query cache plugin. - - Since 1.0.0. - - - - slam_stale_refresh - - - Number of cache misses which triggered serving stale data until - the client causing the cache miss has refreshed the cache entry. - - Since 1.0.0. - - - - slam_stale_hit - - - Number of cache hits while a stale cache entry gets refreshed. - - Since 1.0.0. - - - - - - - - - &reftitle.examples; - - <function>mysqlnd_qc_get_core_stats</function> example - -query("/*qc=on*/SELECT id FROM test"); -/* Cache hit */ -$mysqli->query("/*qc=on*/SELECT id FROM test"); - -/* Display core statistics */ -var_dump(mysqlnd_qc_get_core_stats()); -?> -]]> - - &examples.outputs; - - - string(1) "1" - ["cache_miss"]=> - string(1) "1" - ["cache_put"]=> - string(1) "1" - ["query_should_cache"]=> - string(1) "2" - ["query_should_not_cache"]=> - string(1) "0" - ["query_not_cached"]=> - string(1) "0" - ["query_could_cache"]=> - string(1) "2" - ["query_found_in_cache"]=> - string(1) "1" - ["query_uncached_other"]=> - string(1) "0" - ["query_uncached_no_table"]=> - string(1) "0" - ["query_uncached_no_result"]=> - string(1) "0" - ["query_uncached_use_result"]=> - string(1) "0" - ["query_aggr_run_time_cache_hit"]=> - string(1) "4" - ["query_aggr_run_time_cache_put"]=> - string(3) "395" - ["query_aggr_run_time_total"]=> - string(3) "399" - ["query_aggr_store_time_cache_hit"]=> - string(1) "2" - ["query_aggr_store_time_cache_put"]=> - string(1) "8" - ["query_aggr_store_time_total"]=> - string(2) "10" - ["receive_bytes_recorded"]=> - string(2) "65" - ["receive_bytes_replayed"]=> - string(2) "65" - ["send_bytes_recorded"]=> - string(2) "29" - ["send_bytes_replayed"]=> - string(2) "29" - ["slam_stale_refresh"]=> - string(1) "0" - ["slam_stale_hit"]=> - string(1) "0" - ["request_counter"]=> - int(1) - ["process_hash"]=> - int(3547549858) -} - -]]> - - - - - - - &reftitle.seealso; - - - - Runtime configuration - - - mysqlnd_qc.collect_statistics - - - mysqlnd_qc.time_statistics - - - mysqlnd_qc_get_cache_info - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-normalized-query-trace-log.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-get-normalized-query-trace-log.xml deleted file mode 100644 index 204cd6d945..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-normalized-query-trace-log.xml +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - mysqlnd_qc_get_normalized_query_trace_log - Returns a normalized query trace log for each query inspected by the query cache - - - - &reftitle.description; - - array - mysqlnd_qc_get_normalized_query_trace_log - - - - Returns a normalized query trace log for each query inspected by the query cache. - The collection of the trace log is disabled by default. To collect - the trace log you have to set the PHP configuration directive - mysqlnd_qc.collect_normalized_query_trace to - 1 - - - Entries in the trace log are grouped by the normalized query statement. - The normalized query statement is the query statement with all statement - parameter values being replaced with a question mark. For example, the two - statements SELECT id FROM test WHERE id = 1 and - SELECT id FROM test WHERE id = 2 are normalized as - SELECT id FROM test WHERE id = ?. Whenever a statement - is inspected by the query cache which matches the normalized statement pattern, - its statistics are grouped by the normalized statement string. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - An array of query log. Every list entry contains - the normalized query stringand further detail information. - - - - - - - - - Key - Description - - - - - - query - - - Normalized statement string. - - - - - occurences - - - How many statements have matched the normalized statement - string in addition to the one which has created the log entry. - The value is zero if a statement has been normalized, its normalized - representation has been added to the log but no further queries inspected - by PECL/mysqlnd_qc have the same normalized statement string. - - - - - eligible_for_caching - - - Whether the statement could be cached. An statement eligible for - caching has not necessarily been cached. It not possible to tell - for sure if or how many cached statement have contributed to the - aggregated normalized statement log entry. However, comparing - the minimum and average run time one can make an educated guess. - - - - - avg_run_time - - - The average run time of all queries contributing to the - query log entry. The run time is the time between sending the - query statement to MySQL and receiving an answer from MySQL. - - - - - avg_store_time - - - The average store time of all queries contributing to the - query log entry. The store time is the time needed to fetch - a statements result set from the server to the client and, - storing it on the client. - - - - - min_run_time - - - The minimum run time of all queries contributing to the - query log entry. - - - - - min_store_time - - - The minimum store time of all queries contributing to the - query log entry. - - - - - max_run_time - - - The maximum run time of all queries contributing to the - query log entry. - - - - - max_store_time - - - The maximum store time of all queries contributing to the - query log entry. - - - - - - - - - - &reftitle.examples; - - <function>mysqlnd_qc_get_normalized_query_trace_log</function> example - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -/* not cached */ -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* cache put */ -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* cache hit */ -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2"); -var_dump($res->fetch_assoc()); -$res->free(); - -var_dump(mysqlnd_qc_get_normalized_query_trace_log()); -?> -]]> - - &examples.outputs; - - - string(1) "1" -} -array(1) { - ["id"]=> - string(1) "2" -} -array(1) { - ["id"]=> - string(1) "2" -} -array(4) { - [0]=> - array(9) { - ["query"]=> - string(25) "DROP TABLE IF EXISTS test" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [1]=> - array(9) { - ["query"]=> - string(27) "CREATE TABLE test (id INT )" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [2]=> - array(9) { - ["query"]=> - string(40) "INSERT INTO test (id ) VALUES (? ), (? )" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [3]=> - array(9) { - ["query"]=> - string(31) "SELECT id FROM test WHERE id =?" - ["occurences"]=> - int(2) - ["eligible_for_caching"]=> - bool(true) - ["avg_run_time"]=> - int(159) - ["min_run_time"]=> - int(12) - ["max_run_time"]=> - int(307) - ["avg_store_time"]=> - int(10) - ["min_store_time"]=> - int(8) - ["max_store_time"]=> - int(13) - } -} -]]> - - - - - - - &reftitle.seealso; - - - - Runtime configuration - - - mysqlnd_qc.collect_normalized_query_trace - - - mysqlnd_qc.time_statistics - - - mysqlnd_qc_get_query_trace_log - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-query-trace-log.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-get-query-trace-log.xml deleted file mode 100644 index 14d656d85b..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-get-query-trace-log.xml +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - mysqlnd_qc_get_query_trace_log - Returns a backtrace for each query inspected by the query cache - - - - &reftitle.description; - - array - mysqlnd_qc_get_query_trace_log - - - - Returns a backtrace for each query inspected by the query cache. - The collection of the backtrace is disabled by default. To collect - the backtrace you have to set the PHP configuration directive - mysqlnd_qc.collect_query_trace to - 1 - - - The maximum depth of the backtrace is limited to the depth set - with the PHP configuration directive - mysqlnd_qc.query_trace_bt_depth. - - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - An array of query backtrace. Every list entry contains - the query string, a backtrace and further detail information. - - - - - - - - - Key - Description - - - - - - query - - - Query string. - - - - - origin - - - Code backtrace. - - - - - run_time - - - Query run time in milliseconds. The collection of - all times and the necessary - gettimeofday - system calls can be disabled by setting the PHP configuration - directive - mysqlnd_qc.time_statistics to - 0 - - - - - store_time - - - Query result set store time in milliseconds. The collection of - all times and the necessary - gettimeofday - system calls can be disabled by setting the PHP configuration - directive - mysqlnd_qc.time_statistics to - 0 - - - - - eligible_for_caching - - - &true; if query is cacheable otherwise - &false;. - - - - - no_table - - - &true; if the query has generated a result - set and at least one column from the result set has no table - name set in its metadata. This is usually the case with - queries which one probably do not want to cache such as - SELECT SLEEP(1). By default any such query - will not be added to the cache. See also PHP configuration directive - mysqlnd_qc.cache_no_table. - - - - - was_added - - - &true; if the query result has been put into - the cache, otherwise - &false;. - - - - - was_already_in_cache - - - &true; if the query result would have been - added to the cache if it was not already in the cache (cache hit). - Otherwise - &false;. - - - - - - - - - - - &reftitle.examples; - - <function>mysqlnd_qc_get_query_trace_log</function> example - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -/* not cached */ -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* cache put */ -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* cache hit */ -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 2"); -var_dump($res->fetch_assoc()); -$res->free(); - -var_dump(mysqlnd_qc_get_query_trace_log()); -?> -]]> - - &examples.outputs; - - - string(1) "1" -} -array(1) { - ["id"]=> - string(1) "2" -} -array(1) { - ["id"]=> - string(1) "2" -} -array(6) { - [0]=> - array(8) { - ["query"]=> - string(25) "DROP TABLE IF EXISTS test" - ["origin"]=> - string(102) "#0 qc.php(4): mysqli->query('DROP TABLE IF E...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } - [1]=> - array(8) { - ["query"]=> - string(25) "CREATE TABLE test(id INT)" - ["origin"]=> - string(102) "#0 qc.php(5): mysqli->query('CREATE TABLE te...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } - [2]=> - array(8) { - ["query"]=> - string(36) "INSERT INTO test(id) VALUES (1), (2)" - ["origin"]=> - string(102) "#0 qc.php(6): mysqli->query('INSERT INTO tes...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } - [3]=> - array(8) { - ["query"]=> - string(32) "SELECT id FROM test WHERE id = 1" - ["origin"]=> - string(102) "#0 qc.php(9): mysqli->query('SELECT id FROM ...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(25) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } - [4]=> - array(8) { - ["query"]=> - string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2" - ["origin"]=> - string(103) "#0 qc.php(14): mysqli->query('/*qc=on*/SELECT...') -#1 {main}" - ["run_time"]=> - int(311) - ["store_time"]=> - int(13) - ["eligible_for_caching"]=> - bool(true) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(true) - ["was_already_in_cache"]=> - bool(false) - } - [5]=> - array(8) { - ["query"]=> - string(41) "/*qc=on*/SELECT id FROM test WHERE id = 2" - ["origin"]=> - string(103) "#0 qc.php(19): mysqli->query('/*qc=on*/SELECT...') -#1 {main}" - ["run_time"]=> - int(13) - ["store_time"]=> - int(8) - ["eligible_for_caching"]=> - bool(true) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(true) - } -} -]]> - - - - - - - &reftitle.seealso; - - - - Runtime configuration - - - mysqlnd_qc.collect_query_trace - - - mysqlnd_qc.query_trace_bt_depth - - - mysqlnd_qc.time_statistics - - - mysqlnd_qc.cache_no_table - - - mysqlnd_qc_get_normalized_query_trace_log - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-cache-condition.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-set-cache-condition.xml deleted file mode 100644 index 3bccea835a..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-cache-condition.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - mysqlnd_qc_set_cache_condition - Set conditions for automatic caching - - - - &reftitle.description; - - bool - mysqlnd_qc_set_cache_condition - - int - condition_type - - - mixed - condition - - - mixed - condition_option - - - - Sets a condition for automatic caching of statements which do not contain - the necessary SQL hints to enable caching of them. - - - - - &reftitle.parameters; - - - - condition_type - - - - Type of the condition. The only allowed value is - MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN. - - - - - - condition - - - - Parameter for the condition set with condition_type. - Parameter type and structure depend on condition_type - - - If condition_type equals - MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN - condition must be a string. The string sets a pattern. - Statements are cached if table and database meta data entry of their result sets - match the pattern. The pattern is checked for a match with the - db and org_table meta data entries - provided by the underlying MySQL client server library. Please, check - the MySQL Reference manual for details about the two entries. The - db and org_table values are - concatenated with a dot (.) before matched - against condition. Pattern matching supports - the wildcards % and _. - The wildcard % will match one or many arbitrary - characters. _ will match one arbitrary character. - The escape symbol is backslash. - - - - - - condition_option - - - - Option for condition. Type and structure depend - on condition_type. - - - If condition_type equals - MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN - condition_options is the TTL to be used. - - - - - - - - &reftitle.examples; - - <function>mysqlnd_qc_set_cache_condition</function> example - -query("SELECT id, title FROM news"); - -$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password"); -/* not cached: no SQL hint, no pattern match */ -$pdo_mysql->query("SELECT id, title FROM latest_news"); -/* cached: TTL 1 second, pattern match */ -$pdo_mysql->query("SELECT id, title FROM news"); -?> -]]> - - - - - - &reftitle.returnvalues; - - Returns TRUE on success or FALSE on FAILURE. - - - - - &reftitle.seealso; - - - - Quickstart: pattern based caching - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-is-select.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-set-is-select.xml deleted file mode 100644 index 05abe97392..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-is-select.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - mysqlnd_qc_set_is_select - Installs a callback which decides whether a statement is cached - - - - &reftitle.description; - - mixed - mysqlnd_qc_set_is_select - - string - callback - - - - 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. - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - &return.success; - - - - - &reftitle.examples; - - <function>mysqlnd_qc_set_is_select</function> example - - true, - /* 3 - use TTL = 3 seconds */ - "@SELECT\s+.*\s+FROM\s+news@ismU" => 3 - ); - /* check if query does match pattern */ - foreach ($patterns as $pattern => $ttl) { - if (preg_match($pattern, $query)) { - printf("is_select(%45s): cache\n", $query); - return $ttl; - } - } - printf("is_select(%45s): do not cache\n", $query); - return false; -} -mysqlnd_qc_set_is_select("is_select"); - -/* Connect, create and populate test table */ -$mysqli = new mysqli("host", "user", "password", "schema"); -$mysqli->query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* cache put */ -$mysqli->query("SELECT id FROM test WHERE id = 1"); -/* cache hit */ -$mysqli->query("SELECT id FROM test WHERE id = 1"); -/* cache put */ -$mysqli->query("SELECT * FROM test"); -?> -]]> - - &examples.outputs; - - - - - - - - &reftitle.seealso; - - - - Runtime configuration - - - mysqlnd_qc.ttl - - - mysqlnd_qc.cache_by_default - - - mysqlnd_qc_set_user_handlers - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-storage-handler.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-set-storage-handler.xml deleted file mode 100644 index 341fe4fb3c..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-storage-handler.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - mysqlnd_qc_set_storage_handler - Change current storage handler - - - - &reftitle.description; - - bool - mysqlnd_qc_set_storage_handler - - string - handler - - - - 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. - - - - - - &reftitle.parameters; - - - - 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. - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - If changing the storage handler fails a catchable fatal error will - be thrown. The query cache cannot operate if the previous storage - handler has been shutdown but no new storage handler has been installed. - - - - - &reftitle.examples; - - <function>mysqlnd_qc_set_storage_handler</function> example - - The example shows the output from the built-in default storage handler. - Other storage handler may report different data. - - - -]]> - - &examples.outputs; - - - - - - - - - &reftitle.seealso; - - - - Installation - - - mysqlnd_qc_get_available_handlers - - - - - - - - - diff --git a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-user-handlers.xml b/reference/mysqlnd_qc/functions/mysqlnd-qc-set-user-handlers.xml deleted file mode 100644 index 59f4b2af2e..0000000000 --- a/reference/mysqlnd_qc/functions/mysqlnd-qc-set-user-handlers.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - mysqlnd_qc_set_user_handlers - Sets the callback functions for a user-defined procedural storage handler - - - - &reftitle.description; - - bool - mysqlnd_qc_set_user_handlers - - string - get_hash - - - string - find_query_in_cache - - - string - return_to_cache - - - string - add_query_to_cache_if_not_exists - - - string - query_is_select - - - string - update_query_run_time_stats - - - string - get_stats - - - string - clear_cache - - - - Sets the callback functions for a user-defined procedural storage handler. - - - - - - - - &reftitle.parameters; - - - - get_hash - - - - Name of the user function implementing the storage handler - get_hash functionality. - - - - - - find_query_in_cache - - - - Name of the user function implementing the storage handler - find_in_cache functionality. - - - - - - return_to_cache - - - - Name of the user function implementing the storage handler - return_to_cache functionality. - - - - - - add_query_to_cache_if_not_exists - - - - Name of the user function implementing the storage handler - add_query_to_cache_if_not_exists functionality. - - - - - - query_is_select - - - - Name of the user function implementing the storage handler - query_is_select functionality. - - - - - - update_query_run_time_stats - - - - Name of the user function implementing the storage handler - update_query_run_time_stats functionality. - - - - - - get_stats - - - - Name of the user function implementing the storage handler - get_stats functionality. - - - - - - clear_cache - - - - Name of the user function implementing the storage handler - clear_cache functionality. - - - - - - - - &reftitle.returnvalues; - - Returns TRUE on success or FALSE on FAILURE. - - - - - &reftitle.seealso; - - - - Procedural user-defined storage handler example - - - - - - - - diff --git a/reference/mysqlnd_qc/ini.xml b/reference/mysqlnd_qc/ini.xml deleted file mode 100644 index 3a14ce54a8..0000000000 --- a/reference/mysqlnd_qc/ini.xml +++ /dev/null @@ -1,443 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - mysqlnd_qc &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mysqlnd_qc.enable_qc - 1 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.ttl - 30 - PHP_INI_ALL - - - - - mysqlnd_qc.cache_by_default - 0 - PHP_INI_ALL - - - - - mysqlnd_qc.cache_no_table - 0 - PHP_INI_ALL - - - - - mysqlnd_qc.use_request_time - 0 - PHP_INI_ALL - - - - - mysqlnd_qc.time_statistics - 1 - PHP_INI_ALL - - - - - mysqlnd_qc.collect_statistics - 0 - PHP_INI_ALL - - - - - mysqlnd_qc.collect_statistics_log_file - /tmp/mysqlnd_qc.stats - PHP_INI_SYSTEM - - - - - mysqlnd_qc.collect_query_trace - 0 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.query_trace_bt_depth - 3 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.collect_normalized_query_trace - 0 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.ignore_sql_comments - 1 - PHP_INI_ALL - - - - - mysqlnd_qc.slam_defense - 0 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.slam_defense_ttl - 30 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.std_data_copy - 0 - PHP_INI_SYSTEM - - - - - mysqlnd_qc.apc_prefix - qc_ - PHP_INI_ALL - - - - - mysqlnd_qc.memc_server - 127.0.0.1 - PHP_INI_ALL - - - - - mysqlnd_qc.memc_port - 11211 - PHP_INI_ALL - - - - - mysqlnd_qc.sqlite_data_file - :memory: - PHP_INI_ALL - - - - - -
-
- - &ini.descriptions.title; - - - - - - mysqlnd_qc.enable_qc - int - - - - Enables or disables the plugin. If disabled the extension will not plug - into - mysqlnd to proxy internal - mysqlnd C API calls. - - - - - - mysqlnd_qc.ttl - int - - - - Default Time-to-Live (TTL) for cache entries in seconds. - - - - - - mysqlnd_qc.cache_by_default - int - - - - Cache all queries regardless if they begin with the SQL hint that - enables caching of a query or not. Storage handler cannot overrule - the setting. It is evaluated by the core of the plugin. - - - - - - mysqlnd_qc.cache_no_table - int - - - - Whether to cache queries with no table name in any of columns meta data - of their result set, for example, - SELECT SLEEP(1), SELECT NOW(), - SELECT SUBSTRING(). - - - - - - mysqlnd_qc.use_request_time - int - - - - Use PHP global request time to avoid - gettimeofday() system calls? - If using - APC storage handler - it should be set to the value of - apc.use_request_time, if not - warnings will be generated. - - - - - - mysqlnd_qc.time_statistics - int - - - - Collect run time and store time statistics using - gettimeofday() system call? Data will be - collected only if you also set - mysqlnd_qc.collect_statistics = 1, - - - - - - mysqlnd_qc.collect_statistics - int - - - - Collect statistics for - mysqlnd_qc_get_core_stats? - Does not influence storage handler statistics! Handler statistics - can be an integral part of the handler internal storage format. - Therefore, collection of some handler statistics cannot be disabled. - - - - - - mysqlnd_qc.collect_statistics-log-file - int - - - - If mysqlnd_qc.collect_statistics and - mysqlnd_qc.collect_statistics_log_file - are set, the plugin will dump statistics into the specified - log file at every 10th web request during PHP request shutdown. - The log file needs to be writable by the web server user. - - - Since 1.1.0. - - - - - - mysqlnd_qc.collect_query_trace - int - - - - Collect query back traces? - - - - - - mysqlnd_qc.query_trace_bt_depth - int - - - - Maximum depth/level of a query code backtrace. - - - - - - mysqlnd_qc.ignore_sql_comments - int - - - - Whether to remove SQL comments from a query string before - hashing it to generate a cache key. Disable if you do not want - two statemts such as SELECT /*my_source_ip=123*/ id FROM test - and SELECT /*my_source_ip=456*/ id FROM test to refer - to the same cache entry. - - - Since 1.1.0. - - - - - - mysqlnd_qc.slam_defense - int - - - - Activates handler based slam defense (cache stampeding protection) if available. - Supported by - Default and - APC storage handler - - - - - - mysqlnd_qc.slam_defense_ttl - int - - - - TTL for stale cache entries which are - served while another client updates the entries. Supported by - APC storage handler. - - - - - - mysqlnd_qc.collect_normalized_query_trace - int - - - - Collect aggregated normalized query traces? The setting - has no effect by default. You compile the extension - using the define - NORM_QUERY_TRACE_LOG to make use of the setting. - - - - - - mysqlnd_qc.std_data_copy - int - - - - Default storage handler: copy cached wire data? - EXPERIMENTAL – use default setting! - - - - - - mysqlnd_qc.apc_prefix - string - - - - The - APC storage handler stores data in the - APC user cache. The setting sets a prefix to be - used for cache entries. - - - - - - mysqlnd_qc.memc_server - string - - - - MEMCACHE storage handler: memcache server host. - - - - - - mysqlnd_qc.memc_port - int - - - - MEMCACHE storage handler: memcached server port. - - - - - - mysqlnd_qc.sqlite_data_file - string - - - - sqlite storage handler: data file. Any setting - but :memory: may be of little practical value. - - - - - - -
- - diff --git a/reference/mysqlnd_qc/quickstart.xml b/reference/mysqlnd_qc/quickstart.xml deleted file mode 100644 index ffb9e589be..0000000000 --- a/reference/mysqlnd_qc/quickstart.xml +++ /dev/null @@ -1,1732 +0,0 @@ - - - - - Quickstart and Examples - - The mysqlnd query cache plugin is easy to use. - This quickstart will demo typical use-cases, and provide practical advice on getting - started. - - - It is strongly recommended to read the reference sections in addition to the - quickstart. It is safe to begin with the quickstart. - However, before using the plugin in mission critical - environments we urge you to read additionally the background information from the - reference sections. - - - Most of the examples use the mysqli extension - because it is the most feature complete PHP MySQL extension. However, the plugin - can be used with any PHP MySQL extension that is using the - mysqlnd library. - - -
- Architecture and Concepts - - The query cache plugin is implemented as a PHP extension. - It is written in C and operates under the hood of PHP. During the - startup of the PHP interpreter, it gets registered as a - mysqlnd plugin to replace selected - mysqlnd C methods. Hereby, it can change the behaviour of any - PHP MySQL extension (mysqli, - PDO_MYSQL, - mysql) compiled to use the - mysqlnd library without changing the extensions API. This makes - the plugin compatible with each and every PHP MySQL application. - Because existing APIs are not changed, it is almost transparent - to use. Please, see the - mysqlnd plugin API description - for a discussion of the advantages of the plugin architecture and - a comparison with proxy based solutions. - - - Transparent to use - - - At PHP run time PECL/mysqlnd_qc can proxy queries send from PHP - (mysqlnd) to the MySQL server. - It then inspects the statement string to find whether it shall cache - its results. If so, result set is cached using a storage handler and - further executions of the statement are served from the cache for - a user-defined period. The Time to Live (TTL) of the cache entry - can either be set globally or on a per statement basis. - - - A statement is either cached if the plugin is instructed to cache all - statements globally using a or, if the query string starts with the SQL hint - (/*qc=on*/). The plugin is capable of caching any - query issued by calling appropriate API calls of any of the existing - PHP MySQL extensions. - - - Flexible storage: various storage handler - - - Various storage handler are supported to offer different scopes for cache - entries. Different scopes allow for different degrees in sharing cache - entries among clients. - - - - - - default (built-in): process memory, scope: process, one or more web requests depending on PHP deployment model used - - - - - APC: shared memory, scope: single server, multiple web requests - - - - - SQLite: memory or file, scope: single server, multiple web requests - - - - - MEMCACHE: main memory, scope: single or multiple server, multiple web requests - - - - - user (built-in): user-defined - any, scope: user-defined - any - - - - - - Support for the APC, SQLite and - MEMCACHE storage handler has to be enabled at compile time. The - default and user handler are built-in. It is possible - to switch between compiled-in storage handlers on a per query basis at run time. - However, it is recommended to pick one storage handler and use it for all cache entries. - - - Built-in slam defense to avoid overloading - - - To avoid overload situations the cache plugin has a built-in slam defense mechanism. - If a popular cache entries expires many clients using the cache entries will try - to refresh the cache entry. For the duration of the refresh many clients may - access the database server concurrently. In the worst case, the database server - becomes overloaded and it takes more and more time to refresh the cache entry, which - in turn lets more and more clients try to refresh the cache entry. To prevent - this from happening the plugin has a slam defense mechanism. If slam defense is - enabled and the plugin detects an expired cache entry it extends the life time - of the cache entry before it refreshes the cache entry. This way other concurrent - accesses to the expired cache entry are still served from the cache for a certain - time. The other concurrent accesses to not trigger a concurrent refresh. Ideally, - the cache entry gets refreshed by the client which extended the cache entries lifespan - before other clients try to refresh the cache and potentially cause an overload - situation. - - - Unique approach to caching - - - PECL/mysqlnd_qc has a unique approach to caching result sets that is superior - to application based cache solutions. Application based solutions first fetch - a result set into PHP variables. Then, the PHP variables are serialized for - storage in a persistent cache, and then unserialized when fetching. The mysqlnd - query cache stores the raw wire protocol data sent from MySQL to PHP in its cache - and replays it, if still valid, on a cache hit. This way, it saves an extra - serialization step for a cache put that all application based solutions have to - do. It can store the raw wire protocol data in the cache without having to - serialize into a PHP variable first and deserializing the PHP variable for storing - in the cache again. - -
- -
- Setup - - The plugin is implemented as a PHP extension. See also the - installation instructions to - install the - PECL/mysqlnd_qc extension. - - - Compile or configure the PHP MySQL extension (mysqli, - PDO_MYSQL, - mysql) that you plan to use with support - for the mysqlnd library. PECL/mysqlnd_qc - is a plugin for the mysqlnd library. To use the plugin with any of the existing PHP - MySQL extensions (APIs), the extension has to use the mysqlnd library. - - - Then, load the extension into PHP and activate the plugin in the PHP configuration - file using the PHP configuration directive named - mysqlnd_qc.enable_qc. - - - - Enabling the plugin (php.ini) - - - - - -
- -
- Caching queries - - There are four ways to trigger caching of a query. - - - Use of SQL hints on a per query basis - - - - User supplied callbacks to decide on a per query basis, for example, using mysqlnd_qc_is_select - - - - - mysqlnd_set_cache_condition for rule based automatic per query decisions - - - - - mysqlnd_qc.cache_by_default = 1 - to cache all queries blindly - - - - - - Use of SQL hints and - mysqlnd_qc.cache_by_default = 1 - are explained below. Please, refer to the function reference on - mysqlnd_qc_is_select for a description of using a callback and, - mysqlnd_qc_set_cache_condition on how to set rules for automatic - caching. - - - A SQL hint is a SQL standards compliant - comment. As a SQL comment it is ignored by the database. A statement is considered - eligible for caching if it either begins with the SQL hint enabling caching - or it is a SELECT statement. - - - An individual query which shall be cached must begin with the SQL hint - /*qc=on*/. It is recommended to use the PHP constant - MYSQLND_QC_ENABLE_SWITCH - instead of using the string value. - - - - - - not eligible for caching and not cached: INSERT INTO test(id) VALUES (1) - - - - - not eligible for caching and not cached: SHOW ENGINES - - - - - eligible for caching but uncached: SELECT id FROM test - - - - - eligible for caching and cached: /*qc=on*/SELECT id FROM test - - - - - - The examples SELECT statement string is prefixed with the - MYSQLND_QC_ENABLE_SWITCH - SQL hint to enable caching of the statement. The SQL hint must be given at - the very beginning of the statement string to enable caching. - - - - Using the <literal>MYSQLND_QC_ENABLE_SWITCH</literal> SQL hint - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -/* Will be cached because of the SQL hint */ -$start = microtime(true); -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1"); - -var_dump($res->fetch_assoc()); -$res->free(); - -printf("Total time uncached query: %.6fs\n", microtime(true) - $start); - -/* Cache hit */ -$start = microtime(true); -$res = $mysqli->query("/*" . MYSQLND_QC_ENABLE_SWITCH . "*/" . "SELECT id FROM test WHERE id = 1"); - -var_dump($res->fetch_assoc()); -$res->free(); - -printf("Total time cached query: %.6fs\n", microtime(true) - $start); -?> -]]> - - &examples.outputs.similar; - - - string(1) "1" -} -Total time uncached query: 0.000740s -array(1) { - ["id"]=> - string(1) "1" -} -Total time cached query: 0.000098s -]]> - - - - - If nothing else is configured, as it is the case in the quickstart example, - the plugin will use the built-in default storage handler. - The default storage handler uses process memory to hold a cache entry. - Depending on the PHP deployment model, a PHP process may serve one or more - web requests. Please, consult the web server manual for details. - Details make no difference for the examples given in the quickstart. - - - The query cache plugin will cache all queries regardless if - the query string begins with the SQL hint which enables caching or not, - if the PHP configuration directive - mysqlnd_qc.cache_by_default - is set to 1. The setting - mysqlnd_qc.cache_by_default - is evaluated by the core of the query cache plugins. - Neither the built-in nor user-defined storage handler can overrule the setting. - - - The SQL hint /*qc=off*/ can be used to disable caching - of individual queries if - mysqlnd_qc.cache_by_default = 1 - It is recommended to use the PHP constant - MYSQLND_QC_DISABLE_SWITCH - instead of using the string value. - - - - Using the <literal>MYSQLND_QC_DISABLE_SWITCH</literal> SQL hint - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -/* Will be cached although no SQL hint is present because of mysqlnd_qc.cache_by_default = 1*/ -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -$mysqli->query("DELETE FROM test WHERE id = 1"); - -/* Cache hit - no automatic invalidation and still valid! */ -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* Cache miss - query must not be cached because of the SQL hint */ -$res = $mysqli->query("/*" . MYSQLND_QC_DISABLE_SWITCH . "*/SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); -?> -]]> - - &examples.outputs; - - - string(1) "1" -} -array(1) { - ["id"]=> - string(1) "1" -} -NULL -]]> - - - - - PECL/mysqlnd_qc forbids caching of statements for which at least one - column from the statements result set shows no table name in its meta data by default. - This is usually the case for columns originating from SQL functions such as - NOW() or LAST_INSERT_ID(). The policy - aims to prevent pitfalls if caching by default is used. - - - - Example showing which type of statements are not cached - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1)"); - -for ($i = 0; $i < 3; $i++) { - - $start = microtime(true); - - /* Note: statement will not be cached because of NOW() use */ - $res = $mysqli->query("SELECT id, NOW() AS _time FROM test"); - $row = $res->fetch_assoc(); - - /* dump results */ - var_dump($row); - - printf("Total time: %.6fs\n", microtime(true) - $start); - - /* pause one second */ - sleep(1); -} -?> -]]> - - &examples.outputs.similar; - - - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:43:10" -} -Total time: 0.000540s -array(2) { - ["id"]=> - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:43:11" -} -Total time: 0.000555s -array(2) { - ["id"]=> - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:43:12" -} -Total time: 0.000549s -]]> - - - - - It is possible to enable caching for all statements including those - which has columns in their result set for which MySQL reports no table, such as - the statement from the example. Set - mysqlnd_qc.cache_no_table = 1 - to enable caching of such statements. Please, note the difference in the - measured times for the above and below examples. - - - - Enabling caching for all statements using the <literal>mysqlnd_qc.cache_no_table</literal> ini setting - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1)"); - -for ($i = 0; $i < 3; $i++) { - - $start = microtime(true); - - /* Note: statement will not be cached because of NOW() use */ - $res = $mysqli->query("SELECT id, NOW() AS _time FROM test"); - $row = $res->fetch_assoc(); - - /* dump results */ - var_dump($row); - - printf("Total time: %.6fs\n", microtime(true) - $start); - - /* pause one second */ - sleep(1); -} -?> -]]> - - &examples.outputs.similar; - - - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:47:45" -} -Total time: 0.000546s -array(2) { - ["id"]=> - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:47:45" -} -Total time: 0.000187s -array(2) { - ["id"]=> - string(1) "1" - ["_time"]=> - string(19) "2012-01-11 15:47:45" -} -Total time: 0.000167s -]]> - - - - - - Although mysqlnd_qc.cache_no_table = 1 - has been created for use with - mysqlnd_qc.cache_by_default = 1 - it is bound it. The plugin will evaluate the - mysqlnd_qc.cache_no_table - whenever a query is to be cached, no matter whether caching has been enabled using a - SQL hint or any other measure. - - -
- -
- Setting the TTL - - The default invalidation strategy of the query cache plugin is Time to Live - (TTL). The built-in storage handlers will use the default - TTL defined by the PHP configuration value - mysqlnd_qc.ttl - unless the query string contains a hint for setting a different - TTL. The TTL is specified in seconds. - By default cache entries expire after 30 seconds - - - The example sets mysqlnd_qc.ttl=3 to cache - statements for three seconds by default. Every second it updates - a database table record to hold the current time and executes - a SELECT statement to fetch the record from the - database. The SELECT statement is cached for - three seconds because it is prefixed with the SQL hint enabling - caching. The output verifies that the query results are taken - from the cache for the duration of three seconds before they - are refreshed. - - - - Setting the TTL with the <literal>mysqlnd_qc.ttl</literal> ini setting - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id VARCHAR(255))"); - -for ($i = 0; $i < 7; $i++) { - - /* update DB row */ - if (!$mysqli->query("DELETE FROM test") || - !$mysqli->query("INSERT INTO test(id) VALUES (NOW())")) - /* Of course, a real-life script should do better error handling */ - die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); - - /* select latest row but cache results */ - $query = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/"; - $query .= "SELECT id AS _time FROM test"; - if (!($res = $mysqli->query($query)) || - !($row = $res->fetch_assoc())) - { - printf("[%d] %s\n", $mysqli->errno, $mysqli->error); - } - $res->free(); - printf("Wall time %s - DB row time %s\n", date("H:i:s"), $row['_time']); - - /* pause one second */ - sleep(1); -} -?> -]]> - - &examples.outputs.similar; - - - - - - - As can be seen from the example, any TTL based cache - can serve stale data. Cache entries are not automatically invalidated, - if underlying data changes. Applications using the default - TTL invalidation strategy must be able to work correctly - with stale data. - - - A user-defined cache storage handler can implement any invalidation strategy - to work around this limitation. - - - The default TTL can be overruled using the SQL hint - /*qc_tt=seconds*/. The SQL hint must be appear immediately - after the SQL hint which enables caching. It is recommended to use the PHP constant - MYSQLND_QC_TTL_SWITCH - instead of using the string value. - - - - Setting TTL with SQL hints - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -printf("Default TTL\t: %d seconds\n", ini_get("mysqlnd_qc.ttl")); - -/* Will be cached for 2 seconds */ -$sql = sprintf("/*%s*//*%s%d*/SELECT id FROM test WHERE id = 1", MYSQLND_QC_ENABLE_SWITCH, MYSQLND_QC_TTL_SWITCH, 2); -$res = $mysqli->query($sql); - -var_dump($res->fetch_assoc()); -$res->free(); - -$mysqli->query("DELETE FROM test WHERE id = 1"); -sleep(1); - -/* Cache hit - no automatic invalidation and still valid! */ -$res = $mysqli->query($sql); -var_dump($res->fetch_assoc()); -$res->free(); - -sleep(2); - -/* Cache miss - cache entry has expired */ -$res = $mysqli->query($sql); -var_dump($res->fetch_assoc()); -$res->free(); - -printf("Script runtime\t: %d seconds\n", microtime(true) - $start); -?> -]]> - - &examples.outputs.similar; - - - string(1) "1" -} -array(1) { - ["id"]=> - string(1) "1" -} -NULL -Script runtime : 3 seconds -]]> - - - -
- -
- Pattern based caching - - An application has three options for telling PECL/mysqlnd_qc whether a particular - statement shall be used. The most basic approach is to cache all statements by - setting - mysqlnd_qc.cache_by_default = 1. This approach is often of little - practical value. But it enables users to make a quick estimation about - the maximum performance gains from caching. An application designed to - use a cache may be able to prefix selected statements with the appropriate SQL - hints. However, altering an applications source code may not always be possible - or desired, for example, to avoid problems with software updates. Therefore, - PECL/mysqlnd_qc allows setting a callback which decides if a query is to be - cached. - - - The callback is installed with the mysqlnd_qc_set_is_select - function. The callback is given the statement string of every statement - inspected by the plugin. Then, the callback can decide whether to cache - the function. The callback is supposed to return &false; - if the statement shall not be cached. A return value of &true; - makes the plugin try to add the statement into the cache. The cache entry - will be given the default TTL ( - mysqlnd_qc.ttl). If the callback returns - a numerical value it is used as the TTL instead of the global default. - - - - Setting a callback with <function>mysqlnd_qc_set_is_select</function> - - - - - true, - /* 3 - use TTL = 3 seconds */ - "@SELECT\s+.*\s+FROM\s+news@ismU" => 3 - ); - - /* check if query does match pattern */ - foreach ($patterns as $pattern => $ttl) { - if (preg_match($pattern, $query)) { - printf("is_select(%45s): cache\n", $query); - return $ttl; - } - } - printf("is_select(%45s): do not cache\n", $query); - return false; -} -/* install callback */ -mysqlnd_qc_set_is_select("is_select"); - -/* Connect, create and populate test table */ -$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket"); -$mysqli->query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* cache put */ -$mysqli->query("SELECT id FROM test WHERE id = 1"); -/* cache hit */ -$mysqli->query("SELECT id FROM test WHERE id = 1"); -/* cache put */ -$mysqli->query("SELECT * FROM test"); - -$stats = mysqlnd_qc_get_core_stats(); -printf("Cache put: %d\n", $stats['cache_put']); -printf("Cache hit: %d\n", $stats['cache_hit']); -?> -]]> - - &examples.outputs.similar; - - - - - - - The examples callback tests if a statement string matches a pattern. - If this is the case, it either returns &true; to cache - the statement using the global default TTL or an alternative TTL. - - - To minimize application changes the callback can put into and registered - in an auto prepend file. - -
- -
- Slam defense - - A badly designed cache can do more harm than good. In the worst case a cache - can increase database server load instead of minimizing it. An overload situation - can occur if a highly shared cache entry expires (cache stampeding). - - - Cache entries are shared and reused to a different degree depending on - the storage used. The default storage handler stores cache entries in process memory. - Thus, a cache entry can be reused for the life-span of a process. Other PHP - processes cannot access it. If Memcache is used, a cache entry can be shared - among multiple PHP processes and even among multiple machines, depending on the - set up being used. - - - If a highly shared cache entry stored, for example, in Memcache expires, many - clients gets a cache miss. Many client requests can no longer be served from - the cache but try to run the underlying query on the database server. Until - the cache entry is refreshed, more and more clients contact the database server. - In the worst case, a total lost of service is the result. - - - The overload can be avoided using a storage handler which limits the reuse of cache - entries to few clients. Then, at the average, its likely that only a limited number - of clients will try to refresh a cache entry concurrently. - - - Additionally, the built-in slam defense mechanism can and should be used. If - slam defense is activated an expired cache entry is given an extended life time. - The first client getting a cache miss for the expired cache entry tries to - refresh the cache entry within the extended life time. All other clients requesting - the cache entry are temporarily served from the cache although the original - TTL of the cache entry has expired. The other clients will - not experience a cache miss before the extended life time is over. - - - - Enabling the slam defense mechanism - - - - - - - The slam defense mechanism is enabled with the PHP configuration directive - mysqlnd_qc.slam_defense. - The extended life time of a cache entry is set with - mysqlnd_qc.slam_defense_ttl. - - - The function - mysqlnd_qc_get_core_stats returns an array of - statistics. The statistics slam_stale_refresh and - slam_stale_hit are incremented if slam defense takes place. - - - It is not possible to give a one-fits-all recommendation on the slam defense - configuration. Users are advised to monitor and test their setup and derive - settings accordingly. - -
- -
- Finding cache candidates - - A statement should be considered for caching if it is executed often and has - a long run time. Cache candidates are found by creating a list of statements - sorted by the product of the number of executions multiplied by the - statements run time. The function - mysqlnd_qc_get_query_trace_log - returns a query log which help with the task. - - - Collecting a query trace is a slow operation. Thus, it is disabled by default. - The PHP configuration directive - mysqlnd_qc.collect_query_trace - is used to enable it. The functions trace contains one entry for every - query issued before the function is called. - - - - Collecting a query trace - - - - -query("SELECT 1 AS _one FROM DUAL"); - $res->free(); -} - -/* dump trace */ -var_dump(mysqlnd_qc_get_query_trace_log()); -?> -]]> - - &examples.outputs; - - - array(8) { - ["query"]=> - string(26) "SELECT 1 AS _one FROM DUAL" - ["origin"]=> - string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(25) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } - [1]=> - array(8) { - ["query"]=> - string(26) "SELECT 1 AS _one FROM DUAL" - ["origin"]=> - string(102) "#0 qc.php(7): mysqli->query('SELECT 1 AS _on...') -#1 {main}" - ["run_time"]=> - int(0) - ["store_time"]=> - int(8) - ["eligible_for_caching"]=> - bool(false) - ["no_table"]=> - bool(false) - ["was_added"]=> - bool(false) - ["was_already_in_cache"]=> - bool(false) - } -} -]]> - - - - - Assorted information is given in the trace. Among them - timings and the origin of the query call. The origin property - holds a code backtrace to identify the source of the query. - The depth of the backtrace can be limited with - the PHP configuration directive - mysqlnd_qc.query_trace_bt_depth. - The default depth is 3. - - - - Setting the backtrace depth with the <literal>mysqlnd_qc.query_trace_bt_depth</literal> ini setting - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* dummy queries to fill the query trace */ -for ($i = 0; $i < 3; $i++) { - $res = $mysqli->query("SELECT id FROM test WHERE id = " . $mysqli->real_escape_string($i)); - $res->free(); -} - -$trace = mysqlnd_qc_get_query_trace_log(); -$summary = array(); -foreach ($trace as $entry) { - if (!isset($summary[$entry['query']])) { - $summary[$entry['query']] = array( - "executions" => 1, - "time" => $entry['run_time'] + $entry['store_time'], - ); - } else { - $summary[$entry['query']]['executions']++; - $summary[$entry['query']]['time'] += $entry['run_time'] + $entry['store_time']; - } -} - -foreach ($summary as $query => $details) { - printf("%45s: %5dms (%dx)\n", - $query, $details['time'], $details['executions']); -} -?> -]]> - - &examples.outputs.similar; - - - - - -
- -
- Measuring cache efficiency - - PECL/mysqlnd_qc offers three ways to measure the cache efficiency. - The function - mysqlnd_qc_get_normalized_query_trace_log - returns statistics aggregated by the normalized query string, - mysqlnd_qc_get_cache_info - gives storage handler specific information which includes a list - of all cached items, depending on the storage handler. Additionally, the - core of PECL/mysqlnd_qc collects high-level summary statistics aggregated - per PHP process. The high-level statistics are returned by - mysqlnd_qc_get_core_stats. - - - The functions - mysqlnd_qc_get_normalized_query_trace_log - and - mysqlnd_qc_get_core_stats - will not collect data unless data collection has been - enabled through their corresponding PHP configuration directives. Data collection - is disabled by default for performance considerations. It is configurable with the - mysqlnd_qc.time_statistics - option, which determines if timing information should be collected. - Collection of time statistics is enabled by default - but only performed if data collection as such has been enabled. - Recording time statistics causes extra system calls. In most cases, - the benefit of the monitoring outweighs any potential performance penalty of - the additional system calls. - - - - Collecting statistics data with the <literal>mysqlnd_qc.time_statistics</literal> ini setting - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* dummy queries */ -for ($i = 1; $i <= 4; $i++) { - $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2); - $res = $mysqli->query($query); - - $res->free(); -} - -var_dump(mysqlnd_qc_get_core_stats()); -?> -]]> - - &examples.outputs.similar; - - - string(1) "2" - ["cache_miss"]=> - string(1) "2" - ["cache_put"]=> - string(1) "2" - ["query_should_cache"]=> - string(1) "4" - ["query_should_not_cache"]=> - string(1) "3" - ["query_not_cached"]=> - string(1) "3" - ["query_could_cache"]=> - string(1) "4" - ["query_found_in_cache"]=> - string(1) "2" - ["query_uncached_other"]=> - string(1) "0" - ["query_uncached_no_table"]=> - string(1) "0" - ["query_uncached_no_result"]=> - string(1) "0" - ["query_uncached_use_result"]=> - string(1) "0" - ["query_aggr_run_time_cache_hit"]=> - string(2) "28" - ["query_aggr_run_time_cache_put"]=> - string(3) "900" - ["query_aggr_run_time_total"]=> - string(3) "928" - ["query_aggr_store_time_cache_hit"]=> - string(2) "14" - ["query_aggr_store_time_cache_put"]=> - string(2) "40" - ["query_aggr_store_time_total"]=> - string(2) "54" - ["receive_bytes_recorded"]=> - string(3) "136" - ["receive_bytes_replayed"]=> - string(3) "136" - ["send_bytes_recorded"]=> - string(2) "84" - ["send_bytes_replayed"]=> - string(2) "84" - ["slam_stale_refresh"]=> - string(1) "0" - ["slam_stale_hit"]=> - string(1) "0" - ["request_counter"]=> - int(1) - ["process_hash"]=> - int(1929695233) -} -]]> - - - - - For a quick overview, call - mysqlnd_qc_get_core_stats. It delivers - cache usage, cache timing and traffic related statistics. Values are aggregated - on a per process basis for all queries issued by any PHP MySQL API call. - - - Some storage handler, such as the default handler, can report cache entries, - statistics related to the entries and meta data for the underlying query through the - mysqlnd_qc_get_cache_info - function. Please note, that the information returned depends - on the storage handler. Values are aggregated on a per process basis. - - - - Example <function>mysqlnd_qc_get_cache_info</function> usage - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* dummy queries to fill the query trace */ -for ($i = 1; $i <= 4; $i++) { - $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2); - $res = $mysqli->query($query); - - $res->free(); -} - -var_dump(mysqlnd_qc_get_cache_info()); -?> -]]> - - &examples.outputs.similar; - - - int(2) - ["handler"]=> - string(7) "default" - ["handler_version"]=> - string(5) "1.0.0" - ["data"]=> - array(2) { - ["Localhost via UNIX socket -3306 -root -test|/*qc=on*/SELECT id FROM test WHERE id = 1"]=> - array(2) { - ["statistics"]=> - array(11) { - ["rows"]=> - int(1) - ["stored_size"]=> - int(71) - ["cache_hits"]=> - int(1) - ["run_time"]=> - int(391) - ["store_time"]=> - int(27) - ["min_run_time"]=> - int(16) - ["max_run_time"]=> - int(16) - ["min_store_time"]=> - int(8) - ["max_store_time"]=> - int(8) - ["avg_run_time"]=> - int(8) - ["avg_store_time"]=> - int(4) - } - ["metadata"]=> - array(1) { - [0]=> - array(8) { - ["name"]=> - string(2) "id" - ["orig_name"]=> - string(2) "id" - ["table"]=> - string(4) "test" - ["orig_table"]=> - string(4) "test" - ["db"]=> - string(4) "test" - ["max_length"]=> - int(1) - ["length"]=> - int(11) - ["type"]=> - int(3) - } - } - } - ["Localhost via UNIX socket -3306 -root -test|/*qc=on*/SELECT id FROM test WHERE id = 0"]=> - array(2) { - ["statistics"]=> - array(11) { - ["rows"]=> - int(0) - ["stored_size"]=> - int(65) - ["cache_hits"]=> - int(1) - ["run_time"]=> - int(299) - ["store_time"]=> - int(13) - ["min_run_time"]=> - int(11) - ["max_run_time"]=> - int(11) - ["min_store_time"]=> - int(6) - ["max_store_time"]=> - int(6) - ["avg_run_time"]=> - int(5) - ["avg_store_time"]=> - int(3) - } - ["metadata"]=> - array(1) { - [0]=> - array(8) { - ["name"]=> - string(2) "id" - ["orig_name"]=> - string(2) "id" - ["table"]=> - string(4) "test" - ["orig_table"]=> - string(4) "test" - ["db"]=> - string(4) "test" - ["max_length"]=> - int(0) - ["length"]=> - int(11) - ["type"]=> - int(3) - } - } - } - } -} -]]> - - - - - It is possible to further break down the granularity of statistics - to the level of the normalized statement string. - The normalized statement string is the statements string with all parameters - replaced with question marks. For example, the two statements - SELECT id FROM test WHERE id = 0 and - SELECT id FROM test WHERE id = 1 are normalized into - SELECT id FROM test WHERE id = ?. Their both - statistics are aggregated into one entry for - SELECT id FROM test WHERE id = ?. - - - - Example <function>mysqlnd_qc_get_normalized_query_trace_log</function> usage - - - - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)"); - -/* dummy queries to fill the query trace */ -for ($i = 1; $i <= 4; $i++) { - $query = sprintf("/*%s*/SELECT id FROM test WHERE id = %d", MYSQLND_QC_ENABLE_SWITCH, $i % 2); - $res = $mysqli->query($query); - - $res->free(); -} - -var_dump(mysqlnd_qc_get_normalized_query_trace_log()); -?> -]]> - - &examples.outputs.similar; - - - array(9) { - ["query"]=> - string(25) "DROP TABLE IF EXISTS test" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [1]=> - array(9) { - ["query"]=> - string(27) "CREATE TABLE test (id INT )" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [2]=> - array(9) { - ["query"]=> - string(46) "INSERT INTO test (id ) VALUES (? ), (? ), (? )" - ["occurences"]=> - int(0) - ["eligible_for_caching"]=> - bool(false) - ["avg_run_time"]=> - int(0) - ["min_run_time"]=> - int(0) - ["max_run_time"]=> - int(0) - ["avg_store_time"]=> - int(0) - ["min_store_time"]=> - int(0) - ["max_store_time"]=> - int(0) - } - [3]=> - array(9) { - ["query"]=> - string(31) "SELECT id FROM test WHERE id =?" - ["occurences"]=> - int(4) - ["eligible_for_caching"]=> - bool(true) - ["avg_run_time"]=> - int(179) - ["min_run_time"]=> - int(11) - ["max_run_time"]=> - int(393) - ["avg_store_time"]=> - int(12) - ["min_store_time"]=> - int(7) - ["max_store_time"]=> - int(25) - } -} -]]> - - - - - The source distribution of PECL/mysqlnd_qc contains a directory - web/ in which web based monitoring - scripts can be found which give an example how to write a cache monitor. - Please, follow the instructions given in the source. - - - Since PECL/mysqlnd_qc 1.1.0 it is possible to write statistics into a - log file. Please, see - mysqlnd_qc.collect_statistics_log_file. - -
- -
- Beyond TTL: user-defined storage - - The query cache plugin supports the use of user-defined storage handler. - User-defined storage handler can use arbitrarily complex invalidation - algorithms and support arbitrary storage media. - - - All user-defined storage handlers have to provide a certain interface. - The functions of the user-defined storage handler will be called by the - core of the cache plugin. The necessary interface consists of seven - public functions. Both procedural and object oriented user-defined storage - handler must implement the same set of functions. - - - - Using a user-defined storage handler - - $data, - "row_count" => $row_count, - "valid_until" => time() + $ttl, - "hits" => 0, - "run_time" => $run_time, - "store_time" => $store_time, - "cached_run_times" => array(), - "cached_store_times" => array(), - ); - - return TRUE; -} - -function query_is_select($query) { - printf("\t%s('%s'): ", __FUNCTION__, $query); - - $ret = FALSE; - if (stristr($query, "SELECT") !== FALSE) { - /* cache for 5 seconds */ - $ret = 5; - } - - printf("%s\n", (FALSE === $ret) ? "FALSE" : $ret); - return $ret; -} - -function update_query_run_time_stats($key, $run_time, $store_time) { - global $__cache; - printf("\t%s(%d)\n", __FUNCTION__, func_num_args()); - - if (isset($__cache[$key])) { - $__cache[$key]['hits']++; - $__cache[$key]["cached_run_times"][] = $run_time; - $__cache[$key]["cached_store_times"][] = $store_time; - } -} - -function get_stats($key = NULL) { - global $__cache; - printf("\t%s(%d)\n", __FUNCTION__, func_num_args()); - - if ($key && isset($__cache[$key])) { - $stats = $__cache[$key]; - } else { - $stats = array(); - foreach ($__cache as $key => $details) { - $stats[$key] = array( - 'hits' => $details['hits'], - 'bytes' => strlen($details['data']), - 'uncached_run_time' => $details['run_time'], - 'cached_run_time' => (count($details['cached_run_times'])) - ? array_sum($details['cached_run_times']) / count($details['cached_run_times']) - : 0, - ); - } - } - - return $stats; -} - -function clear_cache() { - global $__cache; - printf("\t%s(%d)\n", __FUNCTION__, func_num_args()); - - $__cache = array(); - return TRUE; -} - -/* Install procedural user-defined storage handler */ -if (!mysqlnd_qc_set_user_handlers("get_hash", "find_query_in_cache", - "return_to_cache", "add_query_to_cache_if_not_exists", - "query_is_select", "update_query_run_time_stats", "get_stats", "clear_cache")) { - - printf("Failed to install user-defined storage handler\n"); -} - - -/* Connect, create and populate test table */ -$mysqli = new mysqli("host", "user", "password", "schema", "port", "socket"); -$mysqli->query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1), (2)"); - -printf("\nCache put/cache miss\n"); - -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -/* Delete record to verify we get our data from the cache */ -$mysqli->query("DELETE FROM test WHERE id = 1"); - -printf("\nCache hit\n"); - -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); - -printf("\nDisplay cache statistics\n"); -var_dump(mysqlnd_qc_get_cache_info()); - -printf("\nFlushing cache, cache put/cache miss"); -var_dump(mysqlnd_qc_clear_cache()); - -$res = $mysqli->query("SELECT id FROM test WHERE id = 1"); -var_dump($res->fetch_assoc()); -$res->free(); -?> -]]> - - &examples.outputs.similar; - - - string(1) "1" -} - query_is_select('DELETE FROM test WHERE id = 1'): FALSE - -Cache hit - query_is_select('SELECT id FROM test WHERE id = 1'): 5 - get_hash(5) - find_query_in_cache(1) - return_to_cache(1) - update_query_run_time_stats(3) -array(1) { - ["id"]=> - string(1) "1" -} - -Display cache statistics - get_stats(0) -array(4) { - ["num_entries"]=> - int(1) - ["handler"]=> - string(4) "user" - ["handler_version"]=> - string(5) "1.0.0" - ["data"]=> - array(1) { - ["18683c177dc89bb352b29965d112fdaa"]=> - array(4) { - ["hits"]=> - int(1) - ["bytes"]=> - int(71) - ["uncached_run_time"]=> - int(398) - ["cached_run_time"]=> - int(4) - } - } -} - -Flushing cache, cache put/cache miss clear_cache(0) -bool(true) - query_is_select('SELECT id FROM test WHERE id = 1'): 5 - get_hash(5) - find_query_in_cache(1) - add_query_to_cache_if_not_exists(6) -NULL - -]]> - - - -
-
- - diff --git a/reference/mysqlnd_qc/reference.xml b/reference/mysqlnd_qc/reference.xml deleted file mode 100644 index 559f8e9554..0000000000 --- a/reference/mysqlnd_qc/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - mysqlnd_qc &Functions; - - &reference.mysqlnd-qc.entities.functions; - - - - diff --git a/reference/mysqlnd_qc/setup.xml b/reference/mysqlnd_qc/setup.xml deleted file mode 100644 index 897945f995..0000000000 --- a/reference/mysqlnd_qc/setup.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - PHP 5.3.3 or a newer version of PHP. - - - PECL/mysqlnd_qc is a mysqlnd plugin. It plugs into the mysqlnd library. - To use you this plugin with a PHP MySQL extension, the extension (mysqli, - mysql, or PDO_MYSQL) - must enable the mysqlnd library. - - - For using - MEMCACHE storage handler: - Use libmemcache 0.38 or newer. - PECL/mysqlnd_qc 1.2 has been tested with libmemcache 1.4.0. - - - For using - sqlite storage handler: - Use the sqlite3 extension that - bundled with PHP. - -
- - &reference.mysqlnd-qc.configure; - &reference.mysqlnd-qc.ini; - -
- - diff --git a/reference/mysqlnd_qc/versions.xml b/reference/mysqlnd_qc/versions.xml deleted file mode 100644 index d2fede2565..0000000000 --- a/reference/mysqlnd_qc/versions.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reference/mysqlnd_uh/book.xml b/reference/mysqlnd_uh/book.xml deleted file mode 100644 index cf43ea2fd4..0000000000 --- a/reference/mysqlnd_uh/book.xml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - Mysqlnd user handler plugin - mysqlnd_uh - - - &reftitle.intro; - - The mysqlnd user handler plugin (mysqlnd_uh) - allows users to set hooks for most internal calls of the - MySQL native driver for PHP - (mysqlnd). - Mysqlnd and its plugins, including PECL/mysqlnd_uh, operate on a layer - beneath the PHP MySQL extensions. A mysqlnd plugin can be considered - as a proxy between the PHP MySQL extensions and the MySQL server - as part of the PHP executable on the client-side. Because the plugins - operates on their own layer below the PHP MySQL extensions, - they can monitor and change application actions without requiring - application changes. If the - PHP MySQL extensions (mysqli, - mysql, - PDO_MYSQL) are compiled to - use mysqlnd this can be used for: - - - - Monitoring - - - - - - Queries executed by any of the PHP MySQL extensions - - - - - Prepared statements executing by any of the PHP MySQL extensions - - - - - - - - Auditing - - - - - - Detection of database usage - - - - - SQL injection protection using black and white lists - - - - - - - - Assorted - - - - - - Load Balancing connections - - - - - - - - - The MySQL native driver for PHP (mysqlnd) - features an internal plugin C API. C plugins, such as the mysqlnd - user handler plugin, can extend the functionality of - mysqlnd. PECL/mysqlnd_uh - makes parts of the internal plugin C API available to the - PHP user for plugin development with PHP. - - - Status - - The mysqlnd user handler plugin is in alpha status. - Take appropriate care before using it in production environments. - - - -
- Security considerations - - PECL/mysqlnd_uh gives users access to MySQL user names, MySQL password - used by any of the PHP MySQL extensions to connect to MySQL. - It allows monitoring of all queries and prepared statements exposing - the statement string to the user. Therefore, the extension should be - installed with care. The PHP_INI_SYSTEM configuration setting - mysqlnd_uh.enable - can be used to prevent users from hooking mysqlnd calls. - - - Code obfuscators and similar technologies are not suitable to prevent - monitoring of mysqlnd library activities if PECL/mysqlnd_uh is made - available and the user can install a proxy, for example, - using auto_prepend_file. - -
- -
- Documentation note - - Many of the mysqlnd_uh functions are briefly described because - the mysqli extension is - a thin abstraction layer on top of the MySQL C API that - the mysqlnd library provides. Therefore, - the corresponding mysqli documentation - (along with the MySQL reference manual) can be consulted - to receive more information about a particular function. - -
- -
- On the name - - The shortcut mysqlnd_uh stands for - mysqlnd user handler, and has been the name - since early development. - -
-
- - &reference.mysqlnd-uh.quickstart; - &reference.mysqlnd-uh.setup; - &reference.mysqlnd-uh.constants; - &reference.mysqlnd-uh.mysqlnduhconnection; - &reference.mysqlnd-uh.mysqlnduhpreparedstatement; - &reference.mysqlnd-uh.reference; - &reference.mysqlnd-uh.changes; - -
- - diff --git a/reference/mysqlnd_uh/changes.xml b/reference/mysqlnd_uh/changes.xml deleted file mode 100644 index 8e83f8b471..0000000000 --- a/reference/mysqlnd_uh/changes.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - Change History - - The Change History lists major changes users need to be aware if upgrading - from one version to another. It is a high level summary of selected changes - that may impact applications or might even break backwards compatibility. - See also the CHANGES file contained in the source - for additional changelog information. The commit history is also available. - - -
- PECL/mysqlnd_uh 1.0 series - - 1.0.1-alpha - - - - Release date: TBD - - - - - Motto/theme: bug fix release - - - - - - Feature changes - - - - Support of PHP 5.4.0 or later. - - - - - BC break: MysqlndUhConnection::changeUser requires - additional passwd_len parameter. - - - - - BC break: MYSQLND_UH_VERSION_STR renamed to MYSQLND_UH_VERSION. - MYSQLND_UH_VERSION renamed to MYSQLND_UH_VERSION_ID. - - - - - BC break: mysqlnd_uh.enabled configuration setting renamed to mysqlnd_uh.enable. - - - - - - 1.0.0-alpha - - - - Release date: 08/2010 - - - - - Motto/theme: Initial release - - - - -
- -
- - diff --git a/reference/mysqlnd_uh/configure.xml b/reference/mysqlnd_uh/configure.xml deleted file mode 100644 index 2aa4e4d374..0000000000 --- a/reference/mysqlnd_uh/configure.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - -
- &reftitle.install; - - - &pecl.info; - &url.pecl.package;mysqlnd-uh - - - PECL/mysqlnd_uh is currently not available on Windows. - The source code of the extension makes use of C99 - constructs not allowed with PHP Windows builds. - - - -
- - - diff --git a/reference/mysqlnd_uh/constants.xml b/reference/mysqlnd_uh/constants.xml deleted file mode 100644 index 58d17e3fe5..0000000000 --- a/reference/mysqlnd_uh/constants.xml +++ /dev/null @@ -1,1095 +0,0 @@ - - - - - &reftitle.constants; - &extension.constants; - - Most of the constants refer to details of the MySQL Client Server Protocol. - Please, refer to the MySQL reference manual to learn about their meaning. - To avoid content duplication, only short descriptions are given. - - - MysqlndUhConnection::simpleCommand related - - - The following constants can be used to detect what command is to be send - through MysqlndUhConnection::simpleCommand. - - - - - - MYSQLND_UH_MYSQLND_COM_SLEEP - (int) - - - - MySQL Client Server protocol command: COM_SLEEP. - - - - - - MYSQLND_UH_MYSQLND_COM_QUIT - (int) - - - - MySQL Client Server protocol command: COM_QUIT. - - - - - - MYSQLND_UH_MYSQLND_COM_INIT_DB - (int) - - - - MySQL Client Server protocol command: COM_INIT_DB. - - - - - - MYSQLND_UH_MYSQLND_COM_QUERY - (int) - - - - MySQL Client Server protocol command: COM_QUERY. - - - - - - MYSQLND_UH_MYSQLND_COM_FIELD_LIST - (int) - - - - MySQL Client Server protocol command: COM_FIELD_LIST. - - - - - - MYSQLND_UH_MYSQLND_COM_CREATE_DB - (int) - - - - MySQL Client Server protocol command: COM_CREATE_DB. - - - - - - MYSQLND_UH_MYSQLND_COM_DROP_DB - (int) - - - - MySQL Client Server protocol command: COM_DROP_DB. - - - - - - MYSQLND_UH_MYSQLND_COM_REFRESH - (int) - - - - MySQL Client Server protocol command: COM_REFRESH. - - - - - - MYSQLND_UH_MYSQLND_COM_SHUTDOWN - (int) - - - - MySQL Client Server protocol command: COM_SHUTDOWN. - - - - - - MYSQLND_UH_MYSQLND_COM_STATISTICS - (int) - - - - MySQL Client Server protocol command: COM_STATISTICS. - - - - - - MYSQLND_UH_MYSQLND_COM_PROCESS_INFO - (int) - - - - MySQL Client Server protocol command: COM_PROCESS_INFO. - - - - - - MYSQLND_UH_MYSQLND_COM_CONNECT - (int) - - - - MySQL Client Server protocol command: COM_CONNECT. - - - - - - MYSQLND_UH_MYSQLND_COM_PROCESS_KILL - (int) - - - - MySQL Client Server protocol command: COM_PROCESS_KILL. - - - - - - MYSQLND_UH_MYSQLND_COM_DEBUG - (int) - - - - MySQL Client Server protocol command: COM_DEBUG. - - - - - - MYSQLND_UH_MYSQLND_COM_PING - (int) - - - - MySQL Client Server protocol command: COM_PING. - - - - - - MYSQLND_UH_MYSQLND_COM_TIME - (int) - - - - MySQL Client Server protocol command: COM_TIME. - - - - - - MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT - (int) - - - - MySQL Client Server protocol command: COM_DELAYED_INSERT. - - - - - - MYSQLND_UH_MYSQLND_COM_CHANGE_USER - (int) - - - - MySQL Client Server protocol command: COM_CHANGE_USER. - - - - - - MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP - (int) - - - - MySQL Client Server protocol command: COM_BINLOG_DUMP. - - - - - - MYSQLND_UH_MYSQLND_COM_TABLE_DUMP - (int) - - - - MySQL Client Server protocol command: COM_TABLE_DUMP. - - - - - - MYSQLND_UH_MYSQLND_COM_CONNECT_OUT - (int) - - - - MySQL Client Server protocol command: COM_CONNECT_OUT. - - - - - - MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED - (int) - - - - MySQL Client Server protocol command: COM_REGISTER_SLAVED. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_PREPARE - (int) - - - - MySQL Client Server protocol command: COM_STMT_PREPARE. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE - (int) - - - - MySQL Client Server protocol command: COM_STMT_EXECUTE. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA - (int) - - - - MySQL Client Server protocol command: COM_STMT_SEND_LONG_DATA. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_CLOSE - (int) - - - - MySQL Client Server protocol command: COM_STMT_CLOSE. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_RESET - (int) - - - - MySQL Client Server protocol command: COM_STMT_RESET. - - - - - - MYSQLND_UH_MYSQLND_COM_SET_OPTION - (int) - - - - MySQL Client Server protocol command: COM_SET_OPTION. - - - - - - MYSQLND_UH_MYSQLND_COM_STMT_FETCH - (int) - - - - MySQL Client Server protocol command: COM_STMT_FETCH. - - - - - - MYSQLND_UH_MYSQLND_COM_DAEMON - (int) - - - - MySQL Client Server protocol command: COM_DAEMON. - - - - - - MYSQLND_UH_MYSQLND_COM_END - (int) - - - - MySQL Client Server protocol command: COM_END. - - - - - - - The following constants can be used to analyze the ok_packet - argument of MysqlndUhConnection::simpleCommand. - - - - - - MYSQLND_UH_MYSQLND_PROT_GREET_PACKET - (int) - - - - MySQL Client Server protocol packet: greeting. - - - - - - MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET - (int) - - - - MySQL Client Server protocol packet: authentication. - - - - - - MYSQLND_UH_MYSQLND_PROT_OK_PACKET - (int) - - - - MySQL Client Server protocol packet: OK. - - - - - - MYSQLND_UH_MYSQLND_PROT_EOF_PACKET - (int) - - - - MySQL Client Server protocol packet: EOF. - - - - - - MYSQLND_UH_MYSQLND_PROT_CMD_PACKET - (int) - - - - MySQL Client Server protocol packet: command. - - - - - - MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET - (int) - - - - MySQL Client Server protocol packet: result set header. - - - - - - MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET - (int) - - - - MySQL Client Server protocol packet: resultset field. - - - - - - MYSQLND_UH_MYSQLND_PROT_ROW_PACKET - (int) - - - - MySQL Client Server protocol packet: row. - - - - - - MYSQLND_UH_MYSQLND_PROT_STATS_PACKET - (int) - - - - MySQL Client Server protocol packet: stats. - - - - - - MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET - (int) - - - - MySQL Client Server protocol packet: prepare response. - - - - - - MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET - (int) - - - - MySQL Client Server protocol packet: change user response. - - - - - - MYSQLND_UH_MYSQLND_PROT_LAST - (int) - - - - No practical meaning. Last entry marker of internal C data structure list. - - - - - - - - MysqlndUhConnection::close related - - - The following constants can be used to detect why a connection has been - closed through MysqlndUhConnection::close(). - - - - - - MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT - (int) - - - - User has called mysqlnd to close the connection. - - - - - - MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT - (int) - - - - Implicitly closed, for example, during garbage connection. - - - - - - MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED - (int) - - - - Connection error. - - - - - - MYSQLND_UH_MYSQLND_CLOSE_LAST - (int) - - - - No practical meaning. Last entry marker of internal C data structure list. - - - - - - - - MysqlndUhConnection::setServerOption() related - - - The following constants can be used to detect which option is set through - MysqlndUhConnection::setServerOption(). - - - - - - MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON - (int) - - - - Option: enables multi statement support. - - - - - - MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_OFF - (int) - - - - Option: disables multi statement support. - - - - - - - - MysqlndUhConnection::setClientOption related - - - The following constants can be used to detect which option is set through - MysqlndUhConnection::setClientOption. - - - - - - MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT - (int) - - - - Option: connection timeout. - - - - - - MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS - (int) - - - - Option: whether the MySQL compressed protocol is to be used. - - - - - - MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE - (int) - - - - Option: named pipe to use for connection (Windows). - - - - - - MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND - (int) - - - - Option: init command to execute upon connect. - - - - - - MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE - (int) - - - - Option: MySQL server default file to read upon connect. - - - - - - MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP - (int) - - - - Option: MySQL server default file group to read upon connect. - - - - - - MYSQLND_UH_MYSQLND_SET_CHARSET_DIR - (int) - - - - Option: charset description files directory. - - - - - - MYSQLND_UH_MYSQLND_SET_CHARSET_NAME - (int) - - - - Option: charset name. - - - - - - MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE - (int) - - - - Option: Whether to allow LOAD DATA LOCAL INFILE use. - - - - - - MYSQLND_UH_MYSQLND_OPT_PROTOCOL - (int) - - - - Option: supported protocol version. - - - - - - MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME - (int) - - - - Option: shared memory base name for shared memory connections. - - - - - - MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT - (int) - - - - Option: connection read timeout. - - - - - - MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT - (int) - - - - Option: connection write timeout. - - - - - - MYSQLND_UH_MYSQLND_OPT_USE_RESULT - (int) - - - - Option: unbuffered result sets. - - - - - - MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION - (int) - - - - Embedded server related. - - - - - - MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION - (int) - - - - Embedded server related. - - - - - - MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION - (int) - - - - TODO - - - - - - MYSQLND_UH_MYSQLND_SET_CLIENT_IP - (int) - - - - TODO - - - - - - MYSQLND_UH_MYSQLND_SECURE_AUTH - (int) - - - - TODO - - - - - - MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION - (int) - - - - Option: Whether to report data truncation. - - - - - - MYSQLND_UH_MYSQLND_OPT_RECONNECT - (int) - - - - Option: Whether to reconnect automatically. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT - (int) - - - - Option: TODO - - - - - - MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE - (int) - - - - Option: mysqlnd network buffer size for commands. - - - - - - MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE - (int) - - - - Option: mysqlnd network buffer size for reading from the server. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_KEY - (int) - - - - Option: SSL key. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_CERT - (int) - - - - Option: SSL certificate. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_CA - (int) - - - - Option: SSL CA. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH - (int) - - - - Option: Path to SSL CA. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER - (int) - - - - Option: SSL cipher. - - - - - - MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE - (int) - - - - Option: SSL passphrase. - - - - - - MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR - (int) - - - - Option: server plugin directory. - - - - - - MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH - (int) - - - - Option: default authentication method. - - - - - - MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP - (int) - - - - TODO - - - - - - MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET - (int) - - - - Option: maximum allowed packet size. Available as of PHP 5.4.0. - - - - - - MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL - (int) - - - - Option: TODO. Available as of PHP 5.4.0. - - - - - - MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE - (int) - - - - Option: make mysqlnd return integer and float columns as long even - when using the MySQL Client Server text protocol. Only - available with a custom build of mysqlnd. - - - - - - - - Other - - - The plugins version number can be obtained using - MYSQLND_UH_VERSION or - MYSQLND_UH_VERSION_ID. - MYSQLND_UH_VERSION - is the string representation of the numerical version number - MYSQLND_UH_VERSION_ID, which is an integer such as 10000. - Developers can calculate the version number as follows. - - - - - - - Version (part) - Example - - - - - Major*10000 - 1*10000 = 10000 - - - Minor*100 - 0*100 = 0 - - - Patch - 0 = 0 - - - MYSQLND_UH_VERSION_ID - 10000 - - - - - - - - - - MYSQLND_UH_VERSION - (string) - - - - Plugin version string, for example, 1.0.0-alpha. - - - - - - MYSQLND_UH_VERSION_ID - (int) - - - - Plugin version number, for example, 10000. - - - - - - - - - diff --git a/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml b/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml deleted file mode 100644 index 873cb652f8..0000000000 --- a/reference/mysqlnd_uh/functions/mysqlnd-uh-convert-to-mysqlnd.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - mysqlnd_uh_convert_to_mysqlnd - Converts a MySQL connection handle into a mysqlnd connection handle - - - - &reftitle.description; - - resource - mysqlnd_uh_convert_to_mysqlnd - mysqlimysql_connection - - - Converts a MySQL connection handle into a mysqlnd connection handle. - After conversion you can execute mysqlnd library calls on the connection handle. - This can be used to access mysqlnd functionality not made available - through user space API calls. - - - The function can be disabled with - mysqlnd_uh.enable. - If mysqlnd_uh.enable - is set to &false; the function will not install the proxy and - always return &true;. Additionally, an error of the - type E_WARNING may be emitted. The error message may - read like PHP Warning: mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) - The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. - You are not allowed to call this function [...]. - - - - - &reftitle.parameters; - - - MySQL connection handle - - - A MySQL connection handle of type mysql, mysqli or PDO_MySQL. - - - - - - - - &reftitle.returnvalues; - - A mysqlnd connection handle. - - - - - &reftitle.examples; - - - <function>mysqlnd_uh_convert_to_mysqlnd</function> example - -getThreadId($mysqlnd)); - -/* Use SQL to fetch connection thread id */ -var_dump($mysql_connection->query("SELECT CONNECTION_ID()")->fetchAll()); -?> -]]> - - &example.outputs; - - - array(2) { - ["CONNECTION_ID()"]=> - string(5) "27054" - [0]=> - string(5) "27054" - } -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh.enable - - - - - - - - diff --git a/reference/mysqlnd_uh/functions/mysqlnd-uh-set-connection-proxy.xml b/reference/mysqlnd_uh/functions/mysqlnd-uh-set-connection-proxy.xml deleted file mode 100644 index 1e0f1bdc34..0000000000 --- a/reference/mysqlnd_uh/functions/mysqlnd-uh-set-connection-proxy.xml +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - mysqlnd_uh_set_connection_proxy - Installs a proxy for mysqlnd connections - - - - &reftitle.description; - - boolmysqlnd_uh_set_connection_proxy - MysqlndUhConnectionconnection_proxy - mysqlimysqli_connection - - - Installs a proxy object to hook mysqlnd's connection objects methods. - Once installed, the proxy will be used for all MySQL connections - opened with mysqli, - mysql or - PDO_MYSQL, assuming that the listed - extensions are compiled to use the mysqlnd - library. - - - The function can be disabled with - mysqlnd_uh.enable. - If mysqlnd_uh.enable - is set to &false; the function will not install the proxy and - always return &true;. Additionally, an error of the - type E_WARNING may be emitted. The error message may - read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) - The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. - The proxy has not been installed [...]. - - - - - &reftitle.parameters; - - - connection_proxy - - - A proxy object of type MysqlndUhConnection. - - - - - mysqli_connection - - - Object of type mysqli. - If given, the proxy will be set for this particular connection only. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>mysqlnd_uh_set_connection_proxy</function> example - -query("SELECT 'No proxy installed, yet'"); - -class proxy extends MysqlndUhConnection { - public function query($res, $query) { - printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true)); - $ret = parent::query($res, $query); - printf("%s returns %s\n", __METHOD__, var_export($ret, true)); - return $ret; - } -} -mysqlnd_uh_set_connection_proxy(new proxy()); - -$mysqli->query("SELECT 'mysqlnd rocks!'"); - -$mysql = mysql_connect("localhost", "root", "", "test"); -mysql_query("SELECT 'Ahoy Andrey!'", $mysql); - -$pdo = new PDO("mysql:host=localhost;dbname=test", "root", ""); -$pdo->query("SELECT 'Moin Johannes!'"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'SELECT \'mysqlnd rocks!\'', -)) -proxy::query returns true -proxy::query(array ( - 0 => NULL, - 1 => 'SELECT \'Ahoy Andrey!\'', -)) -proxy::query returns true -proxy::query(array ( - 0 => NULL, - 1 => 'SELECT \'Moin Johannes!\'', -)) -proxy::query returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_statement_proxy - - - mysqlnd_uh.enable - - - - - - - - diff --git a/reference/mysqlnd_uh/functions/mysqlnd-uh-set-statement-proxy.xml b/reference/mysqlnd_uh/functions/mysqlnd-uh-set-statement-proxy.xml deleted file mode 100644 index c132ae558a..0000000000 --- a/reference/mysqlnd_uh/functions/mysqlnd-uh-set-statement-proxy.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - mysqlnd_uh_set_statement_proxy - Installs a proxy for mysqlnd statements - - - - &reftitle.description; - - boolmysqlnd_uh_set_statement_proxy - MysqlndUhStatementstatement_proxy - - - Installs a proxy for mysqlnd statements. - The proxy object will be used for all mysqlnd prepared - statement objects, regardless which PHP MySQL extension - (mysqli, - mysql, - PDO_MYSQL) - has created them as long as the extension is compiled - to use the mysqlnd - library. - - - The function can be disabled with - mysqlnd_uh.enable. - If mysqlnd_uh.enable - is set to &false; the function will not install the proxy and - always return &true;. Additionally, an error of the - type E_WARNING may be emitted. The error message may - read like PHP Warning: mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) - The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. - The proxy has not been installed [...]. - - - - - - &reftitle.parameters; - - - statement_proxy - - - The mysqlnd statement proxy object of type MysqlndUhStatement - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqlnd_uh.enable - - - - - - - - - diff --git a/reference/mysqlnd_uh/ini.xml b/reference/mysqlnd_uh/ini.xml deleted file mode 100644 index 5f09cab4c7..0000000000 --- a/reference/mysqlnd_uh/ini.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - -
- &reftitle.runtime; - &extension.runtime; - - - Mysqlnd_uh &ConfigureOptions; - - - - &Name; - &Default; - &Changeable; - &Changelog; - - - - - mysqlnd_uh.enable - 1 - PHP_INI_SYSTEM - - - - mysqlnd_uh.report_wrong_types - 1 - PHP_INI_ALL - - - - -
-
- - &ini.descriptions.title; - - - - - - mysqlnd_uh.enable - int - - - - Enables or disables the plugin. If set to disabled, the extension will not - allow users to plug into - mysqlnd to hook - mysqlnd calls. - - - - - - mysqlnd_uh.report_wrong_types - int - - - - Whether to report wrong return value types of user hooks as - E_WARNING level errors. This is recommended - for detecting errors. - - - - - - -
- - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection.xml b/reference/mysqlnd_uh/mysqlnduhconnection.xml deleted file mode 100644 index b2f6c6dcaf..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - The MysqlndUhConnection class - MysqlndUhConnection - - - - -
- &reftitle.intro; - - - -
- - -
- &reftitle.classsynopsis; - - - - MysqlndUhConnection - - - - - MysqlndUhConnection - - - - - &Methods; - - - - -
- -
- - &reference.mysqlnd-uh.entities.mysqlnduhconnection; - -
- - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/changeuser.xml b/reference/mysqlnd_uh/mysqlnduhconnection/changeuser.xml deleted file mode 100644 index 63b34b8bdd..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/changeuser.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - MysqlndUhConnection::changeUser - Changes the user of the specified mysqlnd database connection - - - - &reftitle.description; - - public boolMysqlndUhConnection::changeUser - mysqlnd_connectionconnection - stringuser - stringpassword - stringdatabase - boolsilent - intpasswd_len - - - Changes the user of the specified mysqlnd database connection - - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - user - - - The MySQL user name. - - - - - password - - - The MySQL password. - - - - - database - - - The MySQL database to change to. - - - - - silent - - - Controls if mysqlnd is allowed to emit errors or not. - - - - - passwd_len - - - Length of the MySQL password. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::changeUser</function> example - -change_user("root", "bar", "test")); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'root', - 2 => 'bar', - 3 => 'test', - 4 => false, - 5 => 3, -)) -proxy::changeUser returns false -bool(false) - -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_change_user - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/charsetname.xml b/reference/mysqlnd_uh/mysqlnduhconnection/charsetname.xml deleted file mode 100644 index c1bad58bd4..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/charsetname.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - MysqlndUhConnection::charsetName - Returns the default character set for the database connection - - - - &reftitle.description; - - public stringMysqlndUhConnection::charsetName - mysqlnd_connectionconnection - - - Returns the default character set for the database connection. - - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The default character set. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::charsetName</function> example - - -]]> - - &example.outputs; - - NULL, -)) -proxy::charsetName returns 'latin1' -string(6) "latin1" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_character_set_name - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/close.xml b/reference/mysqlnd_uh/mysqlnduhconnection/close.xml deleted file mode 100644 index 797d896fdf..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/close.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - MysqlndUhConnection::close - Closes a previously opened database connection - - - - &reftitle.description; - - public boolMysqlndUhConnection::close - mysqlnd_connectionconnection - intclose_type - - - Closes a previously opened database connection. - - - - Failing to call the parent implementation may cause memory leaks or - crash PHP. This is not considered a bug. Please, keep in mind that - the mysqlnd library functions have never been designed - to be exposed to the user space. - - - - - - &reftitle.parameters; - - - connection - - - The connection to be closed. Do not modify! - - - - - close_type - - - Why the connection is to be closed. The value - of close_type is one of - MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, - MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, - MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED or - MYSQLND_UH_MYSQLND_CLOSE_LAST. The - latter should never be seen, unless the default - behaviour of the mysqlnd library - has been changed by a plugin. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::close</function> example - - "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED", - MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT", - MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT", - MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT" - ); - return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown'; -} - -class proxy extends MysqlndUhConnection { - public function close($res, $close_type) { - printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true)); - printf("close_type = %s\n", close_type_to_string($close_type)); - /* WARNING: you must call the parent */ - $ret = parent::close($res, $close_type); - printf("%s returns %s\n", __METHOD__, var_export($ret, true)); - return $ret; - } -} -mysqlnd_uh_set_connection_proxy(new proxy()); - -$mysqli = new mysqli("localhost", "root", "", "test"); -$mysqli->close(); -?> -]]> - - &example.outputs; - - NULL, - 1 => 0, -)) -close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT -proxy::close returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_close - - - mysql_close - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/connect.xml b/reference/mysqlnd_uh/mysqlnduhconnection/connect.xml deleted file mode 100644 index 5e2b3961ee..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/connect.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - MysqlndUhConnection::connect - Open a new connection to the MySQL server - - - - &reftitle.description; - - public boolMysqlndUhConnection::connect - mysqlnd_connectionconnection - stringhost - stringuse" - stringpassword - stringdatabase - intport - stringsocket - intmysql_flags - - - Open a new connection to the MySQL server. - - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - host - - - Can be either a host name or an IP address. Passing the NULL value or - the string "localhost" to this parameter, - the local host is assumed. When possible, pipes will be used - instead of the TCP/IP protocol. - - - - - user - - - The MySQL user name. - - - - - password - - - If not provided or &null;, - the MySQL server will attempt to authenticate - the user against those user records which have no password only. - This allows one username to be used with different permissions - (depending on if a password as provided or not). - - - - - database - - - If provided will specify the default database to be used when performing queries. - - - - - port - - - Specifies the port number to attempt to connect to the MySQL server. - - - - - socket - - - Specifies the socket or named pipe that should be used. - If &null;, mysqlnd will default to - /tmp/mysql.sock. - - - - - mysql_flags - - - Connection options. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::connect</function> example - - -]]> - - &example.outputs; - - NULL, - 1 => 'localhost', - 2 => 'root', - 3 => '', - 4 => 'test', - 5 => 3306, - 6 => NULL, - 7 => 131072, -)) -proxy::connect returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_connect - - - mysql_connect - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/construct.xml b/reference/mysqlnd_uh/mysqlnduhconnection/construct.xml deleted file mode 100644 index db4290e616..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/construct.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - MysqlndUhConnection::__construct - The __construct purpose - - - - &reftitle.description; - - public MysqlndUhConnection::__construct - - - - - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/endpsession.xml b/reference/mysqlnd_uh/mysqlnduhconnection/endpsession.xml deleted file mode 100644 index 1126be2ddc..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/endpsession.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - MysqlndUhConnection::endPSession - End a persistent connection - - - - &reftitle.description; - - public boolMysqlndUhConnection::endPSession - mysqlnd_connectionconnection - - - End a persistent connection - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::endPSession</function> example - -close(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::endPSession returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/escapestring.xml b/reference/mysqlnd_uh/mysqlnduhconnection/escapestring.xml deleted file mode 100644 index ce38061718..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/escapestring.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - MysqlndUhConnection::escapeString - - Escapes special characters in a string for use in an SQL statement, - taking into account the current charset of the connection - - - - - &reftitle.description; - - public stringMysqlndUhConnection::escapeString - mysqlnd_connectionconnection - stringescape_string - - - Escapes special characters in a string for use in an SQL statement, - taking into account the current charset of the connection. - - - - - &reftitle.parameters; - - - MYSQLND_UH_RES_MYSQLND_NAME - - - Mysqlnd connection handle. Do not modify! - - - - - escape_string - - - The string to be escaped. - - - - - - - - &reftitle.returnvalues; - - The escaped string. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::escapeString</function> example - -set_charset("latin1"); -$mysqli->real_escape_string("test0'test"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'test0\'test', -)) -proxy::escapeString returns 'test0\\\'test' -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_real_escape_string - - - mysql_real_escape_string - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getaffectedrows.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getaffectedrows.xml deleted file mode 100644 index 0f5102a1c8..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getaffectedrows.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - MysqlndUhConnection::getAffectedRows - Gets the number of affected rows in a previous MySQL operation - - - - &reftitle.description; - - public intMysqlndUhConnection::getAffectedRows - mysqlnd_connectionconnection - - - Gets the number of affected rows in a previous MySQL operation. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Number of affected rows. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getAffectedRows</function> example - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT)"); -$mysqli->query("INSERT INTO test(id) VALUES (1)"); -var_dump($mysqli->affected_rows); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getAffectedRows returns 1 -int(1) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_affected_rows - - - mysql_affected_rows - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/geterrornumber.xml b/reference/mysqlnd_uh/mysqlnduhconnection/geterrornumber.xml deleted file mode 100644 index b8db793995..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/geterrornumber.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - MysqlndUhConnection::getErrorNumber - Returns the error code for the most recent function call - - - - &reftitle.description; - - public intMysqlndUhConnection::getErrorNumber - mysqlnd_connectionconnection - - - Returns the error code for the most recent function call. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Error code for the most recent function call. - - - - - &reftitle.examples; - - MysqlndUhConnection::getErrorNumber is not only executed - after the invocation of a user space API call which maps directly to it but also - called internally. - - - - <function>MysqlndUhConnection::getErrorNumber</function> example - -query("PLEASE_LET_THIS_BE_INVALID_SQL"); -printf("errno...\n"); -var_dump($mysqli->errno); -printf("close...\n"); -$mysqli->close(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getErrorNumber returns 0 -query... -errno... -proxy::getErrorNumber(array ( - 0 => NULL, -)) -proxy::getErrorNumber returns 1064 -int(1064) -close... -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - MysqlndUhConnection::getErrorString - - - mysqli_errno - - - mysql_errno - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/geterrorstring.xml b/reference/mysqlnd_uh/mysqlnduhconnection/geterrorstring.xml deleted file mode 100644 index 2174505d00..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/geterrorstring.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - MysqlndUhConnection::getErrorString - Returns a string description of the last error - - - - &reftitle.description; - - public stringMysqlndUhConnection::getErrorString - mysqlnd_connectionconnection - - - Returns a string description of the last error. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Error string for the most recent function call. - - - - - &reftitle.examples; - - MysqlndUhConnection::getErrorString is not only executed - after the invocation of a user space API call which maps directly to it but also - called internally. - - - - <function>MysqlndUhConnection::getErrorString</function> example - -query("WILL_I_EVER_LEARN_SQL?"); -printf("errno...\n"); -var_dump($mysqli->error); -printf("close...\n"); -$mysqli->close(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getErrorString returns '' -query... -errno... -proxy::getErrorString(array ( - 0 => NULL, -)) -proxy::getErrorString returns 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'WILL_I_EVER_LEARN_SQL?\' at line 1' -string(168) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WILL_I_EVER_LEARN_SQL?' at line 1" -close... -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - MysqlndUhConnection::getErrorNumber - - - mysqli_error - - - mysql_error - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getfieldcount.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getfieldcount.xml deleted file mode 100644 index 0649312acf..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getfieldcount.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - MysqlndUhConnection::getFieldCount - Returns the number of columns for the most recent query - - - - &reftitle.description; - - public intMysqlndUhConnection::getFieldCount - mysqlnd_connectionconnection - - - Returns the number of columns for the most recent query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Number of columns. - - - - - &reftitle.examples; - - MysqlndUhConnection::getFieldCount is not only executed - after the invocation of a user space API call which maps directly to it but also - called internally. - - - - <function>MysqlndUhConnection::getFieldCount</function> example - -query("WILL_I_EVER_LEARN_SQL?"); -var_dump($mysqli->field_count); -$mysqli->query("SELECT 1, 2, 3 FROM DUAL"); -var_dump($mysqli->field_count); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getFieldCount returns 0 -int(0) -proxy::getFieldCount(array ( - 0 => NULL, -)) -proxy::getFieldCount returns 3 -proxy::getFieldCount(array ( - 0 => NULL, -)) -proxy::getFieldCount returns 3 -int(3) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_field_count - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/gethostinformation.xml b/reference/mysqlnd_uh/mysqlnduhconnection/gethostinformation.xml deleted file mode 100644 index b36cbdfc1d..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/gethostinformation.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - MysqlndUhConnection::getHostInformation - Returns a string representing the type of connection used - - - - &reftitle.description; - - public stringMysqlndUhConnection::getHostInformation - mysqlnd_connectionconnection - - - Returns a string representing the type of connection used. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Connection description. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getHostInformation</function> example - -host_info); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getHostInformation returns 'Localhost via UNIX socket' -string(25) "Localhost via UNIX socket" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_get_host_info - - - mysql_get_host_info - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getlastinsertid.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getlastinsertid.xml deleted file mode 100644 index 82f59edf0f..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getlastinsertid.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - MysqlndUhConnection::getLastInsertId - Returns the auto generated id used in the last query - - - - &reftitle.description; - - public intMysqlndUhConnection::getLastInsertId - mysqlnd_connectionconnection - - - Returns the auto generated id used in the last query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Last insert id. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getLastInsertId</function> example - -query("DROP TABLE IF EXISTS test"); -$mysqli->query("CREATE TABLE test(id INT AUTO_INCREMENT PRIMARY KEY, col VARCHAR(255))"); -$mysqli->query("INSERT INTO test(col) VALUES ('a')"); -var_dump($mysqli->insert_id); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getLastInsertId returns 1 -int(1) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_insert_id - - - mysql_insert_id - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getlastmessage.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getlastmessage.xml deleted file mode 100644 index 14a7328f45..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getlastmessage.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - MysqlndUhConnection::getLastMessage - Retrieves information about the most recently executed query - - - - &reftitle.description; - - public voidMysqlndUhConnection::getLastMessage - mysqlnd_connectionconnection - - - Retrieves information about the most recently executed query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Last message. Trying to return a string longer than 511 bytes - will cause an error of the type E_WARNING and - result in the string being truncated. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getLastMessage</function> example - -info); -$mysqli->query("DROP TABLE IF EXISTS test"); -var_dump($mysqli->info); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getLastMessage returns '' -string(0) "" -proxy::getLastMessage(array ( - 0 => NULL, -)) -proxy::getLastMessage returns '' -string(0) "" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_info - - - mysql_info - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getprotocolinformation.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getprotocolinformation.xml deleted file mode 100644 index f8accb264b..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getprotocolinformation.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::getProtocolInformation - Returns the version of the MySQL protocol used - - - - &reftitle.description; - - public stringMysqlndUhConnection::getProtocolInformation - mysqlnd_connectionconnection - - - Returns the version of the MySQL protocol used. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The protocol version. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getProtocolInformation</function> example - -protocol_version); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getProtocolInformation returns 10 -int(10) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_get_proto_info - - - mysql_get_proto_info - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getserverinformation.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getserverinformation.xml deleted file mode 100644 index 8a1e3f77cf..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getserverinformation.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::getServerInformation - Returns the version of the MySQL server - - - - &reftitle.description; - - public stringMysqlndUhConnection::getServerInformation - mysqlnd_connectionconnection - - - Returns the version of the MySQL server. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The server version. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getServerInformation</function> example - -server_info); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getServerInformation returns '5.1.45-debug-log' -string(16) "5.1.45-debug-log" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_get_server_info - - - mysql_get_server_info - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getserverstatistics.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getserverstatistics.xml deleted file mode 100644 index 4fb5fed520..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getserverstatistics.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::getServerStatistics - Gets the current system status - - - - &reftitle.description; - - public stringMysqlndUhConnection::getServerStatistics - mysqlnd_connectionconnection - - - Gets the current system status. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The system status message. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getServerStatistics</function> example - - -]]> - - &example.outputs; - - NULL, -)) -proxy::getServerStatistics returns 'Uptime: 2059995 Threads: 1 Questions: 126157 Slow queries: 0 Opens: 6377 Flush tables: 1 Open tables: 18 Queries per second avg: 0.61' -string(140) "Uptime: 2059995 Threads: 1 Questions: 126157 Slow queries: 0 Opens: 6377 Flush tables: 1 Open tables: 18 Queries per second avg: 0.61" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_stat - - - mysql_stat - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getserverversion.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getserverversion.xml deleted file mode 100644 index abc44406a6..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getserverversion.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::getServerVersion - Returns the version of the MySQL server as an integer - - - - &reftitle.description; - - public intMysqlndUhConnection::getServerVersion - mysqlnd_connectionconnection - - - Returns the version of the MySQL server as an integer. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The MySQL version. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getServerVersion</function> example - -server_version); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getServerVersion returns 50145 -int(50145) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_get_server_version - - - mysql_get_server_version - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getsqlstate.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getsqlstate.xml deleted file mode 100644 index 12b591d73b..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getsqlstate.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - MysqlndUhConnection::getSqlstate - Returns the SQLSTATE error from previous MySQL operation - - - - &reftitle.description; - - public stringMysqlndUhConnection::getSqlstate - mysqlnd_connectionconnection - - - Returns the SQLSTATE error from previous MySQL operation. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - The SQLSTATE code. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getSqlstate</function> example - -sqlstate); -$mysqli->query("AN_INVALID_REQUEST_TO_PROVOKE_AN_ERROR"); -var_dump($mysqli->sqlstate); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getSqlstate returns '00000' -string(5) "00000" -proxy::getSqlstate(array ( - 0 => NULL, -)) -proxy::getSqlstate returns '42000' -string(5) "42000" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_sql_state - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getstatistics.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getstatistics.xml deleted file mode 100644 index d0c214515b..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getstatistics.xml +++ /dev/null @@ -1,600 +0,0 @@ - - - - - - MysqlndUhConnection::getStatistics - Returns statistics about the client connection - - - - &reftitle.description; - - public arrayMysqlndUhConnection::getStatistics - mysqlnd_connectionconnection - - - Returns statistics about the client connection. - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Connection statistics collected by mysqlnd. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getStatistics</function> example - -get_connection_stats()); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getStatistics returns array ( - 'bytes_sent' => '73', - 'bytes_received' => '77', - 'packets_sent' => '2', - 'packets_received' => '2', - 'protocol_overhead_in' => '8', - 'protocol_overhead_out' => '8', - 'bytes_received_ok_packet' => '0', - 'bytes_received_eof_packet' => '0', - 'bytes_received_rset_header_packet' => '0', - 'bytes_received_rset_field_meta_packet' => '0', - 'bytes_received_rset_row_packet' => '0', - 'bytes_received_prepare_response_packet' => '0', - 'bytes_received_change_user_packet' => '0', - 'packets_sent_command' => '0', - 'packets_received_ok' => '0', - 'packets_received_eof' => '0', - 'packets_received_rset_header' => '0', - 'packets_received_rset_field_meta' => '0', - 'packets_received_rset_row' => '0', - 'packets_received_prepare_response' => '0', - 'packets_received_change_user' => '0', - 'result_set_queries' => '0', - 'non_result_set_queries' => '0', - 'no_index_used' => '0', - 'bad_index_used' => '0', - 'slow_queries' => '0', - 'buffered_sets' => '0', - 'unbuffered_sets' => '0', - 'ps_buffered_sets' => '0', - 'ps_unbuffered_sets' => '0', - 'flushed_normal_sets' => '0', - 'flushed_ps_sets' => '0', - 'ps_prepared_never_executed' => '0', - 'ps_prepared_once_executed' => '0', - 'rows_fetched_from_server_normal' => '0', - 'rows_fetched_from_server_ps' => '0', - 'rows_buffered_from_client_normal' => '0', - 'rows_buffered_from_client_ps' => '0', - 'rows_fetched_from_client_normal_buffered' => '0', - 'rows_fetched_from_client_normal_unbuffered' => '0', - 'rows_fetched_from_client_ps_buffered' => '0', - 'rows_fetched_from_client_ps_unbuffered' => '0', - 'rows_fetched_from_client_ps_cursor' => '0', - 'rows_affected_normal' => '0', - 'rows_affected_ps' => '0', - 'rows_skipped_normal' => '0', - 'rows_skipped_ps' => '0', - 'copy_on_write_saved' => '0', - 'copy_on_write_performed' => '0', - 'command_buffer_too_small' => '0', - 'connect_success' => '1', - 'connect_failure' => '0', - 'connection_reused' => '0', - 'reconnect' => '0', - 'pconnect_success' => '0', - 'active_connections' => '1', - 'active_persistent_connections' => '0', - 'explicit_close' => '0', - 'implicit_close' => '0', - 'disconnect_close' => '0', - 'in_middle_of_command_close' => '0', - 'explicit_free_result' => '0', - 'implicit_free_result' => '0', - 'explicit_stmt_close' => '0', - 'implicit_stmt_close' => '0', - 'mem_emalloc_count' => '0', - 'mem_emalloc_amount' => '0', - 'mem_ecalloc_count' => '0', - 'mem_ecalloc_amount' => '0', - 'mem_erealloc_count' => '0', - 'mem_erealloc_amount' => '0', - 'mem_efree_count' => '0', - 'mem_efree_amount' => '0', - 'mem_malloc_count' => '0', - 'mem_malloc_amount' => '0', - 'mem_calloc_count' => '0', - 'mem_calloc_amount' => '0', - 'mem_realloc_count' => '0', - 'mem_realloc_amount' => '0', - 'mem_free_count' => '0', - 'mem_free_amount' => '0', - 'mem_estrndup_count' => '0', - 'mem_strndup_count' => '0', - 'mem_estndup_count' => '0', - 'mem_strdup_count' => '0', - 'proto_text_fetched_null' => '0', - 'proto_text_fetched_bit' => '0', - 'proto_text_fetched_tinyint' => '0', - 'proto_text_fetched_short' => '0', - 'proto_text_fetched_int24' => '0', - 'proto_text_fetched_int' => '0', - 'proto_text_fetched_bigint' => '0', - 'proto_text_fetched_decimal' => '0', - 'proto_text_fetched_float' => '0', - 'proto_text_fetched_double' => '0', - 'proto_text_fetched_date' => '0', - 'proto_text_fetched_year' => '0', - 'proto_text_fetched_time' => '0', - 'proto_text_fetched_datetime' => '0', - 'proto_text_fetched_timestamp' => '0', - 'proto_text_fetched_string' => '0', - 'proto_text_fetched_blob' => '0', - 'proto_text_fetched_enum' => '0', - 'proto_text_fetched_set' => '0', - 'proto_text_fetched_geometry' => '0', - 'proto_text_fetched_other' => '0', - 'proto_binary_fetched_null' => '0', - 'proto_binary_fetched_bit' => '0', - 'proto_binary_fetched_tinyint' => '0', - 'proto_binary_fetched_short' => '0', - 'proto_binary_fetched_int24' => '0', - 'proto_binary_fetched_int' => '0', - 'proto_binary_fetched_bigint' => '0', - 'proto_binary_fetched_decimal' => '0', - 'proto_binary_fetched_float' => '0', - 'proto_binary_fetched_double' => '0', - 'proto_binary_fetched_date' => '0', - 'proto_binary_fetched_year' => '0', - 'proto_binary_fetched_time' => '0', - 'proto_binary_fetched_datetime' => '0', - 'proto_binary_fetched_timestamp' => '0', - 'proto_binary_fetched_string' => '0', - 'proto_binary_fetched_blob' => '0', - 'proto_binary_fetched_enum' => '0', - 'proto_binary_fetched_set' => '0', - 'proto_binary_fetched_geometry' => '0', - 'proto_binary_fetched_other' => '0', - 'init_command_executed_count' => '0', - 'init_command_failed_count' => '0', - 'com_quit' => '0', - 'com_init_db' => '0', - 'com_query' => '0', - 'com_field_list' => '0', - 'com_create_db' => '0', - 'com_drop_db' => '0', - 'com_refresh' => '0', - 'com_shutdown' => '0', - 'com_statistics' => '0', - 'com_process_info' => '0', - 'com_connect' => '0', - 'com_process_kill' => '0', - 'com_debug' => '0', - 'com_ping' => '0', - 'com_time' => '0', - 'com_delayed_insert' => '0', - 'com_change_user' => '0', - 'com_binlog_dump' => '0', - 'com_table_dump' => '0', - 'com_connect_out' => '0', - 'com_register_slave' => '0', - 'com_stmt_prepare' => '0', - 'com_stmt_execute' => '0', - 'com_stmt_send_long_data' => '0', - 'com_stmt_close' => '0', - 'com_stmt_reset' => '0', - 'com_stmt_set_option' => '0', - 'com_stmt_fetch' => '0', - 'com_deamon' => '0', - 'bytes_received_real_data_normal' => '0', - 'bytes_received_real_data_ps' => '0', -) -array(160) { - ["bytes_sent"]=> - string(2) "73" - ["bytes_received"]=> - string(2) "77" - ["packets_sent"]=> - string(1) "2" - ["packets_received"]=> - string(1) "2" - ["protocol_overhead_in"]=> - string(1) "8" - ["protocol_overhead_out"]=> - string(1) "8" - ["bytes_received_ok_packet"]=> - string(1) "0" - ["bytes_received_eof_packet"]=> - string(1) "0" - ["bytes_received_rset_header_packet"]=> - string(1) "0" - ["bytes_received_rset_field_meta_packet"]=> - string(1) "0" - ["bytes_received_rset_row_packet"]=> - string(1) "0" - ["bytes_received_prepare_response_packet"]=> - string(1) "0" - ["bytes_received_change_user_packet"]=> - string(1) "0" - ["packets_sent_command"]=> - string(1) "0" - ["packets_received_ok"]=> - string(1) "0" - ["packets_received_eof"]=> - string(1) "0" - ["packets_received_rset_header"]=> - string(1) "0" - ["packets_received_rset_field_meta"]=> - string(1) "0" - ["packets_received_rset_row"]=> - string(1) "0" - ["packets_received_prepare_response"]=> - string(1) "0" - ["packets_received_change_user"]=> - string(1) "0" - ["result_set_queries"]=> - string(1) "0" - ["non_result_set_queries"]=> - string(1) "0" - ["no_index_used"]=> - string(1) "0" - ["bad_index_used"]=> - string(1) "0" - ["slow_queries"]=> - string(1) "0" - ["buffered_sets"]=> - string(1) "0" - ["unbuffered_sets"]=> - string(1) "0" - ["ps_buffered_sets"]=> - string(1) "0" - ["ps_unbuffered_sets"]=> - string(1) "0" - ["flushed_normal_sets"]=> - string(1) "0" - ["flushed_ps_sets"]=> - string(1) "0" - ["ps_prepared_never_executed"]=> - string(1) "0" - ["ps_prepared_once_executed"]=> - string(1) "0" - ["rows_fetched_from_server_normal"]=> - string(1) "0" - ["rows_fetched_from_server_ps"]=> - string(1) "0" - ["rows_buffered_from_client_normal"]=> - string(1) "0" - ["rows_buffered_from_client_ps"]=> - string(1) "0" - ["rows_fetched_from_client_normal_buffered"]=> - string(1) "0" - ["rows_fetched_from_client_normal_unbuffered"]=> - string(1) "0" - ["rows_fetched_from_client_ps_buffered"]=> - string(1) "0" - ["rows_fetched_from_client_ps_unbuffered"]=> - string(1) "0" - ["rows_fetched_from_client_ps_cursor"]=> - string(1) "0" - ["rows_affected_normal"]=> - string(1) "0" - ["rows_affected_ps"]=> - string(1) "0" - ["rows_skipped_normal"]=> - string(1) "0" - ["rows_skipped_ps"]=> - string(1) "0" - ["copy_on_write_saved"]=> - string(1) "0" - ["copy_on_write_performed"]=> - string(1) "0" - ["command_buffer_too_small"]=> - string(1) "0" - ["connect_success"]=> - string(1) "1" - ["connect_failure"]=> - string(1) "0" - ["connection_reused"]=> - string(1) "0" - ["reconnect"]=> - string(1) "0" - ["pconnect_success"]=> - string(1) "0" - ["active_connections"]=> - string(1) "1" - ["active_persistent_connections"]=> - string(1) "0" - ["explicit_close"]=> - string(1) "0" - ["implicit_close"]=> - string(1) "0" - ["disconnect_close"]=> - string(1) "0" - ["in_middle_of_command_close"]=> - string(1) "0" - ["explicit_free_result"]=> - string(1) "0" - ["implicit_free_result"]=> - string(1) "0" - ["explicit_stmt_close"]=> - string(1) "0" - ["implicit_stmt_close"]=> - string(1) "0" - ["mem_emalloc_count"]=> - string(1) "0" - ["mem_emalloc_amount"]=> - string(1) "0" - ["mem_ecalloc_count"]=> - string(1) "0" - ["mem_ecalloc_amount"]=> - string(1) "0" - ["mem_erealloc_count"]=> - string(1) "0" - ["mem_erealloc_amount"]=> - string(1) "0" - ["mem_efree_count"]=> - string(1) "0" - ["mem_efree_amount"]=> - string(1) "0" - ["mem_malloc_count"]=> - string(1) "0" - ["mem_malloc_amount"]=> - string(1) "0" - ["mem_calloc_count"]=> - string(1) "0" - ["mem_calloc_amount"]=> - string(1) "0" - ["mem_realloc_count"]=> - string(1) "0" - ["mem_realloc_amount"]=> - string(1) "0" - ["mem_free_count"]=> - string(1) "0" - ["mem_free_amount"]=> - string(1) "0" - ["mem_estrndup_count"]=> - string(1) "0" - ["mem_strndup_count"]=> - string(1) "0" - ["mem_estndup_count"]=> - string(1) "0" - ["mem_strdup_count"]=> - string(1) "0" - ["proto_text_fetched_null"]=> - string(1) "0" - ["proto_text_fetched_bit"]=> - string(1) "0" - ["proto_text_fetched_tinyint"]=> - string(1) "0" - ["proto_text_fetched_short"]=> - string(1) "0" - ["proto_text_fetched_int24"]=> - string(1) "0" - ["proto_text_fetched_int"]=> - string(1) "0" - ["proto_text_fetched_bigint"]=> - string(1) "0" - ["proto_text_fetched_decimal"]=> - string(1) "0" - ["proto_text_fetched_float"]=> - string(1) "0" - ["proto_text_fetched_double"]=> - string(1) "0" - ["proto_text_fetched_date"]=> - string(1) "0" - ["proto_text_fetched_year"]=> - string(1) "0" - ["proto_text_fetched_time"]=> - string(1) "0" - ["proto_text_fetched_datetime"]=> - string(1) "0" - ["proto_text_fetched_timestamp"]=> - string(1) "0" - ["proto_text_fetched_string"]=> - string(1) "0" - ["proto_text_fetched_blob"]=> - string(1) "0" - ["proto_text_fetched_enum"]=> - string(1) "0" - ["proto_text_fetched_set"]=> - string(1) "0" - ["proto_text_fetched_geometry"]=> - string(1) "0" - ["proto_text_fetched_other"]=> - string(1) "0" - ["proto_binary_fetched_null"]=> - string(1) "0" - ["proto_binary_fetched_bit"]=> - string(1) "0" - ["proto_binary_fetched_tinyint"]=> - string(1) "0" - ["proto_binary_fetched_short"]=> - string(1) "0" - ["proto_binary_fetched_int24"]=> - string(1) "0" - ["proto_binary_fetched_int"]=> - string(1) "0" - ["proto_binary_fetched_bigint"]=> - string(1) "0" - ["proto_binary_fetched_decimal"]=> - string(1) "0" - ["proto_binary_fetched_float"]=> - string(1) "0" - ["proto_binary_fetched_double"]=> - string(1) "0" - ["proto_binary_fetched_date"]=> - string(1) "0" - ["proto_binary_fetched_year"]=> - string(1) "0" - ["proto_binary_fetched_time"]=> - string(1) "0" - ["proto_binary_fetched_datetime"]=> - string(1) "0" - ["proto_binary_fetched_timestamp"]=> - string(1) "0" - ["proto_binary_fetched_string"]=> - string(1) "0" - ["proto_binary_fetched_blob"]=> - string(1) "0" - ["proto_binary_fetched_enum"]=> - string(1) "0" - ["proto_binary_fetched_set"]=> - string(1) "0" - ["proto_binary_fetched_geometry"]=> - string(1) "0" - ["proto_binary_fetched_other"]=> - string(1) "0" - ["init_command_executed_count"]=> - string(1) "0" - ["init_command_failed_count"]=> - string(1) "0" - ["com_quit"]=> - string(1) "0" - ["com_init_db"]=> - string(1) "0" - ["com_query"]=> - string(1) "0" - ["com_field_list"]=> - string(1) "0" - ["com_create_db"]=> - string(1) "0" - ["com_drop_db"]=> - string(1) "0" - ["com_refresh"]=> - string(1) "0" - ["com_shutdown"]=> - string(1) "0" - ["com_statistics"]=> - string(1) "0" - ["com_process_info"]=> - string(1) "0" - ["com_connect"]=> - string(1) "0" - ["com_process_kill"]=> - string(1) "0" - ["com_debug"]=> - string(1) "0" - ["com_ping"]=> - string(1) "0" - ["com_time"]=> - string(1) "0" - ["com_delayed_insert"]=> - string(1) "0" - ["com_change_user"]=> - string(1) "0" - ["com_binlog_dump"]=> - string(1) "0" - ["com_table_dump"]=> - string(1) "0" - ["com_connect_out"]=> - string(1) "0" - ["com_register_slave"]=> - string(1) "0" - ["com_stmt_prepare"]=> - string(1) "0" - ["com_stmt_execute"]=> - string(1) "0" - ["com_stmt_send_long_data"]=> - string(1) "0" - ["com_stmt_close"]=> - string(1) "0" - ["com_stmt_reset"]=> - string(1) "0" - ["com_stmt_set_option"]=> - string(1) "0" - ["com_stmt_fetch"]=> - string(1) "0" - ["com_deamon"]=> - string(1) "0" - ["bytes_received_real_data_normal"]=> - string(1) "0" - ["bytes_received_real_data_ps"]=> - string(1) "0" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_get_connection_stats - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getthreadid.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getthreadid.xml deleted file mode 100644 index 65f8561e8c..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getthreadid.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::getThreadId - Returns the thread ID for the current connection - - - - &reftitle.description; - - public intMysqlndUhConnection::getThreadId - mysqlnd_connectionconnection - - - Returns the thread ID for the current connection. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Connection thread id. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getThreadId</function> example - -thread_id); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getThreadId returns 27646 -int(27646) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_thread_id - - - mysql_thread_id - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/getwarningcount.xml b/reference/mysqlnd_uh/mysqlnduhconnection/getwarningcount.xml deleted file mode 100644 index 2e12111631..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/getwarningcount.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - MysqlndUhConnection::getWarningCount - Returns the number of warnings from the last query for the given link - - - - &reftitle.description; - - public intMysqlndUhConnection::getWarningCount - mysqlnd_connectionconnection - - - Returns the number of warnings from the last query for the given link. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Number of warnings. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::getWarningCount</function> example - -warning_count); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::getWarningCount returns 0 -int(0) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_warning_count - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/init.xml b/reference/mysqlnd_uh/mysqlnduhconnection/init.xml deleted file mode 100644 index a3007605c1..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/init.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - MysqlndUhConnection::init - Initialize mysqlnd connection - - - - &reftitle.description; - - public boolMysqlndUhConnection::init - mysqlnd_connectionconnection - - - Initialize mysqlnd connection. This is an mysqlnd internal call to initialize - the connection object. - - - - Failing to call the parent implementation may cause memory leaks or - crash PHP. This is not considered a bug. Please, keep in mind that - the mysqlnd library functions have never been designed - to be exposed to the user space. - - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::init</function> example - - -]]> - - &example.outputs; - - NULL, -)) -proxy::init returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/killconnection.xml b/reference/mysqlnd_uh/mysqlnduhconnection/killconnection.xml deleted file mode 100644 index 523764bae5..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/killconnection.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - MysqlndUhConnection::killConnection - Asks the server to kill a MySQL thread - - - - &reftitle.description; - - public boolMysqlndUhConnection::killConnection - mysqlnd_connectionconnection - intpid - - - Asks the server to kill a MySQL thread. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - pid - - - Thread Id of the connection to be killed. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::kill</function> example - -kill($mysqli->thread_id); -?> -]]> - - &example.outputs; - - NULL, - 1 => 27650, -)) -proxy::killConnection returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_kill - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/listfields.xml b/reference/mysqlnd_uh/mysqlnduhconnection/listfields.xml deleted file mode 100644 index 6f0a5c05ef..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/listfields.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - MysqlndUhConnection::listFields - List MySQL table fields - - - - &reftitle.description; - - public arrayMysqlndUhConnection::listFields - mysqlnd_connectionconnection - stringtable - stringachtung_wild - - - List MySQL table fields. - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - table - - - The name of the table that's being queried. - - - - - pattern - - - Name pattern. - - - - - - - - &reftitle.returnvalues; - - - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::listFields</function> example - - -]]> - - &example.outputs; - - NULL, - 1 => 'test_a', - 2 => '', -)) -proxy::listFields returns NULL -num_rows = 0 -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysql_list_fields - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/listmethod.xml b/reference/mysqlnd_uh/mysqlnduhconnection/listmethod.xml deleted file mode 100644 index 278fc149a1..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/listmethod.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - MysqlndUhConnection::listMethod - Wrapper for assorted list commands - - - - &reftitle.description; - - public voidMysqlndUhConnection::listMethod - mysqlnd_connectionconnection - stringquery - stringachtung_wild - stringpar1 - - - Wrapper for assorted list commands. - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - query - - - SHOW command to be executed. - - - - - achtung_wild - - - - - - - - par1 - - - - - - - - - - - &reftitle.returnvalues; - - - - - - - &reftitle.returnvalues; - - TODO - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::listMethod</function> example - - -]]> - - &example.outputs; - - NULL, - 1 => 'SHOW DATABASES', - 2 => '', - 3 => '', -)) -proxy::listMethod returns NULL -num_rows = 6 -array(1) { - ["Database"]=> - string(18) "information_schema" -} -array(1) { - ["Database"]=> - string(5) "mysql" -} -array(1) { - ["Database"]=> - string(8) "oxid_new" -} -array(1) { - ["Database"]=> - string(7) "phptest" -} -array(1) { - ["Database"]=> - string(7) "pushphp" -} -array(1) { - ["Database"]=> - string(4) "test" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysql_list_dbs - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/moreresults.xml b/reference/mysqlnd_uh/mysqlnduhconnection/moreresults.xml deleted file mode 100644 index bfc7dd7cab..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/moreresults.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - MysqlndUhConnection::moreResults - Check if there are any more query results from a multi query - - - - &reftitle.description; - - public boolMysqlndUhConnection::moreResults - mysqlnd_connectionconnection - - - Check if there are any more query results from a multi query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::moreResults</function> example - -multi_query("SELECT 1 AS _one; SELECT 2 AS _two"); -do { - $res = $mysqli->store_result(); - var_dump($res->fetch_assoc()); - printf("%s\n", str_repeat("-", 40)); -} while ($mysqli->more_results() && $mysqli->next_result()); -?> -]]> - - &example.outputs; - - - string(1) "1" -} ----------------------------------------- -proxy::moreResults(array ( - 0 => NULL, -)) -proxy::moreResults returns true -proxy::moreResults(array ( - 0 => NULL, -)) -proxy::moreResults returns true -array(1) { - ["_two"]=> - string(1) "2" -} ----------------------------------------- -proxy::moreResults(array ( - 0 => NULL, -)) -proxy::moreResults returns false -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_more_results - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/nextresult.xml b/reference/mysqlnd_uh/mysqlnduhconnection/nextresult.xml deleted file mode 100644 index f974597666..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/nextresult.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - MysqlndUhConnection::nextResult - Prepare next result from multi_query - - - - &reftitle.description; - - public boolMysqlndUhConnection::nextResult - mysqlnd_connectionconnection - - - Prepare next result from multi_query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::nextResult</function> example - -multi_query("SELECT 1 AS _one; SELECT 2 AS _two"); -do { - $res = $mysqli->store_result(); - var_dump($res->fetch_assoc()); - printf("%s\n", str_repeat("-", 40)); -} while ($mysqli->more_results() && $mysqli->next_result()); -?> -]]> - - &example.outputs; - - - string(1) "1" -} ----------------------------------------- -proxy::nextResult(array ( - 0 => NULL, -)) -proxy::nextResult returns true -array(1) { - ["_two"]=> - string(1) "2" -} ----------------------------------------- -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_next_result - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/ping.xml b/reference/mysqlnd_uh/mysqlnduhconnection/ping.xml deleted file mode 100644 index 63727b8168..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/ping.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - MysqlndUhConnection::ping - Pings a server connection, or tries to reconnect if the connection has gone down - - - - &reftitle.description; - - public boolMysqlndUhConnection::ping - mysqlnd_connectionconnection - - - Pings a server connection, or tries to reconnect if the connection has gone down. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::ping</function> example - -ping(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::ping returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_ping - - - mysql_ping - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/query.xml b/reference/mysqlnd_uh/mysqlnduhconnection/query.xml deleted file mode 100644 index d57c0422a3..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/query.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - MysqlndUhConnection::query - Performs a query on the database - - - - &reftitle.description; - - public boolMysqlndUhConnection::query - mysqlnd_connectionconnection - stringquery - - - Performs a query on the database (COM_QUERY). - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - query - - - The query string. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::query</function> example - -query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL"); -var_dump($res->fetch_assoc()); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'SELECT \'Welcome mysqlnd_uh!\' FROM DUAL', -)) -proxy::query returns true -array(1) { - ["How about query rewriting?"]=> - string(26) "How about query rewriting?" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_query - - - mysql_query - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/queryreadresultsetheader.xml b/reference/mysqlnd_uh/mysqlnduhconnection/queryreadresultsetheader.xml deleted file mode 100644 index 9f360e872f..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/queryreadresultsetheader.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - MysqlndUhConnection::queryReadResultsetHeader - Read a result set header - - - - &reftitle.description; - - public boolMysqlndUhConnection::queryReadResultsetHeader - mysqlnd_connectionconnection - mysqlnd_statementmysqlnd_stmt - - - Read a result set header. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - mysqlnd_stmt - - - Mysqlnd statement handle. Do not modify! - Set to &null;, if function - is not used in the context of a prepared statement. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::queryReadResultsetHeader</function> example - -query("SELECT 'Welcome mysqlnd_uh!' FROM DUAL"); -var_dump($res->fetch_assoc()); -?> -]]> - - &example.outputs; - - NULL, - 1 => NULL, -)) -proxy::queryReadResultsetHeader returns true -array(1) { - ["Welcome mysqlnd_uh!"]=> - string(19) "Welcome mysqlnd_uh!" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/reapquery.xml b/reference/mysqlnd_uh/mysqlnduhconnection/reapquery.xml deleted file mode 100644 index aa2914625d..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/reapquery.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - MysqlndUhConnection::reapQuery - Get result from async query - - - - &reftitle.description; - - public boolMysqlndUhConnection::reapQuery - mysqlnd_connectionconnection - - - Get result from async query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::reapQuery</function> example - -query("SELECT 1 as 'one', SLEEP(1) AS _sleep FROM DUAL", MYSQLI_ASYNC | MYSQLI_USE_RESULT); -$conn2->query("SELECT 1.1 as 'one dot one' FROM DUAL", MYSQLI_ASYNC | MYSQLI_USE_RESULT); - -$links = array( - $conn1->thread_id => array('link' => $conn1, 'processed' => false), - $conn2->thread_id => array('link' => $conn2, 'processed' => false) -); - -$saved_errors = array(); -do { - $poll_links = $poll_errors = $poll_reject = array(); - foreach ($links as $thread_id => $link) { - if (!$link['processed']) { - $poll_links[] = $link['link']; - $poll_errors[] = $link['link']; - $poll_reject[] = $link['link']; - } - } - if (0 == count($poll_links)) - break; - - if (0 == ($num_ready = mysqli_poll($poll_links, $poll_errors, $poll_reject, 0, 200000))) - continue; - - if (!empty($poll_errors)) { - die(var_dump($poll_errors)); - } - - foreach ($poll_links as $link) { - $thread_id = mysqli_thread_id($link); - $links[$thread_id]['processed'] = true; - - if (is_object($res = mysqli_reap_async_query($link))) { - // result set object - while ($row = mysqli_fetch_assoc($res)) { - // eat up all results - var_dump($row); - } - mysqli_free_result($res); - } else { - // either there is no result (no SELECT) or there is an error - if (mysqli_errno($link) > 0) { - $saved_errors[$thread_id] = mysqli_errno($link); - printf("'%s' caused %d\n", $links[$thread_id]['query'], mysqli_errno($link)); - } - } - } -} while (true); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::reapQuery returns true -array(1) { - ["one dot one"]=> - string(3) "1.1" -} -proxy::reapQuery(array ( - 0 => NULL, -)) -proxy::reapQuery returns true -array(2) { - ["one"]=> - string(1) "1" - ["_sleep"]=> - string(1) "0" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_real_async_query - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/refreshserver.xml b/reference/mysqlnd_uh/mysqlnduhconnection/refreshserver.xml deleted file mode 100644 index 6372cf09b2..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/refreshserver.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - MysqlndUhConnection::refreshServer - Flush or reset tables and caches - - - - &reftitle.description; - - public boolMysqlndUhConnection::refreshServer - mysqlnd_connectionconnection - intoptions - - - Flush or reset tables and caches. - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - options - - - What to refresh. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::refreshServer</function> example - - -]]> - - &example.outputs; - - NULL, - 1 => 1, -)) -proxy::refreshServer returns false -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/restartpsession.xml b/reference/mysqlnd_uh/mysqlnduhconnection/restartpsession.xml deleted file mode 100644 index 0234796f31..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/restartpsession.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - MysqlndUhConnection::restartPSession - Restart a persistent mysqlnd connection - - - - &reftitle.description; - - public boolMysqlndUhConnection::restartPSession - mysqlnd_connectionconnection - - - Restart a persistent mysqlnd connection. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::restartPSession</function> example - -ping(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::restartPSession returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/selectdb.xml b/reference/mysqlnd_uh/mysqlnduhconnection/selectdb.xml deleted file mode 100644 index dbfb3d8b6b..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/selectdb.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - MysqlndUhConnection::selectDb - Selects the default database for database queries - - - - &reftitle.description; - - public boolMysqlndUhConnection::selectDb - mysqlnd_connectionconnection - stringdatabase - - - Selects the default database for database queries. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - database - - - The database name. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::selectDb</function> example - -select_db("mysql"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'mysql', -)) -proxy::selectDb returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_select_db - - - mysql_select_db - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/sendclose.xml b/reference/mysqlnd_uh/mysqlnduhconnection/sendclose.xml deleted file mode 100644 index 853f5d930e..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/sendclose.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - MysqlndUhConnection::sendClose - Sends a close command to MySQL - - - - &reftitle.description; - - public boolMysqlndUhConnection::sendClose - mysqlnd_connectionconnection - - - Sends a close command to MySQL. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::sendClose</function> example - -close(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::sendClose returns true -proxy::sendClose(array ( - 0 => NULL, -)) -proxy::sendClose returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/sendquery.xml b/reference/mysqlnd_uh/mysqlnduhconnection/sendquery.xml deleted file mode 100644 index 1a6bed765f..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/sendquery.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - MysqlndUhConnection::sendQuery - Sends a query to MySQL - - - - &reftitle.description; - - public boolMysqlndUhConnection::sendQuery - mysqlnd_connectionconnection - stringquery - - - Sends a query to MySQL. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - query - - - The query string. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::sendQuery</function> example - -query("SELECT 1"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'SELECT 1', -)) -proxy::sendQuery returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/serverdumpdebuginformation.xml b/reference/mysqlnd_uh/mysqlnduhconnection/serverdumpdebuginformation.xml deleted file mode 100644 index b8491435ad..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/serverdumpdebuginformation.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - MysqlndUhConnection::serverDumpDebugInformation - Dump debugging information into the log for the MySQL server - - - - &reftitle.description; - - public boolMysqlndUhConnection::serverDumpDebugInformation - mysqlnd_connectionconnection - - - Dump debugging information into the log for the MySQL server. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::serverDumpDebugInformation</function> example - -dump_debug_info(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::serverDumpDebugInformation returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_dump_debug_info - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/setautocommit.xml b/reference/mysqlnd_uh/mysqlnduhconnection/setautocommit.xml deleted file mode 100644 index 794f94f170..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/setautocommit.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - MysqlndUhConnection::setAutocommit - Turns on or off auto-committing database modifications - - - - &reftitle.description; - - public boolMysqlndUhConnection::setAutocommit - mysqlnd_connectionconnection - intmode - - - Turns on or off auto-committing database modifications - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - mode - - - Whether to turn on auto-commit or not. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::setAutocommit</function> example - -autocommit(false); -$mysqli->autocommit(true); -?> -]]> - - &example.outputs; - - NULL, - 1 => 0, -)) -proxy::setAutocommit returns true -proxy::setAutocommit(array ( - 0 => NULL, - 1 => 1, -)) -proxy::setAutocommit returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_autocommit - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/setcharset.xml b/reference/mysqlnd_uh/mysqlnduhconnection/setcharset.xml deleted file mode 100644 index 4f8f05c328..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/setcharset.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - MysqlndUhConnection::setCharset - Sets the default client character set - - - - &reftitle.description; - - public boolMysqlndUhConnection::setCharset - mysqlnd_connectionconnection - stringcharset - - - Sets the default client character set. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - charset - - - The charset to be set as default. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::setCharset</function> example - -set_charset("latin1"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'latin1', -)) -proxy::setCharset returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_set_charset - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/setclientoption.xml b/reference/mysqlnd_uh/mysqlnduhconnection/setclientoption.xml deleted file mode 100644 index 9e93fdf4f0..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/setclientoption.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - MysqlndUhConnection::setClientOption - Sets a client option - - - - &reftitle.description; - - public boolMysqlndUhConnection::setClientOption - mysqlnd_connectionconnection - intoption - intvalue - - - Sets a client option. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - option - - - The option to be set. - - - - - value - - - Optional option value, if required. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::setClientOption</function> example - - "MYSQLND_UH_MYSQLND_OPTION_OPT_CONNECT_TIMEOUT", - MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS => "MYSQLND_UH_MYSQLND_OPTION_OPT_COMPRESS", - MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE => "MYSQLND_UH_MYSQLND_OPTION_OPT_NAMED_PIPE", - MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND => "MYSQLND_UH_MYSQLND_OPTION_INIT_COMMAND", - MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE => "MYSQLND_UH_MYSQLND_READ_DEFAULT_FILE", - MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP => "MYSQLND_UH_MYSQLND_READ_DEFAULT_GROUP", - MYSQLND_UH_MYSQLND_SET_CHARSET_DIR => "MYSQLND_UH_MYSQLND_SET_CHARSET_DIR", - MYSQLND_UH_MYSQLND_SET_CHARSET_NAME => "MYSQLND_UH_MYSQLND_SET_CHARSET_NAME", - MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE => "MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE", - MYSQLND_UH_MYSQLND_OPT_PROTOCOL => "MYSQLND_UH_MYSQLND_OPT_PROTOCOL", - MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME => "MYSQLND_UH_MYSQLND_SHARED_MEMORY_BASE_NAME", - MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_READ_TIMEOUT", - MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT => "MYSQLND_UH_MYSQLND_OPT_WRITE_TIMEOUT", - MYSQLND_UH_MYSQLND_OPT_USE_RESULT => "MYSQLND_UH_MYSQLND_OPT_USE_RESULT", - MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_REMOTE_CONNECTION", - MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_USE_EMBEDDED_CONNECTION", - MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION => "MYSQLND_UH_MYSQLND_OPT_GUESS_CONNECTION", - MYSQLND_UH_MYSQLND_SET_CLIENT_IP => "MYSQLND_UH_MYSQLND_SET_CLIENT_IP", - MYSQLND_UH_MYSQLND_SECURE_AUTH => "MYSQLND_UH_MYSQLND_SECURE_AUTH", - MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION => "MYSQLND_UH_MYSQLND_REPORT_DATA_TRUNCATION", - MYSQLND_UH_MYSQLND_OPT_RECONNECT => "MYSQLND_UH_MYSQLND_OPT_RECONNECT", - MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_VERIFY_SERVER_CERT", - MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_CMD_BUFFER_SIZE", - MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE => "MYSQLND_UH_MYSQLND_OPT_NET_READ_BUFFER_SIZE", - MYSQLND_UH_MYSQLND_OPT_SSL_KEY => "MYSQLND_UH_MYSQLND_OPT_SSL_KEY", - MYSQLND_UH_MYSQLND_OPT_SSL_CERT => "MYSQLND_UH_MYSQLND_OPT_SSL_CERT", - MYSQLND_UH_MYSQLND_OPT_SSL_CA => "MYSQLND_UH_MYSQLND_OPT_SSL_CA", - MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH => "MYSQLND_UH_MYSQLND_OPT_SSL_CAPATH", - MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER => "MYSQLND_UH_MYSQLND_OPT_SSL_CIPHER", - MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE => "MYSQLND_UH_MYSQLND_OPT_SSL_PASSPHRASE", - MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR => "MYSQLND_UH_SERVER_OPTION_PLUGIN_DIR", - MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH => "MYSQLND_UH_SERVER_OPTION_DEFAULT_AUTH", - MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP => "MYSQLND_UH_SERVER_OPTION_SET_CLIENT_IP" - ); - if (version_compare(PHP_VERSION, '5.3.99-dev', '>')) { - $mapping[MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET] = "MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET"; - $mapping[MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL] = "MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL"; - } - if (defined("MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE")) { - /* special mysqlnd build */ - $mapping["MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"] = "MYSQLND_UH_MYSQLND_OPT_INT_AND_FLOAT_NATIVE"; - } - return (isset($mapping[$option])) ? $mapping[$option] : 'unknown'; -} - -class proxy extends MysqlndUhConnection { - public function setClientOption($res, $option, $value) { - printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true)); - printf("Option '%s' set to %s\n", client_option_to_string($option), var_export($value, true)); - $ret = parent::setClientOption($res, $option, $value); - printf("%s returns %s\n", __METHOD__, var_export($ret, true)); - return $ret; - } -} -mysqlnd_uh_set_connection_proxy(new proxy()); -$mysqli = new mysqli("localhost", "root", "", "test"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 210, - 2 => 3221225472, -)) -Option 'MYSQLND_UH_MYSQLND_OPT_MAX_ALLOWED_PACKET' set to 3221225472 -proxy::setClientOption returns true -proxy::setClientOption(array ( - 0 => NULL, - 1 => 211, - 2 => 'mysql_native_password', -)) -Option 'MYSQLND_UH_MYSQLND_OPT_AUTH_PROTOCOL' set to 'mysql_native_password' -proxy::setClientOption returns true -proxy::setClientOption(array ( - 0 => NULL, - 1 => 8, - 2 => 1, -)) -Option 'MYSQLND_UH_MYSQLND_OPT_LOCAL_INFILE' set to 1 -proxy::setClientOption returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_real_connect - - - mysqli_options - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/setserveroption.xml b/reference/mysqlnd_uh/mysqlnduhconnection/setserveroption.xml deleted file mode 100644 index a362336b3f..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/setserveroption.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - MysqlndUhConnection::setServerOption - Sets a server option - - - - &reftitle.description; - - public voidMysqlndUhConnection::setServerOption - mysqlnd_connectionconnection - intoption - - - Sets a server option. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - option - - - The option to be set. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::setServerOption</function> example - -multi_query("SELECT 1; SELECT 2"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 0, -)) -Option 'MYSQLND_UH_SERVER_OPTION_MULTI_STATEMENTS_ON' set -proxy::setServerOption returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_real_connect - - - mysqli_options - - - mysqli_multi_query - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/shutdownserver.xml b/reference/mysqlnd_uh/mysqlnduhconnection/shutdownserver.xml deleted file mode 100644 index 9162b335b4..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/shutdownserver.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - MysqlndUhConnection::shutdownServer - The shutdownServer purpose - - - - &reftitle.description; - - public voidMysqlndUhConnection::shutdownServer - stringMYSQLND_UH_RES_MYSQLND_NAME - stringlevel - - - - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - - - MYSQLND_UH_RES_MYSQLND_NAME - - - - - - - - level - - - - - - - - - - - &reftitle.returnvalues; - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/simplecommand.xml b/reference/mysqlnd_uh/mysqlnduhconnection/simplecommand.xml deleted file mode 100644 index 85ec7e76cd..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/simplecommand.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - MysqlndUhConnection::simpleCommand - Sends a basic COM_* command - - - - &reftitle.description; - - public boolMysqlndUhConnection::simpleCommand - mysqlnd_connectionconnection - intcommand - stringarg - intok_packet - boolsilent - boolignore_upsert_status - - - Sends a basic COM_* command to MySQL. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - command - - - The COM command to be send. - - - - - arg - - - Optional COM command arguments. - - - - - ok_packet - - - The OK packet type. - - - - - silent - - - Whether mysqlnd may emit errors. - - - - - ignore_upsert_status - - - Whether to ignore UPDATE/INSERT status. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::simpleCommand</function> example - - "MYSQLND_UH_MYSQLND_COM_SLEEP", - MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT", - MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB", - MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY", - MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST", - MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB", - MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB", - MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH", - MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN", - MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS", - MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO", - MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT", - MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL", - MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG", - MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING", - MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME", - MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT", - MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER", - MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP", - MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP", - MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT", - MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED", - MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE", - MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE", - MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA", - MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE", - MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET", - MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION", - MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH", - MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON", - MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END", - ); - return (isset($mapping[$command])) ? $mapping[$command] : 'unknown'; -} - -function ok_packet_2_string($ok_packet) { - $mapping = array( - MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET", - MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET", - MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET", - MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET", - MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET", - MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET", - MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET", - MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET", - MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET", - MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET", - MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET", - MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST", - ); - return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown'; -} - -class proxy extends MysqlndUhConnection { - public function simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status) { - printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true)); - printf("Command '%s'\n", server_cmd_2_string($command)); - printf("OK packet '%s'\n", ok_packet_2_string($ok_packet)); - $ret = parent::simpleCommand($conn, $command, $arg, $ok_packet, $silent, $ignore_upsert_status); - printf("%s returns %s\n", __METHOD__, var_export($ret, true)); - return $ret; - } -} -mysqlnd_uh_set_connection_proxy(new proxy()); -$mysqli = new mysqli("localhost", "root", "", "test"); -$mysqli->query("SELECT 1"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 3, - 2 => 'SELECT 1', - 3 => 13, - 4 => false, - 5 => false, -)) -Command 'MYSQLND_UH_MYSQLND_COM_QUERY' -OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST' -proxy::simpleCommand returns true -:)proxy::simpleCommand(array ( - 0 => NULL, - 1 => 1, - 2 => '', - 3 => 13, - 4 => true, - 5 => true, -)) -Command 'MYSQLND_UH_MYSQLND_COM_QUIT' -OK packet 'MYSQLND_UH_MYSQLND_PROT_LAST' -proxy::simpleCommand returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/simplecommandhandleresponse.xml b/reference/mysqlnd_uh/mysqlnduhconnection/simplecommandhandleresponse.xml deleted file mode 100644 index 3ec32431dc..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/simplecommandhandleresponse.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - MysqlndUhConnection::simpleCommandHandleResponse - Process a response for a basic COM_* command send to the client - - - - &reftitle.description; - - public boolMysqlndUhConnection::simpleCommandHandleResponse - mysqlnd_connectionconnection - intok_packet - boolsilent - intcommand - boolignore_upsert_status - - - Process a response for a basic COM_* command send to the client. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - ok_packet - - - The OK packet type. - - - - - silent - - - Whether mysqlnd may emit errors. - - - - - command - - - The COM command to process results from. - - - - - ignore_upsert_status - - - Whether to ignore UPDATE/INSERT status. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::simpleCommandHandleResponse</function> example - - "MYSQLND_UH_MYSQLND_COM_SLEEP", - MYSQLND_UH_MYSQLND_COM_QUIT => "MYSQLND_UH_MYSQLND_COM_QUIT", - MYSQLND_UH_MYSQLND_COM_INIT_DB => "MYSQLND_UH_MYSQLND_COM_INIT_DB", - MYSQLND_UH_MYSQLND_COM_QUERY => "MYSQLND_UH_MYSQLND_COM_QUERY", - MYSQLND_UH_MYSQLND_COM_FIELD_LIST => "MYSQLND_UH_MYSQLND_COM_FIELD_LIST", - MYSQLND_UH_MYSQLND_COM_CREATE_DB => "MYSQLND_UH_MYSQLND_COM_CREATE_DB", - MYSQLND_UH_MYSQLND_COM_DROP_DB => "MYSQLND_UH_MYSQLND_COM_DROP_DB", - MYSQLND_UH_MYSQLND_COM_REFRESH => "MYSQLND_UH_MYSQLND_COM_REFRESH", - MYSQLND_UH_MYSQLND_COM_SHUTDOWN => "MYSQLND_UH_MYSQLND_COM_SHUTDOWN", - MYSQLND_UH_MYSQLND_COM_STATISTICS => "MYSQLND_UH_MYSQLND_COM_STATISTICS", - MYSQLND_UH_MYSQLND_COM_PROCESS_INFO => "MYSQLND_UH_MYSQLND_COM_PROCESS_INFO", - MYSQLND_UH_MYSQLND_COM_CONNECT => "MYSQLND_UH_MYSQLND_COM_CONNECT", - MYSQLND_UH_MYSQLND_COM_PROCESS_KILL => "MYSQLND_UH_MYSQLND_COM_PROCESS_KILL", - MYSQLND_UH_MYSQLND_COM_DEBUG => "MYSQLND_UH_MYSQLND_COM_DEBUG", - MYSQLND_UH_MYSQLND_COM_PING => "MYSQLND_UH_MYSQLND_COM_PING", - MYSQLND_UH_MYSQLND_COM_TIME => "MYSQLND_UH_MYSQLND_COM_TIME", - MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT => "MYSQLND_UH_MYSQLND_COM_DELAYED_INSERT", - MYSQLND_UH_MYSQLND_COM_CHANGE_USER => "MYSQLND_UH_MYSQLND_COM_CHANGE_USER", - MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP => "MYSQLND_UH_MYSQLND_COM_BINLOG_DUMP", - MYSQLND_UH_MYSQLND_COM_TABLE_DUMP => "MYSQLND_UH_MYSQLND_COM_TABLE_DUMP", - MYSQLND_UH_MYSQLND_COM_CONNECT_OUT => "MYSQLND_UH_MYSQLND_COM_CONNECT_OUT", - MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED => "MYSQLND_UH_MYSQLND_COM_REGISTER_SLAVED", - MYSQLND_UH_MYSQLND_COM_STMT_PREPARE => "MYSQLND_UH_MYSQLND_COM_STMT_PREPARE", - MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE => "MYSQLND_UH_MYSQLND_COM_STMT_EXECUTE", - MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA => "MYSQLND_UH_MYSQLND_COM_STMT_SEND_LONG_DATA", - MYSQLND_UH_MYSQLND_COM_STMT_CLOSE => "MYSQLND_UH_MYSQLND_COM_STMT_CLOSE", - MYSQLND_UH_MYSQLND_COM_STMT_RESET => "MYSQLND_UH_MYSQLND_COM_STMT_RESET", - MYSQLND_UH_MYSQLND_COM_SET_OPTION => "MYSQLND_UH_MYSQLND_COM_SET_OPTION", - MYSQLND_UH_MYSQLND_COM_STMT_FETCH => "MYSQLND_UH_MYSQLND_COM_STMT_FETCH", - MYSQLND_UH_MYSQLND_COM_DAEMON => "MYSQLND_UH_MYSQLND_COM_DAEMON", - MYSQLND_UH_MYSQLND_COM_END => "MYSQLND_UH_MYSQLND_COM_END", - ); - return (isset($mapping[$command])) ? $mapping[$command] : 'unknown'; -} - -function ok_packet_2_string($ok_packet) { - $mapping = array( - MYSQLND_UH_MYSQLND_PROT_GREET_PACKET => "MYSQLND_UH_MYSQLND_PROT_GREET_PACKET", - MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET => "MYSQLND_UH_MYSQLND_PROT_AUTH_PACKET", - MYSQLND_UH_MYSQLND_PROT_OK_PACKET => "MYSQLND_UH_MYSQLND_PROT_OK_PACKET", - MYSQLND_UH_MYSQLND_PROT_EOF_PACKET => "MYSQLND_UH_MYSQLND_PROT_EOF_PACKET", - MYSQLND_UH_MYSQLND_PROT_CMD_PACKET => "MYSQLND_UH_MYSQLND_PROT_CMD_PACKET", - MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_HEADER_PACKET", - MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET => "MYSQLND_UH_MYSQLND_PROT_RSET_FLD_PACKET", - MYSQLND_UH_MYSQLND_PROT_ROW_PACKET => "MYSQLND_UH_MYSQLND_PROT_ROW_PACKET", - MYSQLND_UH_MYSQLND_PROT_STATS_PACKET => "MYSQLND_UH_MYSQLND_PROT_STATS_PACKET", - MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET => "MYSQLND_UH_MYSQLND_PREPARE_RESP_PACKET", - MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET => "MYSQLND_UH_MYSQLND_CHG_USER_RESP_PACKET", - MYSQLND_UH_MYSQLND_PROT_LAST => "MYSQLND_UH_MYSQLND_PROT_LAST", - ); - return (isset($mapping[$ok_packet])) ? $mapping[$ok_packet] : 'unknown'; -} - -class proxy extends MysqlndUhConnection { - public function simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status) { - printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true)); - printf("Command '%s'\n", server_cmd_2_string($command)); - printf("OK packet '%s'\n", ok_packet_2_string($ok_packet)); - $ret = parent::simpleCommandHandleResponse($conn, $ok_packet, $silent, $command, $ignore_upsert_status); - printf("%s returns %s\n", __METHOD__, var_export($ret, true)); - return $ret; - } -} -mysqlnd_uh_set_connection_proxy(new proxy()); -$mysql = mysql_connect("localhost", "root", ""); -mysql_query("SELECT 1 FROM DUAL", $mysql); -?> -]]> - - &example.outputs; - - NULL, - 1 => 5, - 2 => false, - 3 => 27, - 4 => true, -)) -Command 'MYSQLND_UH_MYSQLND_COM_SET_OPTION' -OK packet 'MYSQLND_UH_MYSQLND_PROT_EOF_PACKET' -proxy::simpleCommandHandleResponse returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/sslset.xml b/reference/mysqlnd_uh/mysqlnduhconnection/sslset.xml deleted file mode 100644 index 8e1b16f3d6..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/sslset.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - MysqlndUhConnection::sslSet - Used for establishing secure connections using SSL - - - - &reftitle.description; - - public boolMysqlndUhConnection::sslSet - mysqlnd_connectionconnection - stringkey - stringcert - stringca - stringcapath - stringcipher - - - Used for establishing secure connections using SSL. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - key - - - The path name to the key file. - - - - - cert - - - The path name to the certificate file. - - - - - ca - - - The path name to the certificate authority file. - - - - - capath - - - The pathname to a directory that contains trusted SSL CA certificates in PEM format. - - - - - cipher - - - A list of allowable ciphers to use for SSL encryption. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::sslSet</function> example - -ssl_set("key", "cert", "ca", "capath", "cipher"); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'key', - 2 => 'cert', - 3 => 'ca', - 4 => 'capath', - 5 => 'cipher', -)) -proxy::sslSet returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_ssl_set - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/stmtinit.xml b/reference/mysqlnd_uh/mysqlnduhconnection/stmtinit.xml deleted file mode 100644 index 712c2841b3..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/stmtinit.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - MysqlndUhConnection::stmtInit - Initializes a statement and returns a resource for use with mysqli_statement::prepare - - - - &reftitle.description; - - public resourceMysqlndUhConnection::stmtInit - mysqlnd_connectionconnection - - - Initializes a statement and returns a resource for use with mysqli_statement::prepare. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). - The documentation may also refer to such resources using the alias name - mysqlnd_prepared_statement. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::stmtInit</function> example - -prepare("SELECT 1 AS _one FROM DUAL"); -$stmt->execute(); -$one = NULL; -$stmt->bind_result($one); -$stmt->fetch(); -var_dump($one); -?> -]]> - - &example.outputs; - - NULL, -)) -resource(19) of type (Mysqlnd Connection) -proxy::stmtInit returns NULL -resource(246) of type (Mysqlnd Prepared Statement (internal only - you must not modify it!)) -int(1) -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_stmt_init - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/storeresult.xml b/reference/mysqlnd_uh/mysqlnduhconnection/storeresult.xml deleted file mode 100644 index 096e7d5c4a..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/storeresult.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - MysqlndUhConnection::storeResult - Transfers a result set from the last query - - - - &reftitle.description; - - public resourceMysqlndUhConnection::storeResult - mysqlnd_connectionconnection - - - Transfers a result set from the last query. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Resource of type Mysqlnd Resultset (internal only - you must not modify it!). - The documentation may also refer to such resources using the alias name - mysqlnd_resultset. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::storeResult</function> example - -query("SELECT 'Also called buffered result' AS _msg FROM DUAL"); -var_dump($res->fetch_assoc()); - -$mysqli->real_query("SELECT 'Good morning!' AS _msg FROM DUAL"); -$res = $mysqli->store_result(); -var_dump($res->fetch_assoc()); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::storeResult returns NULL -resource(475) of type (Mysqlnd Resultset (internal only - you must not modify it!)) -array(1) { - ["_msg"]=> - string(27) "Also called buffered result" -} -proxy::storeResult(array ( - 0 => NULL, -)) -proxy::storeResult returns NULL -resource(730) of type (Mysqlnd Resultset (internal only - you must not modify it!)) -array(1) { - ["_msg"]=> - string(13) "Good morning!" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_store_result - - - mysqli_real_query - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/txcommit.xml b/reference/mysqlnd_uh/mysqlnduhconnection/txcommit.xml deleted file mode 100644 index a6cc565b0a..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/txcommit.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - MysqlndUhConnection::txCommit - Commits the current transaction - - - - &reftitle.description; - - public boolMysqlndUhConnection::txCommit - mysqlnd_connectionconnection - - - Commits the current transaction. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::txCommit</function> example - -commit(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::txCommit returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_commit - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/txrollback.xml b/reference/mysqlnd_uh/mysqlnduhconnection/txrollback.xml deleted file mode 100644 index ea5ec30795..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/txrollback.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - MysqlndUhConnection::txRollback - Rolls back current transaction - - - - &reftitle.description; - - public boolMysqlndUhConnection::txRollback - mysqlnd_connectionconnection - - - Rolls back current transaction. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::txRollback</function> example - -rollback(); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::txRollback returns true -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_commit - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhconnection/useresult.xml b/reference/mysqlnd_uh/mysqlnduhconnection/useresult.xml deleted file mode 100644 index 51cc712b3b..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhconnection/useresult.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - MysqlndUhConnection::useResult - Initiate a result set retrieval - - - - &reftitle.description; - - public resourceMysqlndUhConnection::useResult - mysqlnd_connectionconnection - - - Initiate a result set retrieval. - - - - - &reftitle.parameters; - - - connection - - - Mysqlnd connection handle. Do not modify! - - - - - - - - &reftitle.returnvalues; - - Resource of type Mysqlnd Resultset (internal only - you must not modify it!). - The documentation may also refer to such resources using the alias name - mysqlnd_resultset. - - - - - &reftitle.examples; - - - <function>MysqlndUhConnection::useResult</function> example - -real_query("SELECT 'Good morning!' AS _msg FROM DUAL"); -$res = $mysqli->use_result(); -var_dump($res->fetch_assoc()); -?> -]]> - - &example.outputs; - - NULL, -)) -proxy::useResult returns NULL -resource(425) of type (Mysqlnd Resultset (internal only - you must not modify it!)) -array(1) { - ["_msg"]=> - string(13) "Good morning!" -} -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_connection_proxy - - - mysqli_use_result - - - mysqli_real_query - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhpreparedstatement.xml b/reference/mysqlnd_uh/mysqlnduhpreparedstatement.xml deleted file mode 100644 index 2aa5e68da8..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhpreparedstatement.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - The MysqlndUhPreparedStatement class - MysqlndUhPreparedStatement - - - - -
- &reftitle.intro; - - - -
- - -
- &reftitle.classsynopsis; - - - - MysqlndUhPreparedStatement - - - - - MysqlndUhPreparedStatement - - - - - &Methods; - - - - -
- -
- - &reference.mysqlnd-uh.entities.mysqlnduhpreparedstatement; - -
- - diff --git a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/construct.xml b/reference/mysqlnd_uh/mysqlnduhpreparedstatement/construct.xml deleted file mode 100644 index 48ac04a199..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/construct.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - MysqlndUhPreparedStatement::__construct - The __construct purpose - - - - &reftitle.description; - - public MysqlndUhPreparedStatement::__construct - - - - - - - &warn.undocumented.func; - - - - - &reftitle.parameters; - &no.function.parameters; - - - - &reftitle.returnvalues; - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/execute.xml b/reference/mysqlnd_uh/mysqlnduhpreparedstatement/execute.xml deleted file mode 100644 index 66c9968b0a..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/execute.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - MysqlndUhPreparedStatement::execute - Executes a prepared Query - - - - &reftitle.description; - - public boolMysqlndUhPreparedStatement::execute - mysqlnd_prepared_statementstatement - - - Executes a prepared Query. - - - - - &reftitle.parameters; - - - statement - - - Mysqlnd prepared statement handle. Do not modify! - Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhPreparedStatement::execute</function> example - -prepare("SELECT 'Labskaus' AS _msg FROM DUAL"); -$stmt->execute(); -$msg = NULL; -$stmt->bind_result($msg); -$stmt->fetch(); -var_dump($msg); -?> -]]> - - &example.outputs; - - - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_statement_proxy - - - mysqli_stmt_execute - - - - - - - - - - diff --git a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/prepare.xml b/reference/mysqlnd_uh/mysqlnduhpreparedstatement/prepare.xml deleted file mode 100644 index 4c0d24a47a..0000000000 --- a/reference/mysqlnd_uh/mysqlnduhpreparedstatement/prepare.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - MysqlndUhPreparedStatement::prepare - Prepare an SQL statement for execution - - - - &reftitle.description; - - public boolMysqlndUhPreparedStatement::prepare - mysqlnd_prepared_statementstatement - stringquery - - - Prepare an SQL statement for execution. - - - - - &reftitle.parameters; - - - statement - - - Mysqlnd prepared statement handle. Do not modify! - Resource of type Mysqlnd Prepared Statement (internal only - you must not modify it!). - - - - - query - - - The query to be prepared. - - - - - - - - &reftitle.returnvalues; - - Returns &true; on success. - Otherwise, returns &false; - - - - - &reftitle.examples; - - - <function>MysqlndUhPreparedStatement::prepare</function> example - -prepare("SELECT 'Labskaus' AS _msg FROM DUAL"); -$stmt->execute(); -$msg = NULL; -$stmt->bind_result($msg); -$stmt->fetch(); -var_dump($msg); -?> -]]> - - &example.outputs; - - NULL, - 1 => 'SELECT \'Labskaus\' AS _msg FROM DUAL', -)) -stmt_proxy::prepare returns true -bool(true) -string(46) "No more you-know-what-I-mean for lunch, please" -]]> - - - - - - - &reftitle.seealso; - - - - mysqlnd_uh_set_statement_proxy - - - mysqli_stmt_prepare - - - mysqli_prepare - - - - - - - - diff --git a/reference/mysqlnd_uh/quickstart.xml b/reference/mysqlnd_uh/quickstart.xml deleted file mode 100644 index 62acc5efcf..0000000000 --- a/reference/mysqlnd_uh/quickstart.xml +++ /dev/null @@ -1,424 +0,0 @@ - - - - Quickstart and Examples - - The mysqlnd user handler plugin can be understood as a client-side proxy - for all PHP MySQL extensions (mysqli, - mysql, - PDO_MYSQL), if they are compiled to - use the mysqlnd library. The - extensions use the mysqlnd library internally, at the C - level, to communicate with the MySQL server. PECL/mysqlnd_uh - allows it to hook many mysqlnd calls. Therefore, - most activities of the PHP MySQL extensions can be monitored. - - - Because monitoring happens at the level of the library, at a layer below the - application, it is possible to monitor applications without changing them. - - - On the C level, the mysqlnd library is structured in modules - or classes. The extension hooks almost all methods of the mysqlnd - internal connection class and exposes them through the - user space class MysqlndUhConnection. Some few methods of - the mysqlnd internal statement class are made available - to the PHP user with the class MysqlndUhPreparedStatement. - By subclassing the classes MysqlndUhConnection and - MysqlndUhPreparedStatement users get access to - mysqlnd internal function calls. - - - - The internal mysqlnd function calls are not designed - to be exposed to the PHP user. Manipulating their activities may - cause PHP to crash or leak memory. Often, this is not considered a bug. Please, - keep in mind that you are accessing C library functions through - PHP which are expected to take certain actions, which you may not be able to - emulate in user space. Therefore, it is strongly recommended to always call - the parent method implementation when subclassing MysqlndUhConnection - or MysqlndUhPreparedStatement. To prevent the worst - case, the extension performs some sanity checks. Please, see also the - Mysqlnd_uh &ConfigureOptions;. - - - - -
- Setup - - The plugin is implemented as a PHP extension. See the - installation instructions to - install the - PECL/mysqlnd_uh extension. - Then, load the extension into PHP and activate the plugin in the PHP configuration - file using the PHP configuration directive named - mysqlnd_uh.enable. - The below example shows the default settings of the extension. - - - - Enabling the plugin (php.ini) - - - - - -
- -
- How it works - - This describes the background and inner workings of the mysqlnd_uh - extension. - - - Two classes are provided by the extension: MysqlndUhConnection - and MysqlndUhPreparedStatement. MysqlndUhConnection lets - you access almost all methods of the mysqlnd - internal connection class. The latter exposes some selected - methods of the mysqlnd internal statement class. - For example, MysqlndUhConnection::connect maps to - the mysqlnd library C function - mysqlnd_conn__connect. - - - As a mysqlnd plugin, the PECL/mysqlnd_uh extension replaces mysqlnd - library C functions with its own functions. Whenever a - PHP MySQL extension compiled to use mysqlnd calls - a mysqlnd function, the functions installed by the plugin are executed - instead of the original mysqlnd ones. For example, - mysqli_connect invokes mysqlnd_conn__connect, - so the connect function installed by PECL/mysqlnd_uh will be called. - The functions installed by PECL/mysqlnd_uh are the methods of the built-in classes. - - - The built-in PHP classes and their methods do nothing but call their - mysqlnd C library counterparts, to behave exactly - like the original mysqlnd function they replace. - The code below illustrates in pseudo-code what the extension does. - - - - Pseudo-code: what a built-in class does - - - - - - - The build-in classes behave like a transparent proxy. It is possible for - you to replace the proxy with your own. This is done by subclassing - MysqlndUhConnection or - MysqlndUhPreparedStatement to extend the functionality - of the proxy, followed by registering a new proxy object. - Proxy objects are installed by - mysqlnd_uh_set_connection_proxy - and - mysqlnd_uh_set_statement_proxy. - - - - Installing a proxy - - -]]> - - &example.outputs; - - NULL, - 1 => 'localhost', - 2 => 'root', - 3 => '', - 4 => 'test', - 5 => 3306, - 6 => NULL, - 7 => 131072, -)) -proxy::connect returns true -]]> - - - -
- -
- Installing a proxy - - The extension provides two built-in classes: MysqlndUhConnection - and MysqlndUhPreparedStatement. The classes are used - for hooking mysqlnd library calls. Their methods correspond - to mysqlnd internal functions. By default they act like - a transparent proxy and do nothing but call their mysqlnd counterparts. - By subclassing the classes you can install your own proxy to monitor mysqlnd. - - - See also the How it works - guide to learn about the inner workings of this extension. - - - Connection proxies are objects of the type MysqlndUhConnection. - Connection proxy objects are installed by - mysqlnd_uh_set_connection_proxy. - If you install the built-in class MysqlndUhConnection - as a proxy, nothing happens. It behaves like a transparent proxy. - - - - Proxy registration, mysqlnd_uh.enable=1 - - -]]> - - - - - The PHP_INI_SYSTEM configuration setting - mysqlnd_uh.enable - controls whether a proxy may be set. If disabled, the extension - will throw errors of type E_WARNING - - - - Proxy installation disabled - - - - - -]]> - - &example.outputs; - - - - - - - To monitor mysqlnd, you have to write your own - proxy object subclassing MysqlndUhConnection. - Please, see the function reference for a the list of methods that - can be subclassed. Alternatively, you can use reflection to inspect - the built-in MysqlndUhConnection. - - - Create a new class proxy. Derive it from the - built-in class MysqlndUhConnection. - Replace the - MysqlndUhConnection::connect. - method. Print out the host parameter value passed to the method. - Make sure that you call the parent implementation of the connect - method. Failing to do so may give unexpected and undesired results, including - memory leaks and crashes. - - - Register your proxy and open three connections using the PHP MySQL - extensions mysqli, - mysql, - PDO_MYSQL. If the extensions have been - compiled to use the mysqlnd library, the - proxy::connect method will be called three times, once - for each connection opened. - - - - Connection proxy - - -]]> - - &example.outputs; - - - - - - - The use of prepared statement proxies follows the same pattern: create a - proxy object of the type MysqlndUhPreparedStatement - and install the proxy using - mysqlnd_uh_set_statement_proxy. - - - - Prepared statement proxy - -prepare("SELECT 'mysqlnd hacking made easy' AS _msg FROM DUAL"); -?> -]]> - - &example.outputs; - - - - - -
- -
- Basic query monitoring - - Basic monitoring of a query statement is easy with PECL/mysqlnd_uh. - Combined with debug_print_backtrace it can become a powerful - tool, for example, to find the origin of certain statement. This may - be desired when searching for slow queries but also after database - refactoring to find code still accessing deprecated databases or - tables. The latter may be a complicated matter to do otherwise, especially if - the application uses auto-generated queries. - - - - Basic Monitoring - -query("SELECT 1 AS _one FROM DUAL")->fetchAll(PDO::FETCH_ASSOC)); - -$mysqli = new mysqli("localhost", "root", "", "test"); -$mysqli->prepare("SELECT 1 AS _two FROM DUAL"); -?> -]]> - - &example.outputs; - -query(Resource id #19, SELECT 1 AS _one FROM DUAL) -#1 PDO->query(SELECT 1 AS _one FROM DUAL) called at [example.php:19] -array(1) { - [0]=> - array(1) { - ["_one"]=> - string(1) "1" - } -} -#0 stmt_proxy->prepare(Resource id #753, SELECT 1 AS _two FROM DUAL) -#1 mysqli->prepare(SELECT 1 AS _two FROM DUAL) called at [example.php:22] -]]> - - - - - For basic query monitoring you should install a connection and a prepared statement - proxy. The connection proxy should subclass MysqlndUhConnection::query. - All database queries not using native prepared statements will call this method. - In the example the query function is invoked by a PDO call. - By default, PDO_MySQL is using prepared statement emulation. - - - All native prepared statements are prepared with the prepare - method of mysqlnd exported through - MysqlndUhPreparedStatement::prepare. Subclass - MysqlndUhPreparedStatement and overwrite prepare - for native prepared statement monitoring. - -
- - -
- diff --git a/reference/mysqlnd_uh/reference.xml b/reference/mysqlnd_uh/reference.xml deleted file mode 100644 index 0f3ec4ce56..0000000000 --- a/reference/mysqlnd_uh/reference.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Mysqlnd_uh &Functions; - - &reference.mysqlnd-uh.entities.functions; - - - - diff --git a/reference/mysqlnd_uh/setup.xml b/reference/mysqlnd_uh/setup.xml deleted file mode 100644 index c1c3da73fe..0000000000 --- a/reference/mysqlnd_uh/setup.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - &reftitle.setup; - -
- &reftitle.required; - - PHP 5.3.3 or later. - It is recommended to use PHP 5.4.0 or later - to get access to the latest mysqlnd features. - - - The mysqlnd_uh user handler - plugin supports all PHP applications and all available PHP MySQL extensions - (mysqli, - mysql, - PDO_MYSQL). - The PHP MySQL extension must be configured to use - mysqlnd in order to be able - to use the mysqlnd_uh plugin for - mysqlnd. - - - The alpha versions makes use of some mysqli features. - You must enable mysqli to compile the plugin. - This requirement may be removed in the future. Note, that this requirement - does not restrict you to use the plugin only with mysqli. - You can use the plugin to monitor mysql, mysqli - and PDO_MYSQL. - -
- - &reference.mysqlnd-uh.configure; - &reference.mysqlnd-uh.ini; - -
- &reftitle.resources; - &no.resource; -
- -
- - diff --git a/reference/mysqlnd_uh/versions.xml b/reference/mysqlnd_uh/versions.xml deleted file mode 100644 index 80cc9c0d97..0000000000 --- a/reference/mysqlnd_uh/versions.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From f1def1dea90866604da2ed230a2941778dd05802 Mon Sep 17 00:00:00 2001 From: colshrapnel Date: Tue, 1 Jun 2021 15:27:01 +0300 Subject: [PATCH 199/444] Add a note to strtok * Add a note to strtok There are some nuances, explained in the strtok man page, https://man7.org/linux/man-pages/man3/strtok.3.html namely starting, ending and duplicated tokens are ignored. Co-authored-by: Kamil Tekiela Closes GH-643. --- reference/strings/functions/strtok.xml | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/reference/strings/functions/strtok.xml b/reference/strings/functions/strtok.xml index 86e3d90595..95800b4422 100644 --- a/reference/strings/functions/strtok.xml +++ b/reference/strings/functions/strtok.xml @@ -36,6 +36,22 @@ tokenized when any one of the characters in the token argument is found. + + + This function behaves slightly different from what one may expect being + familiar with explode. + First, a sequence of two or more contiguous token + characters in the parsed string is considered to be a single delimiter. + Also, a token situated at the start or end of the + string is ignored. + For example, if a string ";aaa;;bbb;" is used, successive + calls to strtok with ";" as a + token would return strings + "aaa" and "bbb", and then &false;. + As a result, the string will be split into only two elements, while + explode(";", $string) would return an array of 5 elements. + + @@ -107,6 +123,35 @@ var_dump($first_token, $second_token); + + + + + + The difference between <function>strtok</function> and <function>explode</function> + + + + &example.outputs; + + From 2097828a3d29d8e6eb96519f371ad4c147bc6d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 1 Jun 2021 14:54:46 +0200 Subject: [PATCH 200/444] Document that PDO::FETCH_DEFAULT is only available as of PHP 8.0.7 Closes GH-597. --- reference/pdo/constants.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/pdo/constants.xml b/reference/pdo/constants.xml index cfa101072a..fb9475d070 100644 --- a/reference/pdo/constants.xml +++ b/reference/pdo/constants.xml @@ -119,7 +119,7 @@ - Specifies that the default fetch mode shall be used. + Specifies that the default fetch mode shall be used. Available as of PHP 8.0.7. From 180ed02e4b694873316c707014e1aaf68ebf6a04 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Wed, 2 Jun 2021 01:33:22 +0100 Subject: [PATCH 201/444] No need for two changelog entries --- reference/image/functions/imagegrabwindow.xml | 30 +++++-------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/reference/image/functions/imagegrabwindow.xml b/reference/image/functions/imagegrabwindow.xml index 5c2b2e8aa3..e6bde9788f 100644 --- a/reference/image/functions/imagegrabwindow.xml +++ b/reference/image/functions/imagegrabwindow.xml @@ -54,29 +54,6 @@ - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 8.0.0 - - On success, this function returns a GDImage instance now; - previously, a resource was returned. - - - - - - - &reftitle.errors; @@ -97,6 +74,13 @@
+ + 8.0.0 + + On success, this function returns a GDImage instance now; + previously, a resource was returned. + + 8.0.0 From 8f289dbadb466fd80469a7a88a22187101551b7f Mon Sep 17 00:00:00 2001 From: AllenJB Date: Thu, 3 Jun 2021 14:53:56 +0100 Subject: [PATCH 202/444] Ini settings: upload_max_filesize: Add note regarding post_max_size Closes GH-652. --- appendices/ini.core.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml index 28a4e3b977..c22f772f36 100644 --- a/appendices/ini.core.xml +++ b/appendices/ini.core.xml @@ -1629,6 +1629,9 @@ include_path = ".:${USER}/pear/php" The maximum size of an uploaded file. + + post_max_size must be larger than this value. + &ini.shorthandbytes; From eec6a4a36bf452bf271f116e7b6b9bb09d1181c3 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 4 Jun 2021 09:13:56 +0300 Subject: [PATCH 203/444] Remove PHP 5, 7 references (#564) - zookeeper - zlib - zip - yaf - uopz - uodbc - openssl - funchand --- .../functions/call-user-func-array.xml | 22 +------ .../funchand/functions/call-user-func.xml | 8 +-- .../funchand/functions/create-function.xml | 2 +- reference/funchand/functions/func-get-arg.xml | 56 +--------------- .../funchand/functions/func-get-args.xml | 66 +------------------ .../funchand/functions/func-num-args.xml | 51 +------------- .../functions/register-tick-function.xml | 10 --- reference/openssl/configure.xml | 2 +- reference/openssl/constants.xml | 2 +- .../openssl/functions/openssl-encrypt.xml | 4 +- reference/openssl/ini.xml | 4 +- reference/openssl/setup.xml | 4 +- reference/uodbc/configure.xml | 3 +- reference/uodbc/ini.xml | 2 +- reference/uopz/setup.xml | 2 +- reference/yaf/yaf-action-abstract.xml | 5 +- reference/yaf/yaf-loader.xml | 1 - reference/zip/configure.xml | 16 ++--- reference/zlib/constants.xml | 28 ++++---- reference/zlib/examples.xml | 2 +- reference/zookeeper/setup.xml | 6 +- 21 files changed, 47 insertions(+), 249 deletions(-) diff --git a/reference/funchand/functions/call-user-func-array.xml b/reference/funchand/functions/call-user-func-array.xml index 2d54fb6c74..e3ff3e274c 100644 --- a/reference/funchand/functions/call-user-func-array.xml +++ b/reference/funchand/functions/call-user-func-array.xml @@ -99,10 +99,8 @@ class Foo { } } -// As of PHP 5.3.0 call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes')); -// As of PHP 5.3.0 call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip')); ?> @@ -126,7 +124,7 @@ $func = function($arg1, $arg2) { return $arg1 * $arg2; }; -var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */ +var_dump(call_user_func_array($func, array(2, 4))); ?> ]]> @@ -168,24 +166,6 @@ global $bar=55 &reftitle.notes; - - - Before PHP 5.4, referenced variables in args - are passed to the function by reference, regardless of whether the function - expects the respective parameter to be passed by reference. This form of - call-time pass by reference does not emit a deprecation notice, but it is - nonetheless deprecated, and has been removed in PHP 5.4. - Furthermore, this does not apply to internal functions, for which - the function signature is honored. Passing by value when the function - expects a parameter by reference results in a warning and having - call_user_func return &false; (there is, however, an - exception for passed values with reference count = 1, such as in literals, - as these can be turned into references without ill effects — but also - without writes to that value having any effect —; do not rely - in this behavior, though, as the reference count is an implementation - detail and the soundness of this behavior is questionable). - - ¬e.func-callback-exceptions; diff --git a/reference/funchand/functions/call-user-func.xml b/reference/funchand/functions/call-user-func.xml index 0a553e0ddd..608452babb 100644 --- a/reference/funchand/functions/call-user-func.xml +++ b/reference/funchand/functions/call-user-func.xml @@ -125,8 +125,8 @@ class Foo { } } -call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 -call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0 +call_user_func(__NAMESPACE__ .'\Foo::test'); +call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); ?> ]]> @@ -155,7 +155,7 @@ class myclass { $classname = "myclass"; call_user_func(array($classname, 'say_hello')); -call_user_func($classname .'::say_hello'); // As of 5.2.3 +call_user_func($classname .'::say_hello'); $myobject = new myclass(); @@ -178,7 +178,7 @@ Hello! ]]> diff --git a/reference/funchand/functions/create-function.xml b/reference/funchand/functions/create-function.xml index 6f85c9a595..e68786033c 100644 --- a/reference/funchand/functions/create-function.xml +++ b/reference/funchand/functions/create-function.xml @@ -28,7 +28,7 @@ and memory usage characteristics. - If you are using PHP 5.3.0 or newer a native + A native anonymous function should be used instead. diff --git a/reference/funchand/functions/func-get-arg.xml b/reference/funchand/functions/func-get-arg.xml index e5d7c335f6..3e55ab2bb8 100644 --- a/reference/funchand/functions/func-get-arg.xml +++ b/reference/funchand/functions/func-get-arg.xml @@ -81,50 +81,6 @@ foo(1, 2, 3); - - - - - - <function>func_get_arg</function> example before and - after PHP 5.3 - - - -fga.inc - -]]> - - - Output previous to PHP 5.3: - - - - - - Output in PHP 5.3 and later: - - - @@ -154,18 +110,11 @@ byRef($arg); ?> ]]> - &example.outputs.7; + &example.outputs; As passed : 'bar' After change : 'baz' As passed : 'bar' -After change : 'baz' - - &example.outputs.5; - -As passed : 'bar' -After change : 'bar' -As passed : 'bar' After change : 'baz' @@ -175,7 +124,6 @@ After change : 'baz' &reftitle.notes; - ¬e.funcnoparam; ¬e.funcbyref; @@ -189,7 +137,7 @@ After change : 'baz' &reftitle.seealso; - ... syntax in PHP 5.6+ + ... syntax func_get_args func_num_args diff --git a/reference/funchand/functions/func-get-args.xml b/reference/funchand/functions/func-get-args.xml index 4b5b28bfd5..6687c49767 100644 --- a/reference/funchand/functions/func-get-args.xml +++ b/reference/funchand/functions/func-get-args.xml @@ -74,53 +74,7 @@ Argument 2 is: 3 - - - <function>func_get_args</function> example before and - after PHP 5.3 - - - -fga.inc - -]]> - - - Output previous to PHP 5.3: - - - 'First arg', - 1 => 'Second arg', -) -]]> - - - Output in PHP 5.3 and later: - - - - - - <function>func_get_args</function> example of byref and byval arguments @@ -145,7 +99,7 @@ byRef($arg); ?> ]]> - &example.outputs.7; + &example.outputs; As passed : array ( 0 => 'bar', @@ -156,21 +110,6 @@ After change : array ( As passed : array ( 0 => 'bar', ) -After change : array ( - 0 => 'baz', -) - - &example.outputs.5; - -As passed : array ( - 0 => 'bar', -) -After change : array ( - 0 => 'bar', -) -As passed : array ( - 0 => 'bar', -) After change : array ( 0 => 'baz', ) @@ -182,7 +121,6 @@ After change : array ( &reftitle.notes; - ¬e.funcnoparam; ¬e.funcbyref; @@ -196,7 +134,7 @@ After change : array ( &reftitle.seealso; - ... syntax in PHP 5.6+ + ... syntax func_get_arg func_num_args ReflectionFunctionAbstract::getParameters diff --git a/reference/funchand/functions/func-num-args.xml b/reference/funchand/functions/func-num-args.xml index 239c2f41ad..75d4fadb4e 100644 --- a/reference/funchand/functions/func-num-args.xml +++ b/reference/funchand/functions/func-num-args.xml @@ -63,62 +63,13 @@ Number of arguments: 3 - - - <function>func_num_args</function> example before and - after PHP 5.3 - - - -fna.php - -]]> - - - Output previous to PHP 5.3: - - - - - - Output in PHP 5.3 and later will be something similar to: - - - - - - - - - - &reftitle.notes; - ¬e.funcnoparam; &reftitle.seealso; - ... syntax in PHP 5.6+ + ... syntax func_get_arg func_get_args ReflectionFunctionAbstract::getNumberOfParameters diff --git a/reference/funchand/functions/register-tick-function.xml b/reference/funchand/functions/register-tick-function.xml index 3c7185a57e..812a2d20c6 100644 --- a/reference/funchand/functions/register-tick-function.xml +++ b/reference/funchand/functions/register-tick-function.xml @@ -72,16 +72,6 @@ register_tick_function(array(&$object, 'my_method'), true); - - &reftitle.notes; - - - register_tick_function should not be used with - threaded web server modules with PHP 5.2 or lower. - - - - &reftitle.seealso; diff --git a/reference/openssl/configure.xml b/reference/openssl/configure.xml index e8574f355b..0ee27694f7 100644 --- a/reference/openssl/configure.xml +++ b/reference/openssl/configure.xml @@ -14,7 +14,7 @@ /dev/random device. - As of PHP 5.6.3, the configure option + The configure option is available which causes PHP to use the system cipher list instead of a hard-coded default. diff --git a/reference/openssl/constants.xml b/reference/openssl/constants.xml index 2d1d04e06c..a2958e265a 100644 --- a/reference/openssl/constants.xml +++ b/reference/openssl/constants.xml @@ -631,7 +631,7 @@ - This constant was added in 5.3.2 and requires PHP to be + This constant requires PHP to be built with OpenSSL 0.9.8j or greater. diff --git a/reference/openssl/functions/openssl-encrypt.xml b/reference/openssl/functions/openssl-encrypt.xml index 9332d7f419..ded01552c5 100644 --- a/reference/openssl/functions/openssl-encrypt.xml +++ b/reference/openssl/functions/openssl-encrypt.xml @@ -167,7 +167,7 @@ if (in_array($cipher, openssl_get_cipher_methods())) - AES Authenticated Encryption example for PHP 5.6+ + AES Authenticated Encryption example prior to PHP 7.1 openssl.cafile "" PHP_INI_PERDIR - Available as of PHP 5.6.0. + openssl.capath "" PHP_INI_PERDIR - Available as of PHP 5.6.0. + diff --git a/reference/openssl/setup.xml b/reference/openssl/setup.xml index f6e059d264..71a8d62487 100644 --- a/reference/openssl/setup.xml +++ b/reference/openssl/setup.xml @@ -10,9 +10,7 @@ In order to use the OpenSSL functions you need to install the OpenSSL library. - PHP 5 requires at least OpenSSL >= 0.9.6. However later PHP 5 versions - have some compilation issues and should be used at least with OpenSSL >= - 0.9.8 which is also a minimal version for PHP 7.0. Other versions + PHP 7 requires at least OpenSSL >= 0.9.8. Other versions (PHP >= 7.1.0) require OpenSSL >= 1.0.1. diff --git a/reference/uodbc/configure.xml b/reference/uodbc/configure.xml index 4863da611a..0b684f3652 100644 --- a/reference/uodbc/configure.xml +++ b/reference/uodbc/configure.xml @@ -160,9 +160,8 @@ - &windows.builtin; - As of PHP 7.0.0, however, Windows users must enable + Windows users must enable php_odbc.dll in order to use this extension.
diff --git a/reference/uodbc/ini.xml b/reference/uodbc/ini.xml index 4d3fc38409..bc15fe4fc2 100644 --- a/reference/uodbc/ini.xml +++ b/reference/uodbc/ini.xml @@ -74,7 +74,7 @@ odbc.default_cursortype "3" PHP_INI_ALL - Available as of PHP 5.3.0 +
diff --git a/reference/uopz/setup.xml b/reference/uopz/setup.xml index befbbf4b6c..97b71631c6 100644 --- a/reference/uopz/setup.xml +++ b/reference/uopz/setup.xml @@ -7,7 +7,7 @@
&reftitle.required; - uopz 2 requires PHP 5.4+. uopz 5.0 requires PHP 7. As of uopz 5.1, PHP 7.1+ is required. + As of uopz 5.0 PHP 7.0 is required. As of uopz 5.1, PHP 7.1+ is required.
diff --git a/reference/yaf/yaf-action-abstract.xml b/reference/yaf/yaf-action-abstract.xml index 6079f0de87..7ace6e927e 100644 --- a/reference/yaf/yaf-action-abstract.xml +++ b/reference/yaf/yaf-action-abstract.xml @@ -17,9 +17,8 @@ can also be a Yaf_Action_Abstract class. - Since there should be a entry point which can be called by Yaf (as of PHP 5.3, - there is a new magic method __invoke, but Yaf is not only works with PHP 5.3+, - Yaf choose another magic method execute), you must implement the abstract method + Since there should be a entry point which can be called by Yaf, + you must implement the abstract method Yaf_Action_Abstract::execute in your custom action class. diff --git a/reference/yaf/yaf-loader.xml b/reference/yaf/yaf-loader.xml index 31172c01cf..50e6cb40b3 100644 --- a/reference/yaf/yaf-loader.xml +++ b/reference/yaf/yaf-loader.xml @@ -100,7 +100,6 @@ class BarNon_Test - As of PHP 5.3, you can use namespace: Load namespace class example diff --git a/reference/zip/configure.xml b/reference/zip/configure.xml index e5d223d0f2..1104ebdc81 100644 --- a/reference/zip/configure.xml +++ b/reference/zip/configure.xml @@ -13,26 +13,24 @@ configure option. Previously, zip support had to be enabled by using the configure option. - - - As of PHP 5.6.0 a - configure option has been added to use a system libzip installation. libzip - version 0.11 is required, with 0.11.2 or later recommended. + As of PHP 7.4.0, the bundled libzip is removed. As of PHP 7.3.0, building against the bundled libzip is discouraged, but still possible by adding to the configuration. - As of PHP 7.4.0, the bundled libzip is removed. + + + A + configure option has been added to use a system libzip installation. libzip + version 0.11 is required, with 0.11.2 or later recommended.
Windows - As of PHP 5.3 this extension is built-in. Before, - Windows users need to enable php_zip.dll inside - of &php.ini; in order to use these functions. + This extension is built-in.
diff --git a/reference/zlib/constants.xml b/reference/zlib/constants.xml index 62c60b2112..4ef314f083 100644 --- a/reference/zlib/constants.xml +++ b/reference/zlib/constants.xml @@ -33,7 +33,7 @@ - DEFLATE algorithm as per RFC 1951. Available as of PHP 7.0.0. + DEFLATE algorithm as per RFC 1951. @@ -44,7 +44,7 @@ - ZLIB compression algorithm as per RFC 1950. Available as of PHP 7.0.0. + ZLIB compression algorithm as per RFC 1950. @@ -55,7 +55,7 @@ - GZIP algorithm as per RFC 1952. Available as of PHP 7.0.0. + GZIP algorithm as per RFC 1952. @@ -66,7 +66,7 @@ - Available as of PHP 7.0.0. + @@ -77,7 +77,7 @@ - Available as of PHP 7.0.0. + @@ -88,7 +88,7 @@ - Available as of PHP 7.0.0. + @@ -99,7 +99,7 @@ - Available as of PHP 7.0.0. + @@ -110,7 +110,7 @@ - Available as of PHP 7.0.0. + @@ -121,7 +121,7 @@ - Available as of PHP 7.0.0. + @@ -132,7 +132,7 @@ - Available as of PHP 7.0.0. + @@ -143,7 +143,7 @@ - Available as of PHP 7.0.0. + @@ -154,7 +154,7 @@ - Available as of PHP 7.0.0. + @@ -165,7 +165,7 @@ - Available as of PHP 7.0.0. + @@ -176,7 +176,7 @@ - Available as of PHP 7.0.0. + diff --git a/reference/zlib/examples.xml b/reference/zlib/examples.xml index 126195d799..021b16f2e9 100644 --- a/reference/zlib/examples.xml +++ b/reference/zlib/examples.xml @@ -50,7 +50,7 @@ echo "\n\n\n";
- Working with the incremental compression and decompression API as of PHP 7.0.0 + Working with the incremental compression and decompression API &reftitle.required; - This extension requires ZooKeeper C Binding (version 3.4.1 or greater). For more information, see ZooKeeper Programmer's Guide. - - - This extension requires PHP version 5.2.0 or higher. Since 0.6.0, it requires PHP version 7.0.0 or higher. + This extension requires ZooKeeper C Binding (version 3.4.1 or greater). + For more information, see ZooKeeper Programmer's Guide. From 80446d37cb8ce71d22da8ea76de5c7abdc84e04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 4 Jun 2021 11:07:29 +0200 Subject: [PATCH 204/444] Fix return value description of SessionHandlerInterface::read() Closes GH-654. --- reference/session/sessionhandlerinterface/read.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/session/sessionhandlerinterface/read.xml b/reference/session/sessionhandlerinterface/read.xml index 187f184d5d..29aaab046e 100644 --- a/reference/session/sessionhandlerinterface/read.xml +++ b/reference/session/sessionhandlerinterface/read.xml @@ -52,7 +52,7 @@ &reftitle.returnvalues; - Returns an encoded string of the read data. If nothing was read, it must return an empty string. Note this value is returned internally to PHP for processing. + Returns an encoded string of the read data. If nothing was read, it must return &false;. Note this value is returned internally to PHP for processing. From ab36e3826c60dce50149ee5c31b8a6b31663b66b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 31 May 2021 22:41:36 +0200 Subject: [PATCH 205/444] Update ini_restore() example y2k_compliance is removed as of PHP 5.4.0. --- reference/info/functions/ini-restore.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/info/functions/ini-restore.xml b/reference/info/functions/ini-restore.xml index c102ba01a2..b533c99ec7 100644 --- a/reference/info/functions/ini-restore.xml +++ b/reference/info/functions/ini-restore.xml @@ -48,7 +48,7 @@ From 14e3e35ca0c82b3b5fb3fd71b9dd70e9eb250ab1 Mon Sep 17 00:00:00 2001 From: Paragon Initiative Enterprises Date: Fri, 4 Jun 2021 10:15:01 +0200 Subject: [PATCH 206/444] Provide documentation for many ext/sodium functions Co-authored-by: Christoph M. Becker Closes GH-592. --- reference/sodium/functions/sodium-add.xml | 12 ++-- .../sodium/functions/sodium-base642bin.xml | 32 +++++++--- .../sodium/functions/sodium-bin2base64.xml | 30 ++++++--- reference/sodium/functions/sodium-bin2hex.xml | 10 +-- reference/sodium/functions/sodium-compare.xml | 16 +++-- .../sodium-crypto-aead-aes256gcm-decrypt.xml | 19 +++--- .../sodium-crypto-aead-aes256gcm-encrypt.xml | 16 ++--- ...ium-crypto-aead-aes256gcm-is-available.xml | 6 +- .../sodium-crypto-aead-aes256gcm-keygen.xml | 9 ++- ...m-crypto-aead-chacha20poly1305-decrypt.xml | 18 +++--- ...m-crypto-aead-chacha20poly1305-encrypt.xml | 17 +++-- ...pto-aead-chacha20poly1305-ietf-decrypt.xml | 19 +++--- ...pto-aead-chacha20poly1305-ietf-encrypt.xml | 18 +++--- ...ypto-aead-chacha20poly1305-ietf-keygen.xml | 9 ++- ...um-crypto-aead-chacha20poly1305-keygen.xml | 9 ++- ...to-aead-xchacha20poly1305-ietf-decrypt.xml | 21 ++++--- ...to-aead-xchacha20poly1305-ietf-encrypt.xml | 21 ++++--- ...pto-aead-xchacha20poly1305-ietf-keygen.xml | 9 ++- .../functions/sodium-crypto-auth-keygen.xml | 8 +-- .../functions/sodium-crypto-auth-verify.xml | 17 ++--- .../sodium/functions/sodium-crypto-auth.xml | 16 +++-- ...x-keypair-from-secretkey-and-publickey.xml | 14 ++--- .../functions/sodium-crypto-box-keypair.xml | 10 +-- .../functions/sodium-crypto-box-open.xml | 16 ++--- ...um-crypto-box-publickey-from-secretkey.xml | 16 +++-- .../functions/sodium-crypto-box-publickey.xml | 11 ++-- .../functions/sodium-crypto-box-seal-open.xml | 41 +++++++++--- .../functions/sodium-crypto-box-seal.xml | 57 ++++++++++++++--- .../functions/sodium-crypto-box-secretkey.xml | 9 ++- .../sodium-crypto-box-seed-keypair.xml | 12 ++-- .../sodium/functions/sodium-crypto-box.xml | 23 ++++--- .../sodium-crypto-generichash-final.xml | 40 ++++++++++-- .../sodium-crypto-generichash-init.xml | 40 +++++++++--- .../sodium-crypto-generichash-keygen.xml | 8 +-- .../sodium-crypto-generichash-update.xml | 39 ++++++++++-- .../functions/sodium-crypto-generichash.xml | 14 ++--- .../sodium-crypto-kdf-derive-from-key.xml | 17 ++--- .../functions/sodium-crypto-kdf-keygen.xml | 8 +-- .../sodium-crypto-kx-client-session-keys.xml | 13 ++-- .../functions/sodium-crypto-kx-publickey.xml | 11 ++-- .../functions/sodium-crypto-kx-secretkey.xml | 11 ++-- .../sodium-crypto-kx-server-session-keys.xml | 13 ++-- ...ium-crypto-pwhash-scryptsalsa208sha256.xml | 22 ++++--- .../sodium-crypto-pwhash-str-needs-rehash.xml | 15 +++-- .../sodium/functions/sodium-crypto-pwhash.xml | 8 ++- .../functions/sodium-crypto-scalarmult.xml | 10 ++- .../sodium-crypto-secretbox-keygen.xml | 4 +- .../sodium-crypto-secretbox-open.xml | 14 ++--- .../functions/sodium-crypto-secretbox.xml | 13 ++-- ...cretstream-xchacha20poly1305-init-pull.xml | 62 ++++++++++++++++--- ...cretstream-xchacha20poly1305-init-push.xml | 60 ++++++++++++++++-- ...-secretstream-xchacha20poly1305-keygen.xml | 8 +-- ...to-secretstream-xchacha20poly1305-pull.xml | 48 +++++++++++--- ...to-secretstream-xchacha20poly1305-push.xml | 34 +++++++--- ...o-secretstream-xchacha20poly1305-rekey.xml | 10 ++- .../sodium-crypto-shorthash-keygen.xml | 2 +- .../functions/sodium-crypto-shorthash.xml | 15 +++-- .../functions/sodium-crypto-sign-detached.xml | 11 ++-- ...m-crypto-sign-ed25519-pk-to-curve25519.xml | 8 +-- ...m-crypto-sign-ed25519-sk-to-curve25519.xml | 8 +-- ...n-keypair-from-secretkey-and-publickey.xml | 10 ++- .../functions/sodium-crypto-sign-keypair.xml | 6 +- .../functions/sodium-crypto-sign-open.xml | 10 ++- ...m-crypto-sign-publickey-from-secretkey.xml | 10 ++- .../sodium-crypto-sign-publickey.xml | 10 ++- .../sodium-crypto-sign-secretkey.xml | 10 ++- .../sodium-crypto-sign-seed-keypair.xml | 12 ++-- .../sodium-crypto-sign-verify-detached.xml | 8 +-- .../sodium/functions/sodium-crypto-sign.xml | 12 ++-- .../functions/sodium-crypto-stream-keygen.xml | 8 +-- .../functions/sodium-crypto-stream-xor.xml | 16 ++--- .../sodium/functions/sodium-crypto-stream.xml | 13 ++-- .../sodium/functions/sodium-increment.xml | 9 ++- reference/sodium/functions/sodium-memcmp.xml | 17 +++-- reference/sodium/functions/sodium-memzero.xml | 10 ++- reference/sodium/functions/sodium-pad.xml | 10 ++- reference/sodium/functions/sodium-unpad.xml | 10 ++- 77 files changed, 811 insertions(+), 477 deletions(-) diff --git a/reference/sodium/functions/sodium-add.xml b/reference/sodium/functions/sodium-add.xml index 149819b3d9..a19c0500ec 100644 --- a/reference/sodium/functions/sodium-add.xml +++ b/reference/sodium/functions/sodium-add.xml @@ -14,11 +14,10 @@ stringstring2 - + This adds the parameter string2 to string1, overwriting + the value stored in string1. This function assumes both parameters are binary + strings that represent unsigned integers in little-endian byte order. - - &warn.undocumented.func; -
@@ -28,7 +27,8 @@ string1 - + String representing an arbitrary-length unsigned integer in little-endian byte order. + This parameter is passed by reference and will hold the sum of the two parameters. @@ -36,7 +36,7 @@ string2 - + String representing an arbitrary-length unsigned integer in little-endian byte order. diff --git a/reference/sodium/functions/sodium-base642bin.xml b/reference/sodium/functions/sodium-base642bin.xml index 058a0fe3db..47bf0f80ad 100644 --- a/reference/sodium/functions/sodium-base642bin.xml +++ b/reference/sodium/functions/sodium-base642bin.xml @@ -3,7 +3,7 @@ sodium_base642bin - Description + Decodes a base64-encoded string into raw binary. @@ -15,11 +15,11 @@ stringignore"" - + Converts a base64 encoded string into raw binary. Unlike base64_decode, + sodium_base642bin is constant-time (a property that is important for any code that + touches cryptographic inputs, such as plaintexts or keys) and supports multiple character sets. - &warn.undocumented.func; - @@ -29,7 +29,7 @@ string - + string; Encoded string. @@ -37,7 +37,23 @@ id - + + + SODIUM_BASE64_VARIANT_ORIGINAL for standard (A-Za-z0-9/\+) + Base64 encoding. + + + SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING for standard (A-Za-z0-9/\+) + Base64 encoding, without = padding characters. + + + SODIUM_BASE64_VARIANT_URLSAFE for URL-safe (A-Za-z0-9\-_) Base64 encoding. + + + SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING for URL-safe (A-Za-z0-9\-_) + Base64 encoding, without = padding characters. + + @@ -45,7 +61,7 @@ ignore - + Characters to ignore when decoding (e.g. whitespace characters). @@ -55,7 +71,7 @@ &reftitle.returnvalues; - + Decoded string. diff --git a/reference/sodium/functions/sodium-bin2base64.xml b/reference/sodium/functions/sodium-bin2base64.xml index 7d4e7adcc9..f29c29a59b 100644 --- a/reference/sodium/functions/sodium-bin2base64.xml +++ b/reference/sodium/functions/sodium-bin2base64.xml @@ -3,7 +3,7 @@ sodium_bin2base64 - Description + Encodes a raw binary string with base64. @@ -14,11 +14,11 @@ intid - + Converts a raw binary string into a base64-encoded string. Unlike base64_encode, + sodium_bin2base64 is constant-time (a property that is important for any code that + touches cryptographic inputs, such as plaintexts or keys) and supports multiple character sets. - &warn.undocumented.func; - @@ -28,7 +28,7 @@ string - + Raw binary string. @@ -36,7 +36,23 @@ id - + + + SODIUM_BASE64_VARIANT_ORIGINAL for standard (A-Za-z0-9/\+) + Base64 encoding. + + + SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING for standard (A-Za-z0-9/\+) + Base64 encoding, without = padding characters. + + + SODIUM_BASE64_VARIANT_URLSAFE for URL-safe (A-Za-z0-9\-_) Base64 encoding. + + + SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING for URL-safe (A-Za-z0-9\-_) + Base64 encoding, without = padding characters. + + @@ -46,7 +62,7 @@ &reftitle.returnvalues; - + Base64-encoded string. diff --git a/reference/sodium/functions/sodium-bin2hex.xml b/reference/sodium/functions/sodium-bin2hex.xml index 007055821b..1bc84c88ab 100644 --- a/reference/sodium/functions/sodium-bin2hex.xml +++ b/reference/sodium/functions/sodium-bin2hex.xml @@ -13,11 +13,11 @@ stringstring - + Converts a raw binary string into a hex-encoded string. Unlike the standard hex-encoding function, + sodium_bin2hex is constant-time (a property that is important for any code that + touches cryptographic inputs, such as plaintexts or keys). - &warn.undocumented.func; - @@ -27,7 +27,7 @@ string - + Hex encoded string @@ -37,7 +37,7 @@ &reftitle.returnvalues; - + Decoded string. diff --git a/reference/sodium/functions/sodium-compare.xml b/reference/sodium/functions/sodium-compare.xml index 112393d38c..0a5dd56fe4 100644 --- a/reference/sodium/functions/sodium-compare.xml +++ b/reference/sodium/functions/sodium-compare.xml @@ -14,11 +14,9 @@ stringstring2 - + Compare two strings as if they were arbitrary-length, unsigned little-endian integers, without side-channel leakage. - &warn.undocumented.func; - @@ -28,7 +26,7 @@ string1 - + Left operand @@ -36,7 +34,7 @@ string2 - + Right operand @@ -46,7 +44,13 @@ &reftitle.returnvalues; - + Returns -1 if string1 is less than string2. + + + Returns 1 if string1 is greater than string2. + + + Returns 0 if both strings are equal. diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml index 17f65c62d8..d6c7660aad 100644 --- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-decrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_aes256gcm_decrypt - Decrypt in combined mode with precalculation + Verify then decrypt a message with AES-256-GCM @@ -16,11 +16,10 @@ stringkey - + Verify then decrypt with AES-256-GCM. + Only available if sodium_crypto_aead_aes256gcm_is_available returns &true;. - &warn.undocumented.func; - @@ -30,7 +29,8 @@ ciphertext - + Must be in the format provided by sodium_crypto_aead_aes256gcm_encrypt + (ciphertext and tag, concatenated). @@ -38,7 +38,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +47,7 @@ nonce - + A number that must be only used once, per message. 12 bytes long. @@ -54,7 +55,7 @@ key - + Encryption key (256-bit). @@ -64,7 +65,7 @@ &reftitle.returnvalues; - + Returns the plaintext on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml index bcbd5e6d6f..644cf52752 100644 --- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_aes256gcm_encrypt - Encrypt in combined mode with precalculation + Encrypt then authenticate with AES-256-GCM @@ -16,7 +16,8 @@ stringkey - + Encrypt then authenticate with AES-256-GCM. + Only available if sodium_crypto_aead_aes256gcm_is_available returns &true;. &warn.undocumented.func; @@ -30,7 +31,7 @@ message - + The plaintext message to encrypt. @@ -38,7 +39,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +48,7 @@ nonce - + A number that must be only used once, per message. 12 bytes long. @@ -54,7 +56,7 @@ key - + Encryption key (256-bit). @@ -64,7 +66,7 @@ &reftitle.returnvalues; - + Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format: ciphertext, then tag.) diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml index 154a1e951d..e76dbe8091 100644 --- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml +++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-is-available.xml @@ -14,11 +14,9 @@ - + The return value of this function depends on whether or not the hardware supports hardware-accelerated AES. - &warn.undocumented.func; - @@ -29,7 +27,7 @@ &reftitle.returnvalues; - + Returns &true; if it is safe to encrypt with AES-256-GCM, and &false; otherwise. diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml index 7e652c7d78..6376c336ad 100644 --- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_aead_aes256gcm_keygen - Get random bytes for key + Generate a random AES-256-GCM key @@ -14,11 +14,10 @@ - + Generate a random key for use with sodium_crypto_aead_aes256gcm_encrypt and + sodium_crypto_aead_aes256gcm_decrypt. - &warn.undocumented.func; - @@ -29,7 +28,7 @@ &reftitle.returnvalues; - + Returns a 256-bit random key. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-decrypt.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-decrypt.xml index 281373119d..9d97c38bdf 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-decrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-decrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_chacha20poly1305_decrypt - Verify that the ciphertext includes a valid tag + Verify then decrypt with ChaCha20-Poly1305 @@ -16,11 +16,9 @@ stringkey - + Verify then decrypt with ChaCha20-Poly1305. - &warn.undocumented.func; - @@ -30,7 +28,8 @@ ciphertext - + Must be in the format provided by sodium_crypto_aead_chacha20poly1305_encrypt + (ciphertext and tag, concatenated). @@ -38,7 +37,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +46,7 @@ nonce - + A number that must be only used once, per message. 8 bytes long. @@ -54,7 +54,7 @@ key - + Encryption key (256-bit). @@ -64,7 +64,7 @@ &reftitle.returnvalues; - + Returns the plaintext on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-encrypt.xml index 0eb292bc1b..6f6fdc7657 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-encrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-encrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_chacha20poly1305_encrypt - Encrypt a message + Encrypt then authenticate with ChaCha20-Poly1305 @@ -16,11 +16,9 @@ stringkey - + Encrypt then authenticate with ChaCha20-Poly1305. - &warn.undocumented.func; - @@ -30,7 +28,7 @@ message - + The plaintext message to encrypt. @@ -38,7 +36,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +45,7 @@ nonce - + A number that must be only used once, per message. 8 bytes long. @@ -54,7 +53,7 @@ key - + Encryption key (256-bit). @@ -64,7 +63,7 @@ &reftitle.returnvalues; - + Returns the ciphertext and tag on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-decrypt.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-decrypt.xml index 1384f3b737..722bcb923b 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-decrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-decrypt.xml @@ -16,10 +16,11 @@ stringkey - + Verify then decrypt with ChaCha20-Poly1305 (IETF variant). + + + The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both. - - &warn.undocumented.func; @@ -30,7 +31,8 @@ ciphertext - + Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt + (ciphertext and tag, concatenated). @@ -38,7 +40,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +49,7 @@ nonce - + A number that must be only used once, per message. 12 bytes long. @@ -54,7 +57,7 @@ key - + Encryption key (256-bit). @@ -64,7 +67,7 @@ &reftitle.returnvalues; - + Returns the plaintext on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-encrypt.xml index 4f06110e7f..0475e668c0 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-encrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-encrypt.xml @@ -16,10 +16,11 @@ stringkey - + Encrypt then authenticate with ChaCha20-Poly1305 (IETF variant). + + + The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both. - - &warn.undocumented.func; @@ -30,7 +31,7 @@ message - + The plaintext message to encrypt. @@ -38,7 +39,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +48,7 @@ nonce - + A number that must be only used once, per message. 12 bytes long. @@ -54,7 +56,7 @@ key - + Encryption key (256-bit). @@ -64,7 +66,7 @@ &reftitle.returnvalues; - + Returns the ciphertext and tag on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-keygen.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-keygen.xml index 28bfd95873..17fb8a9708 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-ietf-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_aead_chacha20poly1305_ietf_keygen - Get random bytes for key + Generate a random ChaCha20-Poly1305 (IETF) key. @@ -14,11 +14,10 @@ - + Generate a random key for use with sodium_crypto_aead_chacha20poly1305_ietf_encrypt and + sodium_crypto_aead_chacha20poly1305_ietf_decrypt. - &warn.undocumented.func; - @@ -29,7 +28,7 @@ &reftitle.returnvalues; - + Returns a 256-bit random key. diff --git a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-keygen.xml b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-keygen.xml index bcce534b5b..3f88c50bc2 100644 --- a/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-aead-chacha20poly1305-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_aead_chacha20poly1305_keygen - Get random bytes for key + Generate a random ChaCha20-Poly1305 key. @@ -14,11 +14,10 @@ - + Generate a random key for use with sodium_crypto_aead_chacha20poly1305_encrypt and + sodium_crypto_aead_chacha20poly1305_decrypt. - &warn.undocumented.func; - @@ -29,7 +28,7 @@ &reftitle.returnvalues; - + Returns a 256-bit random key. diff --git a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-decrypt.xml b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-decrypt.xml index 32f61344ac..b5a12967b2 100644 --- a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-decrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-decrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_xchacha20poly1305_ietf_decrypt - Description + (Preferred) Verify then decrypt with XChaCha20-Poly1305 @@ -17,9 +17,11 @@ + Verify then decrypt with ChaCha20-Poly1305 (eXtended-nonce variant). + + + Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use. - - &warn.undocumented.func; @@ -30,7 +32,8 @@ ciphertext - + Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt + (ciphertext and tag, concatenated). @@ -38,7 +41,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +50,8 @@ nonce - + A number that must be only used once, per message. 24 bytes long. + This is a large enough bound to generate randomly (i.e. random_bytes). @@ -54,7 +59,7 @@ key - + Encryption key (256-bit). @@ -64,7 +69,7 @@ &reftitle.returnvalues; - + Returns the plaintext on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.xml index 7bbccf2f1d..b1ea0854ea 100644 --- a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-encrypt.xml @@ -3,7 +3,7 @@ sodium_crypto_aead_xchacha20poly1305_ietf_encrypt - Description + (Preferred) Encrypt then authenticate with XChaCha20-Poly1305 @@ -16,10 +16,11 @@ stringkey - + Encrypt then authenticate with XChaCha20-Poly1305 (eXtended-nonce variant). + + + Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use. - - &warn.undocumented.func; @@ -30,7 +31,7 @@ message - + The plaintext message to encrypt. @@ -38,7 +39,8 @@ additional_data - + Additional, authenticated data. This is used in the verification of the authentication tag + appended to the ciphertext, but it is not encrypted or stored in the ciphertext. @@ -46,7 +48,8 @@ nonce - + A number that must be only used once, per message. 24 bytes long. + This is a large enough bound to generate randomly (i.e. random_bytes). @@ -54,7 +57,7 @@ key - + Encryption key (256-bit). @@ -64,7 +67,7 @@ &reftitle.returnvalues; - + Returns the ciphertext and tag on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-keygen.xml b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-keygen.xml index a2739c9a67..e40347e4c5 100644 --- a/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-aead-xchacha20poly1305-ietf-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_aead_xchacha20poly1305_ietf_keygen - Description + Generate a random XChaCha20-Poly1305 key. @@ -14,11 +14,10 @@ - + Generate a random key for use with sodium_crypto_aead_xchacha20poly1305_ietf_encrypt and + sodium_crypto_aead_xchacha20poly1305_ietf_decrypt. - &warn.undocumented.func; - @@ -29,7 +28,7 @@ &reftitle.returnvalues; - + Returns a 256-bit random key. diff --git a/reference/sodium/functions/sodium-crypto-auth-keygen.xml b/reference/sodium/functions/sodium-crypto-auth-keygen.xml index 602a11febe..02106eb290 100644 --- a/reference/sodium/functions/sodium-crypto-auth-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-auth-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_auth_keygen - Get random bytes for key + Generate a random key for sodium_crypto_auth @@ -14,11 +14,9 @@ - + Generate a key for use with sodium_crypto_auth and sodium_crypto_auth_verify. - &warn.undocumented.func; - @@ -29,7 +27,7 @@ &reftitle.returnvalues; - + Returns a 256-bit random key. diff --git a/reference/sodium/functions/sodium-crypto-auth-verify.xml b/reference/sodium/functions/sodium-crypto-auth-verify.xml index 4872b4cad1..460e112acf 100644 --- a/reference/sodium/functions/sodium-crypto-auth-verify.xml +++ b/reference/sodium/functions/sodium-crypto-auth-verify.xml @@ -15,10 +15,13 @@ stringkey - + Verify the authentication tag is valid for a given message and key. + + + Unlike with digital signatures (e.g. sodium_crypto_sign_verify_detached), + any party capable of verifying a message is also capable of authenticating + their own messages. (Hence, symmetric authentication.) - - &warn.undocumented.func; @@ -29,7 +32,7 @@ mac - + Authentication tag produced by sodium_crypto_auth @@ -37,7 +40,7 @@ message - + Message @@ -45,7 +48,7 @@ key - + Authentication key @@ -55,7 +58,7 @@ &reftitle.returnvalues; - + &return.success; diff --git a/reference/sodium/functions/sodium-crypto-auth.xml b/reference/sodium/functions/sodium-crypto-auth.xml index 93572f8739..dbd4fb168f 100644 --- a/reference/sodium/functions/sodium-crypto-auth.xml +++ b/reference/sodium/functions/sodium-crypto-auth.xml @@ -14,10 +14,14 @@ stringkey - + Symmetric message authentication via sodium_crypto_auth provides + integrity, but not confidentiality. + + + Unlike with digital signatures (e.g. sodium_crypto_sign_detached), + any party capable of verifying a message is also capable of authenticating + their own messages. (Hence, symmetric authentication.) - - &warn.undocumented.func; @@ -28,7 +32,7 @@ message - + The message you intend to authenticate @@ -36,7 +40,7 @@ key - + Authentication key @@ -46,7 +50,7 @@ &reftitle.returnvalues; - + Authentication tag diff --git a/reference/sodium/functions/sodium-crypto-box-keypair-from-secretkey-and-publickey.xml b/reference/sodium/functions/sodium-crypto-box-keypair-from-secretkey-and-publickey.xml index eeb5cfb306..a7a4251327 100644 --- a/reference/sodium/functions/sodium-crypto-box-keypair-from-secretkey-and-publickey.xml +++ b/reference/sodium/functions/sodium-crypto-box-keypair-from-secretkey-and-publickey.xml @@ -4,7 +4,7 @@ sodium_crypto_box_keypair_from_secretkey_and_publickey - Description + Create a unified keypair string from a secret key and public key @@ -15,11 +15,11 @@ stringpublic_key - + This function exists to satisfy the API requirements of e.g. crypto_box. + Pass in one party's secret key and the other's public key, and you will obtain a "keypair" for + your conversation. - &warn.undocumented.func; - @@ -29,7 +29,7 @@ secret_key - + Secret key. @@ -37,7 +37,7 @@ public_key - + Public key. @@ -47,7 +47,7 @@ &reftitle.returnvalues; - + X25519 Keypair. diff --git a/reference/sodium/functions/sodium-crypto-box-keypair.xml b/reference/sodium/functions/sodium-crypto-box-keypair.xml index 4219c08777..c99418ca97 100644 --- a/reference/sodium/functions/sodium-crypto-box-keypair.xml +++ b/reference/sodium/functions/sodium-crypto-box-keypair.xml @@ -14,10 +14,12 @@ - + Generates a secret key and a public key as one string. + + + To get the secret key out of this unified keypair string, see sodium_crypto_box_secretkey. + To get the public key out of this unified keypair string, see sodium_crypto_box_publickey. - - &warn.undocumented.func; @@ -29,7 +31,7 @@ &reftitle.returnvalues; - + One string containing both the X25519 secret key and corresponding X25519 public key. diff --git a/reference/sodium/functions/sodium-crypto-box-open.xml b/reference/sodium/functions/sodium-crypto-box-open.xml index 7c7c2cf094..2a39986cc9 100644 --- a/reference/sodium/functions/sodium-crypto-box-open.xml +++ b/reference/sodium/functions/sodium-crypto-box-open.xml @@ -3,7 +3,7 @@ sodium_crypto_box_open - Verify and decrypt a ciphertext + Authenticated public-key decryption @@ -15,11 +15,9 @@ stringkey_pair - + Decrypt a message using asymmetric (public key) cryptography. - &warn.undocumented.func; - @@ -29,7 +27,7 @@ ciphertext - + The encrypted message to attempt to decrypt. @@ -37,7 +35,8 @@ nonce - + A number that must be only used once, per message. 24 bytes long. + This is a large enough bound to generate randomly (i.e. random_bytes). @@ -45,7 +44,8 @@ key_pair - + See sodium_crypto_box_keypair_from_secretkey_and_publickey. + This should include the sender's public key and the recipient's secret key. @@ -55,7 +55,7 @@ &reftitle.returnvalues; - + Returns the plaintext message on success, &return.falseforfailure;. diff --git a/reference/sodium/functions/sodium-crypto-box-publickey-from-secretkey.xml b/reference/sodium/functions/sodium-crypto-box-publickey-from-secretkey.xml index 5bb431ef5f..dc95b742d1 100644 --- a/reference/sodium/functions/sodium-crypto-box-publickey-from-secretkey.xml +++ b/reference/sodium/functions/sodium-crypto-box-publickey-from-secretkey.xml @@ -3,7 +3,7 @@ sodium_crypto_box_publickey_from_secretkey - Description + Calculate the public key from a secret key @@ -13,10 +13,14 @@ stringsecret_key - + Given a secret key, calculate the corresponding public key. + + + This only works with the type of keys intended for use with crypto_box + (which uses Elliptic Curve Diffie-Hellman over the Montgomery curve, Curve25519; abbreviated as X25519), + not crypto_sign (which uses Edwards Digital Signature Algorithm over the Edwards + Curve with the corresponding paramaters; abbreviated Ed25519). - - &warn.undocumented.func; @@ -27,7 +31,7 @@ secret_key - + X25519 secret key @@ -37,7 +41,7 @@ &reftitle.returnvalues; - + X25519 public key. diff --git a/reference/sodium/functions/sodium-crypto-box-publickey.xml b/reference/sodium/functions/sodium-crypto-box-publickey.xml index 29eb7e0a0b..f7a0c3f857 100644 --- a/reference/sodium/functions/sodium-crypto-box-publickey.xml +++ b/reference/sodium/functions/sodium-crypto-box-publickey.xml @@ -3,7 +3,7 @@ sodium_crypto_box_publickey - Description + Extract the public key from a crypto_box keypair @@ -13,11 +13,9 @@ stringkey_pair - + Given a keypair, fetch only the public key. - &warn.undocumented.func; - @@ -27,7 +25,8 @@ key_pair - + A keypair, such as one generated by sodium_crypto_box_keypair or + sodium_crypto_box_seed_keypair @@ -37,7 +36,7 @@ &reftitle.returnvalues; - + X25519 public key. diff --git a/reference/sodium/functions/sodium-crypto-box-seal-open.xml b/reference/sodium/functions/sodium-crypto-box-seal-open.xml index 98fd5a7f03..4de9703e43 100644 --- a/reference/sodium/functions/sodium-crypto-box-seal-open.xml +++ b/reference/sodium/functions/sodium-crypto-box-seal-open.xml @@ -3,7 +3,7 @@ sodium_crypto_box_seal_open - Decrypt the ciphertext + Anonymous public-key decryption @@ -14,11 +14,9 @@ stringkey_pair - + Decrypt a message that was encrypted with sodium_crypto_box_seal - &warn.undocumented.func; - @@ -28,7 +26,7 @@ ciphertext - + The encrypted message @@ -36,7 +34,7 @@ key_pair - + The keypair of the recipient. Must include the secret key. @@ -46,11 +44,40 @@ &reftitle.returnvalues; - + The plaintext on success, &return.falseforfailure;. + + &reftitle.examples; + + <function>sodium_crypto_box_seal_open</function> example + + +]]> + + &example.outputs.similar; + + + + + + + &reftitle.examples; + + <function>sodium_crypto_box_seal</function> example + + +]]> + + &example.outputs.similar; + + + + + + &reftitle.examples; + + <function>sodium_crypto_generichash_final</function> example + + +]]> + + &example.outputs.similar; + + + + + + &reftitle.examples; + + <function>sodium_crypto_generichash_init</function> example + + +]]> + + &example.outputs.similar; + + + + + + &reftitle.examples; + + <function>sodium_crypto_generichash_update</function> example + + +]]> + + &example.outputs.similar; + + + + + + &reftitle.examples; + + <function>sodium_crypto_secretstream_xchacha20poly1305_init_pull</function> example + + +]]> + + &example.outputs.similar; + + + + + + &reftitle.examples; + + <function>sodium_crypto_secretstream_xchacha20poly1305_init_push</function> example + + +]]> + + &example.outputs.similar; + + + + + diff --git a/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-keygen.xml b/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-keygen.xml index b79c03442f..37c7ae3839 100644 --- a/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-keygen.xml +++ b/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-keygen.xml @@ -4,7 +4,7 @@ sodium_crypto_secretstream_xchacha20poly1305_keygen - Description + Generate a random secretstream key. @@ -14,11 +14,9 @@ - + Generate a random secretstream key. - &warn.undocumented.func; - @@ -29,7 +27,7 @@ &reftitle.returnvalues; - + Returns a string of random bytes. diff --git a/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-pull.xml b/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-pull.xml index d8d66e5b5f..bd9a2dd448 100644 --- a/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-pull.xml +++ b/reference/sodium/functions/sodium-crypto-secretstream-xchacha20poly1305-pull.xml @@ -3,7 +3,7 @@ sodium_crypto_secretstream_xchacha20poly1305_pull - Description + Decrypt a chunk of data from an encrypted stream @@ -15,11 +15,9 @@ stringadditional_data"" - + Decrypt a chunk of data from an encrypted stream. - &warn.undocumented.func; - @@ -29,7 +27,8 @@ state - + See sodium_crypto_secretstream_xchacha20poly1305_init_pull + and sodium_crypto_secretstream_xchacha20poly1305_init_push @@ -37,7 +36,7 @@ ciphertext - + The ciphertext chunk to decrypt. @@ -45,7 +44,7 @@ additional_data - + Optional additional data to include in the authentication tag. @@ -55,11 +54,42 @@ &reftitle.returnvalues; - + An array with two values: + + + + string; The decrypted chunk + + + + + int; An optional tag (if provided during push). Possible values: + + + SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: + the most common tag, that doesn't add any information about the nature of the message. + + + SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: + indicates that the message marks the end of the stream, and erases the secret key used to encrypt the previous sequence. + + + SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: + indicates that the message marks the end of a set of messages, but not the end of the stream. + For example, a huge JSON string sent as multiple chunks can use this tag to indicate to the application that the + string is complete and that it can be decoded. But the stream itself is not closed, and more data may follow. + + + SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: + "forget" the key used to encrypt this message and the previous ones, and derive a new secret key. + + + + + - + + + + The ReflectionAttribute class + ReflectionAttribute + + + + +
+ &reftitle.intro; + + The ReflectionAttribute class provides information about + an Attributes. + +
+ + +
+ &reftitle.classsynopsis; + + + + ReflectionAttribute + + + + + final ReflectionAttribute + + + + + &Methods; + + + + + + + + +
+ +
+ + &reference.reflection.entities.reflectionattribute; + +
+ + diff --git a/reference/reflection/reflectionattribute/construct.xml b/reference/reflection/reflectionattribute/construct.xml new file mode 100644 index 0000000000..a2a28c47e0 --- /dev/null +++ b/reference/reflection/reflectionattribute/construct.xml @@ -0,0 +1,42 @@ + + + + + ReflectionAttribute::__construct + Private constructor to disallow direct instantiation + + + + &reftitle.description; + + private ReflectionAttribute::__construct + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + diff --git a/reference/reflection/reflectionattribute/getarguments.xml b/reference/reflection/reflectionattribute/getarguments.xml new file mode 100644 index 0000000000..889079772e --- /dev/null +++ b/reference/reflection/reflectionattribute/getarguments.xml @@ -0,0 +1,55 @@ + + + + + + ReflectionAttribute::getArguments + Gets arguments passed to attribute. + + + + &reftitle.description; + + public arrayReflectionAttribute::getArguments + + + + Gets arguments passed to attribute. + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + The arguments passed to attribute. + + + + + + diff --git a/reference/reflection/reflectionattribute/getname.xml b/reference/reflection/reflectionattribute/getname.xml new file mode 100644 index 0000000000..599e07df0c --- /dev/null +++ b/reference/reflection/reflectionattribute/getname.xml @@ -0,0 +1,55 @@ + + + + + + ReflectionAttribute::getName + Gets attribute name + + + + &reftitle.description; + + public stringReflectionAttribute::getName + + + + Gets the attributes name. + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + The name of the attibute. + + + + + + diff --git a/reference/reflection/reflectionattribute/gettarget.xml b/reference/reflection/reflectionattribute/gettarget.xml new file mode 100644 index 0000000000..eda301abdc --- /dev/null +++ b/reference/reflection/reflectionattribute/gettarget.xml @@ -0,0 +1,58 @@ + + + + + + ReflectionAttribute::getTarget + Returns the target of the attribute as bitmask. + + + + &reftitle.description; + + public intReflectionAttribute::getTarget + + + + Gets target of the attribute as bitmask. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + + Gets target of the attribute as bitmask. + + + + + + diff --git a/reference/reflection/reflectionattribute/isrepeated.xml b/reference/reflection/reflectionattribute/isrepeated.xml new file mode 100644 index 0000000000..7814385185 --- /dev/null +++ b/reference/reflection/reflectionattribute/isrepeated.xml @@ -0,0 +1,55 @@ + + + + + + ReflectionAttribute::isRepeated + Returns weather the attribute of this name could occur repeatedly on a code element. + + + + &reftitle.description; + + public boolReflectionAttribute::isRepeated + + + + Returns weather the attribute of this name could occur repeatedly on a code element. + + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns &true; when attribute is used repeatedly, otherwise &false;. + + + + + + diff --git a/reference/reflection/reflectionattribute/newinstance.xml b/reference/reflection/reflectionattribute/newinstance.xml new file mode 100644 index 0000000000..0e2ba4dd61 --- /dev/null +++ b/reference/reflection/reflectionattribute/newinstance.xml @@ -0,0 +1,54 @@ + + + + + + ReflectionAttribute::newInstance + Instantiates the attribute class represented by this ReflectionAttribute class and arguments. + + + + &reftitle.description; + + public objectReflectionAttribute::newInstance + + + + Instantiates the attribute class represented by this ReflectionAttribute class and arguments. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + New instance of the attribute. + + + + + + diff --git a/reference/reflection/reflectionclass/getattributes.xml b/reference/reflection/reflectionclass/getattributes.xml new file mode 100644 index 0000000000..ce21a533bf --- /dev/null +++ b/reference/reflection/reflectionclass/getattributes.xml @@ -0,0 +1,87 @@ + + + + + + ReflectionClass::getAttributes + Gets Attributes + + + + &reftitle.description; + + public arrayReflectionClass::getAttributes + stringname&null; + intflags0 + + + Returns all attributes declared on this class as an array of ReflectionAttribute. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + + + name + + + + + + + + flags + + + + + + + + + + + &reftitle.returnvalues; + + Array of attributes, as a ReflectionAttribute object. + + + + + &reftitle.seealso; + + + ReflectionClassConstant::getAttributes + ReflectionFunctionAbstract::getAttributes + ReflectionParameter::getAttributes + ReflectionProperty::getAttributes + + + + + + + diff --git a/reference/reflection/reflectionclassconstant/getattributes.xml b/reference/reflection/reflectionclassconstant/getattributes.xml new file mode 100644 index 0000000000..b8037089a0 --- /dev/null +++ b/reference/reflection/reflectionclassconstant/getattributes.xml @@ -0,0 +1,87 @@ + + + + + + ReflectionClassConstant::getAttributes + Gets Attributes + + + + &reftitle.description; + + public arrayReflectionClassConstant::getAttributes + stringname&null; + intflags0 + + + Returns all attributes declared on this class constant as an array of ReflectionAttribute. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + + + name + + + + + + + + flags + + + + + + + + + + + &reftitle.returnvalues; + + Array of attributes, as a ReflectionAttribute object. + + + + + &reftitle.seealso; + + + ReflectionClass::getAttributes + ReflectionFunctionAbstract::getAttributes + ReflectionParameter::getAttributes + ReflectionProperty::getAttributes + + + + + + + diff --git a/reference/reflection/reflectionfunctionabstract/getattributes.xml b/reference/reflection/reflectionfunctionabstract/getattributes.xml new file mode 100644 index 0000000000..cfa805a2ea --- /dev/null +++ b/reference/reflection/reflectionfunctionabstract/getattributes.xml @@ -0,0 +1,87 @@ + + + + + + ReflectionFunctionAbstract::getAttributes + Gets Attributes + + + + &reftitle.description; + + public arrayReflectionFunctionAbstract::getAttributes + stringname&null; + intflags0 + + + Returns all attributes declared on this function or method as an array of ReflectionAttribute. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + + + name + + + + + + + + flags + + + + + + + + + + + &reftitle.returnvalues; + + Array of attributes, as a ReflectionAttribute object. + + + + + &reftitle.seealso; + + + ReflectionClass::getAttributes + ReflectionClassConstant::getAttributes + ReflectionParameter::getAttributes + ReflectionProperty::getAttributes + + + + + + + diff --git a/reference/reflection/reflectionparameter/getattributes.xml b/reference/reflection/reflectionparameter/getattributes.xml new file mode 100644 index 0000000000..2bfdd5be37 --- /dev/null +++ b/reference/reflection/reflectionparameter/getattributes.xml @@ -0,0 +1,87 @@ + + + + + + ReflectionParameter::getAttributes + Gets Attributes + + + + &reftitle.description; + + public arrayReflectionParameter::getAttributes + stringname&null; + intflags0 + + + Returns all attributes declared on this parameter as an array of ReflectionAttribute. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + + + name + + + + + + + + flags + + + + + + + + + + + &reftitle.returnvalues; + + Array of attributes, as a ReflectionAttribute object. + + + + + &reftitle.seealso; + + + ReflectionClass::getAttributes + ReflectionClassConstant::getAttributes + ReflectionFunctionAbstract::getAttributes + ReflectionProperty::getAttributes + + + + + + + diff --git a/reference/reflection/reflectionproperty/getattributes.xml b/reference/reflection/reflectionproperty/getattributes.xml new file mode 100644 index 0000000000..e8c76e8880 --- /dev/null +++ b/reference/reflection/reflectionproperty/getattributes.xml @@ -0,0 +1,87 @@ + + + + + + ReflectionProperty::getAttributes + Gets Attributes + + + + &reftitle.description; + + public arrayReflectionProperty::getAttributes + stringname&null; + intflags0 + + + Returns all attributes declared on this class property as an array of ReflectionAttribute. + + + &warn.undocumented.func; + + + + + &reftitle.parameters; + + + name + + + + + + + + flags + + + + + + + + + + + &reftitle.returnvalues; + + Array of attributes, as a ReflectionAttribute object. + + + + + &reftitle.seealso; + + + ReflectionClass::getAttributes + ReflectionClassConstant::getAttributes + ReflectionFunctionAbstract::getAttributes + ReflectionParameter::getAttributes + + + + + + + diff --git a/reference/reflection/versions.xml b/reference/reflection/versions.xml index 3e95dd3305..6da21c2089 100644 --- a/reference/reflection/versions.xml +++ b/reference/reflection/versions.xml @@ -55,6 +55,7 @@ + @@ -110,6 +111,7 @@ + @@ -206,6 +208,7 @@ + @@ -265,6 +268,7 @@ + @@ -287,6 +291,7 @@ + @@ -339,6 +344,14 @@ + + + + + + + +
From dcbd255b074257dacdc8d402c5cc5e31c6917591 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sat, 5 Jun 2021 04:30:28 +0900 Subject: [PATCH 208/444] fixed match expression example comment. --- language/control-structures/match.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/control-structures/match.xml b/language/control-structures/match.xml index 06ccc25ce7..b4aaa3eed6 100644 --- a/language/control-structures/match.xml +++ b/language/control-structures/match.xml @@ -87,7 +87,7 @@ $return_value = match (subject_expression) { ..., - $this->bar() => ..., // bar() isn't called if foo() === $x + $this->bar() => ..., // $this->bar() isn't called if foo() === $x $this->baz => beep(), // beep() isn't called unless $x === $this->baz // etc. }; From d579464d52f6b579db3de974cd319c99dd3d71aa Mon Sep 17 00:00:00 2001 From: Vladimir Date: Sun, 6 Jun 2021 14:52:19 +0300 Subject: [PATCH 209/444] shorten fopen w+ description make it consistent with x+, c+ Closes GH-660. --- reference/filesystem/functions/fopen.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/reference/filesystem/functions/fopen.xml b/reference/filesystem/functions/fopen.xml index 5fb9c2b399..b7da18d2fe 100644 --- a/reference/filesystem/functions/fopen.xml +++ b/reference/filesystem/functions/fopen.xml @@ -123,9 +123,8 @@ $handle = fopen("c:\\folder\\resource.txt", "r"); 'w+' - Open for reading and writing; place the file pointer at - the beginning of the file and truncate the file to zero - length. If the file does not exist, attempt to create it. + Open for reading and writing; otherwise it has the + same behavior as 'w'. From 442f7d44593f81bd478c17705afaaae75e2f5972 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 6 Jun 2021 16:06:15 +0300 Subject: [PATCH 210/444] Use literal tags instead of apostrophes (#653) --- reference/seaslog/ini.xml | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/reference/seaslog/ini.xml b/reference/seaslog/ini.xml index 8b2527404b..dadbfefab8 100644 --- a/reference/seaslog/ini.xml +++ b/reference/seaslog/ini.xml @@ -181,11 +181,11 @@ SeasLog will send log to tcp://remote_host:remote_port or udp://remote_host:remote_port server, - when seaslog.appender configured to `2 (TCP)` or `3 (UDP)`. + when seaslog.appender configured to 2 (TCP) or 3 (UDP). When SeasLog send log to TCP/UDP,style follow RFC5424. - The `{logInfo}` affected by seaslog.default_template. + The {logInfo} affected by seaslog.default_template. - Log function recall depth.Will affected variable `LineNo` in `%F`. + Log function recall depth.Will affected variable LineNo in %F. Default 0 @@ -515,17 +515,17 @@ The log style finally formatted such as: - `SeasLog`The following default variables are provided, + The following default variables are provided, which can be used directly in the log template and replaced as a corresponding value when the log is eventually generated. - Default log template is:`seaslog.default_template = "%T | %L | %P | %Q | %t | %M"`, - that's mean,default log style is:`{dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}` + Default log template is: seaslog.default_template = "%T | %L | %P | %Q | %t | %M", + that's mean,default log style is: {dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo} - If you custom log template, such as:`seaslog.default_template = "[%T]:%L %P %Q %t %M" `, - that's will mean,log style was custom as:`[{dateTime}]:{level} {pid} {uniqid} {timeStamp} {logInfo}` + If you custom log template, such as: seaslog.default_template = "[%T]:%L %P %Q %t %M", + that's will mean,log style was custom as: [{dateTime}]:{level} {pid} {uniqid} {timeStamp} {logInfo} Seaslog Default Variable Table @@ -547,17 +547,17 @@ The log style finally formatted such as: %T - DateTime. Such as`2017-08-16 19:15:02`,affected by `seaslog.default_datetime_format`. + DateTime. Such as 2017-08-16 19:15:02, affected by seaslog.default_datetime_format. %t - Timestamp. Such as`1502882102.862`,accurate to milliseconds. + Timestamp. Such as 1502882102.862,accurate to milliseconds. %Q RequestId. To distinguish a single request, - such as not invoking the `SeasLog::setRequestId($string)` function, - the unique value generated by the built-in `static char *get_uniqid ()` + such as not invoking the SeasLog::setRequestId($string) function, + the unique value generated by the built-in static char *get_uniqid () function is used when the request is initialized. @@ -570,37 +570,37 @@ The log style finally formatted such as: %D - Domain:Port. Such as`www.cloudwise.com:80`; When Cli, Such as `cli`. + Domain:Port. Such as www.cloudwise.com:80; When Cli, Such as cli. %R - Request URI. Such as`/app/user/signin`; - When Cli it's the index script, Such as `CliIndex.php`. + Request URI. Such as /app/user/signin; + When Cli it's the index script, Such as CliIndex.php. %m - Request Method. Such as`Get`; When Cli it's the command script, Such as `/bin/bash`. + Request Method. Such as Get; When Cli it's the command script, Such as /bin/bash. %I - Client IP; When Cli it's `local`. + Client IP; When Cli it's local. Priority value: HTTP_X_REAL_IP > HTTP_X_FORWARDED_FOR > REMOTE_ADDR %F - FileName:LineNo. Such as `UserService.php:118`. + FileName:LineNo. Such as UserService.php:118. %U - MemoryUsage. byte. Call `zend_memory_usage`. + MemoryUsage. byte. Call zend_memory_usage. %u - PeakMemoryUsage. byte. Call `zend_memory_peak_usage`. + PeakMemoryUsage. byte. Call zend_memory_peak_usage. %C - `TODO` Class::Action. Such as `UserService::getUserInfo` + TODO Class::Action. Such as UserService::getUserInfo From e1eff0924fdb214dad35edd0118b959d92aba177 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 4 Jun 2021 21:24:32 +0100 Subject: [PATCH 211/444] Fix section order issues in Reflection extension Part of #658 --- .../reflectionclass/newinstanceargs.xml | 22 +++++----- .../reflection/reflectiontype/tostring.xml | 44 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/reference/reflection/reflectionclass/newinstanceargs.xml b/reference/reflection/reflectionclass/newinstanceargs.xml index b776957df6..d46425bd65 100644 --- a/reference/reflection/reflectionclass/newinstanceargs.xml +++ b/reference/reflection/reflectionclass/newinstanceargs.xml @@ -41,6 +41,17 @@ Returns a new instance of the class. + + + &reftitle.errors; + + A ReflectionException if the class constructor is not public. + + + A ReflectionException if the class does not have a constructor + and the args parameter contains one or more parameters. + + &reftitle.examples; @@ -69,17 +80,6 @@ object(ReflectionFunction)#2 (1) { - - &reftitle.errors; - - A ReflectionException if the class constructor is not public. - - - A ReflectionException if the class does not have a constructor - and the args parameter contains one or more parameters. - - - &reftitle.seealso; diff --git a/reference/reflection/reflectiontype/tostring.xml b/reference/reflection/reflectiontype/tostring.xml index 36718fe503..0032137c0a 100644 --- a/reference/reflection/reflectiontype/tostring.xml +++ b/reference/reflection/reflectiontype/tostring.xml @@ -34,6 +34,28 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 7.1.0 + + ReflectionType::__toString has been deprecated. + + + + + + + &reftitle.examples; @@ -60,28 +82,6 @@ string - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - 7.1.0 - - ReflectionType::__toString has been deprecated. - - - - - - - &reftitle.seealso; From cbac1ecf71d754707d69bdc344c4031c157eaa54 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sun, 6 Jun 2021 17:49:54 +0100 Subject: [PATCH 212/444] Fix lone section order issues in various extensions Part of #658 --- reference/apcu/functions/apcu-fetch.xml | 44 ++++++++-------- reference/array/functions/array-unique.xml | 22 ++++---- reference/bc/functions/bcpowmod.xml | 24 ++++----- reference/com/functions/com-create-guid.xml | 6 +++ .../cubridmysql/cubrid-unbuffered-query.xml | 24 ++++----- reference/dba/functions/dba-list.xml | 7 ++- reference/exec/functions/proc-nice.xml | 36 ++++++------- reference/exif/functions/exif-thumbnail.xml | 51 ++++++++++--------- reference/filter/functions/filter-list.xml | 6 +++ .../fpm/functions/fastcgi-finish-request.xml | 5 ++ .../geoip/functions/geoip-db-get-all-info.xml | 6 +++ reference/inotify/functions/inotify-init.xml | 5 ++ reference/lzf/functions/lzf-optimized-for.xml | 7 ++- .../functions/mailparse-msg-create.xml | 5 ++ reference/mhash/functions/mhash-count.xml | 5 ++ .../mysql/functions/mysql-get-client-info.xml | 5 ++ .../functions/opcache-get-configuration.xml | 5 ++ .../functions/openssl-error-string.xml | 5 ++ reference/pdo_pgsql/PDO/pgsqlGetPid.xml | 6 ++- .../rar/rarexception/setusingexceptions.xml | 7 +++ .../functions/sodium-crypto-pwhash-str.xml | 23 +++++---- .../swoole/functions/swoole-async-set.xml | 7 +++ reference/tokenizer/functions/token-name.xml | 9 +--- 23 files changed, 201 insertions(+), 119 deletions(-) diff --git a/reference/apcu/functions/apcu-fetch.xml b/reference/apcu/functions/apcu-fetch.xml index 562a032094..a35e061357 100644 --- a/reference/apcu/functions/apcu-fetch.xml +++ b/reference/apcu/functions/apcu-fetch.xml @@ -50,6 +50,28 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + PECL apcu 3.0.17 + + The success parameter was added. + + + + + + + &reftitle.examples; @@ -74,28 +96,6 @@ string(3) "BAR" - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL apcu 3.0.17 - - The success parameter was added. - - - - - - - &reftitle.seealso; diff --git a/reference/array/functions/array-unique.xml b/reference/array/functions/array-unique.xml index 2d55489811..d44bcb9864 100644 --- a/reference/array/functions/array-unique.xml +++ b/reference/array/functions/array-unique.xml @@ -162,7 +162,17 @@ array(2) { - + + + &reftitle.notes; + + + Note that array_unique is not intended to + work on multi dimensional arrays. + + + + &reftitle.seealso; @@ -172,16 +182,6 @@ array(2) { - - &reftitle.notes; - - - Note that array_unique is not intended to - work on multi dimensional arrays. - - - - + + + &reftitle.parameters; + &no.function.parameters; + &reftitle.returnvalues; diff --git a/reference/lzf/functions/lzf-optimized-for.xml b/reference/lzf/functions/lzf-optimized-for.xml index 0a2758e01f..ac3debe64f 100644 --- a/reference/lzf/functions/lzf-optimized-for.xml +++ b/reference/lzf/functions/lzf-optimized-for.xml @@ -18,6 +18,12 @@ Determines what was LZF extension optimized for during compilation. + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; @@ -25,7 +31,6 @@ - - trader_errno @@ -17,14 +15,18 @@ Get error code of the last operation. + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; Returns the error code identified by one of the TRADER_ERR_* constants. - - - trader_get_compat @@ -17,15 +15,19 @@ Get compatibility mode which affects the way calculations are done by all the extension functions. + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; Returns the compatibility mode id which can be identified by TRADER_COMPATIBILITY_* series of constants. - - + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From fb759012a062c0078027027c736d477524c59cc5 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sun, 6 Jun 2021 17:39:03 +0100 Subject: [PATCH 222/444] Fix section order issues in fdf extensiony Part of #658 --- reference/fdf/functions/fdf-create.xml | 5 +++++ reference/fdf/functions/fdf-errno.xml | 5 +++++ reference/fdf/functions/fdf-header.xml | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/reference/fdf/functions/fdf-create.xml b/reference/fdf/functions/fdf-create.xml index d8057698e1..bbf0f8458d 100644 --- a/reference/fdf/functions/fdf-create.xml +++ b/reference/fdf/functions/fdf-create.xml @@ -21,6 +21,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/fdf/functions/fdf-errno.xml b/reference/fdf/functions/fdf-errno.xml index dbe1e5590d..e659316365 100644 --- a/reference/fdf/functions/fdf-errno.xml +++ b/reference/fdf/functions/fdf-errno.xml @@ -21,6 +21,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/fdf/functions/fdf-header.xml b/reference/fdf/functions/fdf-header.xml index 76f4d65eb9..8b83c600dd 100644 --- a/reference/fdf/functions/fdf-header.xml +++ b/reference/fdf/functions/fdf-header.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From 066ad854aafc2b673b4a4299e6ac7f0d01422753 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sun, 6 Jun 2021 17:51:15 +0100 Subject: [PATCH 223/444] Fix section order issues in MemCached extension Part of #658 --- reference/memcached/memcached/get.xml | 46 +++++++++++----------- reference/memcached/memcached/getmulti.xml | 46 +++++++++++----------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/reference/memcached/memcached/get.xml b/reference/memcached/memcached/get.xml index 97e20e753f..62f153cca9 100644 --- a/reference/memcached/memcached/get.xml +++ b/reference/memcached/memcached/get.xml @@ -72,6 +72,29 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + PECL memcached 3.0.0 + + The cas_token parameter was removed. + Instead flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched. + + + + + + + &reftitle.examples; @@ -119,29 +142,6 @@ if (!($ip = $m->get('ip_block'))) { - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL memcached 3.0.0 - - The cas_token parameter was removed. - Instead flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched. - - - - - - - &reftitle.seealso; diff --git a/reference/memcached/memcached/getmulti.xml b/reference/memcached/memcached/getmulti.xml index e1d5615b39..803d4c285d 100644 --- a/reference/memcached/memcached/getmulti.xml +++ b/reference/memcached/memcached/getmulti.xml @@ -71,6 +71,29 @@ + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + PECL memcached 3.0.0 + + The cas_tokens parameter was removed. + The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched. + + + + + + + &reftitle.examples; @@ -243,29 +266,6 @@ zoo - - &reftitle.changelog; - - - - - &Version; - &Description; - - - - - PECL memcached 3.0.0 - - The cas_tokens parameter was removed. - The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched. - - - - - - - &reftitle.seealso; From aef53758a648dff702757a25dc865317b0cb4d06 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sun, 6 Jun 2021 18:45:50 +0100 Subject: [PATCH 224/444] Add mb_str_split() to migration guide --- appendices/migration74/new-functions.xml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/appendices/migration74/new-functions.xml b/appendices/migration74/new-functions.xml index e11df1f4da..1a5bc154ec 100644 --- a/appendices/migration74/new-functions.xml +++ b/appendices/migration74/new-functions.xml @@ -1,6 +1,4 @@ - - New Functions @@ -38,6 +36,18 @@ + + Multibyte String + + + + + mb_str_split + + + + + OpenSSL @@ -80,7 +90,6 @@ - + + &reftitle.returnvalues; + + &return.success; + + + Supported parameters @@ -79,13 +86,6 @@ - - &reftitle.returnvalues; - - &return.success; - - - &reftitle.seealso; diff --git a/reference/stream/functions/stream-get-filters.xml b/reference/stream/functions/stream-get-filters.xml index 817e867b09..f9d56636cc 100644 --- a/reference/stream/functions/stream-get-filters.xml +++ b/reference/stream/functions/stream-get-filters.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/stream/functions/stream-get-transports.xml b/reference/stream/functions/stream-get-transports.xml index d89df13413..4a8b0ebe0c 100644 --- a/reference/stream/functions/stream-get-transports.xml +++ b/reference/stream/functions/stream-get-transports.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/stream/functions/stream-get-wrappers.xml b/reference/stream/functions/stream-get-wrappers.xml index a7d205aa1c..5e34c5bb3b 100644 --- a/reference/stream/functions/stream-get-wrappers.xml +++ b/reference/stream/functions/stream-get-wrappers.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/stream/streamwrapper/destruct.xml b/reference/stream/streamwrapper/destruct.xml index 36cb403f72..bc6de2b208 100644 --- a/reference/stream/streamwrapper/destruct.xml +++ b/reference/stream/streamwrapper/destruct.xml @@ -25,6 +25,13 @@ &no.function.parameters; + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/session/functions/session-unset.xml b/reference/session/functions/session-unset.xml index 21164ecdb6..87b0831876 100644 --- a/reference/session/functions/session-unset.xml +++ b/reference/session/functions/session-unset.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/session/functions/session-write-close.xml b/reference/session/functions/session-write-close.xml index 9ec02a6d9c..af1fa22ec4 100644 --- a/reference/session/functions/session-write-close.xml +++ b/reference/session/functions/session-write-close.xml @@ -26,6 +26,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/session/sessionhandler/create-sid.xml b/reference/session/sessionhandler/create-sid.xml index ebb933d55a..f5309e8381 100644 --- a/reference/session/sessionhandler/create-sid.xml +++ b/reference/session/sessionhandler/create-sid.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From 5347aa6e13ecee80a0c6581e5c39ac234a6a7ff0 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 9 Jun 2021 12:07:04 +0300 Subject: [PATCH 237/444] Fix issues in RpmInfo directory Part of #658 --- reference/rpminfo/functions/rpmdbinfo.xml | 17 ++++++++--------- reference/rpminfo/functions/rpmdbsearch.xml | 17 ++++++++--------- reference/rpminfo/functions/rpminfo.xml | 17 ++++++++--------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/reference/rpminfo/functions/rpmdbinfo.xml b/reference/rpminfo/functions/rpmdbinfo.xml index ee8f55b2a6..cc8a798b13 100644 --- a/reference/rpminfo/functions/rpmdbinfo.xml +++ b/reference/rpminfo/functions/rpmdbinfo.xml @@ -49,15 +49,6 @@ - - &reftitle.seealso; - - - rpmaddtag - - - - &reftitle.examples; @@ -93,6 +84,14 @@ Array + + &reftitle.seealso; + + + rpmaddtag + + + diff --git a/reference/rpminfo/functions/rpmdbsearch.xml b/reference/rpminfo/functions/rpmdbsearch.xml index 2505e9d765..c21480ec30 100644 --- a/reference/rpminfo/functions/rpmdbsearch.xml +++ b/reference/rpminfo/functions/rpmdbsearch.xml @@ -67,15 +67,6 @@ - - &reftitle.seealso; - - - rpmaddtag - - - - &reftitle.examples; @@ -110,6 +101,14 @@ Array + + &reftitle.seealso; + + + rpmaddtag + + + diff --git a/reference/rpminfo/functions/rpminfo.xml b/reference/rpminfo/functions/rpminfo.xml index 256c08300e..2b53391d22 100644 --- a/reference/rpminfo/functions/rpminfo.xml +++ b/reference/rpminfo/functions/rpminfo.xml @@ -58,15 +58,6 @@ - - &reftitle.seealso; - - - rpmaddtag - - - - &reftitle.examples; @@ -99,6 +90,14 @@ Array + + &reftitle.seealso; + + + rpmaddtag + + + From 6ab6ea465889620fc2a8cdaf7b008cbaed83c523 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 9 Jun 2021 12:10:39 +0300 Subject: [PATCH 238/444] Fix issues in OutControl directory Part of #658 --- reference/outcontrol/functions/flush.xml | 5 +++++ reference/outcontrol/functions/ob-clean.xml | 5 +++++ reference/outcontrol/functions/ob-end-clean.xml | 5 +++++ reference/outcontrol/functions/ob-end-flush.xml | 5 +++++ reference/outcontrol/functions/ob-flush.xml | 5 +++++ reference/outcontrol/functions/ob-get-clean.xml | 5 +++++ reference/outcontrol/functions/ob-get-contents.xml | 7 ++++++- reference/outcontrol/functions/ob-get-flush.xml | 5 +++++ reference/outcontrol/functions/ob-get-length.xml | 5 +++++ reference/outcontrol/functions/ob-get-level.xml | 5 +++++ reference/outcontrol/functions/ob-list-handlers.xml | 5 +++++ .../outcontrol/functions/output-reset-rewrite-vars.xml | 5 +++++ 12 files changed, 61 insertions(+), 1 deletion(-) diff --git a/reference/outcontrol/functions/flush.xml b/reference/outcontrol/functions/flush.xml index 7e17f942b5..0b26572a93 100644 --- a/reference/outcontrol/functions/flush.xml +++ b/reference/outcontrol/functions/flush.xml @@ -48,6 +48,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-clean.xml b/reference/outcontrol/functions/ob-clean.xml index 6e4aa5486a..f176760f9a 100644 --- a/reference/outcontrol/functions/ob-clean.xml +++ b/reference/outcontrol/functions/ob-clean.xml @@ -27,6 +27,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-end-clean.xml b/reference/outcontrol/functions/ob-end-clean.xml index 961555d591..cdc16684c3 100644 --- a/reference/outcontrol/functions/ob-end-clean.xml +++ b/reference/outcontrol/functions/ob-end-clean.xml @@ -29,6 +29,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-end-flush.xml b/reference/outcontrol/functions/ob-end-flush.xml index 59185c81ea..2a0eb63747 100644 --- a/reference/outcontrol/functions/ob-end-flush.xml +++ b/reference/outcontrol/functions/ob-end-flush.xml @@ -36,6 +36,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-flush.xml b/reference/outcontrol/functions/ob-flush.xml index 588f2d29e4..5975ef2e6c 100644 --- a/reference/outcontrol/functions/ob-flush.xml +++ b/reference/outcontrol/functions/ob-flush.xml @@ -25,6 +25,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-get-clean.xml b/reference/outcontrol/functions/ob-get-clean.xml index 8eeaca5dac..d056a1542e 100644 --- a/reference/outcontrol/functions/ob-get-clean.xml +++ b/reference/outcontrol/functions/ob-get-clean.xml @@ -30,6 +30,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-get-contents.xml b/reference/outcontrol/functions/ob-get-contents.xml index bb0eb40049..1f18c31557 100644 --- a/reference/outcontrol/functions/ob-get-contents.xml +++ b/reference/outcontrol/functions/ob-get-contents.xml @@ -15,7 +15,12 @@ Gets the contents of the output buffer without clearing it. - + + + + &reftitle.parameters; + &no.function.parameters; + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-get-flush.xml b/reference/outcontrol/functions/ob-get-flush.xml index 5e8b0f3963..80c33da88b 100644 --- a/reference/outcontrol/functions/ob-get-flush.xml +++ b/reference/outcontrol/functions/ob-get-flush.xml @@ -30,6 +30,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-get-length.xml b/reference/outcontrol/functions/ob-get-length.xml index ee725f0e48..b0c16c342c 100644 --- a/reference/outcontrol/functions/ob-get-length.xml +++ b/reference/outcontrol/functions/ob-get-length.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-get-level.xml b/reference/outcontrol/functions/ob-get-level.xml index a12c09437b..7a850ff78d 100644 --- a/reference/outcontrol/functions/ob-get-level.xml +++ b/reference/outcontrol/functions/ob-get-level.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/ob-list-handlers.xml b/reference/outcontrol/functions/ob-list-handlers.xml index fd8bded77a..ed70218b60 100644 --- a/reference/outcontrol/functions/ob-list-handlers.xml +++ b/reference/outcontrol/functions/ob-list-handlers.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/outcontrol/functions/output-reset-rewrite-vars.xml b/reference/outcontrol/functions/output-reset-rewrite-vars.xml index 7051feec1c..82d7ff2c62 100644 --- a/reference/outcontrol/functions/output-reset-rewrite-vars.xml +++ b/reference/outcontrol/functions/output-reset-rewrite-vars.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From 1de948e93f28dbb9303e28cb793c7513545a48c6 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 9 Jun 2021 12:12:17 +0300 Subject: [PATCH 239/444] Fix issues in ErrorFunc directory Part of #658 --- .../errorfunc/functions/error-clear-last.xml | 5 ++++ .../errorfunc/functions/error-get-last.xml | 5 ++++ reference/errorfunc/functions/error-log.xml | 28 +++++++++---------- .../functions/restore-error-handler.xml | 5 ++++ .../functions/restore-exception-handler.xml | 5 ++++ 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/reference/errorfunc/functions/error-clear-last.xml b/reference/errorfunc/functions/error-clear-last.xml index 99a2d6596b..5c8c7518a8 100644 --- a/reference/errorfunc/functions/error-clear-last.xml +++ b/reference/errorfunc/functions/error-clear-last.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/errorfunc/functions/error-get-last.xml b/reference/errorfunc/functions/error-get-last.xml index c357d0aaaf..f111c43516 100644 --- a/reference/errorfunc/functions/error-get-last.xml +++ b/reference/errorfunc/functions/error-get-last.xml @@ -16,6 +16,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/errorfunc/functions/error-log.xml b/reference/errorfunc/functions/error-log.xml index 3eda4d0687..7b44a4b798 100644 --- a/reference/errorfunc/functions/error-log.xml +++ b/reference/errorfunc/functions/error-log.xml @@ -122,20 +122,6 @@ - - &reftitle.notes; - - - error_log is not binary safe. message will be truncated by null character. - - - - - message should not contain null character. Note that message may be sent to file, mail, syslog, etc. Use appropriate conversion/escape function, base64_encode, rawurlencode or addslashes before calling error_log. - - - - &reftitle.examples; @@ -165,6 +151,20 @@ error_log("You messed up!", 3, "/var/tmp/my-errors.log"); + + &reftitle.notes; + + + error_log is not binary safe. message will be truncated by null character. + + + + + message should not contain null character. Note that message may be sent to file, mail, syslog, etc. Use appropriate conversion/escape function, base64_encode, rawurlencode or addslashes before calling error_log. + + + + diff --git a/reference/imagick/imagick/setimageartifact.xml b/reference/imagick/imagick/setimageartifact.xml index b6bc7dc07e..30b54d061d 100644 --- a/reference/imagick/imagick/setimageartifact.xml +++ b/reference/imagick/imagick/setimageartifact.xml @@ -58,18 +58,6 @@ - - &reftitle.seealso; - - - Imagick::getImageArtifact - Imagick::deleteImageArtifact - - - - - - &reftitle.examples; @@ -99,6 +87,16 @@ function setImageArtifact() { + + &reftitle.seealso; + + + Imagick::getImageArtifact + Imagick::deleteImageArtifact + + + + - - - - - &reftitle.changelog; - - - - - - &Version; - &Description; - - - - - 7.1.0 - - Added WebP support. - - - - - - - - - &reftitle.constants; The following constants are defined, and represent possible exif_imagetype return values: @@ -173,7 +137,42 @@
+ + + + exif_imagetype will emit an E_NOTICE + and return &false; if it is unable to read enough bytes from the file to + determine the image type. + + + + + + &reftitle.changelog; + + + + + + &Version; + &Description; + + + + + 7.1.0 + + Added WebP support. + + + + + + + + &reftitle.examples; From b4afab59db15ea4b7c5dc2132d85932b4859bcf2 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 12:34:28 +0300 Subject: [PATCH 264/444] Re-added mb_* functions unicode section as notes --- reference/mbstring/functions/mb-convert-case.xml | 16 ++++++++++++++++ reference/mbstring/functions/mb-strtolower.xml | 14 ++++++++++++++ reference/mbstring/functions/mb-strtoupper.xml | 14 ++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/reference/mbstring/functions/mb-convert-case.xml b/reference/mbstring/functions/mb-convert-case.xml index d2849435fd..ecd368b30f 100644 --- a/reference/mbstring/functions/mb-convert-case.xml +++ b/reference/mbstring/functions/mb-convert-case.xml @@ -133,6 +133,22 @@ echo $str; // Prints Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, + + &reftitle.notes; + + By contrast to the standard case folding functions such as + strtolower and strtoupper, + case folding is performed on the basis of the Unicode character + properties. Thus the behaviour of this function is not affected + by locale settings and it can convert any characters that have + 'alphabetic' property, such a-umlaut (ä). + + + For more information about the Unicode properties, please see &url.unicode.reports;. + + + &reftitle.seealso; diff --git a/reference/mbstring/functions/mb-strtolower.xml b/reference/mbstring/functions/mb-strtolower.xml index 5de4125e90..e0043ac95d 100644 --- a/reference/mbstring/functions/mb-strtolower.xml +++ b/reference/mbstring/functions/mb-strtolower.xml @@ -81,6 +81,20 @@ echo $str; // Prints τάχιστη αλώπηξ βαφής ψημένη γη, + + &reftitle.notes; + + By contrast to strtolower, 'alphabetic' is + determined by the Unicode character properties. Thus the behaviour + of this function is not affected by locale settings and it can convert + any characters that have 'alphabetic' property, such as a-umlaut (ä). + + + For more information about the Unicode properties, please see &url.unicode.reports;. + + + &reftitle.seealso; diff --git a/reference/mbstring/functions/mb-strtoupper.xml b/reference/mbstring/functions/mb-strtoupper.xml index 949e2581cb..9f96998dab 100644 --- a/reference/mbstring/functions/mb-strtoupper.xml +++ b/reference/mbstring/functions/mb-strtoupper.xml @@ -81,6 +81,20 @@ echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, + + &reftitle.notes; + + By contrast to strtoupper, 'alphabetic' is + determined by the Unicode character properties. Thus the behaviour of this + function is not affected by locale settings and it can convert any + characters that have 'alphabetic' property, such as a-umlaut (ä). + + + For more information about the Unicode properties, please see &url.unicode.reports;. + + + &reftitle.seealso; From 4411b371d0ba1d5faee06177a473f928716c2921 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 12:54:30 +0300 Subject: [PATCH 265/444] Fix some issues in misc directory Part of #658 --- reference/misc/functions/connection-aborted.xml | 5 +++++ reference/misc/functions/connection-status.xml | 5 +++++ reference/misc/functions/halt-compiler.xml | 5 +++++ reference/misc/functions/sys-getloadavg.xml | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/reference/misc/functions/connection-aborted.xml b/reference/misc/functions/connection-aborted.xml index 1f483e548c..360c5fc4ef 100644 --- a/reference/misc/functions/connection-aborted.xml +++ b/reference/misc/functions/connection-aborted.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/misc/functions/connection-status.xml b/reference/misc/functions/connection-status.xml index 1d6d61a0d0..c7033a14d3 100644 --- a/reference/misc/functions/connection-status.xml +++ b/reference/misc/functions/connection-status.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/misc/functions/halt-compiler.xml b/reference/misc/functions/halt-compiler.xml index 0846c57dea..ad5543b324 100644 --- a/reference/misc/functions/halt-compiler.xml +++ b/reference/misc/functions/halt-compiler.xml @@ -25,6 +25,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/misc/functions/sys-getloadavg.xml b/reference/misc/functions/sys-getloadavg.xml index 2ab577bb93..7d5b85d007 100644 --- a/reference/misc/functions/sys-getloadavg.xml +++ b/reference/misc/functions/sys-getloadavg.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From b76d2e6b367d581a5df7f4cfd969cf2c2138cb70 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 12:56:18 +0300 Subject: [PATCH 266/444] Fix some issues in componere directory Part of #658 --- reference/componere/functions/componere.cast.xml | 4 ++-- reference/componere/functions/componere.cast_by_ref.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/componere/functions/componere.cast.xml b/reference/componere/functions/componere.cast.xml index d9c6783d83..894b2771c3 100644 --- a/reference/componere/functions/componere.cast.xml +++ b/reference/componere/functions/componere.cast.xml @@ -45,8 +45,8 @@ - - Exceptions + + &reftitle.errors; Shall throw InvalidArgumentException if the type of object is or is derived from an internal class diff --git a/reference/componere/functions/componere.cast_by_ref.xml b/reference/componere/functions/componere.cast_by_ref.xml index 8d7f8a8b4e..e53bc29150 100644 --- a/reference/componere/functions/componere.cast_by_ref.xml +++ b/reference/componere/functions/componere.cast_by_ref.xml @@ -45,8 +45,8 @@ - - Exceptions + + &reftitle.errors; Shall throw InvalidArgumentException if the type of object is or is derived from an internal class From 756e0dd85815e12bc06b3b087b8f5319482bc088 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 12:58:40 +0300 Subject: [PATCH 267/444] Fix some issues in memcache directory Part of #658 --- reference/memcache/memcache/addserver.xml | 28 +++++++++++----------- reference/memcache/memcache/close.xml | 5 ++++ reference/memcache/memcache/connect.xml | 28 +++++++++++----------- reference/memcache/memcache/delete.xml | 14 +++++------ reference/memcache/memcache/flush.xml | 5 ++++ reference/memcache/memcache/getversion.xml | 5 ++++ 6 files changed, 50 insertions(+), 35 deletions(-) diff --git a/reference/memcache/memcache/addserver.xml b/reference/memcache/memcache/addserver.xml index ffb721ee42..74731a8362 100644 --- a/reference/memcache/memcache/addserver.xml +++ b/reference/memcache/memcache/addserver.xml @@ -162,20 +162,6 @@ - - &reftitle.notes; - - - When the port is unspecified, this method defaults to the - value set of the PHP ini directive - memcache.default_port - If this value was changed elsewhere in your application it might lead to - unexpected results: for this reason it is wise to always specify the port - explicitly in this method call. - - - - &reftitle.returnvalues; @@ -210,6 +196,20 @@ memcache_add_server($memcache_obj, 'memcache_host2', 11211); + + &reftitle.notes; + + + When the port is unspecified, this method defaults to the + value set of the PHP ini directive + memcache.default_port + If this value was changed elsewhere in your application it might lead to + unexpected results: for this reason it is wise to always specify the port + explicitly in this method call. + + + + &reftitle.seealso; diff --git a/reference/memcache/memcache/close.xml b/reference/memcache/memcache/close.xml index 8b2c5bdc66..dc956c224c 100644 --- a/reference/memcache/memcache/close.xml +++ b/reference/memcache/memcache/close.xml @@ -22,6 +22,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/memcache/memcache/connect.xml b/reference/memcache/memcache/connect.xml index 23fe70f693..1efd78b4c9 100644 --- a/reference/memcache/memcache/connect.xml +++ b/reference/memcache/memcache/connect.xml @@ -71,20 +71,6 @@ - - &reftitle.notes; - - - When the port is unspecified, this method defaults to the - value set of the PHP ini directive - memcache.default_port - If this value was changed elsewhere in your application it might lead to - unexpected results: for this reason it is wise to always specify the port - explicitly in this method call. - - - - &reftitle.returnvalues; @@ -117,6 +103,20 @@ $memcache->connect('memcache_host', 11211); + + &reftitle.notes; + + + When the port is unspecified, this method defaults to the + value set of the PHP ini directive + memcache.default_port + If this value was changed elsewhere in your application it might lead to + unexpected results: for this reason it is wise to always specify the port + explicitly in this method call. + + + + &reftitle.seealso; diff --git a/reference/memcache/memcache/delete.xml b/reference/memcache/memcache/delete.xml index 8c862892b2..14b31db31f 100644 --- a/reference/memcache/memcache/delete.xml +++ b/reference/memcache/memcache/delete.xml @@ -45,6 +45,13 @@ + + &reftitle.returnvalues; + + &return.success; + + + &reftitle.changelog; @@ -71,13 +78,6 @@ - - &reftitle.returnvalues; - - &return.success; - - - &reftitle.examples; diff --git a/reference/memcache/memcache/flush.xml b/reference/memcache/memcache/flush.xml index a3831d8a73..ec9f684237 100644 --- a/reference/memcache/memcache/flush.xml +++ b/reference/memcache/memcache/flush.xml @@ -22,6 +22,11 @@ + + + &reftitle.parameters; + &no.function.parameters; + &reftitle.returnvalues; diff --git a/reference/memcache/memcache/getversion.xml b/reference/memcache/memcache/getversion.xml index b60b9a556b..5ee30fe312 100644 --- a/reference/memcache/memcache/getversion.xml +++ b/reference/memcache/memcache/getversion.xml @@ -21,6 +21,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From 0ab9e290403205c6d70ba171e43b42cb0a2d17f7 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 13:00:46 +0300 Subject: [PATCH 268/444] Fix some issues in pthreads directory Part of #658 --- reference/pthreads/collectable/isgarbage.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reference/pthreads/collectable/isgarbage.xml b/reference/pthreads/collectable/isgarbage.xml index 62f6166089..b5b3c1759c 100644 --- a/reference/pthreads/collectable/isgarbage.xml +++ b/reference/pthreads/collectable/isgarbage.xml @@ -18,6 +18,18 @@ + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Always returns &true; + + + &reftitle.seealso; From f8854f6a6a7907720ed8ec8657a2f466a82c0394 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 13 Jun 2021 13:04:34 +0300 Subject: [PATCH 269/444] Fix some issues in posix directory Part of #658 --- reference/posix/functions/posix-ctermid.xml | 5 ++++ .../posix/functions/posix-get-last-error.xml | 5 ++++ reference/posix/functions/posix-getcwd.xml | 5 ++++ reference/posix/functions/posix-getegid.xml | 5 ++++ reference/posix/functions/posix-geteuid.xml | 5 ++++ reference/posix/functions/posix-getgid.xml | 5 ++++ reference/posix/functions/posix-getgroups.xml | 5 ++++ reference/posix/functions/posix-getlogin.xml | 5 ++++ reference/posix/functions/posix-getpgrp.xml | 5 ++++ reference/posix/functions/posix-getpid.xml | 5 ++++ reference/posix/functions/posix-getppid.xml | 5 ++++ reference/posix/functions/posix-getrlimit.xml | 5 ++++ reference/posix/functions/posix-getuid.xml | 5 ++++ reference/posix/functions/posix-setsid.xml | 5 ++++ reference/posix/functions/posix-times.xml | 25 +++++++++++-------- reference/posix/functions/posix-uname.xml | 5 ++++ 16 files changed, 90 insertions(+), 10 deletions(-) diff --git a/reference/posix/functions/posix-ctermid.xml b/reference/posix/functions/posix-ctermid.xml index b6ac810d91..366a4c24c6 100644 --- a/reference/posix/functions/posix-ctermid.xml +++ b/reference/posix/functions/posix-ctermid.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-get-last-error.xml b/reference/posix/functions/posix-get-last-error.xml index 3a69abda88..fdeedf495e 100644 --- a/reference/posix/functions/posix-get-last-error.xml +++ b/reference/posix/functions/posix-get-last-error.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getcwd.xml b/reference/posix/functions/posix-getcwd.xml index 0821c374ec..a8075d19fc 100644 --- a/reference/posix/functions/posix-getcwd.xml +++ b/reference/posix/functions/posix-getcwd.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getegid.xml b/reference/posix/functions/posix-getegid.xml index 8ca23386d5..ceccdd2ef9 100644 --- a/reference/posix/functions/posix-getegid.xml +++ b/reference/posix/functions/posix-getegid.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-geteuid.xml b/reference/posix/functions/posix-geteuid.xml index e906749bd1..e18c7e0426 100644 --- a/reference/posix/functions/posix-geteuid.xml +++ b/reference/posix/functions/posix-geteuid.xml @@ -19,6 +19,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getgid.xml b/reference/posix/functions/posix-getgid.xml index c3723bb28b..ad1470bc56 100644 --- a/reference/posix/functions/posix-getgid.xml +++ b/reference/posix/functions/posix-getgid.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getgroups.xml b/reference/posix/functions/posix-getgroups.xml index 22bae36cb0..c77e249b6a 100644 --- a/reference/posix/functions/posix-getgroups.xml +++ b/reference/posix/functions/posix-getgroups.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getlogin.xml b/reference/posix/functions/posix-getlogin.xml index e502ebd6c7..e5739453fc 100644 --- a/reference/posix/functions/posix-getlogin.xml +++ b/reference/posix/functions/posix-getlogin.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getpgrp.xml b/reference/posix/functions/posix-getpgrp.xml index fd71ba377a..e5e8762e9d 100644 --- a/reference/posix/functions/posix-getpgrp.xml +++ b/reference/posix/functions/posix-getpgrp.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getpid.xml b/reference/posix/functions/posix-getpid.xml index 9e04e0526a..1fc430b202 100644 --- a/reference/posix/functions/posix-getpid.xml +++ b/reference/posix/functions/posix-getpid.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getppid.xml b/reference/posix/functions/posix-getppid.xml index 440a3c4c83..d28ff0764d 100644 --- a/reference/posix/functions/posix-getppid.xml +++ b/reference/posix/functions/posix-getppid.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getrlimit.xml b/reference/posix/functions/posix-getrlimit.xml index 46c28da64d..961a7d9623 100644 --- a/reference/posix/functions/posix-getrlimit.xml +++ b/reference/posix/functions/posix-getrlimit.xml @@ -19,6 +19,11 @@ &posix.rlimits; + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-getuid.xml b/reference/posix/functions/posix-getuid.xml index 3afe886123..70dc00270a 100644 --- a/reference/posix/functions/posix-getuid.xml +++ b/reference/posix/functions/posix-getuid.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-setsid.xml b/reference/posix/functions/posix-setsid.xml index 334d33bc4d..bf54d2eafb 100644 --- a/reference/posix/functions/posix-setsid.xml +++ b/reference/posix/functions/posix-setsid.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/posix/functions/posix-times.xml b/reference/posix/functions/posix-times.xml index d87c8bf408..917bf0ba25 100644 --- a/reference/posix/functions/posix-times.xml +++ b/reference/posix/functions/posix-times.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; @@ -54,16 +59,6 @@ - - &reftitle.notes; - - - This function isn't reliable to use, it may return negative values for - high times. - - - - &reftitle.examples; @@ -96,6 +91,16 @@ Array + + &reftitle.notes; + + + This function isn't reliable to use, it may return negative values for + high times. + + + + - - - mcrypt_cbc - Encrypts/decrypts data in CBC mode - - - - - &warn.deprecated.function.5-5-0.removed.7-0-0.alternatives; - - mcrypt_decrypt - mcrypt_encrypt - - - - - - &reftitle.description; - - stringmcrypt_cbc - intcipher - stringkey - stringdata - intmode - stringiv - - - stringmcrypt_cbc - stringcipher - stringkey - stringdata - intmode - stringiv - - - The first prototype is when linked against libmcrypt 2.2.x, the - second when linked against libmcrypt 2.4.x or higher. The - mode should be either - MCRYPT_ENCRYPT or - MCRYPT_DECRYPT. - - - - - diff --git a/reference/mcrypt/functions/mcrypt-cfb.xml b/reference/mcrypt/functions/mcrypt-cfb.xml deleted file mode 100644 index 279972203d..0000000000 --- a/reference/mcrypt/functions/mcrypt-cfb.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - mcrypt_cfb - Encrypts/decrypts data in CFB mode - - - - - &warn.deprecated.function.5-5-0.removed.7-0-0.alternatives; - - mcrypt_decrypt - mcrypt_encrypt - - - - - - &reftitle.description; - - stringmcrypt_cfb - intcipher - stringkey - stringdata - intmode - stringiv - - - stringmcrypt_cfb - stringcipher - stringkey - stringdata - intmode - stringiv - - - The first prototype is when linked against libmcrypt 2.2.x, the - second when linked against libmcrypt 2.4.x or higher. The - mode should be either - MCRYPT_ENCRYPT or - MCRYPT_DECRYPT. - - - - - diff --git a/reference/mcrypt/functions/mcrypt-ecb.xml b/reference/mcrypt/functions/mcrypt-ecb.xml deleted file mode 100644 index 29666a748e..0000000000 --- a/reference/mcrypt/functions/mcrypt-ecb.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - mcrypt_ecb - Deprecated: Encrypts/decrypts data in ECB mode - - - - - &warn.deprecated.function.5-5-0.removed.7-0-0.alternatives; - - mcrypt_decrypt - mcrypt_encrypt - - - - - - &reftitle.description; - - stringmcrypt_ecb - intcipher - stringkey - stringdata - intmode - - - stringmcrypt_ecb - stringcipher - stringkey - stringdata - intmode - stringiv - - - The first prototype is when linked against libmcrypt 2.2.x, the - second when linked against libmcrypt 2.4.x or higher. The - mode should be either - MCRYPT_ENCRYPT or - MCRYPT_DECRYPT. - - - - - diff --git a/reference/mcrypt/functions/mcrypt-generic-end.xml b/reference/mcrypt/functions/mcrypt-generic-end.xml deleted file mode 100644 index a9094cc988..0000000000 --- a/reference/mcrypt/functions/mcrypt-generic-end.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - mcrypt_generic_end - This function terminates encryption - - - - - &warn.deprecated.function.5-3-0.removed.7-0-0.alternatives; - - mcrypt_generic_deinit - - - - - - &reftitle.description; - - boolmcrypt_generic_end - resourcetd - - - - - mcrypt_generic_deinit should be used instead of this - function, as it can cause crashes when used with - mcrypt_module_close due to multiple buffer frees. - - - - - This function terminates encryption specified by the encryption - descriptor (td). Actually it clears all buffers, - and closes all the modules used. Returns &false; on error, or &true; on - success. - - - - - diff --git a/reference/mcrypt/functions/mcrypt-ofb.xml b/reference/mcrypt/functions/mcrypt-ofb.xml deleted file mode 100644 index 96c56b815a..0000000000 --- a/reference/mcrypt/functions/mcrypt-ofb.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - mcrypt_ofb - Encrypts/decrypts data in OFB mode - - - - - &warn.deprecated.function.5-5-0.removed.7-0-0.alternatives; - - mcrypt_decrypt - mcrypt_encrypt - - - - - - &reftitle.description; - - stringmcrypt_ofb - intcipher - stringkey - stringdata - intmode - stringiv - - - stringmcrypt_ofb - stringcipher - stringkey - stringdata - intmode - stringiv - - - The first prototype is when linked against libmcrypt 2.2.x, the - second when linked against libmcrypt 2.4.x or higher. The - mode should be either - MCRYPT_ENCRYPT or - MCRYPT_DECRYPT. - - - - - diff --git a/reference/mcrypt/versions.xml b/reference/mcrypt/versions.xml index 7212934536..2fac64ee0b 100644 --- a/reference/mcrypt/versions.xml +++ b/reference/mcrypt/versions.xml @@ -4,11 +4,8 @@ Do NOT translate this file --> - - - @@ -22,7 +19,6 @@ - @@ -39,7 +35,6 @@ - diff --git a/install/windows/legacy/building.xml b/install/windows/building.xml similarity index 84% rename from install/windows/legacy/building.xml rename to install/windows/building.xml index 1cfeab0e3f..2252e3beea 100644 --- a/install/windows/legacy/building.xml +++ b/install/windows/building.xml @@ -1,6 +1,5 @@ - - + Building from source This chapter teaches how to compile PHP from sources on windows, using @@ -11,8 +10,7 @@ See the Wiki documentation at: &url.wiki.windows.build.howto; - - + + + Command Line PHP on Microsoft Windows + + This section contains notes and hints specific to getting PHP running + from the command line for Windows. + + + + You should read the manual + installation steps first! + + + + Getting PHP to run from the command line can be performed without making + any changes to Windows. + + + + + + + But there are some easy steps that can be followed to make this simpler. + Some of these steps should already have been taken, but are repeated here + to be able to provide a complete step-by-step sequence. + + + + + Both PATH and PATHEXT are important + pre-existing system variables in Windows, + and care should be taken to not overwrite either variable, + only to add to them. + + + + + + Append the location of the PHP executable (php.exe, + php-win.exe or php-cli.exe + depending upon your PHP version and display preferences) to the + PATH environment variable. Read more about how to + add your PHP directory to PATH in the corresponding FAQ entry. + + + + + + Append the .PHP extension to the + PATHEXT environment variable. This can be done + at the same time as amending the PATH environment + variable. Follow the same steps as described in the FAQ but amend the + PATHEXT environment variable rather than the + PATH environment variable. + + + The position in which you place the .PHP will + determine which script or program is executed when there are matching + filenames. For example, placing .PHP before + .BAT will cause your script to run, rather than + the batch file, if there is a batch file with the same name. + + + + + + + + Associate the .PHP extension with a file type. This + is done by running the following command: + + + + + + + + + Associate the phpfile file type with the appropriate + PHP executable. This is done by running the following command: + + + + + + + + + + + Following these steps will allow PHP scripts to be run from any directory + without the need to type the PHP executable or the .PHP + extension and all parameters will be supplied to the script for processing. + + + + The example below details some of the registry changes that can be made manually. + + Registry changes + + + + + + + + With these changes the same command can be written as: + + + + or, if your "C:\PHP Scripts" path is in the + PATH environment variable: + + + + + + + + There is a small problem if you intend to use this technique and use your + PHP scripts as a command line filter, like the example below: + + + + or + + + + You may find that the script simply hangs and nothing is output. + To get this operational, you need to make another registry change. + + + + Further information regarding this issue can be found in this Microsoft + Knowledgebase Article : 321788. + As of Windows 10, this setting seems to be reversed, making the default install of + Windows 10 support inherited console handles automatically. This + Microsoft forum post provides the explanation. + + + + diff --git a/install/windows/figures/iis6anonauth.png b/install/windows/figures/iis6anonauth.png deleted file mode 100644 index 0a503d7af7a40306b45b54408f9abb40daa237a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25905 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 I^f3SYFW#l;egFUf diff --git a/install/windows/figures/iis6defaultdoc.png b/install/windows/figures/iis6defaultdoc.png deleted file mode 100644 index 850b99255ae126a3480f37d4773c8b82b77f61db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8398 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 DzDr@? diff --git a/install/windows/figures/iis7handlericon.png b/install/windows/figures/iis7handlericon.png deleted file mode 100644 index 135943bd383a3da6ef06906e60042a505ded69f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55381 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 GgeCxf%n+3T diff --git a/install/windows/figures/iis7handlermap.png b/install/windows/figures/iis7handlermap.png deleted file mode 100644 index 91c5ae0765fb41a571f417baea0dc810b4141dfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30544 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 aybsiIuk`Vbj;4A5{3*yP%M?l(2md#Md+7N9 diff --git a/install/windows/figures/iis7w2k8cgi.png b/install/windows/figures/iis7w2k8cgi.png deleted file mode 100644 index a8b86eec7698c8f78f49b6b88f5bf1fd0edbee8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54553 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 diff --git a/install/windows/index.xml b/install/windows/index.xml index 3bf33724ba..a9534b3fd6 100644 --- a/install/windows/index.xml +++ b/install/windows/index.xml @@ -1,98 +1,84 @@ - Installation on Windows systems - - Installing PHP on modern Microsoft Windows systems and recommended configuration with common web servers. - - + Installation on Windows systems + + Installing PHP on modern Microsoft Windows systems and recommended configuration with common web servers. + + + + The Official releases of PHP on Windows are recommended for production use. + However, you are welcome to build PHP from Source. + You will need a Visual Studio environment. + See Step by Step Build Instructions. + + + + - If you are looking for information about older systems, such as Windows XP, 2003, 98 or Apache 1.x, see the Legacy Info section. + Using PHP on Windows Command line - + + + + Installing PHP on Azure App Services + (aka Microsoft Azure, Windows Azure, or (Windows) Azure Web Apps). + + + + + + + Install Requirements - The Official releases of PHP on Windows are recommended for production use. - However, you are welcome to build PHP from Source. You will need a Visual Studio environment. See Step by Step Build Instructions. + PHP requires at least Windows 2008/Vista. + Either 32-Bit or 64-bit (AKA X86 or X64. PHP does not run on Windows RT/WOA/ARM). + As of PHP 7.2.0 Windows 2008 and Vista are no longer supported. + + + + PHP requires the Visual C runtime (CRT). Many applications require that so it may already be installed. + + + + The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable + for all these PHP versions, see + https://visualstudio.microsoft.com/downloads/. + + + + You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. + + + + If CRT is already installed, the installer will tell you that and not change anything. + + + + The CRT installer supports the /quiet and /norestart command-line switches, so you can script running it. + + + + + PECL + + PECL extensions are pre-built for Windows and available from: + http://windows.php.net/downloads/pecl/releases/ - - - - Using PHP on Windows Command line - - - - - Installing PHP on Azure App Services (aka Microsoft Azure, Windows Azure, or (Windows) Azure Web Apps). - - - + Some extensions use features specific to some Unix systems and so are not available on Windows. + Otherwise, all extensions are available for Windows. + - - Install Requirements - - - PHP 5.5+ require at least Windows 2008/Vista, or 2008r2, 2012, 2012r2, 2016 or 7, 8, 8.1, 10. Either 32-Bit or 64-bit (aka X86 or X64. PHP does not run on Windows RT/WOA/ARM). - As of PHP 7.2.0 Windows 2008 and Vista are no longer supported. - - - - PHP requires the Visual C runtime(CRT). Many applications require that so it may already be installed. - - - - PHP 5.5 and 5.6 require VC CRT 11 (Visual Studio 2012). See: https://www.microsoft.com/en-us/download/details.aspx?id=30679 - - - - PHP 7.0 and 7.1 require VC CRT 14 (Visual Studio 2015). - PHP 7.2, 7.3 and 7.4 require VC CRT 15 (Visual Studio 2017). - The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable - for all these PHP versions, see - https://visualstudio.microsoft.com/downloads/. - - - - You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. - - - - If CRT is already installed, the installer will tell you that and not change anything. - - - - The CRT installer supports the /quiet and /norestart command-line switches, so you can script running it. - - - - VC11 CRT DLLs can be copied from your local machine to a remote machine(a `Copy Deployment` installation) instead of running the installer on the remote machine (such as a web server you have restricted access to). - - - - VC14 CRT does not support a `Copy Deployment` installation. VC14 CRT has many more DLLs(most in files with names starting with api-*). If you can find them all and copy them, it will also work (try a tool like Resource Hacker to get a list of all the DLLs to copy). - - - - - - PECL - - PECL extensions are pre-built for Windows and available from: http://windows.php.net/downloads/pecl/releases/ - - - Some extensions use features specific to some Unix systems and so are not available on Windows. Otherwise, all extensions are available for Windows. - - - - - &install.windows.tools; - &install.windows.recommended; - &install.windows.manual; - &install.windows.troubleshooting; - &install.windows.legacy.index; + &install.windows.tools; + &install.windows.recommended; + &install.windows.manual; + &install.windows.building; + &install.windows.commandline; + &install.windows.apache2; + &install.windows.troubleshooting; - - Apache 1.3.x on Microsoft Windows - - This section contains notes and hints specific to Apache 1.3.x installs - of PHP on Microsoft Windows systems. There are also - - - - - Please read the manual - installation steps first! - - - - - There are two ways to set up PHP to work with Apache 1.3.x - on Windows. One is to use the CGI binary (php.exe - for PHP 4 and php-cgi.exe for PHP 5), - the other is to use the Apache Module DLL. In either case - you need to edit your &httpd.conf; to configure Apache to - work with PHP, and then restart the server. - - - - It is worth noting here that now the SAPI module has been - made more stable under Windows, we recommend it's use above - the CGI binary, since it is more transparent and secure. - - - - Although there can be a few variations of configuring PHP - under Apache, these are simple enough to be used by the - newcomer. Please consult the Apache Documentation for further - configuration directives. - - - - After changing the configuration file, remember to restart the server, for - example, NET STOP APACHE followed by - NET START APACHE, if you run Apache as a Windows - Service, or use your regular shortcuts. - - - ¬e.apache.slashes; - - - Installing as an Apache module - - You should add the following lines to your Apache &httpd.conf; file: - - - - PHP as an Apache 1.3.x module - - This assumes PHP is installed to c:\php. Adjust the - path if this is not the case. - - - For PHP 4: - - - - - - For PHP 5: - - - - - - For both: - - - conditional brace -AddType application/x-httpd-php .php - -# For syntax highlighted .phps files, also add -AddType application/x-httpd-php-source .phps -]]> - - - - - - - Installing as a CGI binary - - - If you unzipped the PHP package to C:\php\ as described - in the Manual - Installation Steps section, you need to insert - these lines to your Apache configuration file to set - up the CGI binary: - - PHP and Apache 1.3.x as CGI - - - - - Note that the second line in the list above can be found - in the actual versions of &httpd.conf;, but it is commented out. Remember - also to substitute the c:/php/ for your actual path to - PHP. - - &warn.install.cgi; - - If you would like to present PHP source files syntax highlighted, there - is no such convenient option as with the module version of PHP. - If you chose to configure Apache to use PHP as a CGI binary, you - will need to use the highlight_file function. To - do this simply create a PHP script file and add this code: - <?php highlight_file('some_php_script.php'); ?>. - - - - - - diff --git a/install/windows/legacy/apache2.xml b/install/windows/legacy/apache2.xml deleted file mode 100644 index cb4fd98613..0000000000 --- a/install/windows/legacy/apache2.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - Apache 2.x on Microsoft Windows - - This section contains notes and hints specific to Apache 2.x installs - of PHP on Microsoft Windows systems. We also - - - - - You should read the manual - installation steps first! - - - - Apache 2.2 Support - - Users of Apache 2.2 should note that the DLL file for Apache 2.2 is - named php5apache2_2.dll rather than php5apache2.dll - and is available only for PHP 5.2.0 and later. - - - - - You are strongly encouraged to consult the - Apache Documentation to get - a basic understanding of the Apache 2.x Server. Also consider - reading the Windows specific - notes for Apache 2.x before reading on here. - - - - Apache 2.x is designed to run on the Windows version designated as - server platforms, such as Windows NT 4.0, Windows 2000, - Windows XP, or Windows 7. While Apache 2.x works tolerably well on Windows 9x, - support on these platforms is incomplete, and some things will not work - correctly. There is no plan to remedy this situation. - - - - Download the most recent version of - Apache 2.x and a fitting PHP version. - Follow the Manual Installation - Steps and come back to go on with the integration of PHP and Apache. - - - - There are three ways to set up PHP to work with Apache 2.x on Windows. - You can run PHP as a handler, as a CGI, or under FastCGI. - - - ¬e.apache.slashes; - - - Installing as an Apache handler - - You need to insert the following lines into your - Apache &httpd.conf; configuration file to load the - PHP module for Apache 2.x: - - PHP and Apache 2.x as handler - - - - - - - - Remember to substitute your actual path to PHP for the - C:/php/ in the above examples. Take care to use - either php5apache2.dll or - php5apache2_2.dll in your LoadModule directive and - verify that the referenced file is in fact located at the file path - that you point to in this directive. - - - - The above configuration will enable PHP handling of any file that has a - .php extension, even if there are other file extensions. For example, a - file named example.php.txt will be executed by the - PHP handler. To ensure that only files that end in - .php are executed, use the following configuration - instead: - - - - - - SetHandler application/x-httpd-php - -]]> - - - - - - Running PHP as CGI - - - You should consult the Apache CGI - documentation for a more complete understanding of running CGI - on Apache. - - - - To run PHP as CGI, you'll need to place your php-cgi files in a - directory designated as a CGI directory using the ScriptAlias directive. - - - - You will then need to insert a #! line in the PHP files, pointing to the - location of your PHP binary: - - - PHP and Apache 2.x as CGI - - -]]> - - - - &warn.install.cgi; - - - - Running PHP under FastCGI - - - Running PHP under FastCGI has a number of advantages over running it as a - CGI. Setting it up this way is fairly straightforward: - - - Obtain mod_fcgid from - &url.apache.fcgid;. Win32 - binaries are available for download from that site. Install the module - according to the instructions that will come with it. - - - Configure your web server as shown below, taking care to adjust any paths - to reflect your how you have installed things on your particular system: - - - Configure Apache to run PHP as FastCGI - - - - - - Files with a .php extension will now be executed by the PHP FastCGI - wrapper. - - - - - - - diff --git a/install/windows/legacy/commandline.xml b/install/windows/legacy/commandline.xml deleted file mode 100644 index 7d6a295437..0000000000 --- a/install/windows/legacy/commandline.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - Command Line PHP on Microsoft Windows - - This section contains notes and hints specific to getting PHP running - from the command line for Windows. - - - - You should read the manual - installation steps first! - - - - Getting PHP to run from the command line can be performed without making - any changes to Windows. - - - - - - - But there are some easy steps that can be followed to make this simpler. - Some of these steps should already have been taken, but are repeated here - to be able to provide a complete step-by-step sequence. - - - - - - - Both PATH and PATHEXT are important pre-existing system variables in Windows, and care should be taken to not overwrite either variable, only to add to them. - - - - - - Append the location of the PHP executable (php.exe, - php-win.exe or php-cli.exe - depending upon your PHP version and display preferences) to the - PATH environment variable. Read more about how to - add your PHP directory to PATH in the corresponding FAQ entry. - - - - - - Append the .PHP extension to the - PATHEXT environment variable. This can be done - at the same time as amending the PATH environment - variable. Follow the same steps as described in the FAQ but amend the - PATHEXT environment variable rather than the - PATH environment variable. - - - The position in which you place the .PHP will - determine which script or program is executed when there are matching - filenames. For example, placing .PHP before - .BAT will cause your script to run, rather than - the batch file, if there is a batch file with the same name. - - - - - - - - Associate the .PHP extension with a file type. This - is done by running the following command: - - - - - - - - - Associate the phpfile file type with the appropriate - PHP executable. This is done by running the following command: - - - - - - - - - - - Following these steps will allow PHP scripts to be run from any directory - without the need to type the PHP executable or the .PHP - extension and all parameters will be supplied to the script for processing. - - - - The example below details some of the registry changes that can be made manually. - - Registry changes - - - - - - - - With these changes the same command can be written as: - - - - or, if your "C:\PHP Scripts" path is in the - PATH environment variable: - - - - - - - - There is a small problem if you intend to use this technique and use your - PHP scripts as a command line filter, like the example below: - - - - or - - - - You may find that the script simply hangs and nothing is output. - To get this operational, you need to make another registry change. - - - - Further information regarding this issue can be found in this Microsoft - Knowledgebase Article : 321788. - As of Windows 10, this setting seems to be reversed, making the default install of - Windows 10 support inherited console handles automatically. This - Microsoft forum post provides the explanation. - - - - - diff --git a/install/windows/legacy/extensions.xml b/install/windows/legacy/extensions.xml deleted file mode 100644 index fe76468b75..0000000000 --- a/install/windows/legacy/extensions.xml +++ /dev/null @@ -1,361 +0,0 @@ - - - - Installation of extensions on Windows - - After installing PHP and a web server on Windows, you will probably want to - install some extensions for added functionality. You can choose which - extensions you would like to load when PHP starts by modifying your - &php.ini;. You can also load a module dynamically in your script using - dl. - - - The DLLs for PHP extensions are prefixed with php_. - - - Many extensions are built into the Windows version - of PHP. This means additional DLL files, and the - extension directive, are - not used to load these extensions. The Windows - PHP Extensions - table lists extensions that require, or used to require, additional PHP - DLL files. Here's a list of built in extensions (updated PHP 5.0.4): - BCMath, - Calendar, - COM, - Ctype, - DOM, - FTP, - LibXML, - Iconv, - ODBC, - PCRE, - Session, - SimpleXML, - SPL, - WDDX, - XML&listendand; - Zlib. - - - The default location PHP searches for extensions is - C:\php5. To change this - setting to reflect your setup of PHP edit your &php.ini; file: - - - - You will need to change the - extension_dir setting to - point to the directory where your extensions lives, or where you have - placed your php_*.dll files. For example: - - - - - - - - - - Enable the extension(s) in &php.ini; you want to use by uncommenting the - extension=php_*.dll lines in &php.ini;. This is done - by deleting the leading ; from the extension you want to load. - - Enable <link linkend="book.bzip2">Bzip2</link> extension for PHP-Windows - - - - - - - - - Some of the extensions need extra DLLs to work. Couple of them can be - found in the distribution package, in the main folder, but some, for example Oracle - (php_oci8.dll) require DLLs which are not bundled - with the distribution package. Don't forget to include C:\php in the system - PATH (this process is explained in a separate FAQ entry). - - - - - Some of these DLLs are not bundled with the PHP distribution. See each - extensions documentation page for details. Also, read the manual - section titled Installation of PECL - extensions for details on PECL. An - increasingly large number of PHP extensions are found in - PECL, and these extensions require a - separate download. - - - - - - If you are running a server module version of PHP - remember to restart your web server to reflect your changes to &php.ini;. - - - - - - The following table describes some of the extensions available and required - additional dlls. - - PHP Extensions - - - - Extension - Description - Notes - - - - - php_bz2.dll - bzip2 compression functions - None - - - php_calendar.dll - Calendar conversion functions - None - - - php_ctype.dll - ctype family functions - None - - - php_curl.dll - CURL, Client URL library functions - Requires: libeay32.dll, - ssleay32.dll (bundled), or, as of OpenSSL 1.1 - libcrypto-*.dll and libssl-*.dll (bundled) - - - php_dba.dll - DBA: DataBase (dbm-style) - Abstraction layer functions - None - - - php_dbase.dll - dBase functions - None - - - php_exif.dll - EXIF functions - - php_mbstring.dll. And, - php_exif.dll must be loaded after - php_mbstring.dll in &php.ini;. - - - - php_fbsql.dll - FrontBase functions - None - - - php_fdf.dll - FDF: Forms Data Format functions. - Requires: fdftk.dll (bundled) - - - php_ftp.dll - FTP functions - None - - - php_gd2.dll - GD library image functions - GD2 - - - php_gettext.dll - Gettext functions - - PHP <= 4.2.0 requires gnu_gettext.dll (bundled), - PHP >= 4.2.3 requires libintl-1.dll, - iconv.dll (bundled). - - - - php_hyperwave.dll - HyperWave functions - None - - - php_iconv.dll - ICONV characterset conversion - - Requires: iconv-1.3.dll (bundled), iconv.dll - - - - php_iisfunc.dll - IIS management functions - None - - - php_imap.dll - IMAP POP3 and NNTP functions - None - - - php_interbase.dll - InterBase functions - Requires: gds32.dll (bundled) - - - php_ldap.dll - LDAP functions - - Requires libeay32.dll, - ssleay32.dll (bundled), or, as of OpenSSL 1.1 - libcrypto-*.dll and libssl-*.dll (bundled) - - - - php_mbstring.dll - Multi-Byte String functions - None - - - php_mcrypt.dll - Mcrypt Encryption functions - Requires: libmcrypt.dll - - - php_mhash.dll - Mhash functions - Requires: libmhash.dll (bundled) - - - php_mysql.dll - MySQL functions - Requires libmysql.dll (bundled) - - - php_mysqli.dll - MySQLi functions - Requires libmysql.dll - (libmysqli.dll in PHP <= 5.0.2) (bundled) - - - php_oci8.dll - Oracle 8 functions - Requires: Oracle 8.1+ client libraries - - - php_openssl.dll - OpenSSL functions - Requires: libeay32.dll (bundled), - or, as of OpenSSL 1.1, liblibcrypto-*.dll (bundled) - - - php_pgsql.dll - PostgreSQL functions - None - - - php_shmop.dll - Shared Memory functions - None - - - php_snmp.dll - SNMP get and walk functions - NT only! - - - php_soap.dll - SOAP functions - None - - - php_sockets.dll - Socket functions - None - - - php_tidy.dll - Tidy functions - None - - - php_tokenizer.dll - Tokenizer functions - None - - - php_w32api.dll - W32api functions - None - - - php_xmlrpc.dll - XML-RPC functions - Requires: iconv.dll (bundled) - - - php_xslt.dll - XSLT functions - - Requires sablot.dll, expat.dll, - iconv.dll (bundled). - - - - php_yaz.dll - YAZ functions - Requires: yaz.dll (bundled) - - - php_zip.dll - Zip File functions - Read only access - - - php_zlib.dll - ZLib compression functions - None - - - -
-
-
- - diff --git a/install/windows/legacy/iis.xml b/install/windows/legacy/iis.xml deleted file mode 100644 index 2ce4c7943a..0000000000 --- a/install/windows/legacy/iis.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - Microsoft IIS - - This section contains PHP installation instructions specific to Microsoft Internet Information Services (IIS). - - - - - Manually installing PHP on Microsoft IIS 5.1 and IIS 6.0 - - - - - Manually installing PHP on Microsoft IIS 7.0 and later - - - - - - diff --git a/install/windows/legacy/iis6.xml b/install/windows/legacy/iis6.xml deleted file mode 100644 index 83b49b4c96..0000000000 --- a/install/windows/legacy/iis6.xml +++ /dev/null @@ -1,241 +0,0 @@ - - - - - Microsoft IIS 5.1 and IIS 6.0 - - This section contains instructions for manually setting up Internet Information - Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows - Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows - Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to - Microsoft IIS 7.0 and later. - - - Configuring IIS to process PHP requests - - Download and install PHP in accordance to the instructions described in - manual installation steps - - - Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe - builds are available at PHP for Windows: - Binaries and Sources Releases. - - - - - Configure the CGI- and FastCGI-specific settings in php.ini file as shown below: - - CGI and FastCGI settings in <filename>php.ini</filename> - - - - - - - Download and install the Microsoft FastCGI Extension for IIS 5.1 and 6.0. - The extension is available for 32-bit and 64-bit platforms - select the right download package for your platform. - - Configure the FastCGI extension to handle PHP-specific requests by running the command shown below. - Replace the value of the "-path" parameter with the absolute file path to the - php-cgi.exe file. - - Configuring FastCGI extension to handle PHP requests - - - - - - - This command will create an IIS script mapping for *.php file extension, which will result in all URLs - that end with .php being handled by FastCGI extension. Also, it will configure FastCGI extension to - use the executable php-cgi.exe to process the PHP requests. - - - At this point the required installation and configuration steps are completed. The remaining - instructions below are optional but highly recommended for achieving optimal functionality - and performance of PHP on IIS. - - - - - - Impersonation and file system access - - It is recommended to enable FastCGI impersonation in PHP when using IIS. This - is controlled by the fastcgi.impersonate directive in php.ini file. When - impersonation is enabled, PHP will perform all the file system operations on - behalf of the user account that has been determined by IIS authentication. This - ensures that even if the same PHP process is shared across different IIS web - sites, the PHP scripts in those web sites will not be able to access each - others' files as long as different user accounts are used for IIS authentication - on each web site. - - - For example IIS 5.1 and IIS 6.0, in its default configuration, has anonymous authentication enabled - with built-in user account IUSR_<MACHINE_NAME> used as a default identity. This means that in - order for IIS to execute PHP scripts, it is necessary to grant IUSR_<MACHINE_NAME> account - read permission on those scripts. If PHP applications need to perform write operations on certain - files or write files into some folders then IUSR_<MACHINE_NAME> account should have write permission to those. - - - To determine which user account is used by IIS anonymous authentication, follow these steps: - - - In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok"; - - - Expand the list of web sites under the "Web Sites" node in the tree view, right-click on a web - site that is being used and select "Properties"; - - - - Click the "Directory Security" tab; - - - Take note of a "User name:" field in the "Authentication Methods" dialog - - - - Anonymous authenication for IIS 5.1 and IIS 6.0 - - - - - - - To modify the permissions settings on files and folders, use the Windows Explorer user interface - or icacls command. - - Configuring file access permissions - - - - - - - - Set <filename>index.php</filename> as a default document in IIS - - The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, - index.php usually acts as a default document. To add index.php to the list of - IIS default documents, follow these steps: - - - In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok"; - - - Right-click on the "Web Sites" node in the tree view and select "Properties"; - - - Click the "Documents" tab; - - - Click the "Add..." button and enter "index.php" for the "Default content page:". - - - - Setting index.php as default document for IIS - - - - - - - - FastCGI and PHP Recycling configuration - - Configure IIS FastCGI extension settings for recycling of PHP processes by using the commands shown below. - The FastCGI setting instanceMaxRequests controls how many requests will be processed by a single - php-cgi.exe process before FastCGI extension shuts it down. The PHP environment variable - PHP_FCGI_MAX_REQUESTS controls how many requests a single php-cgi.exe process - will handle before it recycles itself. Make sure that the value specified for FastCGI InstanceMaxRequests - setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS. - - Configuring FastCGI and PHP recycling - - - - - - - - Configuring FastCGI timeout settings - - Increase the timeout settings for FastCGI extension if there are applications that have long running PHP scripts. - The two settings that control timeouts are ActivityTimeout and RequestTimeout. - Refer to Configuring FastCGI Extension for IIS 6.0 for more - information about those settings. - - Configuring FastCGI timeout settings - - - - - - - - Changing the Location of <filename>php.ini</filename> file - - PHP searches for php.ini file in - several locations and it is - possible to change the default locations of php.ini - file by using PHPRC environment variable. To instruct PHP - to load the configuration file from a custom location run the command shown below. - The absolute path to the directory with php.ini file should be - specified as a value of PHPRC environment variable. - - Changing the location of <filename>php.ini</filename> file - - - - - - - - - diff --git a/install/windows/legacy/iis7.xml b/install/windows/legacy/iis7.xml deleted file mode 100644 index 410133e607..0000000000 --- a/install/windows/legacy/iis7.xml +++ /dev/null @@ -1,387 +0,0 @@ - - - - - Microsoft IIS 7.0 and later - - This section contains instructions for manually setting up Internet Information - Services (IIS) 7.0 and later to work with PHP on Microsoft Windows Vista SP1, - Windows 7, Windows Server 2008 and Windows Server 2008 R2. For instructions - on setting up IIS 5.1 and IIS 6.0 on Windows XP and Windows Server 2003 refer to - Microsoft IIS 5.1 and IIS 6.0. - - - Enabling FastCGI support in IIS - - FastCGI module is disabled in default installation of IIS. The steps to enable it differ - based on the version of Windows being used. - - - To enable FastCGI support on Windows Vista SP1 and Windows 7: - - - - In the Windows Start Menu choose "Run:", type "optionalfeatures.exe" - and click "Ok"; - - - - - In the "Windows Features" dialog expand "Internet Information - Services", "World Wide Web Services", "Application Development - Features" and then enable the "CGI" checkbox; - - - - - Click OK and wait until the installation is complete. - - - - - Enabling FastCGI support for IIS7 on Windows Vista SP1 and Windows 7 - - - - - - - To enable FastCGI support on Windows Server 2008 and Windows Server 2008 R2: - - - - In the Windows Start Menu choose "Run:", type "CompMgmtLauncher" - and click "Ok"; - - - - - If the "Web Server (IIS)" role is not present under the "Roles" - node, then add it by clicking "Add Roles"; - - - - - If the "Web Server (IIS)" role is present, then click "Add Role Services" - and then enable the "CGI" checkbox under "Application Development" group; - - - - - Click "Next" and then "Install" and wait for the installation to complete. - - - - - Enabling FastCGI support on Windows Server 2008 and Windows Server 2008 R2 - - - - - - - - Configuring IIS to process PHP requests - - Download and install PHP in accordance to the instructions described in - manual installation steps - - - Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe - builds are available at PHP for Windows: - Binaries and Sources Releases. - - - - - Configure the CGI- and FastCGI-specific settings in php.ini file as shown below: - - CGI and FastCGI settings in <filename>php.ini</filename> - - - - - - - Configure IIS handler mapping for PHP by using either IIS Manager user interface or a command line tool. - - - Using IIS Manager user interface to create a handler mapping for PHP - - Follow these steps to create an IIS handler mapping for PHP in IIS Manager user interface: - - - In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok"; - - - In the IIS Manager user interface select the server node in the "Connections" tree view; - - - - In the "Features View" page open the "Handler Mappings" feature; - - Create IIS handler mapping for PHP : Locate Handler Mappings - - - - - - - - In the "Actions" pane click "Add Module Mapping..."; - - - - In the "Add Module Mapping" dialog enter the following: - - - Request path: *.php - - - Module: FastCgiModule - - - Executable: C:\[Path to PHP installation]\php-cgi.exe - - - Name: PHP_via_FastCGI - - - - - - - Click "Request Restrictions" button and then configure the mapping to invoke handler - only if request is mapped to a file or a folder; - - - - Click OK on all the dialogs to save the configuration. - - - - Create IIS handler mapping for PHP : Add Handler Mapping - - - - - - - - Using command line tool to create a handler mapping for PHP - - Use the command shown below to create an IIS FastCGI process pool which will use php-cgi.exe - executable for processing PHP requests. Replace the value of the fullPath parameter with the - absolute file path to the php-cgi.exe file. - - Creating IIS FastCGI process pool - - - - - - - Configure IIS to handle PHP specific requests by running the command shown below. Replace the value of the - scriptProcessor parameter with the absolute file path to the php-cgi.exe file. - - Creating handler mapping for PHP requests - - - - - - - This command creates an IIS handler mapping for *.php file extension, which will result in all URLs that - end with .php being handled by FastCGI module. - - - At this point the required installation and configuration steps are completed. The remaining - instructions below are optional but highly recommended for achieving optimal functionality - and performance of PHP on IIS. - - - - - - - Impersonation and file system access - - It is recommended to enable FastCGI impersonation in PHP when using IIS. This - is controlled by the fastcgi.impersonate directive in php.ini - file. When impersonation is enabled, PHP will perform all the file system operations on behalf of - the user account that has been determined by IIS authentication. This ensures that even if the - same PHP process is shared across different IIS web sites, the PHP scripts in those web sites - will not be able to access each other's files as long as different user accounts are used - for IIS authentication on each web site. - - - For example IIS 7, in its default configuration, has anonymous authentication enabled with - built-in user account IUSR used as a default identity. This means that in order for IIS to - execute PHP scripts, it is necessary to grant IUSR account read permission on those scripts. - If PHP applications need to perform write operations on certain files or write files into some - folders then IUSR account should have write permission to those. - - - To determine what user account is used as an anonymous identity in IIS 7 use the following command. - Replace the "Default Web Site" with the name of IIS web site that you use. In the output - XML configuration element look for the userName attribute. - - Determining the account used as IIS anonymous identity - - - - - - - - -]]> - - - - - If userName attribute is not present in the anonymousAuthentication element, - or is set to an empty string, then it means that the application pool identity is used as an - anonymous identity for that web site. - - - - - To modify the permissions settings on files and folders, use the Windows Explorer - user interface or icacls command. - - Configuring file access permissions - - - - - - - - Set <filename>index.php</filename> as a default document in IIS - - The IIS default documents are used for HTTP requests that do not specify a - document name. With PHP applications, index.php usually - acts as a default document. To add index.php to the list - of IIS default documents, use this command: - - Set <filename>index.php</filename> as a default document in IIS - - - - - - - - FastCGI and PHP Recycling configuration - - Configure IIS FastCGI settings for recycling of PHP processes by using the commands shown below. - The FastCGI setting instanceMaxRequests controls how many requests will be - processed by a single php-cgi.exe process before IIS shuts it down. - The PHP environment variable PHP_FCGI_MAX_REQUESTS controls how many - requests a single php-cgi.exe process will handle before it recycles - itself. Make sure that the value specified for FastCGI InstanceMaxRequests - setting is less than or equal to the value specified for PHP_FCGI_MAX_REQUESTS. - - Configuring FastCGI and PHP recycling - - - - - - - - FastCGI timeout settings - - Increase the timeout settings for FastCGI if it is expected to have long running PHP scripts. - The two settings that control timeouts are activityTimeout and - requestTimeout. Use the commands below to change the timeout settings. - Make sure to replace the value in the fullPath parameter to - contain the absolute path to the php-cgi.exe file. - - Configuring FastCGI timeout settings - - - - - - - - Changing the Location of <filename>php.ini</filename> file - - PHP searches for php.ini file in - several locations and it is - possible to change the default locations of php.ini - file by using PHPRC environment variable. To instruct PHP - to load the configuration file from a custom location run the command shown below. - The absolute path to the directory with php.ini file should be - specified as a value of PHPRC environment variable. - - Changing the location of <filename>php.ini</filename> file - - - - - - - - - diff --git a/install/windows/legacy/index.xml b/install/windows/legacy/index.xml deleted file mode 100644 index 29fb77336d..0000000000 --- a/install/windows/legacy/index.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - Installation on old Windows systems - - This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP - will not work on 16 bit platforms such as Windows 3.1 and sometimes - we refer to the supported Windows platforms as Win32. - - - - Windows XP/2003 are no longer supported as of PHP 5.5.0. - - - - - Windows 98/Me/NT4/2000 are no longer supported as of PHP 5.3.0. - - - - - Windows 95 is no longer supported as of PHP 4.3.0. - - - - If you have a development environment such as Microsoft Visual Studio, you can also - - build PHP from the original source code. - - - Once you have PHP installed on your Windows system, you may also - want to load various extensions - for added functionality. - - - &install.windows.legacy.manual; - &install.windows.legacy.iis; - &install.windows.legacy.iis6; - &install.windows.legacy.iis7; - &install.windows.legacy.apache1; - &install.windows.legacy.apache2; - &install.windows.legacy.sambar; - &install.windows.legacy.xitami; - &install.windows.legacy.building; - &install.windows.legacy.extensions; - &install.windows.legacy.commandline; - - - diff --git a/install/windows/legacy/manual.xml b/install/windows/legacy/manual.xml deleted file mode 100644 index a29b936cea..0000000000 --- a/install/windows/legacy/manual.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - Manual Installation Steps - - This section contains instructions for manually installing and configuring - PHP on Microsoft Windows. - - - Selecting and downloading the PHP distribution package - - Download the PHP zip binary distribution from - PHP for Windows: Binaries and Sources. - There are several different versions of the zip package - to choose the right version for you, - follow the detailed guide on the download page. - - - - The PHP package structure and content - - Unpack the content of the zip archive into a directory of your choice, for - example C:\PHP\. The directory and file structure extracted from the zip will - look as below: - - PHP 5 package structure - - - - - - - Below is the list of the modules and executables included in the PHP zip - distribution: - - - - go-pear.bat - the PEAR setup script. Refer to Installation (PEAR) - for more details. - - - - - php-cgi.exe - CGI executable that can be used when running PHP on IIS via CGI or FastCGI. - - - - - php-win.exe - the PHP executable for executing PHP scripts without using a command line window - (for example PHP applications that use Windows GUI). - - - - - php.exe - the PHP executable for executing PHP scripts within a command line interface (CLI). - - - - - php5apache2_2.dll - Apache 2.2.X module. - - - - - php5apache2_2_filter.dll - Apache 2.2.X filter. - - - - - - - Changing the <filename>php.ini</filename> file - - After the php package content has been extracted, copy the php.ini-production into php.ini - in the same folder. If necessary, it is also possible to place the php.ini into any other location of your choice - but that will require additional configuration steps as described in PHP Configuration. - - - The php.ini file tells PHP how to configure itself, and how to work with the - environment that it runs in. Here are a number of settings for the php.ini file - that help PHP work better with Windows. Some of these are optional. There are - many other directives that may be relevant to your environment - refer to the - list of php.ini directives for more information. - - - Required directives: - - - - extension_dir = <path to extension directory> - The extension_dir needs - to point to the directory where PHP extensions files are stored. The path can be absolute - (i.e. "C:\PHP\ext") or relative (i.e. ".\ext"). Extensions that are listed lower in the php.ini file need - to be located in the extension_dir. - - - - - extension = xxxxx.dll - For each extension you wish to enable, you need a corresponding "extension=" - directive that tells PHP which extensions in the extension_dir to load at startup time. - - - - - log_errors = On - PHP has an error logging facility that can be used to send errors to a file, - or to a service (i.e. syslog) and works in conjunction with the error_log directive below. When running under IIS, - the log_errors should be enabled, with a valid error_log. - - - - - error_log = <path to the error log file> - The error_log needs to specify the absolute, - or relative path to the file where PHP errors should be logged. This file needs to be writable for the web server. - The most common places for this file are in various TEMP directories, for example "C:\inetpub\temp\php-errors.log". - - - - - cgi.force_redirect = 0 - This directive is required for running under IIS. - It is a directory security facility required by many other web servers. However, enabling it under IIS will - cause the PHP engine to fail on Windows. - - - - - cgi.fix_pathinfo = 1 - This lets PHP access real path info following the CGI Spec. - The IIS FastCGI implementation needs this set. - - - - - fastcgi.impersonate = 1 - FastCGI under IIS supports the ability to impersonate - security tokens of the calling client. This allows IIS to define the security context that the request runs under. - - - - - fastcgi.logging = 0 - FastCGI logging should be disabled on IIS. If it is left enabled, - then any messages of any class are treated by FastCGI as error conditions which will cause IIS to generate an HTTP 500 exception. - - - - - - Optional directives - - - - max_execution_time = ## - This directive tells PHP the maximum amount of time that it can spend - executing any given script. The default for this is 30 seconds. Increase the value of this directive if PHP application take long time to execute. - - - - - memory_limit = ###M - The amount of memory available for the PHP process, in Megabytes. - The default is 128, which is fine for most PHP applications. Some of the more complex ones might need more. - - - - - display_errors = Off - This directive tells PHP whether to include any error messages in the - stream that it returns to the Web server. If this is set to "On", then PHP will send whichever classes of errors - that you define with the error_reporting directive back to web server as part of the error stream. - For security reasons it is recommended to set it to "Off" on production servers in order not to reveal any - security sensitive information that is often included in the error messages. - - - - - open_basedir = <paths to directories, separated by semicolon>, e.g. - openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". This directive specified the directory paths where PHP - is allowed to perform file system operations. Any file operation outside of the specified paths will result in an error. - This directive is especially useful for locking down the PHP installation in shared hosting environments to prevent - PHP scripts from accessing any files outside of the web site's root directory. - - - - - upload_max_filesize = ###M and post_max_size = ###M - - The maximum allowed size of an uploaded file and post data respectively. The values of these directives should be - increased if PHP applications need to perform large uploads, such as for example photos or video files. - - - - - - PHP is now setup on your system. The next step is to choose a web - server, and enable it to run PHP. Choose a web server from the table of - contents. - - - In addition to running PHP via a web server, PHP can run from the command - line just like a .BAT script. See - - - - - - diff --git a/install/windows/legacy/sambar.xml b/install/windows/legacy/sambar.xml deleted file mode 100644 index cc4325d98e..0000000000 --- a/install/windows/legacy/sambar.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - Sambar Server on Microsoft Windows - - This section contains notes and hints specific to the - Sambar Server for Windows. - - - - You should read the manual - installation steps first! - - - - This list describes how to set up the ISAPI module to - work with the Sambar server on Windows. - - - - - - - Find the file called mappings.ini (in the config - directory) in the Sambar install directory. - - - - - Open mappings.ini and add the following line - under [ISAPI]: - - ISAPI configuration of Sambar - - - - - (This line assumes that PHP was installed in - c:\php.) - - - - - Now restart the Sambar server for the changes to take effect. - - - - - - - - If you intend to use PHP to communicate with resources which are held on - a different computer on your network, then you will need to alter the - account used by the Sambar Server Service. The default account used for - the Sambar Server Service is LocalSystem which will not have access to - remote resources. The account can be amended by using the Services - option from within the Windows Control Panel Administration Tools. - - - - - diff --git a/install/windows/legacy/xitami.xml b/install/windows/legacy/xitami.xml deleted file mode 100644 index de4683529c..0000000000 --- a/install/windows/legacy/xitami.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - Xitami on Microsoft Windows - - This section contains notes and hints specific to - Xitami on Windows. - - - - You should read the manual - installation steps first! - - - - This list describes how to set up the PHP CGI binary - to work with Xitami on Windows. - - - - Important for CGI users - - Read the faq - on cgi.force_redirect for important details. This - directive needs to be set to 0. - If you want to use $_SERVER['PHP_SELF'] you have to - enable the cgi.fix_pathinfo - directive. - - - &warn.install.cgi; - - - - - Make sure the web server is running, and point - your browser to xitamis admin console - (usually http://127.0.0.1/admin), - and click on Configuration. - - - - - Navigate to the Filters, and put the - extension which PHP should parse (i.e. .php) - into the field File extensions (.xxx). - - - - - In Filter command or script put the path and name - of your PHP CGI executable i.e. C:\php\php.exe - for PHP 4, or C:\php\php-cgi.exe for PHP 5. - - - - - Press the 'Save' icon. - - - - - Restart the server to reflect changes. - - - - - - - diff --git a/install/windows/manual.xml b/install/windows/manual.xml index 9c3174a4bc..d50d9545b1 100644 --- a/install/windows/manual.xml +++ b/install/windows/manual.xml @@ -42,8 +42,6 @@ REM Configure FastCGI Variables ]]> - - See also the old IIS installation instructions. @@ -54,7 +52,6 @@ REM Configure FastCGI Variables The Apache builds of ApacheLounge are recommended, but other options include XAMPP, WampServer and BitNami, which provide automatic installer tools. PHP can be used on Apache through mod_php or mod_fastcgi. mod_php requires a TS build of Apache built with same version of Visual C and same CPU (x86 or x64). - See also the old Apache installation instructions. @@ -75,10 +72,10 @@ REM Configure FastCGI Variables Non-Thread-Safe(NTS) - for IIS and other FastCGI web servers (Apache with mod_fastcgi) and recommended for command-line scripts - x86 - production use of PHP 5.5 and up. + x86 - for 32-bits systems. - x64 - production use of PHP 7 (unless its a 32-bit only version of Windows). PHP 5.5 and 5.6 x64 builds are experimental. + x64 - for 64-bits systems. @@ -103,4 +100,4 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +--> diff --git a/install/windows/recommended.xml b/install/windows/recommended.xml index 0413b6ec57..600f0e501b 100644 --- a/install/windows/recommended.xml +++ b/install/windows/recommended.xml @@ -1,87 +1,93 @@ -Recommended Configuration on Windows systems - - + Recommended Configuration on Windows systems + OpCache - - -Highly Recommended that you enable OpCache. This extension is included with PHP for Windows. It compiles and optimizes PHP scripts and caches them in memory so that they aren't compiled every time the page is loaded. - - -In your php.ini, set - - Recommended OpCache configuration - + + It is highly recommended to enable OpCache. + This extension is included with PHP for Windows. + It compiles and optimizes PHP scripts and caches them in memory so that + they aren't compiled every time the page is loaded. + + + Set the &php.ini; to: + + Recommended OpCache configuration + - - - -And restart your web server. + + + And restart the web server. -For more info, see: OpCache Configuration - - - - + For more info, see: OpCache Configuration + + + WinCache + + It is recommended to use WinCache if using IIS, especially if in a shared + web hosting environment or using networked file storage (NAS). + Note that WinCache is no longer supported as of PHP 8.0.0. - -Recommended that you use WinCache if using IIS, especially if in a shared web hosting environment or using networked file storage (NAS). + All PHP Applications automatically benefit from WinCache's file cache feature. File system operations are cached in memory. -All PHP Applications automatically benefit from WinCache's file cache feature. File system operations are cached in memory. + WinCache also can cache user objects in memory and share them between php.exe or php-cgi.exe processes (share objects between requests). -WinCache also can cache user objects in memory and share them between php.exe or php-cgi.exe processes (share objects between requests). + Many major web applications have a plugin or extension or configuration option to make use of the WinCache user object cache. -Many major web applications have a plugin or extension or configuration option to make use of the WinCache user object cache. + If you need high performance, you should use the object cache in your applications. -If you need high performance, you should use the object cache in your applications. + See: http://pecl.php.net/package/WinCache to download a WinCache DLL (or tgz) to your PHP extensions directory (extensions_dir in your php.ini). -See: http://pecl.php.net/package/WinCache to download a WinCache DLL (or tgz) to your PHP extensions directory (extensions_dir in your php.ini). - -In your php.ini, set - - Recommended WinCache configuration - + Set the &php.ini; to: + + Recommended WinCache configuration + - - + + + For more info, see: + WinCache Configuration + + -For more info, see: http://php.net/manual/en/wincache.configuration.php - - - - - IIS Configuration - - In IIS Manager, Install FastCGI module and add a handler mapping for `.php` to the path to PHP-CGI.exe (not PHP.exe) + + IIS Configuration - - You may use the APPCMD command line tool to script IIS configuration. + In IIS Manager, Install FastCGI module and add a handler mapping for + `.php` to the path to PHP-CGI.exe + (not PHP.exe) - - + + You may use the APPCMD command line tool to script IIS configuration. + + + + Database + + You'll probably need a Database Server. + Popular databases provide PHP extensions to use them. + If your web site doesn't get a lot of traffic, + you can run your database server on the same server as your web server. + Many popular database servers run on Windows. + - You'll probably need a Database Server. Popular databases provide PHP extensions to use them. If your web site doesn't get a lot of traffic, you can run your database server on the same server as your web server. Many popular database servers run on Windows. - - PHP includes mysqli and pdo_mysql extensions. PHP 5.5 and 5.6 include mysql extension (deprecated in 7.0). - - See https://dev.mysql.com/downloads/windows/ - + PHP includes mysqli and pdo_mysql extensions. + + See https://dev.mysql.com/downloads/windows/ + + \ No newline at end of file +--> diff --git a/install/windows/tools.xml b/install/windows/tools.xml index 7a8b18431d..f69e13ab27 100644 --- a/install/windows/tools.xml +++ b/install/windows/tools.xml @@ -1,20 +1,24 @@ - - -PHP Installer Tools on Windows - - + PHP Installer Tools on Windows + PHP Install Tools - - If you want to setup PHP and are using IIS, the easiest way is to use Microsoft's Web Platform Installer (WebPI). - + + If you want to setup PHP and are using IIS, + the easiest way is to use Microsoft's Web Platform Installer (WebPI). + - XAMPP, WampServer and BitNami will setup PHP applications for use with Apache on Windows. - - Setting up and configuring Nginx on Windows requires a bit more configuration. See the Nginx documentation for additional setup help. - + + XAMPP, + WampServer and BitNami will setup PHP applications for use with Apache on Windows. + + + Setting up and configuring Nginx on Windows requires a bit more configuration. + See the Nginx documentation + for additional setup help. + + \ No newline at end of file +--> diff --git a/install/windows/troubleshooting.xml b/install/windows/troubleshooting.xml index 60c7a00218..07285d3904 100644 --- a/install/windows/troubleshooting.xml +++ b/install/windows/troubleshooting.xml @@ -1,25 +1,23 @@ - - -Troubleshooting PHP on Windows - - + Troubleshooting PHP on Windows + Check Temp Directory Permissions - - Right-click temp directory in File Explorer to get the permissions. - - - - For IIS, check that user IIS_User has MODIFY permission. You can get the temporary directory from the configuration or php info. - - + + + Right-click temp directory in File Explorer to get the permissions. + + + + + For IIS, check that user IIS_User has MODIFY permission. + You can get the temporary directory from the configuration or php info. + + - - - + \ No newline at end of file +--> diff --git a/language-snippets.ent b/language-snippets.ent index 5240b88538..5cf9f85b75 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1597,7 +1597,7 @@ this extension is still available within DLL for this PECL extension is currently unavailable. See also the -building on Windows +building on Windows section.'> DLL files) From 68c2c871505aadf983f16113c5b077b335ce8d76 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 20 May 2021 18:45:21 +0100 Subject: [PATCH 274/444] Fix extension doc membership --- reference/apcu/book.xml | 1 + reference/cmark/book.xml | 1 + reference/componere/book.xml | 1 + reference/cubrid/book.xml | 1 + reference/dio/book.xml | 6 +----- reference/ds/book.xml | 1 + reference/eio/book.xml | 1 + reference/ev/book.xml | 1 + reference/event/book.xml | 1 + reference/expect/book.xml | 1 + reference/fann/book.xml | 1 + reference/fdf/book.xml | 1 + reference/ffi/book.xml | 1 + reference/gearman/book.xml | 1 + reference/gender/book.xml | 1 + reference/geoip/book.xml | 4 +--- reference/gmagick/book.xml | 1 + reference/gnupg/book.xml | 1 + reference/hash/book.xml | 4 ---- reference/hrtime/book.xml | 1 + reference/ibase/book.xml | 2 +- reference/ibm_db2/book.xml | 1 + reference/imagick/book.xml | 1 + reference/inotify/book.xml | 1 + reference/json/book.xml | 2 +- reference/lua/book.xml | 1 + reference/luasandbox/book.xml | 1 + reference/lzf/book.xml | 1 + reference/mailparse/book.xml | 1 + reference/mcrypt/book.xml | 2 +- reference/memcache/book.xml | 1 + reference/memcached/book.xml | 1 + reference/mhash/book.xml | 2 +- reference/mqseries/book.xml | 1 + reference/mysql/book.xml | 6 ++---- reference/mysql_xdevapi/book.xml | 1 + reference/oauth/book.xml | 1 + reference/openal/book.xml | 1 + reference/parallel/book.xml | 1 + reference/parle/book.xml | 1 + reference/pcre/book.xml | 2 +- reference/pdo_cubrid/reference.xml | 3 +-- reference/pdo_ibm/reference.xml | 3 +-- reference/pdo_informix/reference.xml | 3 +-- reference/pdo_sqlsrv/reference.xml | 3 +-- reference/phpdbg/book.xml | 1 + reference/ps/book.xml | 2 +- reference/pthreads/book.xml | 1 + reference/radius/book.xml | 1 + reference/rar/book.xml | 1 + reference/recode/book.xml | 2 +- reference/rpminfo/book.xml | 1 + reference/rrd/book.xml | 1 + reference/runkit7/book.xml | 1 + reference/scoutapm/book.xml | 1 + reference/seaslog/book.xml | 1 + reference/solr/book.xml | 1 + reference/sqlsrv/book.xml | 1 + reference/ssdeep/book.xml | 6 ++---- reference/ssh2/book.xml | 1 + reference/stomp/book.xml | 1 + reference/svm/book.xml | 1 + reference/svn/book.xml | 1 + reference/swoole/book.xml | 3 ++- reference/sync/book.xml | 1 + reference/taint/book.xml | 1 + reference/tcpwrap/book.xml | 1 + reference/trader/book.xml | 1 + reference/ui/book.xml | 1 + reference/uopz/book.xml | 1 + reference/v8js/book.xml | 1 + reference/varnish/book.xml | 1 + reference/wddx/book.xml | 4 +--- reference/win32service/book.xml | 1 + reference/wincache/book.xml | 1 + reference/wkhtmltox/book.xml | 4 ++-- reference/xattr/book.xml | 1 + reference/xdiff/book.xml | 1 + reference/xhprof/book.xml | 1 + reference/xlswriter/book.xml | 1 + reference/xmldiff/book.xml | 1 + reference/xmlrpc/book.xml | 4 ++-- reference/yac/book.xml | 1 + reference/yaconf/book.xml | 1 + reference/yaf/book.xml | 1 + reference/yaml/book.xml | 1 + reference/yar/book.xml | 1 + reference/yaz/book.xml | 1 + reference/zmq/book.xml | 1 + reference/zookeeper/book.xml | 1 + 90 files changed, 94 insertions(+), 43 deletions(-) diff --git a/reference/apcu/book.xml b/reference/apcu/book.xml index 9672719dd6..d38cc557a8 100644 --- a/reference/apcu/book.xml +++ b/reference/apcu/book.xml @@ -2,6 +2,7 @@ + APC User Cache APCu diff --git a/reference/cmark/book.xml b/reference/cmark/book.xml index 4f8a2ee721..be707687e1 100644 --- a/reference/cmark/book.xml +++ b/reference/cmark/book.xml @@ -2,6 +2,7 @@ + CommonMark CommonMark diff --git a/reference/componere/book.xml b/reference/componere/book.xml index 42f3d408ab..8f2756fab3 100644 --- a/reference/componere/book.xml +++ b/reference/componere/book.xml @@ -2,6 +2,7 @@ + Componere Componere diff --git a/reference/cubrid/book.xml b/reference/cubrid/book.xml index 59ba003623..44e8869f4a 100644 --- a/reference/cubrid/book.xml +++ b/reference/cubrid/book.xml @@ -2,6 +2,7 @@ + CUBRID CUBRID diff --git a/reference/dio/book.xml b/reference/dio/book.xml index 473337172b..07c04ac323 100644 --- a/reference/dio/book.xml +++ b/reference/dio/book.xml @@ -2,6 +2,7 @@ + Direct IO @@ -17,11 +18,6 @@ filesystem functions are more than adequate. - - - &pecl.moved-ver;5.1.0. - - diff --git a/reference/ds/book.xml b/reference/ds/book.xml index c2d3fff7cd..a5ff64cbf0 100644 --- a/reference/ds/book.xml +++ b/reference/ds/book.xml @@ -2,6 +2,7 @@ + Data Structures diff --git a/reference/eio/book.xml b/reference/eio/book.xml index 4222731bad..1172df96a7 100644 --- a/reference/eio/book.xml +++ b/reference/eio/book.xml @@ -2,6 +2,7 @@ + Eio Eio diff --git a/reference/ev/book.xml b/reference/ev/book.xml index 49bff4284e..a65cb93e8a 100644 --- a/reference/ev/book.xml +++ b/reference/ev/book.xml @@ -1,6 +1,7 @@ + Ev Ev diff --git a/reference/event/book.xml b/reference/event/book.xml index 9a605d54f9..c81678a83e 100644 --- a/reference/event/book.xml +++ b/reference/event/book.xml @@ -1,6 +1,7 @@ + Event Event diff --git a/reference/expect/book.xml b/reference/expect/book.xml index 4246652b46..89fc0c6744 100644 --- a/reference/expect/book.xml +++ b/reference/expect/book.xml @@ -2,6 +2,7 @@ + Expect diff --git a/reference/fann/book.xml b/reference/fann/book.xml index 59ccfc8d43..2f0a021684 100644 --- a/reference/fann/book.xml +++ b/reference/fann/book.xml @@ -2,6 +2,7 @@ + FANN (Fast Artificial Neural Network) FANN diff --git a/reference/fdf/book.xml b/reference/fdf/book.xml index 028bd3e352..3aac7c4c16 100644 --- a/reference/fdf/book.xml +++ b/reference/fdf/book.xml @@ -2,6 +2,7 @@ + Forms Data Format FDF diff --git a/reference/ffi/book.xml b/reference/ffi/book.xml index c92bf86f94..1bd9da7985 100644 --- a/reference/ffi/book.xml +++ b/reference/ffi/book.xml @@ -2,6 +2,7 @@ + Foreign Function Interface FFI diff --git a/reference/gearman/book.xml b/reference/gearman/book.xml index fcb2843d08..d283730475 100644 --- a/reference/gearman/book.xml +++ b/reference/gearman/book.xml @@ -2,6 +2,7 @@ + Gearman Gearman diff --git a/reference/gender/book.xml b/reference/gender/book.xml index fd23e8933c..f71f6a8caa 100644 --- a/reference/gender/book.xml +++ b/reference/gender/book.xml @@ -2,6 +2,7 @@ + Determine gender of firstnames Gender diff --git a/reference/geoip/book.xml b/reference/geoip/book.xml index ce81383a72..9cd3a2e33b 100644 --- a/reference/geoip/book.xml +++ b/reference/geoip/book.xml @@ -1,7 +1,6 @@ - - + Geo IP Location GeoIP @@ -45,4 +44,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> - diff --git a/reference/gmagick/book.xml b/reference/gmagick/book.xml index 5625069e72..6865a38395 100644 --- a/reference/gmagick/book.xml +++ b/reference/gmagick/book.xml @@ -2,6 +2,7 @@ + Gmagick Gmagick diff --git a/reference/gnupg/book.xml b/reference/gnupg/book.xml index 162af3bf9b..3cf61fd4dd 100644 --- a/reference/gnupg/book.xml +++ b/reference/gnupg/book.xml @@ -3,6 +3,7 @@ + GNU Privacy Guard GnuPG diff --git a/reference/hash/book.xml b/reference/hash/book.xml index ab67472c88..4c6ffab544 100644 --- a/reference/hash/book.xml +++ b/reference/hash/book.xml @@ -1,7 +1,5 @@ - - HASH Message Digest Framework @@ -23,7 +21,6 @@ &reference.hash.reference; - - diff --git a/reference/hrtime/book.xml b/reference/hrtime/book.xml index d1e0f532a9..cce8f0680c 100644 --- a/reference/hrtime/book.xml +++ b/reference/hrtime/book.xml @@ -2,6 +2,7 @@ + High resolution timing HRTime diff --git a/reference/ibase/book.xml b/reference/ibase/book.xml index dc77431acc..b424561aa6 100644 --- a/reference/ibase/book.xml +++ b/reference/ibase/book.xml @@ -2,7 +2,7 @@ - + Firebird/InterBase diff --git a/reference/ibm_db2/book.xml b/reference/ibm_db2/book.xml index c39ea1ca86..24df3ec6e6 100644 --- a/reference/ibm_db2/book.xml +++ b/reference/ibm_db2/book.xml @@ -2,6 +2,7 @@ + IBM DB2, Cloudscape and Apache Derby IBM DB2 diff --git a/reference/imagick/book.xml b/reference/imagick/book.xml index f497b27cbc..24b02eb869 100644 --- a/reference/imagick/book.xml +++ b/reference/imagick/book.xml @@ -3,6 +3,7 @@ + Image Processing (ImageMagick) ImageMagick diff --git a/reference/inotify/book.xml b/reference/inotify/book.xml index 62d51a78c0..b030f1a1da 100644 --- a/reference/inotify/book.xml +++ b/reference/inotify/book.xml @@ -2,6 +2,7 @@ + Inotify diff --git a/reference/json/book.xml b/reference/json/book.xml index fb09ad8386..871dcfbc4f 100644 --- a/reference/json/book.xml +++ b/reference/json/book.xml @@ -2,7 +2,7 @@ - + JavaScript Object Notation JSON diff --git a/reference/lua/book.xml b/reference/lua/book.xml index fd9f17c361..f4373c63d1 100644 --- a/reference/lua/book.xml +++ b/reference/lua/book.xml @@ -2,6 +2,7 @@ + Lua Lua diff --git a/reference/luasandbox/book.xml b/reference/luasandbox/book.xml index 3995098b3a..b3fd02b1d3 100644 --- a/reference/luasandbox/book.xml +++ b/reference/luasandbox/book.xml @@ -2,6 +2,7 @@ + LuaSandbox LuaSandbox diff --git a/reference/lzf/book.xml b/reference/lzf/book.xml index e7dda47102..bf248551c8 100644 --- a/reference/lzf/book.xml +++ b/reference/lzf/book.xml @@ -2,6 +2,7 @@ + LZF LZF diff --git a/reference/mailparse/book.xml b/reference/mailparse/book.xml index 3723fd210f..2fa7e96964 100644 --- a/reference/mailparse/book.xml +++ b/reference/mailparse/book.xml @@ -2,6 +2,7 @@ + Mailparse diff --git a/reference/mcrypt/book.xml b/reference/mcrypt/book.xml index 1ef604a05b..1194d4f5f5 100644 --- a/reference/mcrypt/book.xml +++ b/reference/mcrypt/book.xml @@ -2,7 +2,7 @@ - + Mcrypt diff --git a/reference/memcache/book.xml b/reference/memcache/book.xml index 92557d4079..a06bfe64a0 100644 --- a/reference/memcache/book.xml +++ b/reference/memcache/book.xml @@ -2,6 +2,7 @@ + Memcache diff --git a/reference/memcached/book.xml b/reference/memcached/book.xml index 09f7457753..d9bbe22643 100644 --- a/reference/memcached/book.xml +++ b/reference/memcached/book.xml @@ -2,6 +2,7 @@ + Memcached Memcached diff --git a/reference/mhash/book.xml b/reference/mhash/book.xml index b09019852b..4653416f7c 100644 --- a/reference/mhash/book.xml +++ b/reference/mhash/book.xml @@ -2,7 +2,7 @@ - + Mhash diff --git a/reference/mqseries/book.xml b/reference/mqseries/book.xml index 759f36b737..21f2e576eb 100644 --- a/reference/mqseries/book.xml +++ b/reference/mqseries/book.xml @@ -2,6 +2,7 @@ + mqseries diff --git a/reference/mysql/book.xml b/reference/mysql/book.xml index 5281bf76bc..a5a3b9c9d4 100644 --- a/reference/mysql/book.xml +++ b/reference/mysql/book.xml @@ -1,8 +1,7 @@ - - + - + Original MySQL API MySQL (Original) @@ -36,7 +35,6 @@ &reference.mysql.reference; - + Mysql_xdevapi Mysql_xdevapi diff --git a/reference/oauth/book.xml b/reference/oauth/book.xml index df98aabf62..057bae2fcb 100644 --- a/reference/oauth/book.xml +++ b/reference/oauth/book.xml @@ -2,6 +2,7 @@ + OAuth diff --git a/reference/openal/book.xml b/reference/openal/book.xml index 16ccf70acb..b5bb23d9ba 100644 --- a/reference/openal/book.xml +++ b/reference/openal/book.xml @@ -2,6 +2,7 @@ + OpenAL Audio Bindings OpenAL diff --git a/reference/parallel/book.xml b/reference/parallel/book.xml index 4231eeea5e..7fddce853a 100644 --- a/reference/parallel/book.xml +++ b/reference/parallel/book.xml @@ -2,6 +2,7 @@ + parallel parallel diff --git a/reference/parle/book.xml b/reference/parle/book.xml index ae56798891..22253860e4 100644 --- a/reference/parle/book.xml +++ b/reference/parle/book.xml @@ -2,6 +2,7 @@ + Parsing and lexing Parle diff --git a/reference/pcre/book.xml b/reference/pcre/book.xml index 8cb99ebdb1..185b4622d6 100644 --- a/reference/pcre/book.xml +++ b/reference/pcre/book.xml @@ -2,7 +2,7 @@ - + Regular Expressions (Perl-Compatible) PCRE diff --git a/reference/pdo_cubrid/reference.xml b/reference/pdo_cubrid/reference.xml index 1d790bc0b0..3d49b7a490 100644 --- a/reference/pdo_cubrid/reference.xml +++ b/reference/pdo_cubrid/reference.xml @@ -1,7 +1,6 @@ - - + CUBRID Functions (PDO_CUBRID) CUBRID (PDO) diff --git a/reference/pdo_ibm/reference.xml b/reference/pdo_ibm/reference.xml index bb905f6c62..6882bde6fb 100644 --- a/reference/pdo_ibm/reference.xml +++ b/reference/pdo_ibm/reference.xml @@ -1,7 +1,6 @@ - - + IBM Functions (PDO_IBM) IBM (PDO) diff --git a/reference/pdo_informix/reference.xml b/reference/pdo_informix/reference.xml index 41a0c9f03a..b5424e07f3 100644 --- a/reference/pdo_informix/reference.xml +++ b/reference/pdo_informix/reference.xml @@ -1,7 +1,6 @@ - - + Informix Functions (PDO_INFORMIX) Informix (PDO) diff --git a/reference/pdo_sqlsrv/reference.xml b/reference/pdo_sqlsrv/reference.xml index 26014724d6..8ad501bf2a 100644 --- a/reference/pdo_sqlsrv/reference.xml +++ b/reference/pdo_sqlsrv/reference.xml @@ -1,7 +1,6 @@ - - + Microsoft SQL Server Functions (PDO_SQLSRV) MS SQL Server (PDO) diff --git a/reference/phpdbg/book.xml b/reference/phpdbg/book.xml index 9f3cdbe3a9..f0e16d465d 100644 --- a/reference/phpdbg/book.xml +++ b/reference/phpdbg/book.xml @@ -2,6 +2,7 @@ + Interactive PHP Debugger phpdbg diff --git a/reference/ps/book.xml b/reference/ps/book.xml index b76c6a8d71..ae6d2cba94 100644 --- a/reference/ps/book.xml +++ b/reference/ps/book.xml @@ -1,9 +1,9 @@ - + PostScript document creation PS diff --git a/reference/pthreads/book.xml b/reference/pthreads/book.xml index 44e6283288..56369e29fb 100644 --- a/reference/pthreads/book.xml +++ b/reference/pthreads/book.xml @@ -2,6 +2,7 @@ + pthreads pthreads diff --git a/reference/radius/book.xml b/reference/radius/book.xml index cd8c81846f..c36e275564 100644 --- a/reference/radius/book.xml +++ b/reference/radius/book.xml @@ -2,6 +2,7 @@ + Radius diff --git a/reference/rar/book.xml b/reference/rar/book.xml index 47de5be5e2..c28a471885 100644 --- a/reference/rar/book.xml +++ b/reference/rar/book.xml @@ -2,6 +2,7 @@ + Rar Archiving Rar diff --git a/reference/recode/book.xml b/reference/recode/book.xml index a858fdcfe3..e90f00b168 100644 --- a/reference/recode/book.xml +++ b/reference/recode/book.xml @@ -2,7 +2,7 @@ - + GNU Recode Recode diff --git a/reference/rpminfo/book.xml b/reference/rpminfo/book.xml index e935030d29..4f2aeac183 100644 --- a/reference/rpminfo/book.xml +++ b/reference/rpminfo/book.xml @@ -2,6 +2,7 @@ + RpmInfo RpmInfo diff --git a/reference/rrd/book.xml b/reference/rrd/book.xml index b5b4a5bf8d..dc48e32b4c 100644 --- a/reference/rrd/book.xml +++ b/reference/rrd/book.xml @@ -2,6 +2,7 @@ + RRDtool RRD diff --git a/reference/runkit7/book.xml b/reference/runkit7/book.xml index 0e051bc3d1..88bcd9f948 100644 --- a/reference/runkit7/book.xml +++ b/reference/runkit7/book.xml @@ -2,6 +2,7 @@ + runkit7 runkit7 diff --git a/reference/scoutapm/book.xml b/reference/scoutapm/book.xml index e87b4db52c..c9499926d5 100644 --- a/reference/scoutapm/book.xml +++ b/reference/scoutapm/book.xml @@ -2,6 +2,7 @@ + ScoutAPM ScoutAPM diff --git a/reference/seaslog/book.xml b/reference/seaslog/book.xml index 693839fea8..add6df2546 100644 --- a/reference/seaslog/book.xml +++ b/reference/seaslog/book.xml @@ -2,6 +2,7 @@ + Seaslog Seaslog diff --git a/reference/solr/book.xml b/reference/solr/book.xml index 1dab8ebb05..27ff135b18 100644 --- a/reference/solr/book.xml +++ b/reference/solr/book.xml @@ -2,6 +2,7 @@ + Apache Solr Solr diff --git a/reference/sqlsrv/book.xml b/reference/sqlsrv/book.xml index 6f1c155d54..26b26aa84e 100644 --- a/reference/sqlsrv/book.xml +++ b/reference/sqlsrv/book.xml @@ -2,6 +2,7 @@ + Microsoft SQL Server Driver for PHP SQLSRV diff --git a/reference/ssdeep/book.xml b/reference/ssdeep/book.xml index aa4223a891..86beb5e893 100644 --- a/reference/ssdeep/book.xml +++ b/reference/ssdeep/book.xml @@ -1,7 +1,6 @@ - - + ssdeep Fuzzy Hashing ssdeep @@ -29,7 +28,6 @@ &reference.ssdeep.reference; - \ No newline at end of file +--> diff --git a/reference/ssh2/book.xml b/reference/ssh2/book.xml index f663fd3fff..65ea086f51 100644 --- a/reference/ssh2/book.xml +++ b/reference/ssh2/book.xml @@ -2,6 +2,7 @@ + Secure Shell2 SSH2 diff --git a/reference/stomp/book.xml b/reference/stomp/book.xml index f3ece2050c..079679ad80 100644 --- a/reference/stomp/book.xml +++ b/reference/stomp/book.xml @@ -2,6 +2,7 @@ + Stomp Client Stomp diff --git a/reference/svm/book.xml b/reference/svm/book.xml index 09217667dc..2b0949168f 100644 --- a/reference/svm/book.xml +++ b/reference/svm/book.xml @@ -2,6 +2,7 @@ + Support Vector Machine SVM diff --git a/reference/svn/book.xml b/reference/svn/book.xml index a8f5c0efc5..07847a7e70 100644 --- a/reference/svn/book.xml +++ b/reference/svn/book.xml @@ -3,6 +3,7 @@ + Subversion SVN diff --git a/reference/swoole/book.xml b/reference/swoole/book.xml index 9a4e3392bf..79a4b0c7ab 100644 --- a/reference/swoole/book.xml +++ b/reference/swoole/book.xml @@ -2,6 +2,7 @@ + Swoole @@ -76,4 +77,4 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +--> diff --git a/reference/sync/book.xml b/reference/sync/book.xml index bc25a8b854..4078c71cb3 100644 --- a/reference/sync/book.xml +++ b/reference/sync/book.xml @@ -2,6 +2,7 @@ + Sync Sync diff --git a/reference/taint/book.xml b/reference/taint/book.xml index 9359b17a60..ef5fb3a784 100644 --- a/reference/taint/book.xml +++ b/reference/taint/book.xml @@ -2,6 +2,7 @@ + Taint Taint diff --git a/reference/tcpwrap/book.xml b/reference/tcpwrap/book.xml index cb3f55dec4..79a58c999f 100644 --- a/reference/tcpwrap/book.xml +++ b/reference/tcpwrap/book.xml @@ -2,6 +2,7 @@ + TCP Wrappers TCP diff --git a/reference/trader/book.xml b/reference/trader/book.xml index d3dd4c95bb..c4e96d51f1 100644 --- a/reference/trader/book.xml +++ b/reference/trader/book.xml @@ -2,6 +2,7 @@ + Technical Analysis for Traders Trader diff --git a/reference/ui/book.xml b/reference/ui/book.xml index 30cb421490..224a80a7f9 100644 --- a/reference/ui/book.xml +++ b/reference/ui/book.xml @@ -2,6 +2,7 @@ + UI UI diff --git a/reference/uopz/book.xml b/reference/uopz/book.xml index a276ff75cc..c69a2ce9d6 100644 --- a/reference/uopz/book.xml +++ b/reference/uopz/book.xml @@ -2,6 +2,7 @@ + User Operations for Zend uopz diff --git a/reference/v8js/book.xml b/reference/v8js/book.xml index 93cb624953..7bc3c086f5 100644 --- a/reference/v8js/book.xml +++ b/reference/v8js/book.xml @@ -2,6 +2,7 @@ + V8 Javascript Engine Integration V8js diff --git a/reference/varnish/book.xml b/reference/varnish/book.xml index 42dade48e6..a564451431 100644 --- a/reference/varnish/book.xml +++ b/reference/varnish/book.xml @@ -2,6 +2,7 @@ + Varnish Varnish diff --git a/reference/wddx/book.xml b/reference/wddx/book.xml index 06b2c0bbfd..31e56c32d6 100644 --- a/reference/wddx/book.xml +++ b/reference/wddx/book.xml @@ -1,6 +1,5 @@ - - + WDDX @@ -36,7 +35,6 @@ &reference.wddx.reference; - + win32service diff --git a/reference/wincache/book.xml b/reference/wincache/book.xml index 0d5429ee6a..5077707ba2 100644 --- a/reference/wincache/book.xml +++ b/reference/wincache/book.xml @@ -2,6 +2,7 @@ + Windows Cache for PHP WinCache diff --git a/reference/wkhtmltox/book.xml b/reference/wkhtmltox/book.xml index ab9edc59f3..4a79d0cc5f 100644 --- a/reference/wkhtmltox/book.xml +++ b/reference/wkhtmltox/book.xml @@ -1,7 +1,8 @@ - + + wkhtmltox wkhtmltox @@ -20,7 +21,6 @@ &reference.wkhtmltox.wkhtmltox.image.converter; - + xattr diff --git a/reference/xdiff/book.xml b/reference/xdiff/book.xml index 1c50f463b6..f2e785bb0d 100644 --- a/reference/xdiff/book.xml +++ b/reference/xdiff/book.xml @@ -2,6 +2,7 @@ + xdiff diff --git a/reference/xhprof/book.xml b/reference/xhprof/book.xml index f05e59d16b..3dd17a123f 100644 --- a/reference/xhprof/book.xml +++ b/reference/xhprof/book.xml @@ -2,6 +2,7 @@ + Hierarchical Profiler Xhprof diff --git a/reference/xlswriter/book.xml b/reference/xlswriter/book.xml index 20dbe0a81a..2a30d78a15 100644 --- a/reference/xlswriter/book.xml +++ b/reference/xlswriter/book.xml @@ -2,6 +2,7 @@ + XLSWriter diff --git a/reference/xmldiff/book.xml b/reference/xmldiff/book.xml index cd9a440269..0cba52ef23 100644 --- a/reference/xmldiff/book.xml +++ b/reference/xmldiff/book.xml @@ -2,6 +2,7 @@ + XML diff and merge XMLDiff diff --git a/reference/xmlrpc/book.xml b/reference/xmlrpc/book.xml index 10db5e7f04..83c78204cc 100644 --- a/reference/xmlrpc/book.xml +++ b/reference/xmlrpc/book.xml @@ -1,9 +1,9 @@ - + - + XML-RPC diff --git a/reference/yac/book.xml b/reference/yac/book.xml index 142a22879e..450d4a32bb 100644 --- a/reference/yac/book.xml +++ b/reference/yac/book.xml @@ -2,6 +2,7 @@ + Yac Yac diff --git a/reference/yaconf/book.xml b/reference/yaconf/book.xml index 4b7072aad8..2bd59cde81 100644 --- a/reference/yaconf/book.xml +++ b/reference/yaconf/book.xml @@ -2,6 +2,7 @@ + Yaconf Yaconf diff --git a/reference/yaf/book.xml b/reference/yaf/book.xml index 9f9adc6906..a38b4091ce 100644 --- a/reference/yaf/book.xml +++ b/reference/yaf/book.xml @@ -2,6 +2,7 @@ + Yet Another Framework Yaf diff --git a/reference/yaml/book.xml b/reference/yaml/book.xml index b66fb15587..da77f301f0 100644 --- a/reference/yaml/book.xml +++ b/reference/yaml/book.xml @@ -2,6 +2,7 @@ + YAML Data Serialization Yaml diff --git a/reference/yar/book.xml b/reference/yar/book.xml index c7a7bc1c5d..8008475333 100644 --- a/reference/yar/book.xml +++ b/reference/yar/book.xml @@ -2,6 +2,7 @@ + Yet Another RPC Framework Yar diff --git a/reference/yaz/book.xml b/reference/yaz/book.xml index 1a64671284..2b48ccd559 100644 --- a/reference/yaz/book.xml +++ b/reference/yaz/book.xml @@ -2,6 +2,7 @@ + YAZ diff --git a/reference/zmq/book.xml b/reference/zmq/book.xml index c32821cc36..d7d7ed1682 100644 --- a/reference/zmq/book.xml +++ b/reference/zmq/book.xml @@ -2,6 +2,7 @@ + ZMQ 0MQ messaging diff --git a/reference/zookeeper/book.xml b/reference/zookeeper/book.xml index ee7c606e61..6c5ac92f65 100644 --- a/reference/zookeeper/book.xml +++ b/reference/zookeeper/book.xml @@ -2,6 +2,7 @@ + ZooKeeper ZooKeeper From ebbc2cff0fdccce5d9c9151b17ce9f8fe912b0d6 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Wed, 26 May 2021 02:24:27 +0100 Subject: [PATCH 275/444] Update extensions.xml file generated from doc-base script --- appendices/extensions.xml | 79 +++++++++++++++++++++++++++------------ 1 file changed, 56 insertions(+), 23 deletions(-) diff --git a/appendices/extensions.xml b/appendices/extensions.xml index 5a11104fd5..110e3a5b4d 100644 --- a/appendices/extensions.xml +++ b/appendices/extensions.xml @@ -1,5 +1,4 @@ - +
&extcat.state.experimental; From 68a99896d61952a0079f91cf5dda8d7d128aff16 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 1 Jun 2021 00:23:14 +0100 Subject: [PATCH 276/444] Add QA script to CI --- .github/workflows/integrate.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml index 68773ecab3..030de9159c 100644 --- a/.github/workflows/integrate.yaml +++ b/.github/workflows/integrate.yaml @@ -39,5 +39,8 @@ jobs: path: "doc-base" repository: "php/doc-base" + - name: "Quality Assurance scripts" + run: "php8.0 doc-base/scripts/qa/extensions.xml.php --check" + - name: "Build documentation for ${{ matrix.language }}" run: "php8.0 doc-base/configure.php --disable-libxml-check --enable-xml-details --redirect-stderr-to-stdout --with-lang=${{ matrix.language }}" From e9340fb6bcb73976f0d18225b9fdbb49ba034100 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 15 Jun 2021 11:35:07 +0200 Subject: [PATCH 277/444] Fix #54176: locale_compose accepts more than 3 extlang --- reference/intl/locale/compose-locale.xml | 87 +++++++++++++++++------- 1 file changed, 64 insertions(+), 23 deletions(-) diff --git a/reference/intl/locale/compose-locale.xml b/reference/intl/locale/compose-locale.xml index ddeb9af1b6..b43c944aee 100644 --- a/reference/intl/locale/compose-locale.xml +++ b/reference/intl/locale/compose-locale.xml @@ -42,22 +42,22 @@ subtags - an array containing a list of key-value pairs, where the keys identify + An &array; containing a list of key-value pairs, where the keys identify the particular locale ID subtags, and the values are the associated - subtag values. + subtag values. - The 'variant' and 'private' subtags can take maximum 15 values - whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed + The 'variant' and 'private' subtags can take maximum 15 values + whereas 'extlang' can take maximum 3 values. For instance, variants are allowed with the suffix ranging from 0-14. Hence the keys for the input array - can be variant0, variant1, ...,variant14. In the returned locale id, - the subtag is ordered by suffix resulting in variant0 followed by - variant1 followed by variant2 and so on. + can be variant0, variant1, …,variant14. In the returned locale id, + the subtag is ordered by suffix resulting in variant0 followed by + variant1 followed by variant2 and so on. - The 'variant', 'private' and 'extlang' multiple values can be specified both - as array under specific key (e.g. 'variant') and as multiple numbered keys - (e.g. 'variant0', 'variant1', etc.). + Alternatively, the 'variant', 'private' and 'extlang' values can be specified + as array under specific key (e.g. 'variant'). + In this case no limits on the number of recognized subtags apply. @@ -83,15 +83,15 @@ 'en' , - 'script' =>'Hans' , + 'language'=>'en', + 'script' =>'Hans', 'region' =>'CN', - 'variant2'=>'rozaj' , - 'variant1'=>'nedis' , - 'private1'=>'prv1' , - 'private2'=>'prv2' + 'variant2'=>'rozaj', + 'variant1'=>'nedis', + 'private1'=>'prv1', + 'private2'=>'prv2', ); -echo locale_compose( $arr ); +echo locale_compose($arr); ?> ]]> @@ -103,14 +103,14 @@ echo locale_compose( $arr ); 'en' , - 'script' =>'Hans' , + 'script' =>'Hans', 'region' =>'CN', - 'variant2'=>'rozaj' , - 'variant1'=>'nedis' , - 'private1'=>'prv1' , - 'private2'=>'prv2' + 'variant2'=>'rozaj', + 'variant1'=>'nedis', + 'private1'=>'prv1', + 'private2'=>'prv2', ); -echo Locale::composeLocale( $arr ); +echo Locale::composeLocale($arr); ?> ]]> @@ -119,6 +119,47 @@ echo Locale::composeLocale( $arr ); + + + + Subtag limits + + If subtags are given as separate keys with numeric suffix, + unsupported keys are silently ignored (in this case 'extlang3'), + and ordered in the result by numeric suffix. + There are no limits, if subtags are given as &array;; the order is as given. + + + 'en', + 'script' => 'Hans', + 'region' => 'CN', + 'extlang3' => 'd', + 'extlang2' => 'c', + 'extlang1' => 'b', + 'extlang0' => 'a', +); +echo locale_compose($arr), PHP_EOL; + +$arr = array( + 'language' => 'en', + 'script' => 'Hans', + 'region' => 'CN', + 'extlang' => ['a', 'b', 'c', 'd'], +); +echo locale_compose($arr), PHP_EOL; +?> +]]> + + + &example.outputs; + + From 4287d6eadbbce3eba543de13cd4520b6b204aed1 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 15 Jun 2021 15:08:31 +0300 Subject: [PATCH 278/444] Fix sodium_bin2hex description (#690) --- reference/sodium/functions/sodium-bin2hex.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sodium/functions/sodium-bin2hex.xml b/reference/sodium/functions/sodium-bin2hex.xml index 1bc84c88ab..7fbbd66228 100644 --- a/reference/sodium/functions/sodium-bin2hex.xml +++ b/reference/sodium/functions/sodium-bin2hex.xml @@ -27,7 +27,7 @@ string - Hex encoded string + Raw binary string. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - Decoded string. + Hex encoded string. From d91e36266dddbe570789dbe218e5672fc0b85089 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 15 Jun 2021 18:27:03 +0300 Subject: [PATCH 279/444] Fix issues in mcrypt and datetime directories (#691) Part of #658 --- reference/datetime/functions/localtime.xml | 125 ++++++++++-------- reference/datetime/functions/time.xml | 12 ++ .../mcrypt/functions/mdecrypt-generic.xml | 7 + 3 files changed, 86 insertions(+), 58 deletions(-) diff --git a/reference/datetime/functions/localtime.xml b/reference/datetime/functions/localtime.xml index 4950920016..25f41c375e 100644 --- a/reference/datetime/functions/localtime.xml +++ b/reference/datetime/functions/localtime.xml @@ -31,64 +31,8 @@ associative - If set to &false; or not supplied then the array is returned as a regular, - numerically indexed array. If the argument is set to &true; then - localtime returns an associative array containing - all the different elements of the structure returned by the C - function call to localtime. The names of the different keys of - the associative array are as follows: - - - - - - "tm_sec" - seconds, 0 to 59 - - - - - "tm_min" - minutes, 0 to 59 - - - - - "tm_hour" - hours, 0 to 23 - - - - - "tm_mday" - day of the month, 1 to 31 - - - - - "tm_mon" - month of the year, 0 (Jan) to 11 (Dec) - - - - - "tm_year" - years since 1900 - - - - - "tm_wday" - day of the week, 0 (Sun) to 6 (Sat) - - - - - "tm_yday" - day of the year, 0 to 365 - - - - - "tm_isdst" - is daylight savings time in effect? - - - Positive if yes, 0 if not, negative if unknown. - - - + Determines whether the function should return a regular, numerically indexed array, + or an associative one. @@ -96,6 +40,71 @@ + + &reftitle.returnvalues; + + If associative is set to &false; or not supplied then + the array is returned as a regular, numerically indexed array. + If associative is set to &true; then + localtime returns an associative array containing + all the different elements of the structure returned by the C + function call to localtime. + The names of the different keys of the associative array are as follows: + + + + + + "tm_sec" - seconds, 0 to 59 + + + + + "tm_min" - minutes, 0 to 59 + + + + + "tm_hour" - hours, 0 to 23 + + + + + "tm_mday" - day of the month, 1 to 31 + + + + + "tm_mon" - month of the year, 0 (Jan) to 11 (Dec) + + + + + "tm_year" - years since 1900 + + + + + "tm_wday" - day of the week, 0 (Sun) to 6 (Sat) + + + + + "tm_yday" - day of the year, 0 to 365 + + + + + "tm_isdst" - is daylight savings time in effect? + + + Positive if yes, 0 if not, negative if unknown. + + + + + + &reftitle.errors; diff --git a/reference/datetime/functions/time.xml b/reference/datetime/functions/time.xml index a805cbef18..35607fc512 100644 --- a/reference/datetime/functions/time.xml +++ b/reference/datetime/functions/time.xml @@ -18,6 +18,18 @@ + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + Returns the current timestamp. + + + &reftitle.examples; diff --git a/reference/mcrypt/functions/mdecrypt-generic.xml b/reference/mcrypt/functions/mdecrypt-generic.xml index c86878921b..ef529b8d16 100644 --- a/reference/mcrypt/functions/mdecrypt-generic.xml +++ b/reference/mcrypt/functions/mdecrypt-generic.xml @@ -47,6 +47,13 @@ + + &reftitle.returnvalues; + + Returns decrypted string. + + + &reftitle.examples; From 7e0812ffc3e0f2a6a7e93c34f5b065422675d2ef Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 16 Jun 2021 13:55:39 +0300 Subject: [PATCH 280/444] Improvement sodium functions description (#695) --- reference/sodium/functions/sodium-crypto-box-secretkey.xml | 2 +- reference/sodium/functions/sodium-crypto-box-seed-keypair.xml | 2 +- reference/sodium/functions/sodium-crypto-sign-seed-keypair.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/sodium/functions/sodium-crypto-box-secretkey.xml b/reference/sodium/functions/sodium-crypto-box-secretkey.xml index 4c65bd669e..1afb2f0808 100644 --- a/reference/sodium/functions/sodium-crypto-box-secretkey.xml +++ b/reference/sodium/functions/sodium-crypto-box-secretkey.xml @@ -3,7 +3,7 @@ sodium_crypto_box_secretkey - Description + Extracts the secret key from a crypto_box keypair diff --git a/reference/sodium/functions/sodium-crypto-box-seed-keypair.xml b/reference/sodium/functions/sodium-crypto-box-seed-keypair.xml index 371a8b51b7..a1f1cc6808 100644 --- a/reference/sodium/functions/sodium-crypto-box-seed-keypair.xml +++ b/reference/sodium/functions/sodium-crypto-box-seed-keypair.xml @@ -17,7 +17,7 @@ The *_seed_keypair functions are ideal for generating a keypair from a - password and salt. Use the result as a "seed" to generate the desired keys. + password and salt. Use the result as a seed to generate the desired keys. diff --git a/reference/sodium/functions/sodium-crypto-sign-seed-keypair.xml b/reference/sodium/functions/sodium-crypto-sign-seed-keypair.xml index 11e9687d63..5bb9c8c842 100644 --- a/reference/sodium/functions/sodium-crypto-sign-seed-keypair.xml +++ b/reference/sodium/functions/sodium-crypto-sign-seed-keypair.xml @@ -17,7 +17,7 @@ The *_seed_keypair functions are ideal for generating a keypair from a - password and salt. Use the result as a "seed" to generate the desired keys. + password and salt. Use the result as a seed to generate the desired keys. From 22fa19e2534e0749ee98b0f4dec87a3237006f8a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 16 Jun 2021 18:08:30 +0200 Subject: [PATCH 281/444] Clarify parse_url() behavior for invalid URLs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For invalid URLs, parse_url() may return nonsense – all bets are off. --- reference/url/functions/parse-url.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/url/functions/parse-url.xml b/reference/url/functions/parse-url.xml index 26d58904b5..e7766550c9 100644 --- a/reference/url/functions/parse-url.xml +++ b/reference/url/functions/parse-url.xml @@ -20,7 +20,7 @@ This function is not meant to validate - the given URL, it only breaks it up into the above listed parts. Partial + the given URL, it only breaks it up into the above listed parts. Partial and invalid URLs are also accepted, parse_url tries its best to parse them correctly. From 9e3e335d2f2319d11323185445fe91fb40352fe9 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 17 Jun 2021 17:33:00 +0200 Subject: [PATCH 282/444] Fix #81157: Wrong documentation for \Ds\Set::__construct Unfortunately, the parameter doesn't have a default yet. --- reference/ds/ds/set/construct.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/ds/ds/set/construct.xml b/reference/ds/ds/set/construct.xml index 6157581d45..a7ec8470b0 100644 --- a/reference/ds/ds/set/construct.xml +++ b/reference/ds/ds/set/construct.xml @@ -11,7 +11,7 @@ &reftitle.description; public Ds\Set::__construct - mixedvalues + mixedvalues Creates a new instance, using either a traversable From d2621c5028c5f1391ee36b39bfbec45dd2f1b515 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 17 Jun 2021 19:01:30 +0300 Subject: [PATCH 283/444] Remove undocumented tag --- .../sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml index 644cf52752..bf12152dca 100644 --- a/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml +++ b/reference/sodium/functions/sodium-crypto-aead-aes256gcm-encrypt.xml @@ -20,8 +20,6 @@ Only available if sodium_crypto_aead_aes256gcm_is_available returns &true;. - &warn.undocumented.func; - From e9a40dae7c878ad5f6355e6dff667773ea437705 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 17 Jun 2021 18:04:32 +0200 Subject: [PATCH 284/444] Add initializer Omitting the parameter behaves like an empty array has been passed. --- reference/ds/ds/set/construct.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/ds/ds/set/construct.xml b/reference/ds/ds/set/construct.xml index a7ec8470b0..a8701a7968 100644 --- a/reference/ds/ds/set/construct.xml +++ b/reference/ds/ds/set/construct.xml @@ -11,7 +11,7 @@ &reftitle.description; public Ds\Set::__construct - mixedvalues + mixedvalues[] Creates a new instance, using either a traversable From 4807f1a19e7fafc1d9fa0ac49a2beb368c6206fa Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Thu, 17 Jun 2021 16:51:24 -0500 Subject: [PATCH 285/444] Fold in comments from is_callable() page Co-authored-by: Christoph M. Becker Closes GH-689. --- reference/var/functions/is-callable.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/reference/var/functions/is-callable.xml b/reference/var/functions/is-callable.xml index 9c55aac3c5..6e899e06e0 100644 --- a/reference/var/functions/is-callable.xml +++ b/reference/var/functions/is-callable.xml @@ -4,7 +4,7 @@ is_callable - Verify that the contents of a variable can be called as a function + Verify that a value can be called as a function from the current scope. @@ -151,6 +151,23 @@ bool(false) + + + + An object is always callable if it implements __invoke(), + and that method is visible in the current scope. + + A class name is callable if it implements __callStatic() + + If an object implements __call(), then this function will + return true for any method on that object, even if the method is not defined. + + + This function may trigger autoloading if called with the name of a class. + + + + &reftitle.seealso; From dcf9bf48cdcf96a7261c1b3b621fb1700ca0ad3e Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 18 Jun 2021 09:41:59 +0300 Subject: [PATCH 286/444] Fix some issues in parallel directory (#694) --- .../parallel/functions/parallel.bootstrap.xml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/reference/parallel/functions/parallel.bootstrap.xml b/reference/parallel/functions/parallel.bootstrap.xml index a4cf75ff81..8542f99eb8 100644 --- a/reference/parallel/functions/parallel.bootstrap.xml +++ b/reference/parallel/functions/parallel.bootstrap.xml @@ -18,8 +18,31 @@ - - Exceptions + + &reftitle.parameters; + + + + file + + + Path to the file to bootstrap all runtimes. + + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; Shall throw parallel\Runtime\Error\Bootstrap if previously called for this process. From e6553e39c9d6a20588c464b9af07cbdf07cfe07d Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 18 Jun 2021 09:43:49 +0300 Subject: [PATCH 287/444] Fix some issues in radius directory (#698) --- .../radius/functions/radius-acct-open.xml | 5 ++ .../radius/functions/radius-auth-open.xml | 5 ++ reference/radius/functions/radius-close.xml | 9 ++++ .../radius/functions/radius-cvt-addr.xml | 25 +++++++++- reference/radius/functions/radius-cvt-int.xml | 23 ++++++++++ .../radius/functions/radius-cvt-string.xml | 24 +++++++++- .../functions/radius-demangle-mppe-key.xml | 17 +++++++ .../radius/functions/radius-demangle.xml | 17 +++++++ .../radius/functions/radius-get-attr.xml | 9 ++++ .../functions/radius-get-vendor-attr.xml | 16 +++++++ .../radius/functions/radius-put-attr.xml | 46 +++++++++---------- .../radius-request-authenticator.xml | 9 ++++ .../radius/functions/radius-send-request.xml | 9 ++++ .../radius/functions/radius-server-secret.xml | 9 ++++ .../radius/functions/radius-strerror.xml | 10 ++++ 15 files changed, 208 insertions(+), 25 deletions(-) diff --git a/reference/radius/functions/radius-acct-open.xml b/reference/radius/functions/radius-acct-open.xml index 1ece573975..283ab706da 100644 --- a/reference/radius/functions/radius-acct-open.xml +++ b/reference/radius/functions/radius-acct-open.xml @@ -17,6 +17,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-auth-open.xml b/reference/radius/functions/radius-auth-open.xml index 5e54fe9036..60886bb8d8 100644 --- a/reference/radius/functions/radius-auth-open.xml +++ b/reference/radius/functions/radius-auth-open.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-close.xml b/reference/radius/functions/radius-close.xml index 56394ce78d..5bac7fb896 100644 --- a/reference/radius/functions/radius-close.xml +++ b/reference/radius/functions/radius-close.xml @@ -19,6 +19,15 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-cvt-addr.xml b/reference/radius/functions/radius-cvt-addr.xml index ca48e99a3e..dec2b86973 100644 --- a/reference/radius/functions/radius-cvt-addr.xml +++ b/reference/radius/functions/radius-cvt-addr.xml @@ -14,7 +14,30 @@ stringdata - + Converts raw data to IP-Address + + + + + &reftitle.parameters; + + + + data + + + Input data + + + + + + + + + &reftitle.returnvalues; + + Returns the IP-Address. diff --git a/reference/radius/functions/radius-cvt-int.xml b/reference/radius/functions/radius-cvt-int.xml index 611b900104..a820977319 100644 --- a/reference/radius/functions/radius-cvt-int.xml +++ b/reference/radius/functions/radius-cvt-int.xml @@ -14,7 +14,30 @@ stringdata + Converts raw data to integer + + + + &reftitle.parameters; + + + + data + + + Input data + + + + + + + + + &reftitle.returnvalues; + + Returns the integer, retrieved from data. diff --git a/reference/radius/functions/radius-cvt-string.xml b/reference/radius/functions/radius-cvt-string.xml index 106428e11f..ef139354da 100644 --- a/reference/radius/functions/radius-cvt-string.xml +++ b/reference/radius/functions/radius-cvt-string.xml @@ -14,10 +14,32 @@ stringdata - + Converts raw data to string + + &reftitle.parameters; + + + + data + + + Input data + + + + + + + + + &reftitle.returnvalues; + + Returns the string, retrieved from data. + + &reftitle.examples; diff --git a/reference/radius/functions/radius-demangle-mppe-key.xml b/reference/radius/functions/radius-demangle-mppe-key.xml index 7cc8446856..a515dc1c94 100644 --- a/reference/radius/functions/radius-demangle-mppe-key.xml +++ b/reference/radius/functions/radius-demangle-mppe-key.xml @@ -22,6 +22,23 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + mangled + + + The mangled data to demangle + + + + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-demangle.xml b/reference/radius/functions/radius-demangle.xml index f54650e1c1..3cd6778f82 100644 --- a/reference/radius/functions/radius-demangle.xml +++ b/reference/radius/functions/radius-demangle.xml @@ -20,6 +20,23 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + mangled + + + The mangled data to demangle + + + + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-get-attr.xml b/reference/radius/functions/radius-get-attr.xml index c76888eaec..d64399819c 100644 --- a/reference/radius/functions/radius-get-attr.xml +++ b/reference/radius/functions/radius-get-attr.xml @@ -23,6 +23,15 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-get-vendor-attr.xml b/reference/radius/functions/radius-get-vendor-attr.xml index bbb389ae77..28fae2c107 100644 --- a/reference/radius/functions/radius-get-vendor-attr.xml +++ b/reference/radius/functions/radius-get-vendor-attr.xml @@ -21,6 +21,22 @@ + + &reftitle.parameters; + + + + data + + + Input data + + + + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-put-attr.xml b/reference/radius/functions/radius-put-attr.xml index 9b87844b33..dc1b0439ba 100644 --- a/reference/radius/functions/radius-put-attr.xml +++ b/reference/radius/functions/radius-put-attr.xml @@ -50,29 +50,6 @@ - - &reftitle.examples; - - - <function>radius_put_attr</function> example - -"; - exit; -} -?> -]]> - - - - - &reftitle.changelog; @@ -98,6 +75,29 @@ if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) { + + &reftitle.examples; + + + <function>radius_put_attr</function> example + + "; + exit; +} +?> +]]> + + + + + &reftitle.seealso; diff --git a/reference/radius/functions/radius-request-authenticator.xml b/reference/radius/functions/radius-request-authenticator.xml index edeec62f2a..de39991bad 100644 --- a/reference/radius/functions/radius-request-authenticator.xml +++ b/reference/radius/functions/radius-request-authenticator.xml @@ -19,6 +19,15 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-send-request.xml b/reference/radius/functions/radius-send-request.xml index c79fa8567d..3af0b72b95 100644 --- a/reference/radius/functions/radius-send-request.xml +++ b/reference/radius/functions/radius-send-request.xml @@ -24,6 +24,15 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-server-secret.xml b/reference/radius/functions/radius-server-secret.xml index c77c1526fe..5df2c5c53e 100644 --- a/reference/radius/functions/radius-server-secret.xml +++ b/reference/radius/functions/radius-server-secret.xml @@ -19,6 +19,15 @@ + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; diff --git a/reference/radius/functions/radius-strerror.xml b/reference/radius/functions/radius-strerror.xml index 0bbb20393d..06c449fb02 100644 --- a/reference/radius/functions/radius-strerror.xml +++ b/reference/radius/functions/radius-strerror.xml @@ -18,6 +18,16 @@ message can be retrieved with this function. + + + &reftitle.parameters; + + + &radius.parameter.handle; + + + + &reftitle.returnvalues; From 83a17a7324c2597bd6385148abf19f76127229f5 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 18 Jun 2021 10:51:28 +0200 Subject: [PATCH 288/444] Fix notes section of is_callable() Cf. . --- reference/var/functions/is-callable.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reference/var/functions/is-callable.xml b/reference/var/functions/is-callable.xml index 6e899e06e0..b3291b67e4 100644 --- a/reference/var/functions/is-callable.xml +++ b/reference/var/functions/is-callable.xml @@ -152,15 +152,18 @@ bool(false) + &reftitle.notes; - An object is always callable if it implements __invoke(), + An object is always callable if it implements __invoke(), and that method is visible in the current scope. - A class name is callable if it implements __callStatic() - If an object implements __call(), then this function will - return true for any method on that object, even if the method is not defined. + A class name is callable if it implements __callStatic(). + + + If an object implements __call(), then this function will + return &true; for any method on that object, even if the method is not defined. This function may trigger autoloading if called with the name of a class. From 4a9a553afc482e0a6df8e70a403342669437b62c Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 18 Jun 2021 14:15:33 +0300 Subject: [PATCH 289/444] Fix issues in mysqli directory (#700) --- .../mysqli/functions/mysqli-get-client-stats.xml | 6 +++++- reference/mysqli/mysqli/get-connection-stats.xml | 6 +++++- reference/mysqli/mysqli/poll.xml | 6 +++++- reference/mysqli/mysqli/reap-async-query.xml | 6 +++++- reference/mysqli/mysqli_result/fetch-all.xml | 13 +++++-------- reference/mysqli/mysqli_stmt/get-result.xml | 13 +++++-------- reference/mysqli/mysqli_stmt/more-results.xml | 13 +++++-------- reference/mysqli/mysqli_stmt/next-result.xml | 13 +++++-------- 8 files changed, 40 insertions(+), 36 deletions(-) diff --git a/reference/mysqli/functions/mysqli-get-client-stats.xml b/reference/mysqli/functions/mysqli-get-client-stats.xml index b2dbcc5c2f..aa398609d2 100644 --- a/reference/mysqli/functions/mysqli-get-client-stats.xml +++ b/reference/mysqli/functions/mysqli-get-client-stats.xml @@ -14,8 +14,12 @@ Returns client per-process statistics. - &mysqli.available.mysqlnd; + + + &mysqli.available.mysqlnd; + + diff --git a/reference/mysqli/mysqli/get-connection-stats.xml b/reference/mysqli/mysqli/get-connection-stats.xml index 304c0f56be..aa21ee97af 100644 --- a/reference/mysqli/mysqli/get-connection-stats.xml +++ b/reference/mysqli/mysqli/get-connection-stats.xml @@ -21,8 +21,12 @@ Returns statistics about the client connection. - &mysqli.available.mysqlnd; + + + &mysqli.available.mysqlnd; + + diff --git a/reference/mysqli/mysqli/poll.xml b/reference/mysqli/mysqli/poll.xml index 52071d5b3a..8e6e83737f 100644 --- a/reference/mysqli/mysqli/poll.xml +++ b/reference/mysqli/mysqli/poll.xml @@ -29,10 +29,14 @@ Poll connections. - &mysqli.available.mysqlnd; The method can be used as static. + + + &mysqli.available.mysqlnd; + + diff --git a/reference/mysqli/mysqli/reap-async-query.xml b/reference/mysqli/mysqli/reap-async-query.xml index 0f61e33477..da4a0d413f 100644 --- a/reference/mysqli/mysqli/reap-async-query.xml +++ b/reference/mysqli/mysqli/reap-async-query.xml @@ -21,8 +21,12 @@ Get result from async query. - &mysqli.available.mysqlnd; + + + &mysqli.available.mysqlnd; + + diff --git a/reference/mysqli/mysqli_result/fetch-all.xml b/reference/mysqli/mysqli_result/fetch-all.xml index f067e41402..e4439fb345 100644 --- a/reference/mysqli/mysqli_result/fetch-all.xml +++ b/reference/mysqli/mysqli_result/fetch-all.xml @@ -24,6 +24,11 @@ Returns a two-dimensional array of all result rows as an associative array, a numeric array, or both. + + + &mysqli.available.mysqlnd; + + @@ -53,14 +58,6 @@ - - &reftitle.mysqlnd; - - - &mysqli.available.mysqlnd; - - - &reftitle.examples; diff --git a/reference/mysqli/mysqli_stmt/get-result.xml b/reference/mysqli/mysqli_stmt/get-result.xml index ab099f6cae..dd27572d99 100644 --- a/reference/mysqli/mysqli_stmt/get-result.xml +++ b/reference/mysqli/mysqli_stmt/get-result.xml @@ -22,6 +22,11 @@ Call to return a result set from a prepared statement query. + + + &mysqli.available.mysqlnd; + + @@ -45,14 +50,6 @@ - - &reftitle.mysqlnd; - - - &mysqli.available.mysqlnd; - - - &reftitle.examples; diff --git a/reference/mysqli/mysqli_stmt/more-results.xml b/reference/mysqli/mysqli_stmt/more-results.xml index fd4a47b7f1..eac3a0e830 100644 --- a/reference/mysqli/mysqli_stmt/more-results.xml +++ b/reference/mysqli/mysqli_stmt/more-results.xml @@ -22,6 +22,11 @@ Checks if there are more query results from a multiple query. + + + &mysqli.available.mysqlnd; + + @@ -40,14 +45,6 @@ - - &reftitle.mysqlnd; - - - &mysqli.available.mysqlnd; - - - &reftitle.seealso; diff --git a/reference/mysqli/mysqli_stmt/next-result.xml b/reference/mysqli/mysqli_stmt/next-result.xml index 812ab25ae4..08c97bf09c 100644 --- a/reference/mysqli/mysqli_stmt/next-result.xml +++ b/reference/mysqli/mysqli_stmt/next-result.xml @@ -22,6 +22,11 @@ Reads the next result from a multiple query. + + + &mysqli.available.mysqlnd; + + @@ -49,14 +54,6 @@ - - &reftitle.mysqlnd; - - - &mysqli.available.mysqlnd; - - - &reftitle.seealso; From b1a15df084fc1a064407afe7c747490580c509ac Mon Sep 17 00:00:00 2001 From: othercorey Date: Sun, 20 Jun 2021 01:02:21 -0500 Subject: [PATCH 290/444] Fix whether misspelling (#705) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix whether misspelling * Update isrepeated.xml Co-authored-by: 沈唁 <52o@qq52o.cn> --- reference/reflection/reflectionattribute/isrepeated.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/reflection/reflectionattribute/isrepeated.xml b/reference/reflection/reflectionattribute/isrepeated.xml index 7814385185..c4e465dcb3 100644 --- a/reference/reflection/reflectionattribute/isrepeated.xml +++ b/reference/reflection/reflectionattribute/isrepeated.xml @@ -4,7 +4,7 @@ ReflectionAttribute::isRepeated - Returns weather the attribute of this name could occur repeatedly on a code element. + Returns whether the attribute of this name could occur repeatedly on a code element. @@ -14,7 +14,7 @@ - Returns weather the attribute of this name could occur repeatedly on a code element. + Returns whether the attribute of this name could occur repeatedly on a code element. From 5a945dfef09a9595c83855cdb858ffa4a96af305 Mon Sep 17 00:00:00 2001 From: Amritpal Nagra Date: Mon, 21 Jun 2021 14:11:19 +0530 Subject: [PATCH 291/444] fix link from predefined to magic constants Closes GH-706. --- language/constants.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/constants.xml b/language/constants.xml index f422f7eab5..a87f837b56 100644 --- a/language/constants.xml +++ b/language/constants.xml @@ -6,7 +6,7 @@ A constant is an identifier (name) for a simple value. As the name suggests, that value cannot change during the execution of the - script (except for + script (except for magic constants, which aren't actually constants). Constants are case-sensitive. By convention, constant identifiers are always uppercase. From 1f7d8b1ee9e6c7350857ddc8bfce248a65a29787 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 21 Jun 2021 15:00:16 +0200 Subject: [PATCH 292/444] Fix #81179: fileperms() return wrong access information --- reference/filesystem/functions/stat.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reference/filesystem/functions/stat.xml b/reference/filesystem/functions/stat.xml index 02f9764262..6e3bbd5e7a 100644 --- a/reference/filesystem/functions/stat.xml +++ b/reference/filesystem/functions/stat.xml @@ -70,7 +70,7 @@ 2 mode - inode protection mode + inode protection mode ***** 3 @@ -145,6 +145,11 @@ which is a 64-bit unsigned integer, so may overflow. Previously, it was always 0. + + ***** On Windows, the writable permission bit is set according to the read-only + file attribute, and the same value is reported for all users, group and owner. + The ACL is not taken into account, contrary to is_writable. + The value of mode contains information read by several functions. When written in octal, starting from the right, the first three digits are returned by From a3a4cd9bea4344966897f9d83f92daf31e4b7b8e Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Mon, 21 Jun 2021 11:36:48 -0400 Subject: [PATCH 293/444] Use a better example for using header() to set status code This may be the first thing users see when searching how to set the response code - most will not be familiar with differences between http/1.0 and 1.1 - HTTP/1.0 does not support connection keepalive - http_response_code(404) is a shorter way to set a status code with the default status message https://www.php.net/manual/en/function.header.php#92305 also mentions that the wrong protocol can cause issues with (older?) web servers Closes GH-709. --- reference/network/functions/header.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reference/network/functions/header.xml b/reference/network/functions/header.xml index c25855fb73..7e15f3d8f3 100644 --- a/reference/network/functions/header.xml +++ b/reference/network/functions/header.xml @@ -67,7 +67,12 @@ exit; ]]> From 0d69739d2c67b351921b44f5cfffe573eacc699c Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 22 Jun 2021 12:44:48 +0300 Subject: [PATCH 294/444] Fix issues in pthreads directory (#711) --- reference/pthreads/collectable/setgarbage.xml | 12 ++++++++++++ reference/pthreads/threaded/pop.xml | 5 +++++ reference/pthreads/threaded/shift.xml | 5 +++++ 3 files changed, 22 insertions(+) diff --git a/reference/pthreads/collectable/setgarbage.xml b/reference/pthreads/collectable/setgarbage.xml index f321ca96c0..ef2c92e56a 100644 --- a/reference/pthreads/collectable/setgarbage.xml +++ b/reference/pthreads/collectable/setgarbage.xml @@ -26,6 +26,18 @@ + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.seealso; diff --git a/reference/pthreads/threaded/pop.xml b/reference/pthreads/threaded/pop.xml index cff8d541f5..5b9312dd55 100644 --- a/reference/pthreads/threaded/pop.xml +++ b/reference/pthreads/threaded/pop.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; diff --git a/reference/pthreads/threaded/shift.xml b/reference/pthreads/threaded/shift.xml index 166ad8d841..56193936c0 100644 --- a/reference/pthreads/threaded/shift.xml +++ b/reference/pthreads/threaded/shift.xml @@ -18,6 +18,11 @@ + + &reftitle.parameters; + &no.function.parameters; + + &reftitle.returnvalues; From 12081e88fbd683e58a029153afd57f043df9721b Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 23 Jun 2021 06:27:03 +0300 Subject: [PATCH 295/444] Update installation guide for macOS Monterey (#708) --- install/macos/bundled.xml | 6 +++--- install/macos/index.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/install/macos/bundled.xml b/install/macos/bundled.xml index 99a0849a0b..60375b64ae 100644 --- a/install/macos/bundled.xml +++ b/install/macos/bundled.xml @@ -1,10 +1,10 @@ - Using the bundled PHP + Using the bundled PHP prior to macOS Monterey - PHP has come standard with Macs since Mac OS X version 10.0.0. Enabling PHP - with the default web server requires uncommenting a few lines in the + PHP is bundled with macOS since macOS X (10.0.0) prior to macOS Monterey (12.0.0). + Enabling PHP with the default web server requires uncommenting a few lines in the Apache configuration file httpd.conf whereas the CGI and/or CLI are enabled by default (easily accessible via the Terminal program). diff --git a/install/macos/index.xml b/install/macos/index.xml index a37789616b..6915026c1b 100644 --- a/install/macos/index.xml +++ b/install/macos/index.xml @@ -4,8 +4,8 @@ Installation on macOS This section contains notes and hints specific to installing PHP on macOS. - PHP is bundled with Macs, and compiling is similar to the - Unix installation guide. + PHP is bundled with macOS since macOS X (10.0.0) prior to macOS Monterey (12.0.0). + Compiling is similar to the Unix installation guide. &install.macos.packages; &install.macos.bundled; From a2cd8e7de35cf572b76b08f6407d4a6cc95e078a Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 23 Jun 2021 12:51:01 +0300 Subject: [PATCH 296/444] Fix issues in memcached directory (#714) --- reference/memcached/memcached/setoption.xml | 44 +++++++++++++++------ 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/reference/memcached/memcached/setoption.xml b/reference/memcached/memcached/setoption.xml index 514010ef76..40f4592fc7 100644 --- a/reference/memcached/memcached/setoption.xml +++ b/reference/memcached/memcached/setoption.xml @@ -17,19 +17,41 @@ This method sets the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are - specific to the extension. See Memcached Constants for more - information. + specific to the extension. + + + + &reftitle.parameters; - The options listed below require values specified via constants. - - - Memcached::OPT_HASH requires Memcached::HASH_* values. - - - Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values. - - + + + option + + + One of the Memcached::OPT_* constant. + See Memcached Constants for more information. + + + + + value + + + The value to be set. + + + + The options listed below require values specified via constants. + + Memcached::OPT_HASH requires Memcached::HASH_* values. + Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values. + + + + + + From 1f801a1187777ac1ec620e0a228d55e483f2757b Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 23 Jun 2021 13:41:35 +0300 Subject: [PATCH 297/444] LDAP link identifier replaced with LDAP resource (#715) --- language-snippets.ent | 2 ++ reference/ldap/functions/ldap-add.xml | 2 +- reference/ldap/functions/ldap-bind.xml | 2 +- reference/ldap/functions/ldap-compare.xml | 2 +- reference/ldap/functions/ldap-control-paged-result-response.xml | 2 +- reference/ldap/functions/ldap-control-paged-result.xml | 2 +- reference/ldap/functions/ldap-count-entries.xml | 2 +- reference/ldap/functions/ldap-delete.xml | 2 +- reference/ldap/functions/ldap-errno.xml | 2 +- reference/ldap/functions/ldap-error.xml | 2 +- reference/ldap/functions/ldap-exop-passwd.xml | 2 +- reference/ldap/functions/ldap-exop-refresh.xml | 2 +- reference/ldap/functions/ldap-exop-whoami.xml | 2 +- reference/ldap/functions/ldap-exop.xml | 2 +- reference/ldap/functions/ldap-first-attribute.xml | 2 +- reference/ldap/functions/ldap-first-entry.xml | 2 +- reference/ldap/functions/ldap-get-attributes.xml | 2 +- reference/ldap/functions/ldap-get-dn.xml | 2 +- reference/ldap/functions/ldap-get-entries.xml | 2 +- reference/ldap/functions/ldap-get-option.xml | 2 +- reference/ldap/functions/ldap-get-values-len.xml | 2 +- reference/ldap/functions/ldap-get-values.xml | 2 +- reference/ldap/functions/ldap-list.xml | 2 +- reference/ldap/functions/ldap-mod-add.xml | 2 +- reference/ldap/functions/ldap-mod-del.xml | 2 +- reference/ldap/functions/ldap-mod-replace.xml | 2 +- reference/ldap/functions/ldap-modify-batch.xml | 2 +- reference/ldap/functions/ldap-next-attribute.xml | 2 +- reference/ldap/functions/ldap-next-entry.xml | 2 +- reference/ldap/functions/ldap-parse-exop.xml | 2 +- reference/ldap/functions/ldap-parse-result.xml | 2 +- reference/ldap/functions/ldap-read.xml | 2 +- reference/ldap/functions/ldap-rename.xml | 2 +- reference/ldap/functions/ldap-search.xml | 2 +- reference/ldap/functions/ldap-set-option.xml | 2 +- reference/ldap/functions/ldap-sort.xml | 2 +- reference/ldap/functions/ldap-unbind.xml | 2 +- 37 files changed, 38 insertions(+), 36 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index 5cf9f85b75..e1b80b263c 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1023,6 +1023,8 @@ Passing untrusted data to this parameter is insecure, unles +ldap_connect.'> + This function has been DEPRECATED as of PHP 7.4.0, and REMOVED as of PHP 8.0.0. diff --git a/reference/ldap/functions/ldap-add.xml b/reference/ldap/functions/ldap-add.xml index bf57591a36..9185410433 100644 --- a/reference/ldap/functions/ldap-add.xml +++ b/reference/ldap/functions/ldap-add.xml @@ -28,7 +28,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-bind.xml b/reference/ldap/functions/ldap-bind.xml index ee42631879..18cfdc0a6c 100644 --- a/reference/ldap/functions/ldap-bind.xml +++ b/reference/ldap/functions/ldap-bind.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-compare.xml b/reference/ldap/functions/ldap-compare.xml index dc20cae0aa..23231d0da4 100644 --- a/reference/ldap/functions/ldap-compare.xml +++ b/reference/ldap/functions/ldap-compare.xml @@ -30,7 +30,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-control-paged-result-response.xml b/reference/ldap/functions/ldap-control-paged-result-response.xml index 454b38c8b8..9add8e7826 100644 --- a/reference/ldap/functions/ldap-control-paged-result-response.xml +++ b/reference/ldap/functions/ldap-control-paged-result-response.xml @@ -34,7 +34,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> link - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-control-paged-result.xml b/reference/ldap/functions/ldap-control-paged-result.xml index 43c9cd1d74..29ef730d4b 100644 --- a/reference/ldap/functions/ldap-control-paged-result.xml +++ b/reference/ldap/functions/ldap-control-paged-result.xml @@ -34,7 +34,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> link - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-count-entries.xml b/reference/ldap/functions/ldap-count-entries.xml index 44c2c110ab..5fee72ac64 100644 --- a/reference/ldap/functions/ldap-count-entries.xml +++ b/reference/ldap/functions/ldap-count-entries.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-delete.xml b/reference/ldap/functions/ldap-delete.xml index a383be16f3..95b8f293b9 100644 --- a/reference/ldap/functions/ldap-delete.xml +++ b/reference/ldap/functions/ldap-delete.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-errno.xml b/reference/ldap/functions/ldap-errno.xml index a21ba67c0f..69f71fd4f1 100644 --- a/reference/ldap/functions/ldap-errno.xml +++ b/reference/ldap/functions/ldap-errno.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-error.xml b/reference/ldap/functions/ldap-error.xml index b4d1527e70..58ad1419d3 100644 --- a/reference/ldap/functions/ldap-error.xml +++ b/reference/ldap/functions/ldap-error.xml @@ -35,7 +35,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-exop-passwd.xml b/reference/ldap/functions/ldap-exop-passwd.xml index a968e1bb4c..460a85f2f4 100644 --- a/reference/ldap/functions/ldap-exop-passwd.xml +++ b/reference/ldap/functions/ldap-exop-passwd.xml @@ -28,7 +28,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-exop-refresh.xml b/reference/ldap/functions/ldap-exop-refresh.xml index 3986e4b03c..f1ef92839b 100644 --- a/reference/ldap/functions/ldap-exop-refresh.xml +++ b/reference/ldap/functions/ldap-exop-refresh.xml @@ -26,7 +26,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-exop-whoami.xml b/reference/ldap/functions/ldap-exop-whoami.xml index 34ed4407b1..3cc497b6bf 100644 --- a/reference/ldap/functions/ldap-exop-whoami.xml +++ b/reference/ldap/functions/ldap-exop-whoami.xml @@ -25,7 +25,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-exop.xml b/reference/ldap/functions/ldap-exop.xml index 669aa40497..3f5d9db60a 100644 --- a/reference/ldap/functions/ldap-exop.xml +++ b/reference/ldap/functions/ldap-exop.xml @@ -32,7 +32,7 @@ link - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-first-attribute.xml b/reference/ldap/functions/ldap-first-attribute.xml index 896ecf6468..75d27c51ae 100644 --- a/reference/ldap/functions/ldap-first-attribute.xml +++ b/reference/ldap/functions/ldap-first-attribute.xml @@ -31,7 +31,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-first-entry.xml b/reference/ldap/functions/ldap-first-entry.xml index d259fc25af..c3ad7c19eb 100644 --- a/reference/ldap/functions/ldap-first-entry.xml +++ b/reference/ldap/functions/ldap-first-entry.xml @@ -33,7 +33,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-attributes.xml b/reference/ldap/functions/ldap-get-attributes.xml index 3f843aaf5e..df994174c9 100644 --- a/reference/ldap/functions/ldap-get-attributes.xml +++ b/reference/ldap/functions/ldap-get-attributes.xml @@ -47,7 +47,7 @@ return_value["attribute"][i] = (i+1)th value of the attribute ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-dn.xml b/reference/ldap/functions/ldap-get-dn.xml index bb34df9496..9b56bcdd7e 100644 --- a/reference/ldap/functions/ldap-get-dn.xml +++ b/reference/ldap/functions/ldap-get-dn.xml @@ -26,7 +26,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-entries.xml b/reference/ldap/functions/ldap-get-entries.xml index aeb5799051..18c4b179e5 100644 --- a/reference/ldap/functions/ldap-get-entries.xml +++ b/reference/ldap/functions/ldap-get-entries.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-option.xml b/reference/ldap/functions/ldap-get-option.xml index 31f44e2337..2c89b2ab69 100644 --- a/reference/ldap/functions/ldap-get-option.xml +++ b/reference/ldap/functions/ldap-get-option.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-values-len.xml b/reference/ldap/functions/ldap-get-values-len.xml index 852729e93b..6adc38749d 100644 --- a/reference/ldap/functions/ldap-get-values-len.xml +++ b/reference/ldap/functions/ldap-get-values-len.xml @@ -31,7 +31,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-get-values.xml b/reference/ldap/functions/ldap-get-values.xml index fea0412f28..d7667a6a4c 100644 --- a/reference/ldap/functions/ldap-get-values.xml +++ b/reference/ldap/functions/ldap-get-values.xml @@ -38,7 +38,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-list.xml b/reference/ldap/functions/ldap-list.xml index e913d2fd90..2857841e8f 100644 --- a/reference/ldap/functions/ldap-list.xml +++ b/reference/ldap/functions/ldap-list.xml @@ -41,7 +41,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-mod-add.xml b/reference/ldap/functions/ldap-mod-add.xml index a07eddfe27..a96d7e5630 100644 --- a/reference/ldap/functions/ldap-mod-add.xml +++ b/reference/ldap/functions/ldap-mod-add.xml @@ -29,7 +29,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-mod-del.xml b/reference/ldap/functions/ldap-mod-del.xml index 9c94ee8d9e..093e5db81e 100644 --- a/reference/ldap/functions/ldap-mod-del.xml +++ b/reference/ldap/functions/ldap-mod-del.xml @@ -30,7 +30,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-mod-replace.xml b/reference/ldap/functions/ldap-mod-replace.xml index 2d2a5112e0..922ce4a6f9 100644 --- a/reference/ldap/functions/ldap-mod-replace.xml +++ b/reference/ldap/functions/ldap-mod-replace.xml @@ -29,7 +29,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-modify-batch.xml b/reference/ldap/functions/ldap-modify-batch.xml index a2771b6784..8eb6dd8f3d 100644 --- a/reference/ldap/functions/ldap-modify-batch.xml +++ b/reference/ldap/functions/ldap-modify-batch.xml @@ -29,7 +29,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + An LDAP resource, returned by ldap_connect. diff --git a/reference/ldap/functions/ldap-next-attribute.xml b/reference/ldap/functions/ldap-next-attribute.xml index dbfdf51733..3bbfbf75a2 100644 --- a/reference/ldap/functions/ldap-next-attribute.xml +++ b/reference/ldap/functions/ldap-next-attribute.xml @@ -29,7 +29,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-next-entry.xml b/reference/ldap/functions/ldap-next-entry.xml index c02af4ee7e..9a4eca276d 100644 --- a/reference/ldap/functions/ldap-next-entry.xml +++ b/reference/ldap/functions/ldap-next-entry.xml @@ -31,7 +31,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-parse-exop.xml b/reference/ldap/functions/ldap-parse-exop.xml index da3e694f9d..a52936573a 100644 --- a/reference/ldap/functions/ldap-parse-exop.xml +++ b/reference/ldap/functions/ldap-parse-exop.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-parse-result.xml b/reference/ldap/functions/ldap-parse-result.xml index ab3e08fd47..a2a12c2a6f 100644 --- a/reference/ldap/functions/ldap-parse-result.xml +++ b/reference/ldap/functions/ldap-parse-result.xml @@ -31,7 +31,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-read.xml b/reference/ldap/functions/ldap-read.xml index fdc467fd76..205b94672f 100644 --- a/reference/ldap/functions/ldap-read.xml +++ b/reference/ldap/functions/ldap-read.xml @@ -35,7 +35,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-rename.xml b/reference/ldap/functions/ldap-rename.xml index 0128fd87e4..75c5102e57 100644 --- a/reference/ldap/functions/ldap-rename.xml +++ b/reference/ldap/functions/ldap-rename.xml @@ -30,7 +30,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-search.xml b/reference/ldap/functions/ldap-search.xml index 96d16259bc..9d0b84a275 100644 --- a/reference/ldap/functions/ldap-search.xml +++ b/reference/ldap/functions/ldap-search.xml @@ -51,7 +51,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-set-option.xml b/reference/ldap/functions/ldap-set-option.xml index 9ee1db1053..2de1c88a16 100644 --- a/reference/ldap/functions/ldap-set-option.xml +++ b/reference/ldap/functions/ldap-set-option.xml @@ -27,7 +27,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-sort.xml b/reference/ldap/functions/ldap-sort.xml index ca6959f6ab..155156ad3d 100644 --- a/reference/ldap/functions/ldap-sort.xml +++ b/reference/ldap/functions/ldap-sort.xml @@ -34,7 +34,7 @@ link - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; diff --git a/reference/ldap/functions/ldap-unbind.xml b/reference/ldap/functions/ldap-unbind.xml index ba67f111b5..0ff0ada3c7 100644 --- a/reference/ldap/functions/ldap-unbind.xml +++ b/reference/ldap/functions/ldap-unbind.xml @@ -25,7 +25,7 @@ ldap - An LDAP link identifier, returned by ldap_connect. + &ldap.parameter.ldap; From d335ba69a16f4013280de8e3e71d9ba19fe3cb3c Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Wed, 23 Jun 2021 19:20:58 +0100 Subject: [PATCH 298/444] Remove split() and ereg() Closes GH-716. --- reference/array/reference.xml | 2 +- reference/mbstring/overloading.xml | 25 ------------------- reference/strings/functions/chunk-split.xml | 1 - reference/strings/functions/quotemeta.xml | 1 - .../strings/functions/str-word-count.xml | 1 - reference/strings/functions/strtok.xml | 1 - 6 files changed, 1 insertion(+), 30 deletions(-) diff --git a/reference/array/reference.xml b/reference/array/reference.xml index 2dfc50c546..1cfdc2cd46 100644 --- a/reference/array/reference.xml +++ b/reference/array/reference.xml @@ -7,7 +7,7 @@ &reftitle.seealso; See also is_array, explode, - implode, split, + implode, preg_split, and unset. diff --git a/reference/mbstring/overloading.xml b/reference/mbstring/overloading.xml index ffce94fe9b..5d20dda36c 100644 --- a/reference/mbstring/overloading.xml +++ b/reference/mbstring/overloading.xml @@ -111,31 +111,6 @@ substr_count mb_substr_count - - 4 - ereg - mb_ereg - - - 4 - eregi - mb_eregi - - - 4 - ereg_replace - mb_ereg_replace - - - 4 - eregi_replace - mb_eregi_replace - - - 4 - split - mb_split - diff --git a/reference/strings/functions/chunk-split.xml b/reference/strings/functions/chunk-split.xml index 95fd0b55db..b15ae65e81 100644 --- a/reference/strings/functions/chunk-split.xml +++ b/reference/strings/functions/chunk-split.xml @@ -84,7 +84,6 @@ $new_string = chunk_split(base64_encode($data)); str_split explode - split wordwrap RFC 2045 diff --git a/reference/strings/functions/quotemeta.xml b/reference/strings/functions/quotemeta.xml index 55c6b04e27..5c44ac2559 100644 --- a/reference/strings/functions/quotemeta.xml +++ b/reference/strings/functions/quotemeta.xml @@ -59,7 +59,6 @@ nl2br stripslashes stripcslashes - ereg preg_quote diff --git a/reference/strings/functions/str-word-count.xml b/reference/strings/functions/str-word-count.xml index c3207d9e9c..3f5cc84c0a 100644 --- a/reference/strings/functions/str-word-count.xml +++ b/reference/strings/functions/str-word-count.xml @@ -184,7 +184,6 @@ Array explode preg_split - split count_chars substr_count diff --git a/reference/strings/functions/strtok.xml b/reference/strings/functions/strtok.xml index 95800b4422..692dd60a59 100644 --- a/reference/strings/functions/strtok.xml +++ b/reference/strings/functions/strtok.xml @@ -168,7 +168,6 @@ echo json_encode($parts),"\n"; &reftitle.seealso; - split explode From 67ae2b943e98fcbf3f3f93e8bce6eca97c2c859d Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Wed, 23 Jun 2021 22:51:59 +0100 Subject: [PATCH 299/444] Remove obsolete mcrypt example Closes GH-717. --- reference/mcrypt/book.xml | 1 - reference/mcrypt/examples.xml | 61 ----------------------------------- 2 files changed, 62 deletions(-) delete mode 100644 reference/mcrypt/examples.xml diff --git a/reference/mcrypt/book.xml b/reference/mcrypt/book.xml index 1194d4f5f5..e8912dc4ab 100644 --- a/reference/mcrypt/book.xml +++ b/reference/mcrypt/book.xml @@ -41,7 +41,6 @@ &reference.mcrypt.setup; &reference.mcrypt.constants; &reference.mcrypt.ciphers; - &reference.mcrypt.examples; &reference.mcrypt.reference; diff --git a/reference/mcrypt/examples.xml b/reference/mcrypt/examples.xml deleted file mode 100644 index 279a6d100f..0000000000 --- a/reference/mcrypt/examples.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - &reftitle.examples; - - Mcrypt can be used to encrypt and decrypt using the above - mentioned ciphers. If you linked against libmcrypt-2.2.x, the - four important mcrypt commands (mcrypt_cfb, - mcrypt_cbc, mcrypt_ecb, - and mcrypt_ofb) can operate in both modes - which are named MCRYPT_ENCRYPT and - MCRYPT_DECRYPT, respectively. - - - If you linked against libmcrypt 2.4.x or 2.5.x, these functions are still - available, but it is recommended that you use the advanced functions. - - Encrypt an input value with <literal>AES</literal> with a 256-bit key under 2.4.x and higher in <literal>CBC</literal> mode - - -]]> - - - This example will give you the encrypted data as a string in - $encrypted_data. For a full example see - mcrypt_module_open. - - - - From 47e2bde2fa408e9b46db226bd551b5fba98b7674 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 24 Jun 2021 13:12:33 +0300 Subject: [PATCH 300/444] Add classname to ZookeeperConfig instance --- reference/zookeeper/zookeeper/getconfig.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/zookeeper/zookeeper/getconfig.xml b/reference/zookeeper/zookeeper/getconfig.xml index cd57dce4c4..a9ed2c8fa5 100644 --- a/reference/zookeeper/zookeeper/getconfig.xml +++ b/reference/zookeeper/zookeeper/getconfig.xml @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns instance of ZookeeperConfig. + Returns instance of ZookeeperConfig. From 8c2f58a7deadc3fe0b39855049e0122e7588293e Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 24 Jun 2021 14:00:02 +0300 Subject: [PATCH 301/444] Fix issues in phar directory (#721) Co-authored-by: Christoph M. Becker --- reference/phar/Phar/createDefaultStub.xml | 29 +++++++++++++++++++++-- reference/phar/PharFileInfo/compress.xml | 16 +++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/reference/phar/Phar/createDefaultStub.xml b/reference/phar/Phar/createDefaultStub.xml index 037e0f474a..e44a2d48ed 100644 --- a/reference/phar/Phar/createDefaultStub.xml +++ b/reference/phar/Phar/createDefaultStub.xml @@ -9,8 +9,8 @@ &reftitle.description; final public static stringPhar::createDefaultStub - stringindexfile - stringwebindexfile + stringindex + stringwebIndex @@ -47,6 +47,31 @@ php myphar.phar + + + &reftitle.parameters; + + + + index + + + Relative path within the phar archive to run if accessed on the command-line + + + + + webIndex + + + Relative path within the phar archive to run if accessed through a web browser + + + + + + + &reftitle.returnvalues; diff --git a/reference/phar/PharFileInfo/compress.xml b/reference/phar/PharFileInfo/compress.xml index 328a1ccfc9..741b5e2b26 100644 --- a/reference/phar/PharFileInfo/compress.xml +++ b/reference/phar/PharFileInfo/compress.xml @@ -27,6 +27,22 @@ + + &reftitle.parameters; + + + + compression + + + Compression must be Phar::GZ or Phar::BZ2. + + + + + + + &reftitle.returnvalues; From f6d269c0024564d7ce8a2472594a84d2b3a6ae4d Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 24 Jun 2021 14:55:17 +0300 Subject: [PATCH 302/444] Fix issues in oci8 directory (#722) --- reference/oci8/functions/oci-free-descriptor.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/reference/oci8/functions/oci-free-descriptor.xml b/reference/oci8/functions/oci-free-descriptor.xml index 1e792e5fc9..18c6fefef3 100644 --- a/reference/oci8/functions/oci-free-descriptor.xml +++ b/reference/oci8/functions/oci-free-descriptor.xml @@ -17,6 +17,22 @@ + + &reftitle.parameters; + + + + descriptor + + + Descriptor allocated by oci_new_descriptor. + + + + + + + &reftitle.returnvalues; From a94b259189d1d013968af18f56048dbb52472225 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 24 Jun 2021 13:57:32 +0100 Subject: [PATCH 303/444] Remove unneeded note set_socket_blocking was removed in PHP 7.0. socket_set_blocking is still an alias and is not deprecated, but since we don't document aliases in notes, I removed the whole note. Closes GH-724. --- reference/stream/functions/stream-set-blocking.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/reference/stream/functions/stream-set-blocking.xml b/reference/stream/functions/stream-set-blocking.xml index b01402c1fc..3e0224aab5 100644 --- a/reference/stream/functions/stream-set-blocking.xml +++ b/reference/stream/functions/stream-set-blocking.xml @@ -62,13 +62,6 @@ &reftitle.notes; - - - This function was previously called as - set_socket_blocking and later - socket_set_blocking but this usage is deprecated. - - On Windows, this has no affect on local files. Non-blocking IO for local files is not supported on Windows. From a35fce69cc4174f61cfa228ad677797c833f9cba Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 24 Jun 2021 15:08:30 +0100 Subject: [PATCH 304/444] Remove obsolete resource information Closes GH-725. --- appendices/resources.xml | 81 +------------------------ language-snippets.ent | 4 -- reference/gmp/book.xml | 3 +- reference/gmp/functions/gmp-sign.xml | 3 +- reference/gmp/functions/gmp-testbit.xml | 2 +- reference/gmp/setup.xml | 11 ---- 6 files changed, 5 insertions(+), 99 deletions(-) diff --git a/appendices/resources.xml b/appendices/resources.xml index 5a29b10b7c..1b4098ff71 100644 --- a/appendices/resources.xml +++ b/appendices/resources.xml @@ -362,31 +362,6 @@ Link to Dbase database - - dbx_link_object - - dbx_connect - - - dbx_query - - - dbx_close - - dbx connection - - - dbx_result_object - - dbx_query - - - - - None - - dbx result - enchant_broker @@ -644,7 +619,6 @@ imageinterlace, imageline, imagepolygon, - imagepstext, imagerectangle, imagerotate, imagesetpixel, @@ -704,55 +678,6 @@ Font for GD - - GMP integer - - gmp_init - - - gmp_intval, - gmp_strval, - gmp_add, - gmp_sub, - gmp_mul, - gmp_div_q, - gmp_div_r, - gmp_div_qr, - gmp_div, - gmp_mod, - gmp_divexact, - gmp_cmp, - gmp_neg, - gmp_abs, - gmp_sign, - gmp_fact, - gmp_sqrt, - gmp_sqrtrm, - gmp_perfect_square, - gmp_pow, - gmp_powm, - gmp_prob_prime, - gmp_gcd, - gmp_gcdext, - gmp_invert, - gmp_legendre, - gmp_jacobi, - gmp_random, - gmp_and, - gmp_or, - gmp_xor, - gmp_setbit, - gmp_clrbit, - gmp_scan0, - gmp_scan1, - gmp_popcount, - gmp_hamdist - - - None - - GMP Number - imap @@ -969,7 +894,6 @@ mysql_affected_rows, - mysql_change_user, mysql_create_db, mysql_data_seek, mysql_db_name, @@ -1001,7 +925,6 @@ mysql_affected_rows, - mysql_change_user, mysql_create_db, mysql_data_seek, mysql_db_name, @@ -1370,7 +1293,7 @@ pg_untrace, pg_set_client_encoding, pg_client_encoding, - pg_metadata, + pg_meta_data, pg_convert, pg_insert, pg_select, @@ -1415,7 +1338,7 @@ pg_untrace, pg_set_client_encoding, pg_client_encoding, - pg_metadata, + pg_meta_data, pg_convert, pg_insert, pg_select, diff --git a/language-snippets.ent b/language-snippets.ent index e1b80b263c..89cb033926 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -718,10 +718,6 @@ fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or own font identifiers registered with imageloadfont. '> - -font_indexA font resource, returned by imagepsloadfont. -'> - fontfile diff --git a/reference/gmp/book.xml b/reference/gmp/book.xml index 913c9a9c1d..533253f9fd 100644 --- a/reference/gmp/book.xml +++ b/reference/gmp/book.xml @@ -16,8 +16,7 @@ Most GMP functions accept GMP number arguments. These are shown in this - documentation as GMP objects. However, note that PHP - 5.5 and earlier represented GMP numbers as resources. Most + documentation as GMP objects. Most of these functions will also accept numeric and string arguments, so long as it is possible to convert the latter to a number. Also, if there is a more performant function that can operate on the arguments (integers only), diff --git a/reference/gmp/functions/gmp-sign.xml b/reference/gmp/functions/gmp-sign.xml index dce33a92d5..a3c0df8cdd 100644 --- a/reference/gmp/functions/gmp-sign.xml +++ b/reference/gmp/functions/gmp-sign.xml @@ -25,8 +25,7 @@ num - Either a GMP number resource in PHP 5.5 and earlier, - a GMP object in PHP 5.6 and later, or a numeric + Either a GMP object, or a numeric string provided that it is possible to convert the latter to an int. diff --git a/reference/gmp/functions/gmp-testbit.xml b/reference/gmp/functions/gmp-testbit.xml index d996e4ea92..dc78de67d2 100644 --- a/reference/gmp/functions/gmp-testbit.xml +++ b/reference/gmp/functions/gmp-testbit.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Returns &true; if the bit is set in resource $a, + Returns &true; if the bit is set in $num, otherwise &false;. diff --git a/reference/gmp/setup.xml b/reference/gmp/setup.xml index 7c3f8e7c7e..6abae064be 100644 --- a/reference/gmp/setup.xml +++ b/reference/gmp/setup.xml @@ -30,17 +30,6 @@
- -
- &reftitle.resources; - - Prior to PHP 5.6, most GMP functions operate on or return GMP number - resources. PHP 5.6 onwards uses GMP objects in place - of GMP number resources. - -
- - diff --git a/reference/ldap/functions/ldap-first-entry.xml b/reference/ldap/functions/ldap-first-entry.xml index c3ad7c19eb..aa362978a8 100644 --- a/reference/ldap/functions/ldap-first-entry.xml +++ b/reference/ldap/functions/ldap-first-entry.xml @@ -41,6 +41,7 @@ result + &ldap.parameter.result; @@ -51,8 +52,7 @@ &reftitle.returnvalues; - Returns the result entry identifier for the first entry on success and - &false; on error. + Returns the result entry identifier for the first entry on success,&return.falseforfailure;. diff --git a/reference/ldap/functions/ldap-free-result.xml b/reference/ldap/functions/ldap-free-result.xml index 5ea00fa38e..3fac0ef9f3 100644 --- a/reference/ldap/functions/ldap-free-result.xml +++ b/reference/ldap/functions/ldap-free-result.xml @@ -10,7 +10,7 @@ &reftitle.description; boolldap_free_result - resourceldap + resourceresult Frees up the memory allocated internally to store the result. All result @@ -29,9 +29,10 @@ - ldap + result + &ldap.parameter.result; diff --git a/reference/ldap/functions/ldap-get-entries.xml b/reference/ldap/functions/ldap-get-entries.xml index 18c4b179e5..3c27b64645 100644 --- a/reference/ldap/functions/ldap-get-entries.xml +++ b/reference/ldap/functions/ldap-get-entries.xml @@ -35,6 +35,7 @@ result + &ldap.parameter.result; @@ -46,7 +47,7 @@ &reftitle.returnvalues; Returns a complete result information in a multi-dimensional array on - success and &false; on error. + success,&return.falseforfailure;. The structure of the array is as follows. diff --git a/reference/ldap/functions/ldap-parse-result.xml b/reference/ldap/functions/ldap-parse-result.xml index a2a12c2a6f..cf9fdb0e32 100644 --- a/reference/ldap/functions/ldap-parse-result.xml +++ b/reference/ldap/functions/ldap-parse-result.xml @@ -36,11 +36,10 @@ - result_identifier + result - An LDAP result resource, returned by ldap_list or - ldap_search. + &ldap.parameter.result; From ea8796a6c3652cca01aeb2cafb8e4a8a51544787 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Sat, 26 Jun 2021 19:42:36 +0300 Subject: [PATCH 312/444] Fix case of a keyword in match.xml (#736) --- language/control-structures/match.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/control-structures/match.xml b/language/control-structures/match.xml index b4aaa3eed6..3c439f5b56 100644 --- a/language/control-structures/match.xml +++ b/language/control-structures/match.xml @@ -60,7 +60,7 @@ $return_value = match (subject_expression) { - Match arms do not fall-through to later cases the way + match arms do not fall-through to later cases the way switch statements do. From 0e81411492de9b6813d288a27dd0288886bc694b Mon Sep 17 00:00:00 2001 From: Tiffany Date: Sun, 27 Jun 2021 05:30:10 -0500 Subject: [PATCH 313/444] Additional revisions to ucwords Closes GH-727. --- reference/strings/functions/ucwords.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/reference/strings/functions/ucwords.xml b/reference/strings/functions/ucwords.xml index 8b94f9d8de..79d7a9b5af 100644 --- a/reference/strings/functions/ucwords.xml +++ b/reference/strings/functions/ucwords.xml @@ -18,10 +18,9 @@ string capitalized, if that character is alphabetic. - A "word" is described as any string of characters that is delimited by any - character in the separators parameter. By default, - these are: space, form-feed, newline, carriage return, horizontal tab and - vertical tab. + For this function, a word is a string of characters that are not listed in + the separators parameter. By default, these are: + space, horizontal tab, carriage return, newline, form-feed and vertical tab.
From e7853a8a24fd5de419860cf00e00320905e7cb4c Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 27 Jun 2021 21:15:32 +0900 Subject: [PATCH 314/444] Improved ext/sodium [Introduction|Resource Types] documentation. (#655) --- reference/sodium/book.xml | 3 ++- reference/sodium/setup.xml | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/reference/sodium/book.xml b/reference/sodium/book.xml index 86b2984356..165f267b46 100644 --- a/reference/sodium/book.xml +++ b/reference/sodium/book.xml @@ -9,7 +9,8 @@ &reftitle.intro; - + Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. + Its goal is to provide all of the core operations needed to build higher-level cryptographic tools. diff --git a/reference/sodium/setup.xml b/reference/sodium/setup.xml index ccb9f89117..2abcb7524f 100644 --- a/reference/sodium/setup.xml +++ b/reference/sodium/setup.xml @@ -53,9 +53,7 @@
&reftitle.resources; - - - + &no.resource;
From 683c11a44a9a1b3cdd44e6707c8efc20aabe9828 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sun, 27 Jun 2021 23:11:31 +0900 Subject: [PATCH 315/444] removed PHP4 related zlib note. (#739) --- reference/zlib/book.xml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/reference/zlib/book.xml b/reference/zlib/book.xml index 0f0c930c64..0849cffdf4 100644 --- a/reference/zlib/book.xml +++ b/reference/zlib/book.xml @@ -18,20 +18,7 @@ - Version 4.0.4 introduced a fopen-wrapper for .gz-files, so that - you can use a special zlib: URL to access - compressed files transparently using the normal f*() file access - functions if you prefix the filename or path with - zlib: when calling fopen. This - feature requires a C runtime library that provides the - fopencookie() function. Up to now the GNU libc - seems to be the only library that provides this feature. - - - In PHP 4.3.0, zlib: has been changed to - compress.zlib:// to prevent ambiguities with - filenames containing ':' characters. The - fopencookie() function is no longer required. + PHP comes with a fopen-wrapper for .gz-files. More information is available in the section about . From ebe9ff11fb9371c765ebcc6a18823f5adfe46f14 Mon Sep 17 00:00:00 2001 From: Marco van 't Wout Date: Tue, 29 Jun 2021 11:20:56 +0200 Subject: [PATCH 316/444] Remove unsafe AddHandler example The internet will always take your example code and repost it out of context. Googling shows plenty of installation guides that use `AddHandler application/x-httpd-php .php`, which potentially leads to parsing unsafe files like `evil.php.jpg` I propose to totally remove the unsafe example and only show the correct version with ``, similar to https://www.php.net/manual/en/install.unix.apache2.php Closes GH-743. --- install/windows/apache2.xml | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/install/windows/apache2.xml b/install/windows/apache2.xml index b2ef5bee09..6caad3417d 100644 --- a/install/windows/apache2.xml +++ b/install/windows/apache2.xml @@ -47,7 +47,9 @@ + SetHandler application/x-httpd-php + # configure the path to php.ini PHPIniDir "C:/php" ]]> @@ -63,24 +65,6 @@ PHPIniDir "C:/php" for PHP 7, or php8apache2_4.dll for PHP 8. - - The above configuration will enable PHP handling of any file that has a - .php extension, even if there are other file extensions. For example, a - file named example.php.txt will be executed by the - PHP handler. To ensure that only files that end in - .php are executed, use the following configuration - instead: - - - - - - SetHandler application/x-httpd-php - -]]> - - @@ -140,7 +124,9 @@ PHPIniDir "C:/php" LoadModule fcgid_module modules/mod_fcgid.so # Where is your php.ini file? FcgidInitialEnv PHPRC "c:/php" -AddHandler fcgid-script .php + + SetHandler fcgid-script + FcgidWrapper "c:/php/php-cgi.exe" .php ]]> From f2af34e50ce0770eee94a352d2b8de8e36a3cec2 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Wed, 30 Jun 2021 15:54:14 +0300 Subject: [PATCH 317/444] Replace a comma with a period in sort.xml Closes GH-746. --- reference/array/functions/sort.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/array/functions/sort.xml b/reference/array/functions/sort.xml index 43d25589cc..3dd45d10e2 100644 --- a/reference/array/functions/sort.xml +++ b/reference/array/functions/sort.xml @@ -122,7 +122,7 @@ fruits[3] = orange20 Be careful when sorting arrays with mixed types values because sort can produce unexpected results, - if flags is SORT_REGULAR, + if flags is SORT_REGULAR.
From c9bc21cb7302db778f3c519cbe6a9c8286dc08b8 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 1 Jul 2021 19:09:53 +0200 Subject: [PATCH 318/444] Fix #81218: get_object_vars returns parent class parameters Besides there are no "class parameters", parent properties are returned if in scope. --- reference/classobj/functions/get-object-vars.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/classobj/functions/get-object-vars.xml b/reference/classobj/functions/get-object-vars.xml index d5c17250e7..f9465560b5 100644 --- a/reference/classobj/functions/get-object-vars.xml +++ b/reference/classobj/functions/get-object-vars.xml @@ -13,8 +13,7 @@ Gets the accessible non-static properties of the given - object according to scope. Note that it will only return - parameters defined on that object's class, not on its parent class. + object according to scope. From 7783d8198a174598da3b15692720350fa92cbc31 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 1 Jul 2021 22:28:54 +0100 Subject: [PATCH 319/444] Remove PHP 4 constructor from get_parent_class example Ckises GH-748. --- .../classobj/functions/get-parent-class.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/reference/classobj/functions/get-parent-class.xml b/reference/classobj/functions/get-parent-class.xml index b0662b1860..f89ebf6286 100644 --- a/reference/classobj/functions/get-parent-class.xml +++ b/reference/classobj/functions/get-parent-class.xml @@ -78,22 +78,22 @@
From 942afdf31204762217a03a68304ea73e02b62752 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 2 Jul 2021 12:15:34 +0300 Subject: [PATCH 320/444] Fix issues in runkit7 directory (#742) Part of #658 --- .../functions/runkit7-zval-inspect.xml | 67 ++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/reference/runkit7/functions/runkit7-zval-inspect.xml b/reference/runkit7/functions/runkit7-zval-inspect.xml index c2e39fbf00..35f7b20fbd 100644 --- a/reference/runkit7/functions/runkit7-zval-inspect.xml +++ b/reference/runkit7/functions/runkit7-zval-inspect.xml @@ -28,8 +28,73 @@ - + + &reftitle.returnvalues; + + The array returned by this function contains the following elements: + + address + refcount (optional) + is_ref (optional) + type + + + + + + &reftitle.examples; + + + <function>runkit7_zval_inspect</function> example + + +]]> + + &example.outputs; + + + string(14) "0x7f45ab21b1e0" + ["refcount"]=> + int(2) + ["is_ref"]=> + bool(false) + ["type"]=> + int(8) +} + +array(2) { + ["address"]=> + string(14) "0x7f45ab21b1e0" + ["type"]=> + int(4) +} +]]> + + + + + + + &reftitle.seealso; + + + References Explained + References Explained (by Derick Rethans) + + + + - - - Supported parameters - - - - - Parameters - Purpose - - - - - notification - - Name of user-defined callback function to be called whenever a stream triggers a notification. - Only supported for http:// and - ftp:// stream wrappers. - - - - options - - Array of options as in context options and - parameters. - - - - - - &reftitle.seealso; From ff4424769d137df9503b4aeee0b1b514752fdccf Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 5 Jul 2021 15:51:22 +0200 Subject: [PATCH 331/444] Clarify flock() for same process/other file handle on Windows We may want to clean up the notes section sometime. --- reference/filesystem/functions/flock.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reference/filesystem/functions/flock.xml b/reference/filesystem/functions/flock.xml index 625ecb0523..e2a2d214c1 100644 --- a/reference/filesystem/functions/flock.xml +++ b/reference/filesystem/functions/flock.xml @@ -190,6 +190,12 @@ fclose($fp); return &false; under these environments. + + + On Windows, if the locking process opens the file a second time, it cannot + access the file through this second handle until it unlocks the file. + + From 562a216c8108885a492cbfb66e2d5734847fa19d Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Tue, 6 Jul 2021 10:45:02 +0300 Subject: [PATCH 332/444] Add period and comma on Phar intro page (#760) --- reference/phar/book.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/phar/book.xml b/reference/phar/book.xml index da1c8b3aca..46457ba882 100644 --- a/reference/phar/book.xml +++ b/reference/phar/book.xml @@ -30,7 +30,7 @@ Phar implements this functionality through a Stream Wrapper. Normally, to use an external file within a PHP script, you - would use include + would use include: @@ -137,7 +137,7 @@ If you are using phar applications, there are helpful tips in - How to use Phar Archives + How to use Phar Archives. The word phar is a portmanteau of PHP and From 0da76b0197f60f498c56cc7a57c243b3865ce6b7 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 6 Jul 2021 15:14:59 +0300 Subject: [PATCH 333/444] Sync enhancement (#761) --- reference/sync/syncevent/construct.xml | 30 ++++++++++------- reference/sync/syncevent/fire.xml | 6 ++-- reference/sync/syncevent/reset.xml | 4 +-- reference/sync/syncevent/wait.xml | 8 ++--- reference/sync/syncmutex/construct.xml | 20 ++++++++---- reference/sync/syncmutex/lock.xml | 10 +++--- reference/sync/syncmutex/unlock.xml | 8 ++--- reference/sync/syncreaderwriter/construct.xml | 32 +++++++++++-------- reference/sync/syncreaderwriter/readlock.xml | 8 ++--- .../sync/syncreaderwriter/readunlock.xml | 4 +-- reference/sync/syncreaderwriter/writelock.xml | 8 ++--- .../sync/syncreaderwriter/writeunlock.xml | 4 +-- reference/sync/syncsemaphore/construct.xml | 32 +++++++++++-------- reference/sync/syncsemaphore/lock.xml | 8 ++--- reference/sync/syncsemaphore/unlock.xml | 6 ++-- reference/sync/syncsharedmemory/construct.xml | 24 ++++++++------ reference/sync/syncsharedmemory/first.xml | 4 +-- reference/sync/syncsharedmemory/size.xml | 4 +-- reference/sync/syncsharedmemory/write.xml | 16 +++++----- 19 files changed, 133 insertions(+), 103 deletions(-) diff --git a/reference/sync/syncevent/construct.xml b/reference/sync/syncevent/construct.xml index 8c614ad3cb..2ea8a15fa0 100644 --- a/reference/sync/syncevent/construct.xml +++ b/reference/sync/syncevent/construct.xml @@ -16,7 +16,7 @@ boolprefire&false; - Constructs a named or unnamed event object. + Constructs a named or unnamed event object. @@ -27,13 +27,13 @@ name - The name of the event if this is a named event object. + The name of the event if this is a named event object. - If the name already exists, it must be able to be opened by the current user - that the process is running as or an exception will be thrown with a meaningless - error message. + If the name already exists, it must be able to be opened by the current user + that the process is running as or an exception will be thrown with a meaningless + error message. @@ -42,12 +42,12 @@ manual - Specifies whether or not the event object must be reset manually. + Specifies whether or not the event object must be reset manually. - Manual reset event objects allow all waiting processes through until the - object is reset. + Manual reset event objects allow all waiting processes through until the + object is reset. @@ -56,11 +56,11 @@ prefire - Specifies whether or not to prefire (signal) the event object. + Specifies whether or not to prefire (signal) the event object. - Only has impact if the calling process/thread is the first to create the object. + Only has impact if the calling process/thread is the first to create the object. @@ -71,8 +71,14 @@ &reftitle.returnvalues; - The new SyncEvent object. An exception is thrown if the event object cannot - be created or opened. + The new SyncEvent object. + + + + + &reftitle.errors; + + An exception is thrown if the event object cannot be created or opened. diff --git a/reference/sync/syncevent/fire.xml b/reference/sync/syncevent/fire.xml index a45c0d5b7a..5b0a2e9aad 100644 --- a/reference/sync/syncevent/fire.xml +++ b/reference/sync/syncevent/fire.xml @@ -14,8 +14,8 @@ - Fires/sets a SyncEvent object. Lets multiple threads through that are waiting - if the event object was created with a manual value of TRUE. + Fires/sets a SyncEvent object. Lets multiple threads through that are waiting + if the event object was created with a manual value of &true;. @@ -27,7 +27,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the event was fired, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncevent/reset.xml b/reference/sync/syncevent/reset.xml index 7a54b04c70..6864c209a8 100644 --- a/reference/sync/syncevent/reset.xml +++ b/reference/sync/syncevent/reset.xml @@ -14,7 +14,7 @@ - Resets a SyncEvent object that has been fired/set. Only valid for manual event objects. + Resets a SyncEvent object that has been fired/set. Only valid for manual event objects. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean value of TRUE if the object was successfully reset, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncevent/wait.xml b/reference/sync/syncevent/wait.xml index c6ddd1ad02..2b70ca4d58 100644 --- a/reference/sync/syncevent/wait.xml +++ b/reference/sync/syncevent/wait.xml @@ -14,7 +14,7 @@ intwait-1 - Waits for the SyncEvent object to be fired. + Waits for the SyncEvent object to be fired. @@ -25,8 +25,8 @@ wait - The number of milliseconds to wait for the event to be fired. - A value of -1 is infinite. + The number of milliseconds to wait for the event to be fired. + A value of -1 is infinite. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the event was fired, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncmutex/construct.xml b/reference/sync/syncmutex/construct.xml index 5ccb0e761c..972045d324 100644 --- a/reference/sync/syncmutex/construct.xml +++ b/reference/sync/syncmutex/construct.xml @@ -14,7 +14,7 @@ stringname - Constructs a named or unnamed countable mutex. + Constructs a named or unnamed countable mutex. @@ -25,13 +25,13 @@ name - The name of the mutex if this is a named mutex object. + The name of the mutex if this is a named mutex object. - If the name already exists, it must be able to be opened by the current user - that the process is running as or an exception will be thrown with a meaningless - error message. + If the name already exists, it must be able to be opened by the current user + that the process is running as or an exception will be thrown with a meaningless + error message. @@ -42,8 +42,14 @@ &reftitle.returnvalues; - The new SyncMutex object. An exception is thrown if the mutex cannot be - created or opened. + The new SyncMutex object. + + + + + &reftitle.errors; + + An exception is thrown if the mutex cannot be created or opened. diff --git a/reference/sync/syncmutex/lock.xml b/reference/sync/syncmutex/lock.xml index c31d120fd0..4056875940 100644 --- a/reference/sync/syncmutex/lock.xml +++ b/reference/sync/syncmutex/lock.xml @@ -14,8 +14,8 @@ intwait-1 - Obtains an exclusive lock on a SyncMutex object. - If the lock is already acquired, then this increments an internal counter. + Obtains an exclusive lock on a SyncMutex object. + If the lock is already acquired, then this increments an internal counter. @@ -26,8 +26,8 @@ wait - The number of milliseconds to wait for the exclusive lock. - A value of -1 is infinite. + The number of milliseconds to wait for the exclusive lock. + A value of -1 is infinite. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the lock was obtained, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncmutex/unlock.xml b/reference/sync/syncmutex/unlock.xml index 6c6f304aed..025853696b 100644 --- a/reference/sync/syncmutex/unlock.xml +++ b/reference/sync/syncmutex/unlock.xml @@ -14,8 +14,8 @@ boolall&false; - Decreases the internal counter of a SyncMutex object. - When the internal counter reaches zero, the actual lock on the object is released. + Decreases the internal counter of a SyncMutex object. + When the internal counter reaches zero, the actual lock on the object is released. @@ -26,7 +26,7 @@ all - Specifies whether or not to set the internal counter to zero and therefore release the lock. + Specifies whether or not to set the internal counter to zero and therefore release the lock. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the unlock operation was successful, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncreaderwriter/construct.xml b/reference/sync/syncreaderwriter/construct.xml index 4bb153fb73..1b049a14bf 100644 --- a/reference/sync/syncreaderwriter/construct.xml +++ b/reference/sync/syncreaderwriter/construct.xml @@ -15,7 +15,7 @@ boolautounlock&true; - Constructs a named or unnamed reader-writer object. + Constructs a named or unnamed reader-writer object. @@ -26,13 +26,13 @@ name - The name of the reader-writer if this is a named reader-writer object. + The name of the reader-writer if this is a named reader-writer object. - If the name already exists, it must be able to be opened by the current user - that the process is running as or an exception will be thrown with a meaningless - error message. + If the name already exists, it must be able to be opened by the current user + that the process is running as or an exception will be thrown with a meaningless + error message. @@ -41,15 +41,15 @@ autounlock - Specifies whether or not to automatically unlock the reader-writer at the - conclusion of the PHP script. + Specifies whether or not to automatically unlock the reader-writer at the + conclusion of the PHP script. - If an object is: A named reader-writer with an autounlock of FALSE, the - object is locked for either reading or writing, and the PHP script concludes - before the object is unlocked, then the underlying objects will end up in an - inconsistent state. + If an object is: A named reader-writer with an autounlock of FALSE, the + object is locked for either reading or writing, and the PHP script concludes + before the object is unlocked, then the underlying objects will end up in an + inconsistent state. @@ -60,8 +60,14 @@ &reftitle.returnvalues; - The new SyncReaderWriter object. An exception is thrown if the reader-writer - cannot be created or opened. + The new SyncReaderWriter object. + + + + + &reftitle.errors; + + An exception is thrown if the reader-writer cannot be created or opened. diff --git a/reference/sync/syncreaderwriter/readlock.xml b/reference/sync/syncreaderwriter/readlock.xml index cbcee0fa00..3cb436cf10 100644 --- a/reference/sync/syncreaderwriter/readlock.xml +++ b/reference/sync/syncreaderwriter/readlock.xml @@ -14,7 +14,7 @@ intwait-1 - Obtains a read lock on a SyncReaderWriter object. + Obtains a read lock on a SyncReaderWriter object. @@ -25,8 +25,8 @@ wait - The number of milliseconds to wait for a lock. - A value of -1 is infinite. + The number of milliseconds to wait for a lock. + A value of -1 is infinite. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the lock was obtained, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncreaderwriter/readunlock.xml b/reference/sync/syncreaderwriter/readunlock.xml index 3e061ce9ac..02ac628672 100644 --- a/reference/sync/syncreaderwriter/readunlock.xml +++ b/reference/sync/syncreaderwriter/readunlock.xml @@ -14,7 +14,7 @@ - Releases a read lock on a SyncReaderWriter object. + Releases a read lock on a SyncReaderWriter object. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the unlock operation was successful, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncreaderwriter/writelock.xml b/reference/sync/syncreaderwriter/writelock.xml index fecdab0858..3434cdb7fb 100644 --- a/reference/sync/syncreaderwriter/writelock.xml +++ b/reference/sync/syncreaderwriter/writelock.xml @@ -14,7 +14,7 @@ intwait-1 - Obtains an exclusive write lock on a SyncReaderWriter object. + Obtains an exclusive write lock on a SyncReaderWriter object. @@ -25,8 +25,8 @@ wait - The number of milliseconds to wait for a lock. - A value of -1 is infinite. + The number of milliseconds to wait for a lock. + A value of -1 is infinite. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the lock was obtained, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncreaderwriter/writeunlock.xml b/reference/sync/syncreaderwriter/writeunlock.xml index 96d3b03bc3..ec4a4eb27d 100644 --- a/reference/sync/syncreaderwriter/writeunlock.xml +++ b/reference/sync/syncreaderwriter/writeunlock.xml @@ -14,7 +14,7 @@ - Releases a write lock on a SyncReaderWriter object. + Releases a write lock on a SyncReaderWriter object. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the unlock operation was successful, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncsemaphore/construct.xml b/reference/sync/syncsemaphore/construct.xml index 075a1d8b38..7e62d1af6f 100644 --- a/reference/sync/syncsemaphore/construct.xml +++ b/reference/sync/syncsemaphore/construct.xml @@ -16,7 +16,7 @@ boolautounlock&true; - Constructs a named or unnamed semaphore. + Constructs a named or unnamed semaphore. @@ -27,13 +27,13 @@ name - The name of the semaphore if this is a named semaphore object. + The name of the semaphore if this is a named semaphore object. - If the name already exists, it must be able to be opened by the current user - that the process is running as or an exception will be thrown with a meaningless - error message. + If the name already exists, it must be able to be opened by the current user + that the process is running as or an exception will be thrown with a meaningless + error message. @@ -42,7 +42,7 @@ initialval - The initial value of the semaphore. This is the number of locks that may be obtained. + The initial value of the semaphore. This is the number of locks that may be obtained. @@ -50,14 +50,14 @@ autounlock - Specifies whether or not to automatically unlock the semaphore at the - conclusion of the PHP script. + Specifies whether or not to automatically unlock the semaphore at the + conclusion of the PHP script. - If an object is: A named semaphore with an autounlock of FALSE, the object is - locked, and the PHP script concludes before the object is unlocked, then the - underlying semaphore will end up in an inconsistent state. + If an object is: A named semaphore with an autounlock of &false;, the object is + locked, and the PHP script concludes before the object is unlocked, then the + underlying semaphore will end up in an inconsistent state. @@ -68,8 +68,14 @@ &reftitle.returnvalues; - The new SyncSemaphore object. An exception is thrown if the semaphore cannot - be created or opened. + The new SyncSemaphore object. + + + + + &reftitle.errors; + + An exception is thrown if the semaphore cannot be created or opened. diff --git a/reference/sync/syncsemaphore/lock.xml b/reference/sync/syncsemaphore/lock.xml index ac939c1096..a6a780918b 100644 --- a/reference/sync/syncsemaphore/lock.xml +++ b/reference/sync/syncsemaphore/lock.xml @@ -14,7 +14,7 @@ intwait-1 - Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero. + Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero. @@ -25,8 +25,8 @@ wait - The number of milliseconds to wait for the semaphore. - A value of -1 is infinite. + The number of milliseconds to wait for the semaphore. + A value of -1 is infinite. @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the lock operation was successful, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncsemaphore/unlock.xml b/reference/sync/syncsemaphore/unlock.xml index 5dd33ddf3c..8cd2d3a601 100644 --- a/reference/sync/syncsemaphore/unlock.xml +++ b/reference/sync/syncsemaphore/unlock.xml @@ -14,7 +14,7 @@ intprevcount - Increases the count of a SyncSemaphore object. + Increases the count of a SyncSemaphore object. @@ -25,7 +25,7 @@ prevcount - Returns the previous count of the semaphore. + Returns the previous count of the semaphore. @@ -35,7 +35,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the unlock operation was successful, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncsharedmemory/construct.xml b/reference/sync/syncsharedmemory/construct.xml index 7a5e6c599a..c0355b8cc8 100644 --- a/reference/sync/syncsharedmemory/construct.xml +++ b/reference/sync/syncsharedmemory/construct.xml @@ -15,7 +15,7 @@ intsize - Constructs a named shared memory object. + Constructs a named shared memory object. @@ -26,13 +26,13 @@ name - The name of the shared memory object. + The name of the shared memory object. - If the name already exists, it must be able to be opened by the current user - that the process is running as or an exception will be thrown with a meaningless - error message. + If the name already exists, it must be able to be opened by the current user + that the process is running as or an exception will be thrown with a meaningless + error message. @@ -41,11 +41,11 @@ size - The size, in bytes, of shared memory to reserve. + The size, in bytes, of shared memory to reserve. - The amount of memory cannot be resized later. Request sufficient storage up front. + The amount of memory cannot be resized later. Request sufficient storage up front. @@ -56,8 +56,14 @@ &reftitle.returnvalues; - The new SyncSharedMemory object. An exception is thrown if the shared memory - object cannot be created or opened. + The new SyncSharedMemory object. + + + + + &reftitle.errors; + + An exception is thrown if the shared memory object cannot be created or opened. diff --git a/reference/sync/syncsharedmemory/first.xml b/reference/sync/syncsharedmemory/first.xml index eb9ce13f2f..333e2d034a 100644 --- a/reference/sync/syncsharedmemory/first.xml +++ b/reference/sync/syncsharedmemory/first.xml @@ -14,7 +14,7 @@ - Retrieves the system-wide first instance status of a SyncSharedMemory object. + Retrieves the system-wide first instance status of a SyncSharedMemory object. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean of TRUE if the object is the first instance system-wide, FALSE otherwise. + &return.success; diff --git a/reference/sync/syncsharedmemory/size.xml b/reference/sync/syncsharedmemory/size.xml index cf741f5ff7..ab572f0739 100644 --- a/reference/sync/syncsharedmemory/size.xml +++ b/reference/sync/syncsharedmemory/size.xml @@ -14,7 +14,7 @@ - Retrieves the shared memory size of a SyncSharedMemory object. + Retrieves the shared memory size of a SyncSharedMemory object. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - An integer containing the size of the shared memory. This will be the same size that was passed to the constructor. + An integer containing the size of the shared memory. This will be the same size that was passed to the constructor. diff --git a/reference/sync/syncsharedmemory/write.xml b/reference/sync/syncsharedmemory/write.xml index 52e529cc87..eee4cd4ae6 100644 --- a/reference/sync/syncsharedmemory/write.xml +++ b/reference/sync/syncsharedmemory/write.xml @@ -15,7 +15,7 @@ intstart0 - Copies data to named shared memory. + Copies data to named shared memory. @@ -26,12 +26,12 @@ string - The data to write to shared memoy. + The data to write to shared memory. - If the size of the data exceeds the size of the shared memory, the number of - bytes written returned will be less than the length of the input. + If the size of the data exceeds the size of the shared memory, the number of + bytes written returned will be less than the length of the input. @@ -40,12 +40,12 @@ start - The start/offset, in bytes, to begin writing. + The start/offset, in bytes, to begin writing. - If the value is negative, the starting position will begin at the specified - number of bytes from the end of the shared memory segment. + If the value is negative, the starting position will begin at the specified + number of bytes from the end of the shared memory segment. @@ -56,7 +56,7 @@ &reftitle.returnvalues; - An integer containing the number of bytes written to shared memory. + An integer containing the number of bytes written to shared memory. From a997a6c1452e55557bbce59701c9d560ae0e2b8a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 7 Jul 2021 10:25:58 +0200 Subject: [PATCH 334/444] Add information about "threads" with libsodium Closes GH-762. --- reference/password/constants.xml | 6 ++++-- reference/password/functions/password-hash.xml | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/reference/password/constants.xml b/reference/password/constants.xml index 16d6b37158..ea6bfa04c9 100644 --- a/reference/password/constants.xml +++ b/reference/password/constants.xml @@ -80,6 +80,7 @@ threads (int) - Number of threads to use for computing the Argon2 hash. Defaults to PASSWORD_ARGON2_DEFAULT_THREADS. + Only available with libargon2, not with libsodium implementation. @@ -111,7 +112,7 @@ - Default amount of memory in bytes that Argon2lib will use while trying to + Default amount of memory in bytes that will be used while trying to compute a hash. @@ -126,7 +127,7 @@ - Default amount of time that Argon2lib will spend trying to compute a hash. + Default amount of time that will be spent trying to compute a hash. Available as of PHP 7.2.0. @@ -141,6 +142,7 @@ Default number of threads that Argon2lib will use. + Not available with libsodium implementation. Available as of PHP 7.2.0. diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml index 60e2ce8421..9ffed03b63 100644 --- a/reference/password/functions/password-hash.xml +++ b/reference/password/functions/password-hash.xml @@ -112,6 +112,11 @@ threads (int) - Number of threads to use for computing the Argon2 hash. Defaults to PASSWORD_ARGON2_DEFAULT_THREADS. + + + Only available when PHP use libargon2, not with libsodium implementation. + + @@ -191,6 +196,12 @@ &integer;s for backward compatibility.
+ + 7.4.0 + + The sodium extension provides an alternative implementation for Argon2 passwords. + + 7.3.0 From 222b43d6c13467885434244105205542317e3046 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Wed, 7 Jul 2021 15:43:43 +0300 Subject: [PATCH 335/444] Fix misspelling of "successful" on dba_open page (#764) --- reference/dba/functions/dba-open.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/dba/functions/dba-open.xml b/reference/dba/functions/dba-open.xml index 9c6363694b..cdb6c6c200 100644 --- a/reference/dba/functions/dba-open.xml +++ b/reference/dba/functions/dba-open.xml @@ -140,7 +140,7 @@ - ok: the second call will be successfull. + ok: the second call will be successful. wait: the second call waits until dba_close is called for the first. false: the second call returns false. illegal: you must not mix "l" and "d" modifiers for mode parameter. From d42b32e96ba3a36544b453128b5f515166bfc14c Mon Sep 17 00:00:00 2001 From: Karsten Lehmann Date: Wed, 7 Jul 2021 22:53:13 +0200 Subject: [PATCH 336/444] Fix parameter names for array functions (#616) * Fix parameter names in array_walk docs * Fix parameter names in documentation for array_walk_recursive --- reference/array/functions/array-walk-recursive.xml | 6 +++--- reference/array/functions/array-walk.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/array/functions/array-walk-recursive.xml b/reference/array/functions/array-walk-recursive.xml index 71170f555b..5f02e03419 100644 --- a/reference/array/functions/array-walk-recursive.xml +++ b/reference/array/functions/array-walk-recursive.xml @@ -11,7 +11,7 @@ boolarray_walk_recursive arrayobjectarray callablecallback - mixeduserdata&null; + mixedarg&null; Applies the user-defined callback function to each @@ -52,10 +52,10 @@ - userdata + arg - If the optional userdata parameter is supplied, + If the optional arg parameter is supplied, it will be passed as the third parameter to the callback. diff --git a/reference/array/functions/array-walk.xml b/reference/array/functions/array-walk.xml index f042383e54..850606e97b 100644 --- a/reference/array/functions/array-walk.xml +++ b/reference/array/functions/array-walk.xml @@ -11,7 +11,7 @@ boolarray_walk arrayobjectarray callablecallback - mixeduserdata&null; + mixedarg&null; Applies the user-defined callback function to each @@ -71,10 +71,10 @@ - userdata + arg - If the optional userdata parameter is supplied, + If the optional arg parameter is supplied, it will be passed as the third parameter to the callback. From b43148c4e30f016fafc0e56502717b6ec1cd1c97 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Thu, 8 Jul 2021 21:54:27 +0300 Subject: [PATCH 337/444] Capitalize word on webPhar page (#766) --- reference/phar/Phar/webPhar.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/phar/Phar/webPhar.xml b/reference/phar/Phar/webPhar.xml index 9209b3ee3b..10d12d41e1 100644 --- a/reference/phar/Phar/webPhar.xml +++ b/reference/phar/Phar/webPhar.xml @@ -3,7 +3,7 @@ Phar::webPhar - mapPhar for web-based phars. front controller for web applications + mapPhar for web-based phars. Front controller for web applications From 1854a0d06016bbf27f9d18dcb7bd08449fff1602 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Thu, 8 Jul 2021 22:33:02 +0300 Subject: [PATCH 338/444] Add missing period on webPhar page (#767) --- reference/phar/Phar/webPhar.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/phar/Phar/webPhar.xml b/reference/phar/Phar/webPhar.xml index 10d12d41e1..d617e40dae 100644 --- a/reference/phar/Phar/webPhar.xml +++ b/reference/phar/Phar/webPhar.xml @@ -3,7 +3,7 @@ Phar::webPhar - mapPhar for web-based phars. Front controller for web applications + mapPhar for web-based phars. Front controller for web applications. From d8047edf39c9a59726eccfe222322f6db1cd71b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Fri, 9 Jul 2021 19:24:25 +0800 Subject: [PATCH 339/444] Fix wrong params names for mysqli::__construct() [81232] (#769) * Fix wrong params names for mysqli::__construct() [81232] * Fix missing hostname --- reference/mysqli/mysqli/construct.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/reference/mysqli/mysqli/construct.xml b/reference/mysqli/mysqli/construct.xml index b9010d4f95..6a47f46ed7 100644 --- a/reference/mysqli/mysqli/construct.xml +++ b/reference/mysqli/mysqli/construct.xml @@ -13,29 +13,29 @@ &style.oop; public mysqli::__construct - stringhostini_get("mysqli.default_host") + stringhostnameini_get("mysqli.default_host") stringusernameini_get("mysqli.default_user") - stringpasswdini_get("mysqli.default_pw") - stringdbname"" + stringpasswordini_get("mysqli.default_pw") + stringdatabase"" intportini_get("mysqli.default_port") stringsocketini_get("mysqli.default_socket") public voidmysqli::connect - stringhostini_get("mysqli.default_host") + stringhostnameini_get("mysqli.default_host") stringusernameini_get("mysqli.default_user") - stringpasswdini_get("mysqli.default_pw") - stringdbname"" + stringpasswordini_get("mysqli.default_pw") + stringdatabase"" intportini_get("mysqli.default_port") stringsocketini_get("mysqli.default_socket") &style.procedural; mysqlifalsemysqli_connect - stringhostini_get("mysqli.default_host") + stringhostnameini_get("mysqli.default_host") stringusernameini_get("mysqli.default_user") - stringpasswdini_get("mysqli.default_pw") - stringdbname"" + stringpasswordini_get("mysqli.default_pw") + stringdatabase"" intportini_get("mysqli.default_port") stringsocketini_get("mysqli.default_socket") @@ -49,7 +49,7 @@ - host + hostname Can be either a host name or an IP address. The local host is @@ -73,7 +73,7 @@ - passwd + password If not provided or &null;, the MySQL server will attempt to authenticate @@ -84,7 +84,7 @@ - dbname + database If provided will specify the default database to be used when @@ -111,7 +111,7 @@ Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the - MySQL database is determined by the host + MySQL database is determined by the hostname parameter. From f24ff59d102ae3745aaaf24d0da601da434c39e0 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Sat, 10 Jul 2021 05:54:13 +0900 Subject: [PATCH 340/444] Added PHP 8 into versions.xml for mysqli based on stubs. (#426) --- reference/mysqli/versions.xml | 374 +++++++++++++++++----------------- 1 file changed, 187 insertions(+), 187 deletions(-) diff --git a/reference/mysqli/versions.xml b/reference/mysqli/versions.xml index 7ce7233846..fea515b2cd 100644 --- a/reference/mysqli/versions.xml +++ b/reference/mysqli/versions.xml @@ -4,73 +4,73 @@ Do NOT translate this file --> - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + @@ -86,140 +86,140 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + - + + @@ -27,6 +27,7 @@ &reference.mysql-xdevapi.setup; &reference.mysql-xdevapi.constants; + &reference.mysql-xdevapi.changelog; &reference.mysql-xdevapi.examples; &reference.mysql-xdevapi.reference; From 3006c659b1031bce0cb17b7818cf7186e4fff6c2 Mon Sep 17 00:00:00 2001 From: Philip Olson Date: Fri, 9 Jul 2021 15:18:29 -0700 Subject: [PATCH 342/444] Deprecate TLS 1.0 and 1.1 --- reference/mysql_xdevapi/changelog.xml | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 reference/mysql_xdevapi/changelog.xml diff --git a/reference/mysql_xdevapi/changelog.xml b/reference/mysql_xdevapi/changelog.xml new file mode 100644 index 0000000000..a453f3af0d --- /dev/null +++ b/reference/mysql_xdevapi/changelog.xml @@ -0,0 +1,63 @@ + + + + + &ChangelogListingTitle; + &ChangelogListingDescription; + + + General Changelog for the ext/mysql_xdevapi extension + + This changelog references the ext/mysql_xdevapi extension. + + + + + Global ext/mysql_xdevapi changes + + + + + + &Version; + &Description; + + + + + 8.0.26 + + + Deprecated TLSv1 and TLSv1.1 support. + + + + + + + + + + + + + From 9d35d855311760f36a46a80138551bb45310507f Mon Sep 17 00:00:00 2001 From: Tiffany Date: Sat, 10 Jul 2021 12:08:36 -0500 Subject: [PATCH 343/444] Revise wording for synopsis and summary (#768) --- reference/phar/Phar/webPhar.xml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/reference/phar/Phar/webPhar.xml b/reference/phar/Phar/webPhar.xml index d617e40dae..87016e8198 100644 --- a/reference/phar/Phar/webPhar.xml +++ b/reference/phar/Phar/webPhar.xml @@ -3,7 +3,7 @@ Phar::webPhar - mapPhar for web-based phars. Front controller for web applications. + Routes a request from a web browser to an internal file within the phar archive @@ -17,14 +17,13 @@ callablerewrites - Phar::mapPhar for web-based phars. This method parses - $_SERVER['REQUEST_URI'] and routes a request from a web - browser to an internal file within the phar archive. In essence, it simulates - a web server, routing requests to the correct file, echoing the correct headers - and parsing PHP files as needed. This powerful method is part of what makes it easy - to convert an existing PHP application into a phar archive. Combined with - Phar::mungServer and Phar::interceptFileFuncs, - any web application can be used unmodified from a phar archive. + Phar::webPhar serves as Phar::mapPhar for + web-based phars. This method parses $_SERVER['REQUEST_URI'] and + routes a request from a web browser to an internal file within the phar archive. + It simulates a web server, routing requests to the correct file, echoing the correct + headers and parsing PHP files as needed. Combined with Phar::mungServer + and Phar::interceptFileFuncs, any web application can be used + unmodified from a phar archive. Phar::webPhar should only be From d1d43ac1ccc2a9d03a39a90eed630e039d9f843c Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 11 Jul 2021 12:12:21 +0100 Subject: [PATCH 344/444] Fixed remaining issues in mysqli versions.xml (#772) * Removed non-existent functions * Removed duplicated entries * Added comments --- reference/mysqli/versions.xml | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/reference/mysqli/versions.xml b/reference/mysqli/versions.xml index fea515b2cd..8ce04bab37 100644 --- a/reference/mysqli/versions.xml +++ b/reference/mysqli/versions.xml @@ -48,7 +48,8 @@ - + + @@ -63,7 +64,6 @@ - @@ -71,23 +71,15 @@ - - - - - - - - - - - - - - - + + + + + + + + - From f411d6bbf1c562ba120cb64384efaa95187de8a1 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 11 Jul 2021 17:09:29 +0300 Subject: [PATCH 345/444] Collator enhancement (#773) --- reference/intl/collator/asort.xml | 6 +++--- reference/intl/collator/compare.xml | 7 ++----- reference/intl/collator/construct.xml | 21 ++++++++++---------- reference/intl/collator/create.xml | 2 +- reference/intl/collator/get-attribute.xml | 2 +- reference/intl/collator/get-locale.xml | 3 +-- reference/intl/collator/get-strength.xml | 2 +- reference/intl/collator/set-attribute.xml | 2 +- reference/intl/collator/set-strength.xml | 24 +++++++++++------------ 9 files changed, 32 insertions(+), 37 deletions(-) diff --git a/reference/intl/collator/asort.xml b/reference/intl/collator/asort.xml index 8db6521af3..670950d837 100644 --- a/reference/intl/collator/asort.xml +++ b/reference/intl/collator/asort.xml @@ -82,9 +82,9 @@ - Default $sort_flag value is + Default flags value is Collator::SORT_REGULAR. - It is also used if an invalid $sort_flag value has been specified. + It is also used if an invalid flags value has been specified. @@ -104,7 +104,7 @@ &reftitle.examples; - <function>collator_asort</function>example + <function>collator_asort</function> example - On error - bool - &false; - is returned. + Returns &false; on failure. &return.falseproblem; @@ -99,7 +96,7 @@ &reftitle.examples; - <function>collator_compare</function>example + <function>collator_compare</function> example stringlocale - Creates a new instance of Collator. + Creates a new instance of Collator. @@ -25,12 +25,12 @@ The locale whose collation rules should be used. Special values for - locales can be passed in - if null is passed for the locale, the - default locale's collation rules will be used. If "root" is passed, - UCA rules will be used. + locales can be passed in - if &null; is passed for the locale, the + default locale's collation rules will be used. If "root" is passed, + UCA rules will be used. - The Locale attribute is typically the most important attribute for + The locale attribute is typically the most important attribute for correct sorting and matching, according to the user expectations in different countries and regions. The default UCA @@ -68,17 +68,16 @@ &reftitle.returnvalues; - Returns Collator instance. + Returns Collator instance. &reftitle.errors; - Returns an "empty" object on error. You can use - intl_get_error_code - and/or - intl_get_error_message + Returns an "empty" object on error. + Use intl_get_error_code + and/or intl_get_error_message to know what happened. @@ -91,7 +90,7 @@ ]]> diff --git a/reference/intl/collator/create.xml b/reference/intl/collator/create.xml index cd3666d281..32014e32f1 100644 --- a/reference/intl/collator/create.xml +++ b/reference/intl/collator/create.xml @@ -35,7 +35,7 @@ The locale containing the required collation rules. Special values for - locales can be passed in - if null is passed for the locale, the + locales can be passed in - if &null; is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, UCA rules will be used. diff --git a/reference/intl/collator/get-attribute.xml b/reference/intl/collator/get-attribute.xml index 6ccd4325f4..2c37d53fca 100644 --- a/reference/intl/collator/get-attribute.xml +++ b/reference/intl/collator/get-attribute.xml @@ -57,7 +57,7 @@ &reftitle.returnvalues; - Attribute value, or bool &false; on error. + Attribute value,&return.falseforfailure;. diff --git a/reference/intl/collator/get-locale.xml b/reference/intl/collator/get-locale.xml index 85832a8c8f..e218cabaed 100644 --- a/reference/intl/collator/get-locale.xml +++ b/reference/intl/collator/get-locale.xml @@ -61,8 +61,7 @@ &reftitle.returnvalues; Real locale name from which the collation data comes. If the collator was - instantiated from rules or an error occurred, returns - bool &false;. + instantiated from rules or an error occurred, returns &false;. diff --git a/reference/intl/collator/get-strength.xml b/reference/intl/collator/get-strength.xml index f90ee3ec91..142f3e737c 100644 --- a/reference/intl/collator/get-strength.xml +++ b/reference/intl/collator/get-strength.xml @@ -48,7 +48,7 @@ &reftitle.returnvalues; - Returns current collation strength, or bool &false; on error. + Returns current collation strength,&return.falseforfailure;. diff --git a/reference/intl/collator/set-attribute.xml b/reference/intl/collator/set-attribute.xml index 25c1cf700a..aca102bc33 100644 --- a/reference/intl/collator/set-attribute.xml +++ b/reference/intl/collator/set-attribute.xml @@ -39,7 +39,7 @@ object - Collator object. + Collator object. diff --git a/reference/intl/collator/set-strength.xml b/reference/intl/collator/set-strength.xml index 2b8ec65262..f51808c71c 100644 --- a/reference/intl/collator/set-strength.xml +++ b/reference/intl/collator/set-strength.xml @@ -37,21 +37,21 @@ - Primary Level: + Primary Level: Typically, this is used to denote differences between base characters (for example, "a" < "b"). It is the strongest difference. For example, dictionaries are divided into different sections by base - character. This is also called the level1 strength. + character. This is also called the level 1 strength. - Secondary Level: + Secondary Level: Accents in the characters are considered secondary differences (for example, "as" < "às" < "at"). Other differences between letters can also be considered secondary differences, depending on the language. A secondary difference is ignored when there is a primary difference - anywhere in the strings. This is also called the level2 strength. + anywhere in the strings. This is also called the level 2 strength. Note: In some languages (such as Danish), certain accented letters are @@ -64,40 +64,40 @@ - Tertiary Level: + Tertiary Level: Upper and lower case differences in characters are distinguished at the tertiary level (for example, "ao" < "Ao" < "aò"). In addition, a variant of a letter differs from the base form on the tertiary level (such as "A" and " "). Another example is the difference between large and small Kana. A tertiary difference is ignored when there is a primary or secondary difference anywhere in the strings. This is also called the - level3 strength. + level 3 strength. - Quaternary Level: - When punctuation is ignored (see Ignoring Punctuations ) at level 13, + Quaternary Level: + When punctuation is ignored (see Ignoring Punctuations ) at levels 1-3, an additional level can be used to distinguish words with and without punctuation (for example, "ab" < "a-b" < "aB"). This difference is ignored when there is a primary, secondary or tertiary difference. This - is also known as the level4 strength. The quaternary level should only + is also known as the level 4 strength. The quaternary level should only be used if ignoring punctuation is required or when processing Japanese text (see Hiragana processing). - Identical Level: + Identical Level: When all other levels are equal, the identical level is used as a tiebreaker. The Unicode code point values of the NFD form of each string are compared at this level, just in case there is no difference at - levels 14. For example, Hebrew cantillation marks are only distinguished + levels 1-4. For example, Hebrew cantillation marks are only distinguished at this level. This level should be used sparingly, as only code point values differences between two strings is an extremely rare occurrence. Using this level substantially decreases the performance for both incremental comparison and sort key generation (as well as increasing - the sort key length). It is also known as level 5 strength. + the sort key length). It is also known as level 5 strength. From c8754aca29d11e39c4620f9b8c567e7d84a37a04 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 11 Jul 2021 16:28:47 +0200 Subject: [PATCH 346/444] Fix: [ parallel\Events ] Incorrect reference Closes GH-775. --- reference/parallel/parallel/events/poll.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/parallel/parallel/events/poll.xml b/reference/parallel/parallel/events/poll.xml index a74b171421..1a4ff6ba1d 100644 --- a/reference/parallel/parallel/events/poll.xml +++ b/reference/parallel/parallel/events/poll.xml @@ -10,7 +10,7 @@ &reftitle.description; - public Eventnullparallel\Events::poll + public parallel\Events\Eventnullparallel\Events::poll From 64bab6321fe7aec300303dcedfddfcb31fb053c2 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Sun, 11 Jul 2021 18:08:21 +0300 Subject: [PATCH 347/444] Snmp enhancement (#774) --- reference/snmp/functions/snmp-get-valueretrieval.xml | 2 +- reference/snmp/functions/snmp-read-mib.xml | 6 +++--- reference/snmp/functions/snmp-set-valueretrieval.xml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/reference/snmp/functions/snmp-get-valueretrieval.xml b/reference/snmp/functions/snmp-get-valueretrieval.xml index d36e8d78ad..920edeab49 100644 --- a/reference/snmp/functions/snmp-get-valueretrieval.xml +++ b/reference/snmp/functions/snmp-get-valueretrieval.xml @@ -35,7 +35,7 @@ &reftitle.examples; - Using snmp_get_valueretrieval + Using <function>snmp_get_valueretrieval</function> This function is used to load additional, e.g. vendor specific, MIBs so that - human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs + human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used. The order in which the MIBs are loaded does matter as the underlying Net-SNMP - libary will print warnings if referenced objects cannot be resolved. + library will print warnings if referenced objects cannot be resolved. @@ -41,7 +41,7 @@ &reftitle.returnvalues; - Returns &true; on success, &false; on error while reading MIB file. + &return.success; diff --git a/reference/snmp/functions/snmp-set-valueretrieval.xml b/reference/snmp/functions/snmp-set-valueretrieval.xml index 768bd59d14..9cc05bd785 100644 --- a/reference/snmp/functions/snmp-set-valueretrieval.xml +++ b/reference/snmp/functions/snmp-set-valueretrieval.xml @@ -40,9 +40,9 @@ SNMP_VALUE_OBJECT - The return values will be objects with the properties "value" and "type", where the latter - is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The - way "value" is returned is based on which one of constants + The return values will be objects with the properties value and type, where the latter + is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The + way value is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set. From 04df229c536daf299b51e16479f017ac68556038 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 11 Jul 2021 17:00:43 +0100 Subject: [PATCH 348/444] Fix remaining usages of __autoload (#752) --- reference/classobj/functions/class-exists.xml | 2 +- reference/classobj/versions.xml | 2 +- reference/spl/functions/class-implements.xml | 15 +++++++-------- reference/spl/functions/class-parents.xml | 16 ++++++++-------- reference/spl/functions/class-uses.xml | 11 +++-------- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/reference/classobj/functions/class-exists.xml b/reference/classobj/functions/class-exists.xml index 490d52172e..95f3c549be 100644 --- a/reference/classobj/functions/class-exists.xml +++ b/reference/classobj/functions/class-exists.xml @@ -32,7 +32,7 @@ autoload - Whether or not to call &link.autoload; by default. + Whether to call &link.autoload; by default. diff --git a/reference/classobj/versions.xml b/reference/classobj/versions.xml index b2c5e1cf21..7d88b25f6a 100644 --- a/reference/classobj/versions.xml +++ b/reference/classobj/versions.xml @@ -5,7 +5,7 @@ --> - + diff --git a/reference/spl/functions/class-implements.xml b/reference/spl/functions/class-implements.xml index 527c4c0f01..d5ce0e4d74 100644 --- a/reference/spl/functions/class-implements.xml +++ b/reference/spl/functions/class-implements.xml @@ -36,8 +36,7 @@ autoload - Whether to allow this function to load the class automatically through - the __autoload magic method. + Whether to call &link.autoload; by default. @@ -70,12 +69,9 @@ print_r(class_implements(new bar)); // you may also specify the parameter as a string print_r(class_implements('bar')); +spl_autoload_register(); -function __autoload($class_name) { - require_once $class_name . '.php'; -} - -// use __autoload to load the 'not_loaded' class +// use autoloading to load the 'not_loaded' class print_r(class_implements('not_loaded', true)); ?> @@ -88,7 +84,10 @@ Array ( [foo] => foo ) - +Array +( + [foo] => foo +) Array ( [interface_of_not_loaded] => interface_of_not_loaded diff --git a/reference/spl/functions/class-parents.xml b/reference/spl/functions/class-parents.xml index 637a12ae17..63124e707c 100644 --- a/reference/spl/functions/class-parents.xml +++ b/reference/spl/functions/class-parents.xml @@ -36,8 +36,7 @@ autoload - Whether to allow this function to load the class automatically through - the __autoload magic method. + Whether to call &link.autoload; by default. @@ -69,13 +68,11 @@ print_r(class_parents(new bar)); // you may also specify the parameter as a string print_r(class_parents('bar')); +spl_autoload_register(); -function __autoload($class_name) { - require_once $class_name . '.php'; -} - -// use __autoload to load the 'not_loaded' class +// use autoloading to load the 'not_loaded' class print_r(class_parents('not_loaded', true)); + ?> ]]> @@ -86,7 +83,10 @@ Array ( [foo] => foo ) - +Array +( + [foo] => foo +) Array ( [parent_of_not_loaded] => parent_of_not_loaded diff --git a/reference/spl/functions/class-uses.xml b/reference/spl/functions/class-uses.xml index 32768a092d..d13880ba17 100644 --- a/reference/spl/functions/class-uses.xml +++ b/reference/spl/functions/class-uses.xml @@ -37,8 +37,7 @@ autoload - Whether to allow this function to load the class automatically through - the __autoload magic method. + Whether to call &link.autoload; by default. @@ -72,11 +71,9 @@ print_r(class_uses(new bar)); print_r(class_uses('bar')); -function __autoload($class_name) { - require_once $class_name . '.php'; -} +spl_autoload_register(); -// use __autoload to load the 'not_loaded' class +// use autoloading to load the 'not_loaded' class print_r(class_uses('not_loaded', true)); ?> @@ -89,12 +86,10 @@ Array ( [foo] => foo ) - Array ( [foo] => foo ) - Array ( [trait_of_not_loaded] => trait_of_not_loaded From 04a6d30dc15d2c794ec3b82a4c78dd8bf4101903 Mon Sep 17 00:00:00 2001 From: othercorey Date: Sun, 11 Jul 2021 12:23:12 -0500 Subject: [PATCH 349/444] Update return type for SessionHandlerInterface::gc() (#704) The type is `int|false` but documented as `int|bool`. --- reference/session/sessionhandlerinterface/gc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/session/sessionhandlerinterface/gc.xml b/reference/session/sessionhandlerinterface/gc.xml index 12bca46c74..a260d38cd5 100644 --- a/reference/session/sessionhandlerinterface/gc.xml +++ b/reference/session/sessionhandlerinterface/gc.xml @@ -9,7 +9,7 @@ &reftitle.description; - abstract public intboolSessionHandlerInterface::gc + abstract public intfalseSessionHandlerInterface::gc intmax_lifetime From eedb2334027e62f88e233472a14d19020317d752 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 12 Jul 2021 09:38:40 +0300 Subject: [PATCH 350/444] RRDGraph enhancement --- reference/rrd/rrdgraph/construct.xml | 2 +- reference/rrd/rrdgraph/save.xml | 3 +-- reference/rrd/rrdgraph/saveverbose.xml | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/reference/rrd/rrdgraph/construct.xml b/reference/rrd/rrdgraph/construct.xml index 8b35c0e347..2bb2d58a38 100644 --- a/reference/rrd/rrdgraph/construct.xml +++ b/reference/rrd/rrdgraph/construct.xml @@ -14,7 +14,7 @@ stringpath - Creates new RRDGraph instance. This instance is responsible for rendering + Creates new RRDGraph instance. This instance is responsible for rendering the result of RRD database query into image. diff --git a/reference/rrd/rrdgraph/save.xml b/reference/rrd/rrdgraph/save.xml index 4003f92c7d..cea6477843 100644 --- a/reference/rrd/rrdgraph/save.xml +++ b/reference/rrd/rrdgraph/save.xml @@ -27,8 +27,7 @@ &reftitle.returnvalues; - Array with information about generated image is returned, &false; if error - occurs. + Returns array with information about generated image,&return.falseforfailure;. diff --git a/reference/rrd/rrdgraph/saveverbose.xml b/reference/rrd/rrdgraph/saveverbose.xml index aa579a86f6..0ab1976e99 100644 --- a/reference/rrd/rrdgraph/saveverbose.xml +++ b/reference/rrd/rrdgraph/saveverbose.xml @@ -30,8 +30,7 @@ &reftitle.returnvalues; - Array with detailed information about generated image is returned, optionally - with image data, &false; if error occurs. + Returns array with detailed information about generated image,&return.falseforfailure;. From 3d34df408450460dcfb98e749bc14600059f6f73 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Mon, 12 Jul 2021 15:08:55 +0100 Subject: [PATCH 351/444] Move mysqli SQL injection warning to a snippet (#703) --- language-snippets.ent | 7 +++++++ reference/mysqli/mysqli/multi-query.xml | 4 +--- reference/mysqli/mysqli/query.xml | 12 +----------- reference/mysqli/mysqli/real-query.xml | 12 +----------- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index 8867eb60ea..dd7482101f 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1676,6 +1676,13 @@ linkend="book.mysqlnd">mysqlnd.'> hand-shake/authentication, which mysqlnd will use.Libmysqlclient uses the default charset set in the my.cnf or by an explicit call to mysqli_options prior to calling mysqli_real_connect, but after mysqli_init.'> + +Security warning: SQL injectionIf the query contains any variable +input then parameterized +prepared statements should be used instead. Alternatively, the +data must be properly formatted and all strings must be escaped using +the mysqli_real_escape_string +function.'> This function is supported when PHP diff --git a/reference/mysqli/mysqli/multi-query.xml b/reference/mysqli/mysqli/multi-query.xml index dc30f7f0de..9667c67358 100644 --- a/reference/mysqli/mysqli/multi-query.xml +++ b/reference/mysqli/mysqli/multi-query.xml @@ -42,9 +42,7 @@ The query, as a string. - - Data inside the query should be properly escaped. - + &mysqli.sqlinjection.warning; diff --git a/reference/mysqli/mysqli/query.xml b/reference/mysqli/mysqli/query.xml index 3df7427eed..e240544576 100644 --- a/reference/mysqli/mysqli/query.xml +++ b/reference/mysqli/mysqli/query.xml @@ -77,17 +77,7 @@ The query string. - - Security warning: SQL injection - - If the query contains any variable input then - parameterized - prepared statements should be used instead. Alternatively, the - data must be properly formatted and all strings must be escaped using - the mysqli_real_escape_string - function. - - + &mysqli.sqlinjection.warning; diff --git a/reference/mysqli/mysqli/real-query.xml b/reference/mysqli/mysqli/real-query.xml index e4e5f08fc5..b7a2e4e42d 100644 --- a/reference/mysqli/mysqli/real-query.xml +++ b/reference/mysqli/mysqli/real-query.xml @@ -42,17 +42,7 @@ The query string. - - Security warning: SQL injection - - If the query contains any variable input then - parameterized - prepared statements should be used instead. Alternatively, the - data must be properly formatted and all strings must be escaped using - the mysqli_real_escape_string - function. - - + &mysqli.sqlinjection.warning; From c0fb8cac832c2f51f1eb5e5ab7247e8db6a32c2e Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 12 Jul 2021 17:27:18 +0200 Subject: [PATCH 352/444] Clarify that open_basedir cannot be relied upon for security Cf. and . --- appendices/ini.core.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml index c6d042db9a..d8bb14dc7f 100644 --- a/appendices/ini.core.xml +++ b/appendices/ini.core.xml @@ -1255,6 +1255,12 @@ include_path = ".:${USER}/pear/php" to 0 and thus disable the realpath cache. + + + open_basedir is just an extra safety net, that is in no way + comprehensive, and can therefore not be relied upon when security is needed. + + From 49d4fb555745d1981edac87a5a2d8ae53b5f75df Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 13 Jul 2021 16:08:05 +0300 Subject: [PATCH 353/444] Yaf_Dispatcher enhancement --- reference/yaf/yaf_dispatcher/autorender.xml | 4 ++-- reference/yaf/yaf_dispatcher/catchexception.xml | 4 ++-- reference/yaf/yaf_dispatcher/dispatch.xml | 2 +- reference/yaf/yaf_dispatcher/flushinstantly.xml | 2 +- reference/yaf/yaf_dispatcher/getapplication.xml | 4 ++-- reference/yaf/yaf_dispatcher/registerplugin.xml | 2 +- reference/yaf/yaf_dispatcher/seterrorhandler.xml | 2 +- reference/yaf/yaf_dispatcher/setview.xml | 6 +++--- reference/yaf/yaf_dispatcher/throwexception.xml | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/reference/yaf/yaf_dispatcher/autorender.xml b/reference/yaf/yaf_dispatcher/autorender.xml index f8bcd868ad..7d28115c59 100644 --- a/reference/yaf/yaf_dispatcher/autorender.xml +++ b/reference/yaf/yaf_dispatcher/autorender.xml @@ -37,7 +37,7 @@ since 2.2.0, if this parameter is not given, then the current state - will be renturned + will be returned @@ -56,7 +56,7 @@ &reftitle.examples; - <function>Yaf_Dispatcher::autoRender</function>example + <function>Yaf_Dispatcher::autoRender</function> example While the application.dispatcher.throwException is On(you can also calling to Yaf_Dispatcher::throwException(TRUE) to enable it), Yaf will throw Exception when - error occurrs instead of trigger error. + error occurs instead of trigger error. then if you enable Yaf_Dispatcher::catchException(also can enabled by set @@ -49,7 +49,7 @@ &reftitle.examples; - <function>Yaf_Dispatcher::catchException</function>example + <function>Yaf_Dispatcher::catchException</function> example Response Routing takes place exactly once, using the values in the request object - when dispatch() is called. Dispatching takes place in a loop; a request may + when Yaf_Dispatcher::dispatch is called. Dispatching takes place in a loop; a request may either indicate multiple actions to dispatch, or the controller or a plugin may reset the request object to force additional actions to dispatch(see Yaf_Plugin_Abstract. When all is done, the diff --git a/reference/yaf/yaf_dispatcher/flushinstantly.xml b/reference/yaf/yaf_dispatcher/flushinstantly.xml index 7f12170f75..654e4db851 100644 --- a/reference/yaf/yaf_dispatcher/flushinstantly.xml +++ b/reference/yaf/yaf_dispatcher/flushinstantly.xml @@ -32,7 +32,7 @@ since 2.2.0, if this parameter is not given, then the current state - will be renturned + will be returned diff --git a/reference/yaf/yaf_dispatcher/getapplication.xml b/reference/yaf/yaf_dispatcher/getapplication.xml index ef8a62509c..d399563d28 100644 --- a/reference/yaf/yaf_dispatcher/getapplication.xml +++ b/reference/yaf/yaf_dispatcher/getapplication.xml @@ -4,7 +4,7 @@ Yaf_Dispatcher::getApplication - Retrive the application + Retrieve the application @@ -14,7 +14,7 @@ - Retrive the Yaf_Application instance. same as + Retrieve the Yaf_Application instance. same as Yaf_Application::app. diff --git a/reference/yaf/yaf_dispatcher/registerplugin.xml b/reference/yaf/yaf_dispatcher/registerplugin.xml index f7c41f32fe..7403eed8f0 100644 --- a/reference/yaf/yaf_dispatcher/registerplugin.xml +++ b/reference/yaf/yaf_dispatcher/registerplugin.xml @@ -47,7 +47,7 @@ &reftitle.examples; - <function>Yaf_Dispatcher::registerPlugin</function>example + <function>Yaf_Dispatcher::registerPlugin</function> example Set error handler for Yaf. when application.dispatcher.throwException - is off, Yaf will trigger catchable error while unexpected errors occrred. + is off, Yaf will trigger catchable error while unexpected errors occurred. Thus, this error handler will be called while the error raise. diff --git a/reference/yaf/yaf_dispatcher/setview.xml b/reference/yaf/yaf_dispatcher/setview.xml index 49f80d2715..0f4b8633c5 100644 --- a/reference/yaf/yaf_dispatcher/setview.xml +++ b/reference/yaf/yaf_dispatcher/setview.xml @@ -27,7 +27,7 @@ view - A Yaf_View_Interface instance + A Yaf_View_Interface instance @@ -44,7 +44,7 @@ &reftitle.examples; - <function>A custom View engine</function>example + <function>A custom View engine</function> example - <function>Yaf_Dispatcher::setView</function>example + <function>Yaf_Dispatcher::setView</function> example boolflag - Siwtch on/off exception throwing while unexpected error occurring. + Switch on/off exception throwing while unexpected error occurring. When this is on, Yaf will throwing exceptions instead of triggering catchable errors. @@ -49,7 +49,7 @@ &reftitle.examples; - <function>Yaf_Dispatcher::throwexception</function>example + <function>Yaf_Dispatcher::throwexception</function> example Date: Tue, 13 Jul 2021 15:13:52 +0200 Subject: [PATCH 354/444] PDO_MySQL does not properly support out parameters Cf. . --- reference/pdo_mysql/reference.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reference/pdo_mysql/reference.xml b/reference/pdo_mysql/reference.xml index 5ea7006465..90e0fe02dd 100644 --- a/reference/pdo_mysql/reference.xml +++ b/reference/pdo_mysql/reference.xml @@ -48,6 +48,13 @@ commit any pending transactions. + + + The MySQL driver does not properly support PDO::PARAM_INPUT_OUTPUT + via PDOStatement::bindParam; while such parameters can be used, + they are not updated (i.e. the actual output is ignored). + + &reference.pdo-mysql.configure; &reference.pdo-mysql.constants; From a1024db27e50c6e47f0894353e1c50db3b721a70 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Tue, 13 Jul 2021 23:01:54 +0300 Subject: [PATCH 355/444] Capitalize "Windows" on "Building from source" page (#782) --- install/windows/building.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/windows/building.xml b/install/windows/building.xml index 2252e3beea..d8eda5b675 100644 --- a/install/windows/building.xml +++ b/install/windows/building.xml @@ -2,7 +2,7 @@ Building from source - This chapter teaches how to compile PHP from sources on windows, using + This chapter teaches how to compile PHP from sources on Windows, using Microsoft's tools. To compile PHP with cygwin, please refer to . From 3c18b283afac456a741f6cd5447440c6525ffc7d Mon Sep 17 00:00:00 2001 From: OleksiiBulba <41155673+OleksiiBulba@users.noreply.github.com> Date: Wed, 14 Jul 2021 14:03:30 +0300 Subject: [PATCH 356/444] Fixed the link to magic constants (#784) --- appendices/reserved.constants.core.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/reserved.constants.core.xml b/appendices/reserved.constants.core.xml index 70a40f9493..d148c8abcd 100644 --- a/appendices/reserved.constants.core.xml +++ b/appendices/reserved.constants.core.xml @@ -680,7 +680,7 @@ - See also: Magic + See also: Magic constants. From 30d10364ee00fe8d8586d94cffe6bf8691568efd Mon Sep 17 00:00:00 2001 From: "F.P" Date: Wed, 14 Jul 2021 13:14:14 +0200 Subject: [PATCH 357/444] Update apache2.xml (#780) Replace wrong `php8_module` with corrent `php_module` Apache module name --- install/windows/apache2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/windows/apache2.xml b/install/windows/apache2.xml index 6caad3417d..482002a562 100644 --- a/install/windows/apache2.xml +++ b/install/windows/apache2.xml @@ -46,7 +46,7 @@ SetHandler application/x-httpd-php From 2b8d27771259f48ce8a4b59b2b38f7c370fdc360 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Wed, 14 Jul 2021 13:06:01 +0100 Subject: [PATCH 358/444] Fix minor issues in Apache2 config guide (#785) --- install/unix/apache2.xml | 40 ++++++++++++++++++------------------- install/windows/apache2.xml | 12 +++++------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/install/unix/apache2.xml b/install/unix/apache2.xml index 9479b6ca65..00a850b961 100644 --- a/install/unix/apache2.xml +++ b/install/unix/apache2.xml @@ -177,14 +177,25 @@ cp php.ini-development /usr/local/lib/php.ini - - Edit your httpd.conf to load the PHP module. The path on the right hand - side of the LoadModule statement must point to the path of the PHP - module on your system. The make install from above may have already - added this for you, but be sure to check. - + + Edit your httpd.conf to load the PHP module. The path on the right hand + side of the LoadModule statement must point to the path of the PHP + module on your system. The make install from above may have already + added this for you, but be sure to check. + - + + + For PHP 8: + + + + + + + For PHP 7: @@ -195,20 +206,9 @@ LoadModule php7_module modules/libphp7.so - - - For PHP 5: - - - - - + - - - + Tell Apache to parse certain extensions as PHP. For example, let's have diff --git a/install/windows/apache2.xml b/install/windows/apache2.xml index 482002a562..e094309870 100644 --- a/install/windows/apache2.xml +++ b/install/windows/apache2.xml @@ -7,7 +7,7 @@ - You should read the manual + Please read the manual installation steps first! @@ -39,13 +39,13 @@ Installing as an Apache handler - To load the PHP module for Apache 2.x the following lines in the + To load the PHP module for Apache 2.x, the following lines in the Apache &httpd.conf; configuration file must be inserted: PHP and Apache 2.x as handler SetHandler application/x-httpd-php @@ -58,10 +58,10 @@ PHPIniDir "C:/php" - Remember, the actual path to PHP on must be substituted instead of + The actual path to PHP must be substituted instead of C:/php/ in the above examples. - Take care that the file referenced in the LoadModule directive is at - the specified location, and to use php7apache2_4.dll + Make sure that the file referenced in the LoadModule directive is at + the specified location. Use php7apache2_4.dll for PHP 7, or php8apache2_4.dll for PHP 8. From 112887588302b0e967a79f20ca95d87c9f986cd8 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 16 Jul 2021 15:00:29 +0200 Subject: [PATCH 359/444] Fix #81266: mkdir calls directories folders in example code --- reference/filesystem/functions/mkdir.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/filesystem/functions/mkdir.xml b/reference/filesystem/functions/mkdir.xml index a0b0e3af42..230204e1e2 100644 --- a/reference/filesystem/functions/mkdir.xml +++ b/reference/filesystem/functions/mkdir.xml @@ -111,14 +111,14 @@ mkdir("/path/to/my/dir", 0700); Date: Fri, 16 Jul 2021 15:06:06 +0200 Subject: [PATCH 360/444] Syslog does not support the %m format specificer Nor any other printf specifier Drop version name for Windows note as a drive by fix. Closes GH-786. --- reference/network/functions/syslog.xml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/reference/network/functions/syslog.xml b/reference/network/functions/syslog.xml index 454d9a577b..df992cc680 100644 --- a/reference/network/functions/syslog.xml +++ b/reference/network/functions/syslog.xml @@ -89,10 +89,7 @@ message - The message to send, except that the two characters - %m will be replaced by the error message string - (strerror) corresponding to the present value of - errno. + The message to send. @@ -142,7 +139,7 @@ closelog(); &reftitle.notes; - On Windows NT, the syslog service is emulated using the Event + On Windows, the syslog service is emulated using the Event Log. From 2ec2ad2aabba737fe493e4b8228928584a7cddb5 Mon Sep 17 00:00:00 2001 From: Lee Rowlands Date: Fri, 16 Jul 2021 23:09:14 +1000 Subject: [PATCH 361/444] Fix typehint Closes GH-788. --- reference/spl/recursivecallbackfilteriterator/construct.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/spl/recursivecallbackfilteriterator/construct.xml b/reference/spl/recursivecallbackfilteriterator/construct.xml index 8c1fc4a7ae..47f170d940 100644 --- a/reference/spl/recursivecallbackfilteriterator/construct.xml +++ b/reference/spl/recursivecallbackfilteriterator/construct.xml @@ -13,7 +13,7 @@ public RecursiveCallbackFilterIterator::__construct RecursiveIteratoriterator - stringcallback + callablecallback Creates a filtered iterator from a RecursiveIterator From 1d61be1ed9edb9b8191206768f2640aa9c7623ae Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 16 Jul 2021 16:07:07 +0200 Subject: [PATCH 362/444] float to string conversion is no longer locale dependent --- reference/bc/book.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/bc/book.xml b/reference/bc/book.xml index d6a8a528fb..ed84830e80 100644 --- a/reference/bc/book.xml +++ b/reference/bc/book.xml @@ -24,7 +24,7 @@ a string as operand may not have the desired effect due to the way PHP converts float values to string, namely that the string may be in exponential notation (which is not - supported by BCMath), and that the decimal separator is locale dependent + supported by BCMath), and that, prior to PHP 8.0.0, the decimal separator is locale dependent (while BCMath always expects a decimal point). From 18fccbbd0860d8023b6a9c7eaeab5da220cb99ec Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Fri, 16 Jul 2021 17:09:20 +0300 Subject: [PATCH 363/444] Fix refpurpose of GmagickDraw::line Closes GH-791. --- reference/gmagick/gmagickdraw/line.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/gmagick/gmagickdraw/line.xml b/reference/gmagick/gmagickdraw/line.xml index b8ba45f373..80ae9ec1ed 100644 --- a/reference/gmagick/gmagickdraw/line.xml +++ b/reference/gmagick/gmagickdraw/line.xml @@ -4,7 +4,7 @@ GmagickDraw::line - The line purpose + Draws a line From cc664c831ab8090ce8fa5e6d65010332b9805189 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 16 Jul 2021 16:54:38 +0200 Subject: [PATCH 364/444] Fix #78002: APCUIterator regexp array returns no results --- reference/apcu/apcuiterator/construct.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/apcu/apcuiterator/construct.xml b/reference/apcu/apcuiterator/construct.xml index 070f843069..0693c0bd5a 100644 --- a/reference/apcu/apcuiterator/construct.xml +++ b/reference/apcu/apcuiterator/construct.xml @@ -11,7 +11,7 @@ &reftitle.description; public APCUIterator::__construct - mixedsearch&null; + arraystringnullsearch&null; intformatAPC_ITER_ALL intchunk_size100 intlistAPC_LIST_ACTIVE @@ -28,10 +28,10 @@ search - A PCRE regular expression that - matches against APCu key names, either as a string for - a single regular expression, or as an array of regular - expressions. Or, optionally pass in &null; to skip the search. + Either a PCRE regular expression that + matches against APCu key names, given as a &string;. + Or an &array; of &string;s with APCu key names. + Or, optionally &null; to skip the search. From 59e1af19dd3d3bac54ee03b0584ba18368693c01 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 16 Jul 2021 17:15:05 +0200 Subject: [PATCH 365/444] Fix #77762: CURLOPT_SSL_VERIFYHOST should mention subjectaltname We also state that `1` should not be used, since it changed its meaning: , and we can't be bothered to document the version dependent behavior back to cURL 7.10.5. --- reference/curl/functions/curl-setopt.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/reference/curl/functions/curl-setopt.xml b/reference/curl/functions/curl-setopt.xml index b2cc74441a..b3efaf87e6 100644 --- a/reference/curl/functions/curl-setopt.xml +++ b/reference/curl/functions/curl-setopt.xml @@ -972,10 +972,11 @@ CURLOPT_SSL_VERIFYHOST - 1 to check the existence of a common name in the - SSL peer certificate. 2 to check the existence of - a common name and also verify that it matches the hostname - provided. 0 to not check the names. In production environments the value of this option + 2 to verify that a Common Name field or a Subject Alternate Name + field in the SSL peer certificate matches the provided hostname. + 0 to not check the names. + 1 should not be used. + In production environments the value of this option should be kept at 2 (default value). From 40dbbc56e321e36deee0f82df820c91fa79087cb Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Thu, 15 Jul 2021 16:36:32 -0400 Subject: [PATCH 366/444] Document MongoDB\Driver\Manager::addSubscriber and removeSubscriber https://jira.mongodb.org/browse/PHPC-1804 --- .../driver/monitoring/addsubscriber.xml | 16 ++-- .../driver/monitoring/removesubscriber.xml | 13 +-- .../mongodb/driver/manager/addsubscriber.xml | 90 +++++++++++++++++++ .../driver/manager/removesubscriber.xml | 87 ++++++++++++++++++ reference/mongodb/tutorial/apm.xml | 4 +- reference/mongodb/versions.xml | 2 + 6 files changed, 199 insertions(+), 13 deletions(-) create mode 100644 reference/mongodb/mongodb/driver/manager/addsubscriber.xml create mode 100644 reference/mongodb/mongodb/driver/manager/removesubscriber.xml diff --git a/reference/mongodb/functions/driver/monitoring/addsubscriber.xml b/reference/mongodb/functions/driver/monitoring/addsubscriber.xml index de0fcc8a5b..242e3ca3a0 100644 --- a/reference/mongodb/functions/driver/monitoring/addsubscriber.xml +++ b/reference/mongodb/functions/driver/monitoring/addsubscriber.xml @@ -4,7 +4,7 @@ MongoDB\Driver\Monitoring\addSubscriber - Registers a new monitoring event subscriber + Registers a monitoring event subscriber globally @@ -14,12 +14,15 @@ MongoDB\Driver\Monitoring\Subscribersubscriber - Registers a new monitoring event subscriber with the driver. Registered - subscribers will be notified of monitoring events through specific methods. + Registers a monitoring event subscriber globally. The subscriber will be + notified of all events in the driver for any Manager. - If the object is already registered, this function is a no-op. + If subscriber is already registered globally, this + function is a no-op. If subscriber is also registered + with one or more Managers, it will still only be notified once of each event + for each Manager. @@ -31,7 +34,7 @@ subscriber (MongoDB\Driver\Monitoring\Subscriber) - A monitoring event subscriber object to register. + A monitoring event subscriber to register globally. @@ -55,9 +58,10 @@ &reftitle.seealso; + MongoDB\Driver\Monitoring\removeSubscriber MongoDB\Driver\Monitoring\Subscriber MongoDB\Driver\Monitoring\CommandSubscriber - MongoDB\Driver\Monitoring\removeSubscriber + MongoDB\Driver\Manager::addSubscriber diff --git a/reference/mongodb/functions/driver/monitoring/removesubscriber.xml b/reference/mongodb/functions/driver/monitoring/removesubscriber.xml index 2d7063688b..a26c8b07ed 100644 --- a/reference/mongodb/functions/driver/monitoring/removesubscriber.xml +++ b/reference/mongodb/functions/driver/monitoring/removesubscriber.xml @@ -4,7 +4,7 @@ MongoDB\Driver\Monitoring\removeSubscriber - Unregisters an existing monitoring event subscriber + Unregisters a monitoring event subscriber globally @@ -14,12 +14,12 @@ MongoDB\Driver\Monitoring\Subscribersubscriber - Unregisters an existing monitoring event subscriber from the driver. - Unregistered subscribers will no longer be notified of monitoring events. + Unregisters a monitoring event subscriber globally. - If the object is not registered, this function is a no-op. + If subscriber is not already registered globally, + this function is a no-op. @@ -31,7 +31,7 @@ subscriber (MongoDB\Driver\Monitoring\Subscriber) - A monitoring event subscriber object to unregister. + A monitoring event subscriber to unregister globally. @@ -55,9 +55,10 @@ &reftitle.seealso; + MongoDB\Driver\Monitoring\addSubscriber MongoDB\Driver\Monitoring\Subscriber MongoDB\Driver\Monitoring\CommandSubscriber - MongoDB\Driver\Monitoring\addSubscriber + MongoDB\Driver\Manager::removeSubscriber diff --git a/reference/mongodb/mongodb/driver/manager/addsubscriber.xml b/reference/mongodb/mongodb/driver/manager/addsubscriber.xml new file mode 100644 index 0000000000..b05b5fda57 --- /dev/null +++ b/reference/mongodb/mongodb/driver/manager/addsubscriber.xml @@ -0,0 +1,90 @@ + + + + + + MongoDB\Driver\Manager::addSubscriber + Registers a monitoring event subscriber with this Manager + + + + &reftitle.description; + + final public voidMongoDB\Driver\Manager::addSubscriber + MongoDB\Driver\Monitoring\Subscribersubscriber + + + Registers a monitoring event subscriber with this Manager. The subscriber + will be notified of all events for this Manager. + + + + If subscriber is already registered with this + Manager, this function is a no-op. If subscriber is + also registered globally, it will still only be notified once of each event + for this Manager. + + + + + + &reftitle.parameters; + + + subscriber (MongoDB\Driver\Monitoring\Subscriber) + + + A monitoring event subscriber to register with this Manager. + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; + + &mongodb.throws.argumentparsing; + + + + + &reftitle.seealso; + + MongoDB\Driver\Manager::removeSubscriber + MongoDB\Driver\Monitoring\Subscriber + MongoDB\Driver\Monitoring\CommandSubscriber + MongoDB\Driver\Monitoring\addSubscriber + + + + + + + diff --git a/reference/mongodb/mongodb/driver/manager/removesubscriber.xml b/reference/mongodb/mongodb/driver/manager/removesubscriber.xml new file mode 100644 index 0000000000..c3bd4ef249 --- /dev/null +++ b/reference/mongodb/mongodb/driver/manager/removesubscriber.xml @@ -0,0 +1,87 @@ + + + + + + MongoDB\Driver\Manager::removeSubscriber + Unregisters a monitoring event subscriber with this Manager + + + + &reftitle.description; + + final public voidMongoDB\Driver\Manager::removeSubscriber + MongoDB\Driver\Monitoring\Subscribersubscriber + + + Unregisters a monitoring event subscriber with this Manager. + + + + If subscriber is not already registered with this + Manager, this function is a no-op. + + + + + + &reftitle.parameters; + + + subscriber (MongoDB\Driver\Monitoring\Subscriber) + + + A monitoring event subscriber to unregister with this Manager. + + + + + + + + &reftitle.returnvalues; + + &return.void; + + + + + &reftitle.errors; + + &mongodb.throws.argumentparsing; + + + + + &reftitle.seealso; + + MongoDB\Driver\Manager::addSubscriber + MongoDB\Driver\Monitoring\Subscriber + MongoDB\Driver\Monitoring\CommandSubscriber + MongoDB\Driver\Monitoring\removeSubscriber + + + + + + + diff --git a/reference/mongodb/tutorial/apm.xml b/reference/mongodb/tutorial/apm.xml index db8112ef4a..ba88668ecc 100644 --- a/reference/mongodb/tutorial/apm.xml +++ b/reference/mongodb/tutorial/apm.xml @@ -67,7 +67,9 @@ class QueryTimeCollector implements \MongoDB\Driver\Monitoring\CommandSubscriber Once a subscriber object is instantiated, it needs to be registered with the driver's monitoring system. This is done by calling - MongoDB\Driver\Monitoring\addSubscriber. + MongoDB\Driver\Monitoring\addSubscriber or + MongoDB\Driver\Manager::addSubscriber to register + the subscriber globally or with a specific Manager, respectively. diff --git a/reference/mongodb/versions.xml b/reference/mongodb/versions.xml index d94ccfe29e..7602601887 100644 --- a/reference/mongodb/versions.xml +++ b/reference/mongodb/versions.xml @@ -56,6 +56,7 @@ + @@ -67,6 +68,7 @@ + From 7daf344fd88aa886411b717df21e07615fb12279 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Thu, 15 Jul 2021 16:37:20 -0400 Subject: [PATCH 367/444] Revise MongoDB\Driver\Manager var_dump() example The previous example was incorrect, as "cluster" is an array of server descriptions (not an associative array). The "cluster" array in the example is empty because the Manager has not performed IO and initialized SDAM; however, doing so would produce very verbose output, which seems unnecessary. --- reference/mongodb/mongodb/driver/manager.xml | 37 +++----------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/reference/mongodb/mongodb/driver/manager.xml b/reference/mongodb/mongodb/driver/manager.xml index 8f8a06f080..4c3ffb3724 100644 --- a/reference/mongodb/mongodb/driver/manager.xml +++ b/reference/mongodb/mongodb/driver/manager.xml @@ -68,7 +68,7 @@ @@ -77,40 +77,11 @@ var_dump($manager); &example.outputs.similar; - int(1714636915) +object(MongoDB\Driver\Manager)#1 (2) { ["uri"]=> - string(25) "mongodb://localhost:27017" + string(26) "mongodb://127.0.0.1:27017/" ["cluster"]=> - array(13) { - ["mode"]=> - string(6) "direct" - ["state"]=> - string(4) "born" - ["request_id"]=> - int(0) - ["sockettimeoutms"]=> - int(300000) - ["last_reconnect"]=> - int(0) - ["uri"]=> - string(25) "mongodb://localhost:27017" - ["requires_auth"]=> - int(0) - ["nodes"]=> - array(...) - ["max_bson_size"]=> - int(16777216) - ["max_msg_size"]=> - int(50331648) - ["sec_latency_ms"]=> - int(15) - ["peers"]=> - array(0) { - } - ["replSet"]=> - NULL + array(0) { } } ]]> From 672dfcbadc670cd7b8544b7dea72722067bb03fd Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Thu, 15 Jul 2021 17:23:46 -0400 Subject: [PATCH 368/444] Document disableClientPersistence driver option https://jira.mongodb.org/browse/PHPC-1645 --- .../mongodb/driver/manager/construct.xml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/reference/mongodb/mongodb/driver/manager/construct.xml b/reference/mongodb/mongodb/driver/manager/construct.xml index 44338b8d70..fc284b1d94 100644 --- a/reference/mongodb/mongodb/driver/manager/construct.xml +++ b/reference/mongodb/mongodb/driver/manager/construct.xml @@ -842,6 +842,23 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ string Path to a certificate revocation list file. + + disableClientPersistence + bool + + + If &true;, this Manager will use a new libmongoc client, which will + not be persisted or shared with other Manager objects. When this + Manager object is freed, its client will be destroyed and any + connections will be closed. Defaults to &false;. + + + + Disabling client persistence is not generally recommended. + + + + driver array @@ -942,6 +959,14 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ + + PECL mongodb 1.10.0 + + + Added the "disableClientPersistence" driver option. + + + PECL mongodb 1.8.0 From 1e2846b81c886c86c791e4b6b67658ae9f2e0848 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Thu, 15 Jul 2021 20:10:24 -0400 Subject: [PATCH 369/444] Document support for AWS and GCP KMS providers https://jira.mongodb.org/browse/PHPC-1684 --- language-snippets.ent | 33 ++++- .../driver/clientencryption/createdatakey.xml | 120 +++++++++++++++++- .../mongodb/driver/manager/construct.xml | 6 + .../driver/manager/createclientencryption.xml | 26 ++++ 4 files changed, 178 insertions(+), 7 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index dd7482101f..d421db2b79 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -2452,10 +2452,10 @@ used.'> array - A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently aws or local are supported and at least one must be specified. + A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently "aws", "azure", "gcp", and "local" are supported and at least one must be specified. - The format for aws is as follows: + The format for "aws" is as follows: - The format for local is as follows: + The format for "azure" is as follows: + + +, + clientId: , + clientSecret: , + identityPlatformEndpoint: // Defaults to "login.microsoftonline.com" + +} +]]> + + + The format for "gcp" is as follows: + + +, + privateKey: , + endpoint: // Defaults to "oauth2.googleapis.com" + +} +]]> + + + The format for "local" is as follows: kmsProvider - The KMS provider ("local" or "aws") that - will be used to encrypt the new encryption key. + The KMS provider (e.g. "local", + "aws", "azure", + "gcp") that will be used to encrypt the new encryption + key. @@ -53,8 +55,12 @@ The masterKey identifies a KMS-specific key used to encrypt the new - data key. If the kmsProvider is aws it is - required and has the following fields: + data key. This option is required unless + kmsProvider is "local". + + + If kmsProvider is "aws", + this option is required and has the following fields: AWS masterKey options @@ -85,6 +91,87 @@
+ + If kmsProvider is "azure", + this option is required and has the following fields: + + Azure masterKey options + + + + Option + Type + Description + + + + + keyVaultEndpoint + string + Required. Host with optional port (e.g. "example.vault.azure.net"). + + + keyName + string + Required. + + + keyVersion + string + Optional. A specific version of the named key. Defaults to using the key's primary version. + + + +
+
+ + If kmsProvider is "gcp", + this option is required and has the following fields: + + GCP masterKey options + + + + Option + Type + Description + + + + + projectId + string + Required. + + + location + string + Required. + + + keyRing + string + Required. + + + keyName + string + Required. + + + keyVersion + string + Optional. A specific version of the named key. Defaults to using the key's primary version. + + + endpoint + string + Optional. Host with optional port. Defaults to "cloudkms.googleapis.com". + + + +
+
@@ -123,6 +210,31 @@ Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while creating the data key + + + &reftitle.changelog; + + + + + + &Version; + &Description; + + + + + PECL mongodb 1.10.0 + + Azure and GCP are now supported as KMS providers for client-side + encryption. + + + + + + + diff --git a/reference/mongodb/mongodb/driver/manager/construct.xml b/reference/mongodb/mongodb/driver/manager/construct.xml index fc284b1d94..ed17714306 100644 --- a/reference/mongodb/mongodb/driver/manager/construct.xml +++ b/reference/mongodb/mongodb/driver/manager/construct.xml @@ -965,6 +965,12 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ Added the "disableClientPersistence" driver option. + + Azure and GCP are now supported as KMS providers for client-side + encryption and may be configured in the + "kmsProviders" field of the + "autoEncryption" driver option. + diff --git a/reference/mongodb/mongodb/driver/manager/createclientencryption.xml b/reference/mongodb/mongodb/driver/manager/createclientencryption.xml index 9f1f4fbc45..2808593dd7 100644 --- a/reference/mongodb/mongodb/driver/manager/createclientencryption.xml +++ b/reference/mongodb/mongodb/driver/manager/createclientencryption.xml @@ -63,6 +63,32 @@ + + &reftitle.changelog; + + + + + + &Version; + &Description; + + + + + PECL mongodb 1.10.0 + + Azure and GCP are now supported as KMS providers for client-side + encryption and may be configured in the + "kmsProviders" option. + + + + + + + + &reftitle.seealso; From a44dc91a4dd2f8ff98f195f8b22621ec91aba1d5 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Thu, 15 Jul 2021 21:28:39 -0400 Subject: [PATCH 370/444] libmongocrypt accepts base64 strings or BSON binary https://jira.mongodb.org/browse/PHPC-1901 --- language-snippets.ent | 6 +++--- reference/mongodb/mongodb/driver/manager/construct.xml | 5 ++++- .../mongodb/driver/manager/createclientencryption.xml | 4 +++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index d421db2b79..030bae96be 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -2486,7 +2486,7 @@ azure: { , - privateKey: , + privateKey: |, endpoint: // Defaults to "oauth2.googleapis.com" } @@ -2498,8 +2498,8 @@ aws: { + // 96-byte master key used to encrypt/decrypt data keys + key: | } ]]> diff --git a/reference/mongodb/mongodb/driver/manager/construct.xml b/reference/mongodb/mongodb/driver/manager/construct.xml index ed17714306..75bdfbbe5b 100644 --- a/reference/mongodb/mongodb/driver/manager/construct.xml +++ b/reference/mongodb/mongodb/driver/manager/construct.xml @@ -969,7 +969,10 @@ mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][ Azure and GCP are now supported as KMS providers for client-side encryption and may be configured in the "kmsProviders" field of the - "autoEncryption" driver option. + "autoEncryption" driver option. Base64-encoded + strings are now accepted as an alternative to + MongoDB\BSON\Binary for options within + "kmsProviders". diff --git a/reference/mongodb/mongodb/driver/manager/createclientencryption.xml b/reference/mongodb/mongodb/driver/manager/createclientencryption.xml index 2808593dd7..4032cd3da9 100644 --- a/reference/mongodb/mongodb/driver/manager/createclientencryption.xml +++ b/reference/mongodb/mongodb/driver/manager/createclientencryption.xml @@ -80,7 +80,9 @@ Azure and GCP are now supported as KMS providers for client-side encryption and may be configured in the - "kmsProviders" option. + "kmsProviders" option. Base64-encoded strings are now + accepted as an alternative to MongoDB\BSON\Binary + for options within "kmsProviders". From 600c54038dec1a80a5246fa35879dd0472667088 Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Fri, 16 Jul 2021 23:40:22 +0300 Subject: [PATCH 371/444] Improve "Return Values" section of some GmagickDraw methods Closes GH-793. --- reference/gmagick/gmagickdraw/annotate.xml | 2 +- reference/gmagick/gmagickdraw/arc.xml | 2 +- reference/gmagick/gmagickdraw/bezier.xml | 2 +- reference/gmagick/gmagickdraw/ellipse.xml | 2 +- reference/gmagick/gmagickdraw/getfontsize.xml | 3 ++- reference/gmagick/gmagickdraw/getfontstyle.xml | 4 +++- reference/gmagick/gmagickdraw/line.xml | 2 +- reference/gmagick/gmagickdraw/point.xml | 2 +- reference/gmagick/gmagickdraw/polygon.xml | 2 +- reference/gmagick/gmagickdraw/polyline.xml | 2 +- reference/gmagick/gmagickdraw/rectangle.xml | 2 +- reference/gmagick/gmagickdraw/rotate.xml | 2 +- reference/gmagick/gmagickdraw/roundrectangle.xml | 2 +- reference/gmagick/gmagickdraw/scale.xml | 2 +- reference/gmagick/gmagickdraw/setfillopacity.xml | 2 +- reference/gmagick/gmagickdraw/setfont.xml | 2 +- reference/gmagick/gmagickdraw/setfontsize.xml | 2 +- reference/gmagick/gmagickdraw/setfontstyle.xml | 2 +- reference/gmagick/gmagickdraw/setfontweight.xml | 2 +- reference/gmagick/gmagickdraw/setstrokeopacity.xml | 2 +- reference/gmagick/gmagickdraw/setstrokewidth.xml | 2 +- reference/gmagick/gmagickdraw/settextdecoration.xml | 2 +- reference/gmagick/gmagickdraw/settextencoding.xml | 2 +- 23 files changed, 26 insertions(+), 23 deletions(-) diff --git a/reference/gmagick/gmagickdraw/annotate.xml b/reference/gmagick/gmagickdraw/annotate.xml index 1070bde23b..07297c130a 100644 --- a/reference/gmagick/gmagickdraw/annotate.xml +++ b/reference/gmagick/gmagickdraw/annotate.xml @@ -58,7 +58,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success. + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/arc.xml b/reference/gmagick/gmagickdraw/arc.xml index 87a1feab45..456bf4404c 100644 --- a/reference/gmagick/gmagickdraw/arc.xml +++ b/reference/gmagick/gmagickdraw/arc.xml @@ -85,7 +85,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success. + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/bezier.xml b/reference/gmagick/gmagickdraw/bezier.xml index eaa9aa09f2..488c8259de 100644 --- a/reference/gmagick/gmagickdraw/bezier.xml +++ b/reference/gmagick/gmagickdraw/bezier.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/ellipse.xml b/reference/gmagick/gmagickdraw/ellipse.xml index 364d76385b..ecbf38e2d3 100644 --- a/reference/gmagick/gmagickdraw/ellipse.xml +++ b/reference/gmagick/gmagickdraw/ellipse.xml @@ -82,7 +82,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/getfontsize.xml b/reference/gmagick/gmagickdraw/getfontsize.xml index 90f2aa7657..af9bda12f9 100644 --- a/reference/gmagick/gmagickdraw/getfontsize.xml +++ b/reference/gmagick/gmagickdraw/getfontsize.xml @@ -29,7 +29,8 @@ &reftitle.returnvalues; - Returns the font size associated with the current GmagickDraw object. + Returns the font size associated with the current + GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/getfontstyle.xml b/reference/gmagick/gmagickdraw/getfontstyle.xml index 55ac81ce40..1060bd6e2c 100644 --- a/reference/gmagick/gmagickdraw/getfontstyle.xml +++ b/reference/gmagick/gmagickdraw/getfontstyle.xml @@ -29,7 +29,9 @@ &reftitle.returnvalues; - Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set. + Returns the font style constant (STYLE_) associated with the + GmagickDraw object or 0 if no style + is set. diff --git a/reference/gmagick/gmagickdraw/line.xml b/reference/gmagick/gmagickdraw/line.xml index 80ae9ec1ed..a1474e78ed 100644 --- a/reference/gmagick/gmagickdraw/line.xml +++ b/reference/gmagick/gmagickdraw/line.xml @@ -67,7 +67,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/point.xml b/reference/gmagick/gmagickdraw/point.xml index 5b6c4656dc..f0057b2329 100644 --- a/reference/gmagick/gmagickdraw/point.xml +++ b/reference/gmagick/gmagickdraw/point.xml @@ -49,7 +49,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/polygon.xml b/reference/gmagick/gmagickdraw/polygon.xml index 57a3814f03..08c37c8857 100644 --- a/reference/gmagick/gmagickdraw/polygon.xml +++ b/reference/gmagick/gmagickdraw/polygon.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/polyline.xml b/reference/gmagick/gmagickdraw/polyline.xml index f025c244d0..d0583168b2 100644 --- a/reference/gmagick/gmagickdraw/polyline.xml +++ b/reference/gmagick/gmagickdraw/polyline.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/rectangle.xml b/reference/gmagick/gmagickdraw/rectangle.xml index a9f170dd32..72594fbe9f 100644 --- a/reference/gmagick/gmagickdraw/rectangle.xml +++ b/reference/gmagick/gmagickdraw/rectangle.xml @@ -67,7 +67,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/rotate.xml b/reference/gmagick/gmagickdraw/rotate.xml index 035be8658e..d9849df462 100644 --- a/reference/gmagick/gmagickdraw/rotate.xml +++ b/reference/gmagick/gmagickdraw/rotate.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/roundrectangle.xml b/reference/gmagick/gmagickdraw/roundrectangle.xml index 042f56bf05..90d5d6bd13 100644 --- a/reference/gmagick/gmagickdraw/roundrectangle.xml +++ b/reference/gmagick/gmagickdraw/roundrectangle.xml @@ -85,7 +85,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/scale.xml b/reference/gmagick/gmagickdraw/scale.xml index 93bbe74e00..354a7ef677 100644 --- a/reference/gmagick/gmagickdraw/scale.xml +++ b/reference/gmagick/gmagickdraw/scale.xml @@ -49,7 +49,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setfillopacity.xml b/reference/gmagick/gmagickdraw/setfillopacity.xml index 4933c1054d..50f0cbd089 100644 --- a/reference/gmagick/gmagickdraw/setfillopacity.xml +++ b/reference/gmagick/gmagickdraw/setfillopacity.xml @@ -41,7 +41,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setfont.xml b/reference/gmagick/gmagickdraw/setfont.xml index 966033eb58..01f23dbb0a 100644 --- a/reference/gmagick/gmagickdraw/setfont.xml +++ b/reference/gmagick/gmagickdraw/setfont.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setfontsize.xml b/reference/gmagick/gmagickdraw/setfontsize.xml index a043f27844..6011bf9007 100644 --- a/reference/gmagick/gmagickdraw/setfontsize.xml +++ b/reference/gmagick/gmagickdraw/setfontsize.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setfontstyle.xml b/reference/gmagick/gmagickdraw/setfontstyle.xml index c9c88ccedb..45575d5214 100644 --- a/reference/gmagick/gmagickdraw/setfontstyle.xml +++ b/reference/gmagick/gmagickdraw/setfontstyle.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setfontweight.xml b/reference/gmagick/gmagickdraw/setfontweight.xml index 97e570fda6..6408c915f5 100644 --- a/reference/gmagick/gmagickdraw/setfontweight.xml +++ b/reference/gmagick/gmagickdraw/setfontweight.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setstrokeopacity.xml b/reference/gmagick/gmagickdraw/setstrokeopacity.xml index e582d5401a..f5d6ca6a3b 100644 --- a/reference/gmagick/gmagickdraw/setstrokeopacity.xml +++ b/reference/gmagick/gmagickdraw/setstrokeopacity.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/setstrokewidth.xml b/reference/gmagick/gmagickdraw/setstrokewidth.xml index acd310291e..5e66623ced 100644 --- a/reference/gmagick/gmagickdraw/setstrokewidth.xml +++ b/reference/gmagick/gmagickdraw/setstrokewidth.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/settextdecoration.xml b/reference/gmagick/gmagickdraw/settextdecoration.xml index 1c8bc5a6f9..6ae848a305 100644 --- a/reference/gmagick/gmagickdraw/settextdecoration.xml +++ b/reference/gmagick/gmagickdraw/settextdecoration.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. diff --git a/reference/gmagick/gmagickdraw/settextencoding.xml b/reference/gmagick/gmagickdraw/settextencoding.xml index 4bce4e9706..9b382cf16b 100644 --- a/reference/gmagick/gmagickdraw/settextencoding.xml +++ b/reference/gmagick/gmagickdraw/settextencoding.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - The GmagickDraw object on success + The GmagickDraw object. From e83ad8ecd4d98c6df0003a5f091322e7ef1de54c Mon Sep 17 00:00:00 2001 From: zors1 <78965690+zors1@users.noreply.github.com> Date: Sat, 17 Jul 2021 15:32:31 +0300 Subject: [PATCH 372/444] Capitalize "Linux" (#794) --- reference/rrd/setup.xml | 2 +- reference/ssh2/setup.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/rrd/setup.xml b/reference/rrd/setup.xml index 2e909d8e4a..840a98fda7 100644 --- a/reference/rrd/setup.xml +++ b/reference/rrd/setup.xml @@ -8,7 +8,7 @@ &reftitle.required; You need to install librrd first to be able to use PECL/rrd. Most common option - is using of librrd-dev package from your favourite linux distro. + is using of librrd-dev package from your favourite Linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you. diff --git a/reference/ssh2/setup.xml b/reference/ssh2/setup.xml index d400f2451b..ab7e695a0e 100644 --- a/reference/ssh2/setup.xml +++ b/reference/ssh2/setup.xml @@ -28,7 +28,7 @@ will only be available with libssh >= 1.2.9. - Libssh2 comes in two flavours: gcrypt or openssl. Some linux + Libssh2 comes in two flavours: gcrypt or openssl. Some Linux distributions build libssh2 with the gcrypt library, some use openssl. Libssh2 has some issues when compiled with gcrypt, please use openssl. From 70babd5faf9fc63f08af63dc6781a350d04a3c57 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 18 Jul 2021 14:50:48 +0200 Subject: [PATCH 373/444] pathinfo() operates naively on the input string Closes GH-798. --- reference/filesystem/functions/pathinfo.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reference/filesystem/functions/pathinfo.xml b/reference/filesystem/functions/pathinfo.xml index 151fd76910..da328a319f 100644 --- a/reference/filesystem/functions/pathinfo.xml +++ b/reference/filesystem/functions/pathinfo.xml @@ -25,6 +25,13 @@ predefined reserved variables. + + + pathinfo operates naively on the input string, + and is not aware of the actual filesystem, or path components such + as "..". + + pathinfo is locale aware, so for it to parse a path From 30fa70554dacff6b33adf2ecb5a1c50de5fe70c3 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 19 Jul 2021 14:27:45 +0200 Subject: [PATCH 374/444] book.sem is actually about three modules And ftok() is in ext/standard. Might be reasonable to split the documentation respectively. Anyhow, sysvshm is supported on Windows at least as of PHP 7.0.0. --- reference/sem/book.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/reference/sem/book.xml b/reference/sem/book.xml index 50c63bdd00..2ca0a42c6e 100644 --- a/reference/sem/book.xml +++ b/reference/sem/book.xml @@ -10,7 +10,7 @@ &reftitle.intro; - This module provides wrappers for the System V IPC family of functions. + These modules provide wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC). @@ -60,7 +60,13 @@ data between processes, without the need for setting up an alternative using Unix domain sockets. - ¬e.no-windows.extension; + + + Only the shared memory functions and ftok are available + on Windows. Neither semaphores nor inter-process messaging functions are + supported on that platform. + + From 5d927c376e2d53433ff435eea53e546b51d9834b Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 19 Jul 2021 16:46:36 +0300 Subject: [PATCH 375/444] Fix entries in parallel --- reference/parallel/parallel/events/poll.xml | 4 ++-- reference/parallel/parallel/events/setblocking.xml | 4 ++-- reference/parallel/parallel/events/settimeout.xml | 2 +- reference/parallel/parallel/input/add.xml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/parallel/parallel/events/poll.xml b/reference/parallel/parallel/events/poll.xml index 1a4ff6ba1d..601ce5eb5a 100644 --- a/reference/parallel/parallel/events/poll.xml +++ b/reference/parallel/parallel/events/poll.xml @@ -21,10 +21,10 @@ &reftitle.returnvalues; - Should there be no targets remaining, null shall be returned + Should there be no targets remaining, &null; shall be returned - Should this be a non-blocking loop, and blocking would occur, null shall be returned + Should this be a non-blocking loop, and blocking would occur, &null; shall be returned Otherwise, the parallel\Events\Event returned describes the event. diff --git a/reference/parallel/parallel/events/setblocking.xml b/reference/parallel/parallel/events/setblocking.xml index fa601193b0..1eb3889c7f 100644 --- a/reference/parallel/parallel/events/setblocking.xml +++ b/reference/parallel/parallel/events/setblocking.xml @@ -10,7 +10,7 @@ &reftitle.description; - By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting blocking mode to false will cause + By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting blocking mode to &false; will cause poll to return control if the first target polled is not ready. @@ -18,7 +18,7 @@ to be raised, which may be extremely slow or wasteful if what is really desired is non-blocking behaviour. - A non-blocking loop effects the return value of parallel\Events::poll, such that it may be null before all events have been processed. + A non-blocking loop effects the return value of parallel\Events::poll, such that it may be &null; before all events have been processed. public voidparallel\Events::setBlocking diff --git a/reference/parallel/parallel/events/settimeout.xml b/reference/parallel/parallel/events/settimeout.xml index 7f3f19b76d..64518bcdc7 100644 --- a/reference/parallel/parallel/events/settimeout.xml +++ b/reference/parallel/parallel/events/settimeout.xml @@ -14,7 +14,7 @@ thrown when the timeout is reached. - This differs from setting blocking mode to false with parallel\Events::setBlocking, which will not cause an exception to be thrown. + This differs from setting blocking mode to &false; with parallel\Events::setBlocking, which will not cause an exception to be thrown. public voidparallel\Events::setTimeout diff --git a/reference/parallel/parallel/input/add.xml b/reference/parallel/parallel/input/add.xml index 3f1e07b9a6..36a6638488 100644 --- a/reference/parallel/parallel/input/add.xml +++ b/reference/parallel/parallel/input/add.xml @@ -28,7 +28,7 @@ - Shall throw parallel\Events\Input\Error\IllegalValue if value is illegal (object, null). + Shall throw parallel\Events\Input\Error\IllegalValue if value is illegal (&object;, &null;). From 79e4c610f96888d1cf96b0fd97dc5600987d2d06 Mon Sep 17 00:00:00 2001 From: othercorey Date: Tue, 20 Jul 2021 03:47:41 -0500 Subject: [PATCH 376/444] Fix list of types included in mixed Closes GH-783. --- language/types/declarations.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/language/types/declarations.xml b/language/types/declarations.xml index 4e4791b615..8933dba294 100644 --- a/language/types/declarations.xml +++ b/language/types/declarations.xml @@ -165,8 +165,8 @@ Stack trace: mixed is equivalent to the union type - arrayboolcallableintfloat - objectresourcestringnull + objectresourcearraystring + intfloatboolnull . Available as of PHP 8.0.0. From 9b0d4b4438423eb4eecf5f6de2f76c424a3d1db6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 20 Jul 2021 13:48:00 +0200 Subject: [PATCH 377/444] Remove obsolete info about $HTTP_RAW_POST_DATA and always_populate_raw_post_data --- language/wrappers/php.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/language/wrappers/php.xml b/language/wrappers/php.xml index b72abd763f..7b7d52f166 100644 --- a/language/wrappers/php.xml +++ b/language/wrappers/php.xml @@ -42,12 +42,7 @@ php://input php://input is a read-only stream that allows you to - read raw data from the request body. In the case of POST requests, it is - preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend - on special &php.ini; directives. Moreover, for those cases where - $HTTP_RAW_POST_DATA is not populated by default, it is a - potentially less memory intensive alternative to activating - always_populate_raw_post_data. + read raw data from the request body. php://input is not available with enctype="multipart/form-data". From 7febeefab69aa2920922de7adfe17724148d0b60 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 20 Jul 2021 15:20:53 +0300 Subject: [PATCH 378/444] Fix pthreads return values (#801) --- reference/pthreads/cond/broadcast.xml | 2 +- reference/pthreads/cond/destroy.xml | 2 +- reference/pthreads/cond/signal.xml | 4 +++- reference/pthreads/cond/wait.xml | 4 +++- reference/pthreads/mutex/destroy.xml | 4 +++- reference/pthreads/mutex/lock.xml | 4 +++- reference/pthreads/mutex/trylock.xml | 2 +- reference/pthreads/mutex/unlock.xml | 4 +++- reference/pthreads/pool/resize.xml | 2 +- reference/pthreads/pool/shutdown.xml | 2 +- reference/pthreads/thread/isjoined.xml | 2 +- reference/pthreads/thread/isstarted.xml | 2 +- reference/pthreads/thread/join.xml | 2 +- reference/pthreads/thread/kill.xml | 2 +- reference/pthreads/thread/start.xml | 2 +- reference/pthreads/threaded/extend.xml | 2 +- reference/pthreads/threaded/merge.xml | 2 +- reference/pthreads/threaded/notify.xml | 2 +- reference/pthreads/threaded/notifyone.xml | 2 +- reference/pthreads/threaded/unlock.xml | 2 +- reference/pthreads/threaded/wait.xml | 2 +- reference/pthreads/worker/isworking.xml | 2 +- reference/pthreads/worker/shutdown.xml | 2 +- 23 files changed, 33 insertions(+), 23 deletions(-) diff --git a/reference/pthreads/cond/broadcast.xml b/reference/pthreads/cond/broadcast.xml index 22bbbe1fb9..0fdc6c523f 100644 --- a/reference/pthreads/cond/broadcast.xml +++ b/reference/pthreads/cond/broadcast.xml @@ -46,7 +46,7 @@ &reftitle.returnvalues; - A boolean indication of success. + &return.success; diff --git a/reference/pthreads/cond/destroy.xml b/reference/pthreads/cond/destroy.xml index e02183f7cc..848a132cde 100644 --- a/reference/pthreads/cond/destroy.xml +++ b/reference/pthreads/cond/destroy.xml @@ -51,7 +51,7 @@ &reftitle.returnvalues; - A boolean indication of success. + &return.success; diff --git a/reference/pthreads/cond/signal.xml b/reference/pthreads/cond/signal.xml index e26dd87bac..92739ce854 100644 --- a/reference/pthreads/cond/signal.xml +++ b/reference/pthreads/cond/signal.xml @@ -47,7 +47,9 @@ &reftitle.returnvalues; - A boolean indication of success. + + &return.success; + diff --git a/reference/pthreads/cond/wait.xml b/reference/pthreads/cond/wait.xml index 9b9209fa5a..3a4dfad542 100644 --- a/reference/pthreads/cond/wait.xml +++ b/reference/pthreads/cond/wait.xml @@ -65,7 +65,9 @@ &reftitle.returnvalues; - A boolean indication of success. + + &return.success; + diff --git a/reference/pthreads/mutex/destroy.xml b/reference/pthreads/mutex/destroy.xml index e521641320..03d7b52634 100644 --- a/reference/pthreads/mutex/destroy.xml +++ b/reference/pthreads/mutex/destroy.xml @@ -48,7 +48,9 @@ &reftitle.returnvalues; - A boolean indication of success + + &return.success; + diff --git a/reference/pthreads/mutex/lock.xml b/reference/pthreads/mutex/lock.xml index ec59f58c92..5af9b56db3 100644 --- a/reference/pthreads/mutex/lock.xml +++ b/reference/pthreads/mutex/lock.xml @@ -46,7 +46,9 @@ &reftitle.returnvalues; - A boolean indication of success. + + &return.success; + diff --git a/reference/pthreads/mutex/trylock.xml b/reference/pthreads/mutex/trylock.xml index 89b1f82584..477954016f 100644 --- a/reference/pthreads/mutex/trylock.xml +++ b/reference/pthreads/mutex/trylock.xml @@ -46,7 +46,7 @@ &reftitle.returnvalues; - A boolean indication of success. + &return.success; diff --git a/reference/pthreads/mutex/unlock.xml b/reference/pthreads/mutex/unlock.xml index 8fddbfdab0..63bde681f9 100644 --- a/reference/pthreads/mutex/unlock.xml +++ b/reference/pthreads/mutex/unlock.xml @@ -58,7 +58,9 @@ &reftitle.returnvalues; - A boolean indication of success. + + &return.success; + diff --git a/reference/pthreads/pool/resize.xml b/reference/pthreads/pool/resize.xml index 4faa6d3b01..5f99d2d8b9 100644 --- a/reference/pthreads/pool/resize.xml +++ b/reference/pthreads/pool/resize.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - void + &return.void; diff --git a/reference/pthreads/pool/shutdown.xml b/reference/pthreads/pool/shutdown.xml index 87028fa947..98067af51b 100644 --- a/reference/pthreads/pool/shutdown.xml +++ b/reference/pthreads/pool/shutdown.xml @@ -27,7 +27,7 @@ &reftitle.returnvalues; - No value is returned. + &return.void; diff --git a/reference/pthreads/thread/isjoined.xml b/reference/pthreads/thread/isjoined.xml index 951de2225d..e97d1d3259 100644 --- a/reference/pthreads/thread/isjoined.xml +++ b/reference/pthreads/thread/isjoined.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean indication of state + &return.success; diff --git a/reference/pthreads/thread/isstarted.xml b/reference/pthreads/thread/isstarted.xml index 5968654b5b..554822d582 100644 --- a/reference/pthreads/thread/isstarted.xml +++ b/reference/pthreads/thread/isstarted.xml @@ -27,7 +27,7 @@ &reftitle.returnvalues; - boolean indication of state + &return.success; diff --git a/reference/pthreads/thread/join.xml b/reference/pthreads/thread/join.xml index 90ec59a8fb..036c80fe2f 100644 --- a/reference/pthreads/thread/join.xml +++ b/reference/pthreads/thread/join.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/thread/kill.xml b/reference/pthreads/thread/kill.xml index a75bd02ee1..2d0329e494 100644 --- a/reference/pthreads/thread/kill.xml +++ b/reference/pthreads/thread/kill.xml @@ -39,7 +39,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/thread/start.xml b/reference/pthreads/thread/start.xml index e19e4b5e2b..08b38cb0e3 100644 --- a/reference/pthreads/thread/start.xml +++ b/reference/pthreads/thread/start.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/extend.xml b/reference/pthreads/threaded/extend.xml index 3d2d986a39..4397e684a7 100644 --- a/reference/pthreads/threaded/extend.xml +++ b/reference/pthreads/threaded/extend.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/merge.xml b/reference/pthreads/threaded/merge.xml index b6bc630b8c..4438ca86cf 100644 --- a/reference/pthreads/threaded/merge.xml +++ b/reference/pthreads/threaded/merge.xml @@ -44,7 +44,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/notify.xml b/reference/pthreads/threaded/notify.xml index 7d2ff465e4..80a2059529 100644 --- a/reference/pthreads/threaded/notify.xml +++ b/reference/pthreads/threaded/notify.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/notifyone.xml b/reference/pthreads/threaded/notifyone.xml index 7ece3de824..7901930f03 100644 --- a/reference/pthreads/threaded/notifyone.xml +++ b/reference/pthreads/threaded/notifyone.xml @@ -28,7 +28,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/unlock.xml b/reference/pthreads/threaded/unlock.xml index e031d163df..7ebea264e3 100644 --- a/reference/pthreads/threaded/unlock.xml +++ b/reference/pthreads/threaded/unlock.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/threaded/wait.xml b/reference/pthreads/threaded/wait.xml index 17ed6d4b17..a604a01dbd 100644 --- a/reference/pthreads/threaded/wait.xml +++ b/reference/pthreads/threaded/wait.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - A boolean indication of success + &return.success; diff --git a/reference/pthreads/worker/isworking.xml b/reference/pthreads/worker/isworking.xml index 2f44976a3f..7a6f329ce8 100644 --- a/reference/pthreads/worker/isworking.xml +++ b/reference/pthreads/worker/isworking.xml @@ -36,7 +36,7 @@ &reftitle.returnvalues; - A boolean indication of state + Returns whether the worker is still working or not. diff --git a/reference/pthreads/worker/shutdown.xml b/reference/pthreads/worker/shutdown.xml index 8fe68db80d..0990041f67 100644 --- a/reference/pthreads/worker/shutdown.xml +++ b/reference/pthreads/worker/shutdown.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - Whether the worker was successfully shutdown or not. + &return.success; From e26545dcabdf763f6b3b9f792524b6cf16d99457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Wed, 21 Jul 2021 17:12:19 +0800 Subject: [PATCH 379/444] Update quotation mark (#803) * Fix quotation mark error * Upadte --- reference/event/eventbase/getfeatures.xml | 2 +- reference/event/eventbase/getmethod.xml | 2 +- reference/event/eventconfig/avoidmethod.xml | 2 +- reference/event/eventconfig/construct.xml | 2 +- reference/event/examples.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/event/eventbase/getfeatures.xml b/reference/event/eventbase/getfeatures.xml index f45deb9d00..3e97dc27ea 100644 --- a/reference/event/eventbase/getfeatures.xml +++ b/reference/event/eventbase/getfeatures.xml @@ -40,7 +40,7 @@ // Avoiding "select" method $cfg = new EventConfig(); if ($cfg->avoidMethod("select")) { - echo "`select' method avoided\n"; + echo "'select' method avoided\n"; } $base = new EventBase($cfg); diff --git a/reference/event/eventbase/getmethod.xml b/reference/event/eventbase/getmethod.xml index 48188b9279..85ba688275 100644 --- a/reference/event/eventbase/getmethod.xml +++ b/reference/event/eventbase/getmethod.xml @@ -35,7 +35,7 @@ avoidMethod("select")) { - echo "`select' method avoided\n"; + echo "'select' method avoided\n"; } // Create event_base associated with the config diff --git a/reference/event/eventconfig/avoidmethod.xml b/reference/event/eventconfig/avoidmethod.xml index 00caa3c6c8..d15a946830 100644 --- a/reference/event/eventconfig/avoidmethod.xml +++ b/reference/event/eventconfig/avoidmethod.xml @@ -58,7 +58,7 @@ avoidMethod("select")) { - echo "`select' method avoided\n"; + echo "'select' method avoided\n"; } ?> ]]> diff --git a/reference/event/eventconfig/construct.xml b/reference/event/eventconfig/construct.xml index f55ad7121d..6c25ada340 100644 --- a/reference/event/eventconfig/construct.xml +++ b/reference/event/eventconfig/construct.xml @@ -41,7 +41,7 @@ // Avoiding "select" method $cfg = new EventConfig(); if ($cfg->avoidMethod("select")) { - echo "`select' method avoided\n"; + echo "'select' method avoided\n"; } // Create event_base associated with the config diff --git a/reference/event/examples.xml b/reference/event/examples.xml index 497cf5429f..6656d8320b 100644 --- a/reference/event/examples.xml +++ b/reference/event/examples.xml @@ -590,7 +590,7 @@ foreach (Event::getSupportedMethods() as $m) { // Avoiding "select" method $cfg = new EventConfig(); if ($cfg->avoidMethod("select")) { - echo "`select' method avoided\n"; + echo "'select' method avoided\n"; } // Create event_base associated with the config From 9a511f92cb6574fb8a2622e204879303d0dab9d8 Mon Sep 17 00:00:00 2001 From: Kevin van Sonsbeek Date: Wed, 21 Jul 2021 11:50:01 +0200 Subject: [PATCH 380/444] Change the incorrect return type Closes GH-805. --- .../dom/functions/dom-import-simplexml.xml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/reference/dom/functions/dom-import-simplexml.xml b/reference/dom/functions/dom-import-simplexml.xml index c12bf94684..7e3cffdfc1 100644 --- a/reference/dom/functions/dom-import-simplexml.xml +++ b/reference/dom/functions/dom-import-simplexml.xml @@ -11,7 +11,7 @@ &reftitle.description; - DOMElementnulldom_import_simplexml + DOMElementdom_import_simplexml objectnode @@ -39,9 +39,32 @@ &reftitle.returnvalues; - The DOMElement node added or &false; if any errors occur. + The DOMElement node added. + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.0.0 + + This function no longer returns &null; on failure. + + + + + + + &reftitle.examples; From 636409541f46610b9c38aeeb84e17e819b3ca117 Mon Sep 17 00:00:00 2001 From: zors1 Date: Wed, 21 Jul 2021 17:23:26 +0300 Subject: [PATCH 381/444] Fix refpurpose of Imagick::getImageAttribute (#807) --- reference/imagick/imagick/getimageattribute.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/imagick/imagick/getimageattribute.xml b/reference/imagick/imagick/getimageattribute.xml index c33e801093..5095ea9db1 100644 --- a/reference/imagick/imagick/getimageattribute.xml +++ b/reference/imagick/imagick/getimageattribute.xml @@ -4,7 +4,7 @@ Imagick::getImageAttribute - Description + Returns a named attribute From 4a3d3cf1f65662905206e3222793e918a174c1c5 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Wed, 21 Jul 2021 16:18:54 +0100 Subject: [PATCH 382/444] Fix inaccurate information in pdo query (#806) * Added the missing 'prepares' to the description * Removed inaccurate information. The statement is returned even if there's no result set * Added a note explaining what to do if the SQL has placeholders * Removed confusing para. It's not a feature of PDO::query * Simplify the return part * It returns a statement, not a result set! --- reference/pdo/pdo/query.xml | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/reference/pdo/pdo/query.xml b/reference/pdo/pdo/query.xml index 333b4a8db9..d34761bc10 100644 --- a/reference/pdo/pdo/query.xml +++ b/reference/pdo/pdo/query.xml @@ -4,7 +4,7 @@ PDO::query - Executes an SQL statement, returning a result set as a PDOStatement object + Prepares and executes an SQL statement without placeholders @@ -38,9 +38,8 @@ - PDO::query executes an SQL statement in - a single function call, returning the result set (if any) returned by the - statement as a PDOStatement object. + PDO::query prepares and executes an SQL statement in + a single function call, returning the statement as a PDOStatement object. For a query that you need to issue multiple times, you will realize better @@ -65,6 +64,14 @@ + + + If the query contains placeholders, the statement + must be prepared separately using PDO::prepare and + PDOStatement::execute methods. + + + &reftitle.parameters; @@ -77,7 +84,11 @@ The SQL statement to prepare and execute. - Data inside the query should be properly escaped. + If the SQL contains placeholders, PDO::prepare and + PDOStatement::execute must be used instead. + Alternatively, the SQL can be prepared manually before calling + PDO::query, with the data properly formatted using + PDO::quote if the driver supports it. @@ -87,8 +98,7 @@ &reftitle.returnvalues; - PDO::query returns a PDOStatement object, or &false; - on failure. + Returns a PDOStatement object&return.falseforfailure;. @@ -96,12 +106,7 @@ &reftitle.examples; - Demonstrate PDO::query - - A nice feature of PDO::query is that it - enables you to iterate over the rowset returned by a - successfully executed SELECT statement. - + SQL with no placeholders can be executed using <function>PDO::query</function> Date: Thu, 22 Jul 2021 03:30:54 -0400 Subject: [PATCH 383/444] Fix documented return type for CachingIterator::hasNext() Closes GH-809. --- reference/spl/cachingiterator/hasnext.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/spl/cachingiterator/hasnext.xml b/reference/spl/cachingiterator/hasnext.xml index 7024592d0f..8da6c895ca 100644 --- a/reference/spl/cachingiterator/hasnext.xml +++ b/reference/spl/cachingiterator/hasnext.xml @@ -10,7 +10,7 @@ &reftitle.description; - public voidCachingIterator::hasNext + public boolCachingIterator::hasNext From 506da7e0e634b719869062933e738b7635b08815 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Thu, 22 Jul 2021 17:50:10 +0900 Subject: [PATCH 384/444] fixed parameter markup --- reference/sodium/functions/sodium-add.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sodium/functions/sodium-add.xml b/reference/sodium/functions/sodium-add.xml index a19c0500ec..f717563d6e 100644 --- a/reference/sodium/functions/sodium-add.xml +++ b/reference/sodium/functions/sodium-add.xml @@ -14,8 +14,8 @@ stringstring2 - This adds the parameter string2 to string1, overwriting - the value stored in string1. This function assumes both parameters are binary + This adds the parameter string2 to string1, overwriting + the value stored in string1. This function assumes both parameters are binary strings that represent unsigned integers in little-endian byte order. From da9d81816187b87c03a6cd92a3c3b833f039485c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Thu, 22 Jul 2021 17:26:04 +0800 Subject: [PATCH 385/444] Fix event return values (#811) --- reference/event/event/add.xml | 2 +- reference/event/event/del.xml | 2 +- reference/event/event/set.xml | 2 +- reference/event/event/setpriority.xml | 2 +- reference/event/event/settimer.xml | 2 +- reference/event/eventbase/dispatch.xml | 2 +- reference/event/eventbase/exit.xml | 2 +- reference/event/eventbase/loop.xml | 2 +- reference/event/eventbase/priorityinit.xml | 2 +- reference/event/eventbase/reinit.xml | 2 +- reference/event/eventbase/stop.xml | 2 +- reference/event/eventbuffer/add.xml | 2 +- reference/event/eventbuffer/addbuffer.xml | 2 +- reference/event/eventbuffer/drain.xml | 2 +- reference/event/eventbuffer/expand.xml | 2 +- reference/event/eventbuffer/freeze.xml | 2 +- reference/event/eventbuffer/prepend.xml | 2 +- reference/event/eventbuffer/prependbuffer.xml | 2 +- reference/event/eventbuffer/unfreeze.xml | 2 +- reference/event/eventbuffer/unlock.xml | 2 +- reference/event/eventbufferevent/connect.xml | 2 +- reference/event/eventbufferevent/connecthost.xml | 2 +- reference/event/eventbufferevent/disable.xml | 2 +- reference/event/eventbufferevent/enable.xml | 2 +- reference/event/eventbufferevent/readbuffer.xml | 2 +- reference/event/eventbufferevent/setpriority.xml | 2 +- reference/event/eventbufferevent/settimeouts.xml | 2 +- reference/event/eventbufferevent/write.xml | 2 +- reference/event/eventbufferevent/writebuffer.xml | 2 +- reference/event/eventconfig/avoidmethod.xml | 2 +- reference/event/eventconfig/setmaxdispatchinterval.xml | 2 +- reference/event/eventdnsbase/addnameserverip.xml | 2 +- reference/event/eventdnsbase/loadhosts.xml | 2 +- reference/event/eventdnsbase/parseresolvconf.xml | 2 +- reference/event/eventdnsbase/setoption.xml | 2 +- reference/event/eventdnsbase/setsearchndots.xml | 2 +- reference/event/eventhttp/accept.xml | 2 +- reference/event/eventhttp/addserveralias.xml | 2 +- reference/event/eventhttp/bind.xml | 2 +- reference/event/eventhttp/removeserveralias.xml | 2 +- reference/event/eventhttp/setcallback.xml | 2 +- reference/event/eventhttp/setdefaultcallback.xml | 2 +- reference/event/eventhttpconnection/makerequest.xml | 2 +- reference/event/eventhttprequest/addheader.xml | 2 +- reference/event/eventlistener/disable.xml | 2 +- reference/event/eventlistener/enable.xml | 2 +- reference/event/eventlistener/getsocketname.xml | 2 +- reference/event/eventutil/getsocketname.xml | 2 +- reference/event/eventutil/setsocketoption.xml | 2 +- 49 files changed, 49 insertions(+), 49 deletions(-) diff --git a/reference/event/event/add.xml b/reference/event/event/add.xml index 44c4f0624f..81bc4fdc11 100644 --- a/reference/event/event/add.xml +++ b/reference/event/event/add.xml @@ -50,7 +50,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false; + &return.success; diff --git a/reference/event/event/del.xml b/reference/event/event/del.xml index dfb5d18caf..575446872f 100644 --- a/reference/event/event/del.xml +++ b/reference/event/event/del.xml @@ -25,7 +25,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false; + &return.success; diff --git a/reference/event/event/set.xml b/reference/event/event/set.xml index 99baad5a02..f2604ede0a 100644 --- a/reference/event/event/set.xml +++ b/reference/event/event/set.xml @@ -105,7 +105,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/event/setpriority.xml b/reference/event/event/setpriority.xml index 047cf8de6e..8de04b48c6 100644 --- a/reference/event/event/setpriority.xml +++ b/reference/event/event/setpriority.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/event/settimer.xml b/reference/event/event/settimer.xml index e3edac60f6..4da62cd8f9 100644 --- a/reference/event/event/settimer.xml +++ b/reference/event/event/settimer.xml @@ -74,7 +74,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/dispatch.xml b/reference/event/eventbase/dispatch.xml index 16c33cc22c..1bdf12924c 100644 --- a/reference/event/eventbase/dispatch.xml +++ b/reference/event/eventbase/dispatch.xml @@ -33,7 +33,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/exit.xml b/reference/event/eventbase/exit.xml index f1c2bcfa43..ef05e72fe0 100644 --- a/reference/event/eventbase/exit.xml +++ b/reference/event/eventbase/exit.xml @@ -39,7 +39,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/loop.xml b/reference/event/eventbase/loop.xml index 06b012d890..a4545f81f0 100644 --- a/reference/event/eventbase/loop.xml +++ b/reference/event/eventbase/loop.xml @@ -48,7 +48,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/priorityinit.xml b/reference/event/eventbase/priorityinit.xml index 19cea85788..466f0e408a 100644 --- a/reference/event/eventbase/priorityinit.xml +++ b/reference/event/eventbase/priorityinit.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success, otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/reinit.xml b/reference/event/eventbase/reinit.xml index 279b7c8895..ddbb9f8083 100644 --- a/reference/event/eventbase/reinit.xml +++ b/reference/event/eventbase/reinit.xml @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbase/stop.xml b/reference/event/eventbase/stop.xml index 5e864b7aff..b466e9e492 100644 --- a/reference/event/eventbase/stop.xml +++ b/reference/event/eventbase/stop.xml @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/add.xml b/reference/event/eventbuffer/add.xml index 8e86d9a1c8..ac232c362d 100644 --- a/reference/event/eventbuffer/add.xml +++ b/reference/event/eventbuffer/add.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/addbuffer.xml b/reference/event/eventbuffer/addbuffer.xml index ffdac1123c..591b1fb9f5 100644 --- a/reference/event/eventbuffer/addbuffer.xml +++ b/reference/event/eventbuffer/addbuffer.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/drain.xml b/reference/event/eventbuffer/drain.xml index 630c961257..dc6e7fdaea 100644 --- a/reference/event/eventbuffer/drain.xml +++ b/reference/event/eventbuffer/drain.xml @@ -42,7 +42,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/expand.xml b/reference/event/eventbuffer/expand.xml index 3b95234c69..e0fcec65e8 100644 --- a/reference/event/eventbuffer/expand.xml +++ b/reference/event/eventbuffer/expand.xml @@ -41,7 +41,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/freeze.xml b/reference/event/eventbuffer/freeze.xml index 303da0d800..d93a047051 100644 --- a/reference/event/eventbuffer/freeze.xml +++ b/reference/event/eventbuffer/freeze.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/prepend.xml b/reference/event/eventbuffer/prepend.xml index aee45706d7..5984c6d073 100644 --- a/reference/event/eventbuffer/prepend.xml +++ b/reference/event/eventbuffer/prepend.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/prependbuffer.xml b/reference/event/eventbuffer/prependbuffer.xml index 77fdecf5ca..a5409dda19 100644 --- a/reference/event/eventbuffer/prependbuffer.xml +++ b/reference/event/eventbuffer/prependbuffer.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/unfreeze.xml b/reference/event/eventbuffer/unfreeze.xml index 182c9642e2..4e09c071e3 100644 --- a/reference/event/eventbuffer/unfreeze.xml +++ b/reference/event/eventbuffer/unfreeze.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbuffer/unlock.xml b/reference/event/eventbuffer/unlock.xml index e335c4e30f..0cf1f84a66 100644 --- a/reference/event/eventbuffer/unlock.xml +++ b/reference/event/eventbuffer/unlock.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/connect.xml b/reference/event/eventbufferevent/connect.xml index db5d814a2d..7595999cee 100644 --- a/reference/event/eventbufferevent/connect.xml +++ b/reference/event/eventbufferevent/connect.xml @@ -63,7 +63,7 @@ unix:path &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/connecthost.xml b/reference/event/eventbufferevent/connecthost.xml index dae098ec36..524f6c32fc 100644 --- a/reference/event/eventbufferevent/connecthost.xml +++ b/reference/event/eventbufferevent/connecthost.xml @@ -137,7 +137,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/disable.xml b/reference/event/eventbufferevent/disable.xml index e775fc0d29..0b95587767 100644 --- a/reference/event/eventbufferevent/disable.xml +++ b/reference/event/eventbufferevent/disable.xml @@ -44,7 +44,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/enable.xml b/reference/event/eventbufferevent/enable.xml index a832c07d33..515db6b2fe 100644 --- a/reference/event/eventbufferevent/enable.xml +++ b/reference/event/eventbufferevent/enable.xml @@ -53,7 +53,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/readbuffer.xml b/reference/event/eventbufferevent/readbuffer.xml index aa23526313..c11a91fd6d 100644 --- a/reference/event/eventbufferevent/readbuffer.xml +++ b/reference/event/eventbufferevent/readbuffer.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - Returns &true; on success; Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/setpriority.xml b/reference/event/eventbufferevent/setpriority.xml index 9f359fe463..55b7549bad 100644 --- a/reference/event/eventbufferevent/setpriority.xml +++ b/reference/event/eventbufferevent/setpriority.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/settimeouts.xml b/reference/event/eventbufferevent/settimeouts.xml index f7c8501e59..1436c22e39 100644 --- a/reference/event/eventbufferevent/settimeouts.xml +++ b/reference/event/eventbufferevent/settimeouts.xml @@ -52,7 +52,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/write.xml b/reference/event/eventbufferevent/write.xml index 3d267ec9c5..c900eac279 100644 --- a/reference/event/eventbufferevent/write.xml +++ b/reference/event/eventbufferevent/write.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventbufferevent/writebuffer.xml b/reference/event/eventbufferevent/writebuffer.xml index 3cd10187bb..59e364feb5 100644 --- a/reference/event/eventbufferevent/writebuffer.xml +++ b/reference/event/eventbufferevent/writebuffer.xml @@ -41,7 +41,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventconfig/avoidmethod.xml b/reference/event/eventconfig/avoidmethod.xml index d15a946830..4566e41a88 100644 --- a/reference/event/eventconfig/avoidmethod.xml +++ b/reference/event/eventconfig/avoidmethod.xml @@ -45,7 +45,7 @@ &reftitle.returnvalues; - Returns &true; on success, otherwise &false;. + &return.success; diff --git a/reference/event/eventconfig/setmaxdispatchinterval.xml b/reference/event/eventconfig/setmaxdispatchinterval.xml index 9ccb3592d7..9afb177760 100644 --- a/reference/event/eventconfig/setmaxdispatchinterval.xml +++ b/reference/event/eventconfig/setmaxdispatchinterval.xml @@ -90,7 +90,7 @@ &reftitle.returnvalues; - Returns &true; on success, otherwise &false;. + &return.success; diff --git a/reference/event/eventdnsbase/addnameserverip.xml b/reference/event/eventdnsbase/addnameserverip.xml index c6044e667e..845068efc3 100644 --- a/reference/event/eventdnsbase/addnameserverip.xml +++ b/reference/event/eventdnsbase/addnameserverip.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventdnsbase/loadhosts.xml b/reference/event/eventdnsbase/loadhosts.xml index ee79cc465f..008e56d333 100644 --- a/reference/event/eventdnsbase/loadhosts.xml +++ b/reference/event/eventdnsbase/loadhosts.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventdnsbase/parseresolvconf.xml b/reference/event/eventdnsbase/parseresolvconf.xml index 73be1dda7f..d4b96eda07 100644 --- a/reference/event/eventdnsbase/parseresolvconf.xml +++ b/reference/event/eventdnsbase/parseresolvconf.xml @@ -81,7 +81,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventdnsbase/setoption.xml b/reference/event/eventdnsbase/setoption.xml index d1b5c916d1..9502a3be4e 100644 --- a/reference/event/eventdnsbase/setoption.xml +++ b/reference/event/eventdnsbase/setoption.xml @@ -62,7 +62,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventdnsbase/setsearchndots.xml b/reference/event/eventdnsbase/setsearchndots.xml index ec23fe2e11..257df8baa9 100644 --- a/reference/event/eventdnsbase/setsearchndots.xml +++ b/reference/event/eventdnsbase/setsearchndots.xml @@ -41,7 +41,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/accept.xml b/reference/event/eventhttp/accept.xml index 71725185de..0c0195da3d 100644 --- a/reference/event/eventhttp/accept.xml +++ b/reference/event/eventhttp/accept.xml @@ -57,7 +57,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/addserveralias.xml b/reference/event/eventhttp/addserveralias.xml index 2370cca2d2..46cbeeedd0 100644 --- a/reference/event/eventhttp/addserveralias.xml +++ b/reference/event/eventhttp/addserveralias.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/bind.xml b/reference/event/eventhttp/bind.xml index cdcd8c579c..741958ee3c 100644 --- a/reference/event/eventhttp/bind.xml +++ b/reference/event/eventhttp/bind.xml @@ -58,7 +58,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/removeserveralias.xml b/reference/event/eventhttp/removeserveralias.xml index f452662524..efe300a196 100644 --- a/reference/event/eventhttp/removeserveralias.xml +++ b/reference/event/eventhttp/removeserveralias.xml @@ -39,7 +39,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/setcallback.xml b/reference/event/eventhttp/setcallback.xml index ce3aa763cc..5bb97465ed 100644 --- a/reference/event/eventhttp/setcallback.xml +++ b/reference/event/eventhttp/setcallback.xml @@ -111,7 +111,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttp/setdefaultcallback.xml b/reference/event/eventhttp/setdefaultcallback.xml index 1de8512aee..031f3e84de 100644 --- a/reference/event/eventhttp/setdefaultcallback.xml +++ b/reference/event/eventhttp/setdefaultcallback.xml @@ -96,7 +96,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttpconnection/makerequest.xml b/reference/event/eventhttpconnection/makerequest.xml index b24b3d91a2..f6fb05bc85 100644 --- a/reference/event/eventhttpconnection/makerequest.xml +++ b/reference/event/eventhttpconnection/makerequest.xml @@ -73,7 +73,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventhttprequest/addheader.xml b/reference/event/eventhttprequest/addheader.xml index 519e0a8428..7a46aefc90 100644 --- a/reference/event/eventhttprequest/addheader.xml +++ b/reference/event/eventhttprequest/addheader.xml @@ -69,7 +69,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventlistener/disable.xml b/reference/event/eventlistener/disable.xml index 8ddef4e068..e39fe8efb4 100644 --- a/reference/event/eventlistener/disable.xml +++ b/reference/event/eventlistener/disable.xml @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventlistener/enable.xml b/reference/event/eventlistener/enable.xml index e6020f03d5..7ccfad89f1 100644 --- a/reference/event/eventlistener/enable.xml +++ b/reference/event/eventlistener/enable.xml @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventlistener/getsocketname.xml b/reference/event/eventlistener/getsocketname.xml index aa2d54fea2..96900c135d 100644 --- a/reference/event/eventlistener/getsocketname.xml +++ b/reference/event/eventlistener/getsocketname.xml @@ -54,7 +54,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventutil/getsocketname.xml b/reference/event/eventutil/getsocketname.xml index 412a86a265..f7828b4637 100644 --- a/reference/event/eventutil/getsocketname.xml +++ b/reference/event/eventutil/getsocketname.xml @@ -72,7 +72,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; diff --git a/reference/event/eventutil/setsocketoption.xml b/reference/event/eventutil/setsocketoption.xml index a98e7ed741..aca1846d2a 100644 --- a/reference/event/eventutil/setsocketoption.xml +++ b/reference/event/eventutil/setsocketoption.xml @@ -103,7 +103,7 @@ &reftitle.returnvalues; - Returns &true; on success. Otherwise &false;. + &return.success; From c34257b72856627f0dc87ab3de97e5ca09f5dc95 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 22 Jul 2021 12:37:39 +0300 Subject: [PATCH 386/444] Gmagick enhancement (#802) --- reference/gmagick/constants.xml | 69 +++++++++++++++++++ reference/gmagick/gmagick/annotateimage.xml | 12 ++-- reference/gmagick/gmagick/blurimage.xml | 2 +- reference/gmagick/gmagick/borderimage.xml | 10 +-- reference/gmagick/gmagick/charcoalimage.xml | 6 +- reference/gmagick/gmagick/chopimage.xml | 10 +-- reference/gmagick/gmagick/clear.xml | 4 +- reference/gmagick/gmagick/commentimage.xml | 4 +- reference/gmagick/gmagick/compositeimage.xml | 10 ++- reference/gmagick/gmagick/construct.xml | 6 +- reference/gmagick/gmagick/cropimage.xml | 10 +-- .../gmagick/gmagick/cropthumbnailimage.xml | 6 +- .../gmagick/gmagick/deconstructimages.xml | 2 +- reference/gmagick/gmagick/despeckleimage.xml | 2 +- reference/gmagick/gmagick/destroy.xml | 2 +- reference/gmagick/gmagick/drawimage.xml | 4 +- reference/gmagick/gmagick/edgeimage.xml | 2 +- reference/gmagick/gmagick/embossimage.xml | 6 +- reference/gmagick/gmagick/enhanceimage.xml | 2 +- reference/gmagick/gmagick/equalizeimage.xml | 2 +- reference/gmagick/gmagick/flipimage.xml | 2 +- reference/gmagick/gmagick/flopimage.xml | 2 +- reference/gmagick/gmagick/frameimage.xml | 12 ++-- reference/gmagick/gmagick/gammaimage.xml | 2 +- .../gmagick/gmagick/getimagebordercolor.xml | 2 +- reference/gmagick/gmagick/getimagegamma.xml | 2 - .../gmagick/gmagick/getimagehistogram.xml | 5 +- reference/gmagick/gmagick/getimageindex.xml | 6 +- reference/gmagick/gmagick/getquantumdepth.xml | 4 +- reference/gmagick/gmagick/getsize.xml | 7 +- reference/gmagick/gmagick/hasnextimage.xml | 7 +- .../gmagick/gmagick/haspreviousimage.xml | 7 +- reference/gmagick/gmagick/implodeimage.xml | 7 +- reference/gmagick/gmagick/levelimage.xml | 11 ++- reference/gmagick/gmagick/magnifyimage.xml | 5 +- reference/gmagick/gmagick/mapimage.xml | 9 +-- .../gmagick/gmagick/medianfilterimage.xml | 5 +- reference/gmagick/gmagick/minifyimage.xml | 6 +- reference/gmagick/gmagick/modulateimage.xml | 2 +- reference/gmagick/gmagick/motionblurimage.xml | 6 +- reference/gmagick/gmagick/newimage.xml | 13 ++-- reference/gmagick/gmagick/nextimage.xml | 5 +- reference/gmagick/gmagick/normalizeimage.xml | 6 +- reference/gmagick/gmagick/profileimage.xml | 7 +- reference/gmagick/gmagick/queryformats.xml | 7 +- reference/gmagick/gmagick/radialblurimage.xml | 7 +- reference/gmagick/gmagick/raiseimage.xml | 8 +-- reference/gmagick/gmagick/read.xml | 4 +- reference/gmagick/gmagick/readimage.xml | 5 +- reference/gmagick/gmagick/readimageblob.xml | 9 +-- reference/gmagick/gmagick/readimagefile.xml | 5 +- .../gmagick/gmagick/reducenoiseimage.xml | 7 +- reference/gmagick/gmagick/removeimage.xml | 5 +- reference/gmagick/gmagick/resizeimage.xml | 2 +- reference/gmagick/gmagick/scaleimage.xml | 5 +- .../gmagick/gmagick/separateimagechannel.xml | 8 +-- .../gmagick/gmagick/setcompressionquality.xml | 2 +- reference/gmagick/gmagick/setfilename.xml | 4 +- .../gmagick/setimagebackgroundcolor.xml | 4 +- .../gmagick/gmagick/setimageblueprimary.xml | 4 +- .../gmagick/gmagick/setimagebordercolor.xml | 4 +- .../gmagick/gmagick/setimagechanneldepth.xml | 7 +- .../gmagick/gmagick/setimagecolorspace.xml | 7 +- reference/gmagick/gmagick/setimagedelay.xml | 7 +- reference/gmagick/gmagick/setimagedepth.xml | 7 +- reference/gmagick/gmagick/setimagedispose.xml | 4 +- .../gmagick/gmagick/setimagefilename.xml | 4 +- reference/gmagick/gmagick/setimageformat.xml | 5 +- reference/gmagick/gmagick/setimagegamma.xml | 4 +- .../gmagick/gmagick/setimagegreenprimary.xml | 4 +- reference/gmagick/gmagick/setimageindex.xml | 4 +- .../gmagick/setimageinterlacescheme.xml | 7 +- .../gmagick/gmagick/setimageiterations.xml | 5 +- .../gmagick/setimagerenderingintent.xml | 7 +- reference/gmagick/gmagick/setimagescene.xml | 5 +- reference/gmagick/gmagick/setimagetype.xml | 10 +-- reference/gmagick/gmagick/setimageunits.xml | 8 +-- .../gmagick/gmagick/setimagewhitepoint.xml | 5 +- .../gmagick/gmagick/setsamplingfactors.xml | 5 +- reference/gmagick/gmagick/setsize.xml | 8 +-- reference/gmagick/gmagick/shearimage.xml | 4 +- reference/gmagick/gmagick/solarizeimage.xml | 4 +- reference/gmagick/gmagick/spreadimage.xml | 4 +- reference/gmagick/gmagick/stripimage.xml | 5 +- reference/gmagick/gmagick/swirlimage.xml | 4 +- reference/gmagick/gmagick/thumbnailimage.xml | 11 ++- reference/gmagick/gmagick/trimimage.xml | 4 +- reference/gmagick/gmagick/writeimage.xml | 9 +-- reference/gmagick/gmagickpixel/construct.xml | 6 +- reference/gmagick/gmagickpixel/getcolor.xml | 5 +- .../gmagick/gmagickpixel/getcolorcount.xml | 7 +- .../gmagick/gmagickpixel/getcolorvalue.xml | 4 +- reference/gmagick/gmagickpixel/setcolor.xml | 8 +-- .../gmagick/gmagickpixel/setcolorvalue.xml | 8 +-- 94 files changed, 256 insertions(+), 341 deletions(-) diff --git a/reference/gmagick/constants.xml b/reference/gmagick/constants.xml index 9a6a07703d..047d80486a 100644 --- a/reference/gmagick/constants.xml +++ b/reference/gmagick/constants.xml @@ -3029,6 +3029,75 @@ + + + + + + Interlace constants + + + Gmagick::INTERLACE_UNDEFINED + (int) + + + + + + + + + + Gmagick::INTERLACE_NO + (int) + + + + + + + + + + Gmagick::INTERLACE_NONE + (int) + + + + + + + + + + Gmagick::INTERLACE_LINE + (int) + + + + + + + + + + Gmagick::INTERLACE_PLANE + (int) + + + + + + + + + + Gmagick::INTERLACE_PARTITION + (int) + + + + diff --git a/reference/gmagick/gmagick/annotateimage.xml b/reference/gmagick/gmagick/annotateimage.xml index 3a2e43a190..f4353795e0 100644 --- a/reference/gmagick/gmagick/annotateimage.xml +++ b/reference/gmagick/gmagick/annotateimage.xml @@ -30,7 +30,7 @@ GmagickDraw - The GmagickDraw object that contains settings for drawing the text + The GmagickDraw object that contains settings for drawing the text. @@ -38,7 +38,7 @@ x - Horizontal offset in pixels to the left of text + Horizontal offset in pixels to the left of text. @@ -46,7 +46,7 @@ y - Vertical offset in pixels to the baseline of text + Vertical offset in pixels to the baseline of text. @@ -54,7 +54,7 @@ angle - The angle at which to write the text + The angle at which to write the text. @@ -62,7 +62,7 @@ text - The string to draw + The string to draw. @@ -73,7 +73,7 @@ &reftitle.returnvalues; - The Gmagick object with annotation made. + The Gmagick object with annotation made. diff --git a/reference/gmagick/gmagick/blurimage.xml b/reference/gmagick/gmagick/blurimage.xml index 3b23dedb54..e5d90869b2 100644 --- a/reference/gmagick/gmagick/blurimage.xml +++ b/reference/gmagick/gmagick/blurimage.xml @@ -47,7 +47,7 @@ &reftitle.returnvalues; - The blurred Gmagick object + The blurred Gmagick object diff --git a/reference/gmagick/gmagick/borderimage.xml b/reference/gmagick/gmagick/borderimage.xml index 0c8cfd7fbb..598bb653ff 100644 --- a/reference/gmagick/gmagick/borderimage.xml +++ b/reference/gmagick/gmagick/borderimage.xml @@ -16,7 +16,7 @@ intheight - Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string. + Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string. @@ -28,7 +28,7 @@ color - GmagickPixel object or a string containing the border color + GmagickPixel object or a string containing the border color. @@ -36,7 +36,7 @@ width - Border width + Border width. @@ -44,7 +44,7 @@ height - Border height + Border height. @@ -55,7 +55,7 @@ &reftitle.returnvalues; - The Gmagick object with border defined + The Gmagick object with border defined. diff --git a/reference/gmagick/gmagick/charcoalimage.xml b/reference/gmagick/gmagick/charcoalimage.xml index 0515d7ffd6..93e613104a 100644 --- a/reference/gmagick/gmagick/charcoalimage.xml +++ b/reference/gmagick/gmagick/charcoalimage.xml @@ -27,7 +27,7 @@ radius - The radius of the Gaussian, in pixels, not counting the center pixel + The radius of the Gaussian, in pixels, not counting the center pixel. @@ -35,7 +35,7 @@ sigma - The standard deviation of the Gaussian, in pixels + The standard deviation of the Gaussian, in pixels. @@ -46,7 +46,7 @@ &reftitle.returnvalues; - The Gmagick object with charcoal simulation + The Gmagick object with charcoal simulation. diff --git a/reference/gmagick/gmagick/chopimage.xml b/reference/gmagick/gmagick/chopimage.xml index c900e55491..44512bb76c 100644 --- a/reference/gmagick/gmagick/chopimage.xml +++ b/reference/gmagick/gmagick/chopimage.xml @@ -29,7 +29,7 @@ width - Width of the chopped area + Width of the chopped area. @@ -37,7 +37,7 @@ height - Height of the chopped area + Height of the chopped area. @@ -45,7 +45,7 @@ x - X origo of the chopped area + X origo of the chopped area. @@ -53,7 +53,7 @@ y - Y origo of the chopped area + Y origo of the chopped area. @@ -64,7 +64,7 @@ &reftitle.returnvalues; - The chopped Gmagick object + The chopped Gmagick object. diff --git a/reference/gmagick/gmagick/clear.xml b/reference/gmagick/gmagick/clear.xml index d1383bbfa6..8a883ff78c 100644 --- a/reference/gmagick/gmagick/clear.xml +++ b/reference/gmagick/gmagick/clear.xml @@ -14,7 +14,7 @@ - Clears all resources associated to Gmagick object + Clears all resources associated to Gmagick object. @@ -26,7 +26,7 @@ &reftitle.returnvalues; - The cleared Gmagick object + The cleared Gmagick object. diff --git a/reference/gmagick/gmagick/commentimage.xml b/reference/gmagick/gmagick/commentimage.xml index f8bd339f91..50985e63af 100644 --- a/reference/gmagick/gmagick/commentimage.xml +++ b/reference/gmagick/gmagick/commentimage.xml @@ -26,7 +26,7 @@ comment - The comment to add + The comment to add. @@ -37,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object with comment added. + The Gmagick object with comment added. diff --git a/reference/gmagick/gmagick/compositeimage.xml b/reference/gmagick/gmagick/compositeimage.xml index 063c16a574..f18e49a207 100644 --- a/reference/gmagick/gmagick/compositeimage.xml +++ b/reference/gmagick/gmagick/compositeimage.xml @@ -20,8 +20,6 @@ Composite one image onto another at the specified offset. - - @@ -32,7 +30,7 @@ source - Gmagick object which holds the composite image + Gmagick object which holds the composite image. @@ -48,7 +46,7 @@ x - The column offset of the composited image + The column offset of the composited image. @@ -56,7 +54,7 @@ y - The row offset of the composited image + The row offset of the composited image. @@ -67,7 +65,7 @@ &reftitle.returnvalues; - The Gmagick object with compositions. + The Gmagick object with compositions. diff --git a/reference/gmagick/gmagick/construct.xml b/reference/gmagick/gmagick/construct.xml index d5f1475485..5a9d26536c 100644 --- a/reference/gmagick/gmagick/construct.xml +++ b/reference/gmagick/gmagick/construct.xml @@ -14,7 +14,7 @@ stringfilename - The Gmagick constructor. + The Gmagick constructor. @@ -27,7 +27,7 @@ filename - The path to an image to load or array of paths + The path to an image to load or array of paths. @@ -38,7 +38,7 @@ &reftitle.returnvalues; - Returns a new Gmagick object on success. + Returns a new Gmagick object. diff --git a/reference/gmagick/gmagick/cropimage.xml b/reference/gmagick/gmagick/cropimage.xml index 6f3f381afb..8f8094eb1f 100644 --- a/reference/gmagick/gmagick/cropimage.xml +++ b/reference/gmagick/gmagick/cropimage.xml @@ -40,7 +40,7 @@ - The width of the crop + The width of the crop. @@ -50,7 +50,7 @@ - The height of the crop + The height of the crop. @@ -58,7 +58,7 @@ x - The X coordinate of the cropped region's top left corner + The X coordinate of the cropped region's top left corner. @@ -66,7 +66,7 @@ y - The Y coordinate of the cropped region's top left corner + The Y coordinate of the cropped region's top left corner. @@ -77,7 +77,7 @@ &reftitle.returnvalues; - The cropped Gmagick object + The cropped Gmagick object. diff --git a/reference/gmagick/gmagick/cropthumbnailimage.xml b/reference/gmagick/gmagick/cropthumbnailimage.xml index 7d470f152d..532bb7471f 100644 --- a/reference/gmagick/gmagick/cropthumbnailimage.xml +++ b/reference/gmagick/gmagick/cropthumbnailimage.xml @@ -27,7 +27,7 @@ width - The width of the thumbnail + The width of the thumbnail. @@ -35,7 +35,7 @@ height - The Height of the thumbnail + The Height of the thumbnail. @@ -46,7 +46,7 @@ &reftitle.returnvalues; - The cropped Gmagick object + The cropped Gmagick object. diff --git a/reference/gmagick/gmagick/deconstructimages.xml b/reference/gmagick/gmagick/deconstructimages.xml index 50e365c091..3caf02a023 100644 --- a/reference/gmagick/gmagick/deconstructimages.xml +++ b/reference/gmagick/gmagick/deconstructimages.xml @@ -27,7 +27,7 @@ Compares each image with the next in a sequence and returns the maximum bounding &reftitle.returnvalues; - Returns a new Gmagick object on success. + Returns a new Gmagick object. diff --git a/reference/gmagick/gmagick/despeckleimage.xml b/reference/gmagick/gmagick/despeckleimage.xml index da793597a1..123080aea9 100644 --- a/reference/gmagick/gmagick/despeckleimage.xml +++ b/reference/gmagick/gmagick/despeckleimage.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - The despeckled Gmagick object on success. + The despeckled Gmagick object. diff --git a/reference/gmagick/gmagick/destroy.xml b/reference/gmagick/gmagick/destroy.xml index eeae653ecd..2c18659ebc 100644 --- a/reference/gmagick/gmagick/destroy.xml +++ b/reference/gmagick/gmagick/destroy.xml @@ -14,7 +14,7 @@ - Destroys the Gmagick object and frees all resources associated with it + Destroys the Gmagick object and frees all resources associated with it diff --git a/reference/gmagick/gmagick/drawimage.xml b/reference/gmagick/gmagick/drawimage.xml index ad023212e5..b1518b4398 100644 --- a/reference/gmagick/gmagick/drawimage.xml +++ b/reference/gmagick/gmagick/drawimage.xml @@ -14,7 +14,7 @@ GmagickDrawGmagickDraw - Renders the GmagickDraw object on the current image + Renders the GmagickDraw object on the current image. @@ -39,7 +39,7 @@ &reftitle.returnvalues; - The drawn Gmagick object + The drawn Gmagick object. diff --git a/reference/gmagick/gmagick/edgeimage.xml b/reference/gmagick/gmagick/edgeimage.xml index c72900a198..081e43b99b 100644 --- a/reference/gmagick/gmagick/edgeimage.xml +++ b/reference/gmagick/gmagick/edgeimage.xml @@ -39,7 +39,7 @@ &reftitle.returnvalues; - The Gmagick object with edges enhanced. + The Gmagick object with edges enhanced. diff --git a/reference/gmagick/gmagick/embossimage.xml b/reference/gmagick/gmagick/embossimage.xml index 9fb5a15100..96d2563ac1 100644 --- a/reference/gmagick/gmagick/embossimage.xml +++ b/reference/gmagick/gmagick/embossimage.xml @@ -29,7 +29,7 @@ radius - The radius of the effect + The radius of the effect. @@ -37,7 +37,7 @@ sigma - The sigma of the effect + The sigma of the effect. @@ -48,7 +48,7 @@ &reftitle.returnvalues; - The embossed Gmagick object. + The embossed Gmagick object. diff --git a/reference/gmagick/gmagick/enhanceimage.xml b/reference/gmagick/gmagick/enhanceimage.xml index 6a14536ce5..11c6e7eed9 100644 --- a/reference/gmagick/gmagick/enhanceimage.xml +++ b/reference/gmagick/gmagick/enhanceimage.xml @@ -27,7 +27,7 @@ &reftitle.returnvalues; - The enhanced Gmagick object. + The enhanced Gmagick object. diff --git a/reference/gmagick/gmagick/equalizeimage.xml b/reference/gmagick/gmagick/equalizeimage.xml index d9473e8822..f162ea352a 100644 --- a/reference/gmagick/gmagick/equalizeimage.xml +++ b/reference/gmagick/gmagick/equalizeimage.xml @@ -27,7 +27,7 @@ &reftitle.returnvalues; - The equalized Gmagick object. + The equalized Gmagick object. diff --git a/reference/gmagick/gmagick/flipimage.xml b/reference/gmagick/gmagick/flipimage.xml index c9e9f8e96b..87b185bf36 100644 --- a/reference/gmagick/gmagick/flipimage.xml +++ b/reference/gmagick/gmagick/flipimage.xml @@ -26,7 +26,7 @@ &reftitle.returnvalues; - The flipped Gmagick object. + The flipped Gmagick object. diff --git a/reference/gmagick/gmagick/flopimage.xml b/reference/gmagick/gmagick/flopimage.xml index 56adf09a23..078a8624b2 100644 --- a/reference/gmagick/gmagick/flopimage.xml +++ b/reference/gmagick/gmagick/flopimage.xml @@ -27,7 +27,7 @@ &reftitle.returnvalues; - The flopped Gmagick object. + The flopped Gmagick object. diff --git a/reference/gmagick/gmagick/frameimage.xml b/reference/gmagick/gmagick/frameimage.xml index 2f90b68f2a..c580a6ee0f 100644 --- a/reference/gmagick/gmagick/frameimage.xml +++ b/reference/gmagick/gmagick/frameimage.xml @@ -31,7 +31,7 @@ Adds a simulated three-dimensional border around the image. The width and height color - GmagickPixel object or a float representing the matte color + GmagickPixel object or a float representing the matte color. @@ -39,7 +39,7 @@ Adds a simulated three-dimensional border around the image. The width and height width - The width of the border + The width of the border. @@ -47,7 +47,7 @@ Adds a simulated three-dimensional border around the image. The width and height height - The height of the border + The height of the border. @@ -55,7 +55,7 @@ Adds a simulated three-dimensional border around the image. The width and height inner_bevel - The inner bevel width + The inner bevel width. @@ -63,7 +63,7 @@ Adds a simulated three-dimensional border around the image. The width and height outer_bevel - The outer bevel width + The outer bevel width. @@ -74,7 +74,7 @@ Adds a simulated three-dimensional border around the image. The width and height &reftitle.returnvalues; - The framed Gmagick object. + The framed Gmagick object. diff --git a/reference/gmagick/gmagick/gammaimage.xml b/reference/gmagick/gmagick/gammaimage.xml index fa405053ec..f4b99e1cc3 100644 --- a/reference/gmagick/gmagick/gammaimage.xml +++ b/reference/gmagick/gmagick/gammaimage.xml @@ -38,7 +38,7 @@ &reftitle.returnvalues; - The gamma corrected Gmagick object. + The gamma corrected Gmagick object. diff --git a/reference/gmagick/gmagick/getimagebordercolor.xml b/reference/gmagick/gmagick/getimagebordercolor.xml index c5f1450733..55151ddbba 100644 --- a/reference/gmagick/gmagick/getimagebordercolor.xml +++ b/reference/gmagick/gmagick/getimagebordercolor.xml @@ -28,7 +28,7 @@ &reftitle.returnvalues; - GmagickPixel object representing the color of the border + GmagickPixel object representing the color of the border. diff --git a/reference/gmagick/gmagick/getimagegamma.xml b/reference/gmagick/gmagick/getimagegamma.xml index aa7a48386a..00e6ff0b99 100644 --- a/reference/gmagick/gmagick/getimagegamma.xml +++ b/reference/gmagick/gmagick/getimagegamma.xml @@ -17,8 +17,6 @@ Gets the image gamma - - diff --git a/reference/gmagick/gmagick/getimagehistogram.xml b/reference/gmagick/gmagick/getimagehistogram.xml index dfea26208a..b3573b4b62 100644 --- a/reference/gmagick/gmagick/getimagehistogram.xml +++ b/reference/gmagick/gmagick/getimagehistogram.xml @@ -14,7 +14,8 @@ - Returns the image histogram as an array of GmagickPixel objects. Throw an GmagickException on error. + Returns the image histogram as an array of GmagickPixel objects. + Throw an GmagickException on error. @@ -29,7 +30,7 @@ &reftitle.returnvalues; - Returns the image histogram as an array of GmagickPixel objects. + Returns the image histogram as an array of GmagickPixel objects. diff --git a/reference/gmagick/gmagick/getimageindex.xml b/reference/gmagick/gmagick/getimageindex.xml index 9a1fe3bef1..c78b125744 100644 --- a/reference/gmagick/gmagick/getimageindex.xml +++ b/reference/gmagick/gmagick/getimageindex.xml @@ -14,11 +14,9 @@ - Returns the index of the current active image within the Gmagick object. + Returns the index of the current active image within the Gmagick object. - - @@ -29,7 +27,7 @@ &reftitle.returnvalues; - Index of current active image + Index of current active image. diff --git a/reference/gmagick/gmagick/getquantumdepth.xml b/reference/gmagick/gmagick/getquantumdepth.xml index 2fef7a8d94..c60291391e 100644 --- a/reference/gmagick/gmagick/getquantumdepth.xml +++ b/reference/gmagick/gmagick/getquantumdepth.xml @@ -14,7 +14,7 @@ - Returns the Gmagick quantum depth as a string. + Returns the Gmagick quantum depth as a string. @@ -29,7 +29,7 @@ &reftitle.returnvalues; - Returns the Gmagick quantum depth as a string. + Returns the Gmagick quantum depth as a string. diff --git a/reference/gmagick/gmagick/getsize.xml b/reference/gmagick/gmagick/getsize.xml index 0eb1382546..385dbce682 100644 --- a/reference/gmagick/gmagick/getsize.xml +++ b/reference/gmagick/gmagick/getsize.xml @@ -14,11 +14,8 @@ - Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows". + Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows". - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows". + Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows". diff --git a/reference/gmagick/gmagick/hasnextimage.xml b/reference/gmagick/gmagick/hasnextimage.xml index c6b1231df3..b682f2b2e7 100644 --- a/reference/gmagick/gmagick/hasnextimage.xml +++ b/reference/gmagick/gmagick/hasnextimage.xml @@ -14,11 +14,8 @@ - Returns TRUE if the object has more images when traversing the list in the forward direction. + Returns &true; if the object has more images when traversing the list in the forward direction. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - Returns TRUE if the object has more images when traversing the list in the forward direction, returns FALSE if there are none. + Returns &true; if the object has more images when traversing the list in the forward direction, returns &false; if there are none. diff --git a/reference/gmagick/gmagick/haspreviousimage.xml b/reference/gmagick/gmagick/haspreviousimage.xml index bf97da6676..e12c4dfa6f 100644 --- a/reference/gmagick/gmagick/haspreviousimage.xml +++ b/reference/gmagick/gmagick/haspreviousimage.xml @@ -14,11 +14,8 @@ - Returns TRUE if the object has more images when traversing the list in the reverse direction + Returns &true; if the object has more images when traversing the list in the reverse direction. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - Returns TRUE if the object has more images when traversing the list in the reverse direction, returns FALSE if there are none. + Returns &true; if the object has more images when traversing the list in the reverse direction, returns &false; if there are none. diff --git a/reference/gmagick/gmagick/implodeimage.xml b/reference/gmagick/gmagick/implodeimage.xml index 95928e0c90..9be4df570d 100644 --- a/reference/gmagick/gmagick/implodeimage.xml +++ b/reference/gmagick/gmagick/implodeimage.xml @@ -16,9 +16,6 @@ Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage. - - - @@ -29,7 +26,7 @@ radius - The radius of the implode + The radius of the implode. @@ -40,7 +37,7 @@ &reftitle.returnvalues; - Returns imploded Gmagick object. + Returns imploded Gmagick object. diff --git a/reference/gmagick/gmagick/levelimage.xml b/reference/gmagick/gmagick/levelimage.xml index 98090bf49a..03dfc32b7a 100644 --- a/reference/gmagick/gmagick/levelimage.xml +++ b/reference/gmagick/gmagick/levelimage.xml @@ -24,9 +24,6 @@ specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value. - - - @@ -37,7 +34,7 @@ blackPoint - The image black point + The image black point. @@ -45,7 +42,7 @@ gamma - The gamma value + The gamma value. @@ -53,7 +50,7 @@ whitePoint - The image white point + The image white point. @@ -75,7 +72,7 @@ To apply to more than one channel, combine channeltype constants using bitwise &reftitle.returnvalues; - Gmagick object with image levelled. + Gmagick object with image leveled. diff --git a/reference/gmagick/gmagick/magnifyimage.xml b/reference/gmagick/gmagick/magnifyimage.xml index 63c08ed89e..b3170b8cad 100644 --- a/reference/gmagick/gmagick/magnifyimage.xml +++ b/reference/gmagick/gmagick/magnifyimage.xml @@ -16,9 +16,6 @@ Conveniently scales an image proportionally to twice its original size. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - Magnified Gmagick object. + Magnified Gmagick object. diff --git a/reference/gmagick/gmagick/mapimage.xml b/reference/gmagick/gmagick/mapimage.xml index ec97a760ca..5c90f86fd0 100644 --- a/reference/gmagick/gmagick/mapimage.xml +++ b/reference/gmagick/gmagick/mapimage.xml @@ -17,9 +17,6 @@ Replaces the colors of an image with the closest color from a reference image. - - - @@ -30,7 +27,7 @@ gmagick - The reference image + The reference image. @@ -38,7 +35,7 @@ dither - Set this integer value to something other than zero to dither the mapped image + Set this integer value to something other than zero to dither the mapped image. @@ -49,7 +46,7 @@ &reftitle.returnvalues; - Gmagick object + The Gmagick object. diff --git a/reference/gmagick/gmagick/medianfilterimage.xml b/reference/gmagick/gmagick/medianfilterimage.xml index d610ba5ae0..9255ab20b0 100644 --- a/reference/gmagick/gmagick/medianfilterimage.xml +++ b/reference/gmagick/gmagick/medianfilterimage.xml @@ -16,9 +16,6 @@ Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - Gmagick object with median filter applied. + Gmagick object with median filter applied. diff --git a/reference/gmagick/gmagick/minifyimage.xml b/reference/gmagick/gmagick/minifyimage.xml index f09bbe0f33..2293ada85a 100644 --- a/reference/gmagick/gmagick/minifyimage.xml +++ b/reference/gmagick/gmagick/minifyimage.xml @@ -14,11 +14,9 @@ - A convenient method that scales an image proportionally to one-half its original size + A convenient method that scales an image proportionally to one-half its original size. - - @@ -29,7 +27,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/modulateimage.xml b/reference/gmagick/gmagick/modulateimage.xml index c2bc445746..f613380a23 100644 --- a/reference/gmagick/gmagick/modulateimage.xml +++ b/reference/gmagick/gmagick/modulateimage.xml @@ -61,7 +61,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/motionblurimage.xml b/reference/gmagick/gmagick/motionblurimage.xml index 8f7f43cff7..c8e8f7a807 100644 --- a/reference/gmagick/gmagick/motionblurimage.xml +++ b/reference/gmagick/gmagick/motionblurimage.xml @@ -18,12 +18,10 @@ Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be - larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius + larger than sigma. Use a radius of 0 and Gmagick::motionblurimage selects a suitable radius for you. Angle gives the angle of the blurring motion. - - @@ -61,7 +59,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/newimage.xml b/reference/gmagick/gmagick/newimage.xml index 8c6c39fce0..c49ea27d25 100644 --- a/reference/gmagick/gmagick/newimage.xml +++ b/reference/gmagick/gmagick/newimage.xml @@ -17,11 +17,8 @@ stringformat - Creates a new image with the specified background color + Creates a new image with the specified background color. - - - @@ -32,7 +29,7 @@ width - Width of the new image + Width of the new image. @@ -40,7 +37,7 @@ height - Height of the new image + Height of the new image. @@ -48,7 +45,7 @@ background - The background color used for this image (as float) + The background color used for this image (as float). @@ -67,7 +64,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/nextimage.xml b/reference/gmagick/gmagick/nextimage.xml index d664edfd11..2a90edeb3d 100644 --- a/reference/gmagick/gmagick/nextimage.xml +++ b/reference/gmagick/gmagick/nextimage.xml @@ -14,11 +14,8 @@ - Associates the next image in the image list with an Gmagick object. + Associates the next image in the image list with an Gmagick object. - - - diff --git a/reference/gmagick/gmagick/normalizeimage.xml b/reference/gmagick/gmagick/normalizeimage.xml index c57974bc74..b3459a7171 100644 --- a/reference/gmagick/gmagick/normalizeimage.xml +++ b/reference/gmagick/gmagick/normalizeimage.xml @@ -17,8 +17,6 @@ Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available. - - @@ -29,7 +27,7 @@ channel - Identify which channel to normalize + Identify which channel to normalize. @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/profileimage.xml b/reference/gmagick/gmagick/profileimage.xml index 34e062fa70..118c91ebc0 100644 --- a/reference/gmagick/gmagick/profileimage.xml +++ b/reference/gmagick/gmagick/profileimage.xml @@ -15,11 +15,10 @@ stringprofile - Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image. + Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is &null;, it is removed from the image otherwise added. + Use a name of * and a profile of &null; to remove all profiles from the image. - - @@ -49,7 +48,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/queryformats.xml b/reference/gmagick/gmagick/queryformats.xml index 7d35e9fd09..b60e5639d3 100644 --- a/reference/gmagick/gmagick/queryformats.xml +++ b/reference/gmagick/gmagick/queryformats.xml @@ -14,11 +14,8 @@ stringpattern"*" - Returns formats supported by Gmagick. + Returns formats supported by Gmagick. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/radialblurimage.xml b/reference/gmagick/gmagick/radialblurimage.xml index ae3e724a04..8a8c491310 100644 --- a/reference/gmagick/gmagick/radialblurimage.xml +++ b/reference/gmagick/gmagick/radialblurimage.xml @@ -17,9 +17,6 @@ Radial blurs an image. - - - @@ -38,7 +35,7 @@ channel - Related channel + Related channel. @@ -49,7 +46,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/raiseimage.xml b/reference/gmagick/gmagick/raiseimage.xml index c360c3c227..3bac21eb55 100644 --- a/reference/gmagick/gmagick/raiseimage.xml +++ b/reference/gmagick/gmagick/raiseimage.xml @@ -21,8 +21,6 @@ Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect. - - @@ -49,7 +47,7 @@ x - X coordinate + X coordinate. @@ -57,7 +55,7 @@ y - Y coordinate + Y coordinate. @@ -76,7 +74,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/read.xml b/reference/gmagick/gmagick/read.xml index 4775bc5251..770ee52524 100644 --- a/reference/gmagick/gmagick/read.xml +++ b/reference/gmagick/gmagick/read.xml @@ -17,8 +17,6 @@ Reads image from filename. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/readimage.xml b/reference/gmagick/gmagick/readimage.xml index a8ddd7d826..e6b31aca0e 100644 --- a/reference/gmagick/gmagick/readimage.xml +++ b/reference/gmagick/gmagick/readimage.xml @@ -16,9 +16,6 @@ Reads image from filename. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/readimageblob.xml b/reference/gmagick/gmagick/readimageblob.xml index 3ed477145a..c3d941e530 100644 --- a/reference/gmagick/gmagick/readimageblob.xml +++ b/reference/gmagick/gmagick/readimageblob.xml @@ -17,9 +17,6 @@ Reads image from a binary string. - - - @@ -30,7 +27,7 @@ imageContents - Content of image + Content of image. @@ -38,7 +35,7 @@ filename - The image filename. + The image filename. @@ -49,7 +46,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/readimagefile.xml b/reference/gmagick/gmagick/readimagefile.xml index e6e302c31d..5855a24bd3 100644 --- a/reference/gmagick/gmagick/readimagefile.xml +++ b/reference/gmagick/gmagick/readimagefile.xml @@ -17,9 +17,6 @@ Reads an image or image sequence from an open file descriptor. - - - @@ -41,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/reducenoiseimage.xml b/reference/gmagick/gmagick/reducenoiseimage.xml index fbd8baa63e..444248ad4c 100644 --- a/reference/gmagick/gmagick/reducenoiseimage.xml +++ b/reference/gmagick/gmagick/reducenoiseimage.xml @@ -14,11 +14,10 @@ floatradius - Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius for you. + Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. + Use a radius of 0 and Gmagick::reducenoiseimage selects a suitable radius for you. - - @@ -40,7 +39,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/removeimage.xml b/reference/gmagick/gmagick/removeimage.xml index b0d41ead3e..051aad5fc1 100644 --- a/reference/gmagick/gmagick/removeimage.xml +++ b/reference/gmagick/gmagick/removeimage.xml @@ -16,9 +16,6 @@ Removes an image from the image list. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/resizeimage.xml b/reference/gmagick/gmagick/resizeimage.xml index 2ff99dd04e..491c46e9e2 100644 --- a/reference/gmagick/gmagick/resizeimage.xml +++ b/reference/gmagick/gmagick/resizeimage.xml @@ -66,7 +66,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/scaleimage.xml b/reference/gmagick/gmagick/scaleimage.xml index 71985464f0..3c456247e9 100644 --- a/reference/gmagick/gmagick/scaleimage.xml +++ b/reference/gmagick/gmagick/scaleimage.xml @@ -18,9 +18,6 @@ Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param. - - - @@ -50,7 +47,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/separateimagechannel.xml b/reference/gmagick/gmagick/separateimagechannel.xml index 9dc803121c..cde881ac3a 100644 --- a/reference/gmagick/gmagick/separateimagechannel.xml +++ b/reference/gmagick/gmagick/separateimagechannel.xml @@ -16,9 +16,6 @@ Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image. - - - @@ -29,7 +26,8 @@ channel - Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel. + One of the Channel constant + (Gmagick::CHANNEL_*). @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setcompressionquality.xml b/reference/gmagick/gmagick/setcompressionquality.xml index a9c6a72148..947e771d8f 100644 --- a/reference/gmagick/gmagick/setcompressionquality.xml +++ b/reference/gmagick/gmagick/setcompressionquality.xml @@ -40,7 +40,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setfilename.xml b/reference/gmagick/gmagick/setfilename.xml index e85f303d68..6abb3f1fa4 100644 --- a/reference/gmagick/gmagick/setfilename.xml +++ b/reference/gmagick/gmagick/setfilename.xml @@ -17,8 +17,6 @@ Sets the filename before you read or write an image file. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagebackgroundcolor.xml b/reference/gmagick/gmagick/setimagebackgroundcolor.xml index b977a95154..119cb0cf5f 100644 --- a/reference/gmagick/gmagick/setimagebackgroundcolor.xml +++ b/reference/gmagick/gmagick/setimagebackgroundcolor.xml @@ -17,8 +17,6 @@ Sets the image background color. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageblueprimary.xml b/reference/gmagick/gmagick/setimageblueprimary.xml index b55e70c597..1ba99ebfde 100644 --- a/reference/gmagick/gmagick/setimageblueprimary.xml +++ b/reference/gmagick/gmagick/setimageblueprimary.xml @@ -18,8 +18,6 @@ Sets the image chromaticity blue primary point. - - @@ -49,7 +47,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagebordercolor.xml b/reference/gmagick/gmagick/setimagebordercolor.xml index 2b2a9c9464..8065051dcb 100644 --- a/reference/gmagick/gmagick/setimagebordercolor.xml +++ b/reference/gmagick/gmagick/setimagebordercolor.xml @@ -17,8 +17,6 @@ Sets the image border color. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagechanneldepth.xml b/reference/gmagick/gmagick/setimagechanneldepth.xml index 8a69833d40..a0915f26fe 100644 --- a/reference/gmagick/gmagick/setimagechanneldepth.xml +++ b/reference/gmagick/gmagick/setimagechanneldepth.xml @@ -18,8 +18,6 @@ Sets the depth of a particular image channel. - - @@ -30,7 +28,8 @@ channel - Identify which channel to extract: RedChannel, GreenChannel, BlueChannel, OpacityChannel, CyanChannel, MagentaChannel, YellowChannel, BlackChannel. + One of the Channel constant + (Gmagick::CHANNEL_*). @@ -49,7 +48,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagecolorspace.xml b/reference/gmagick/gmagick/setimagecolorspace.xml index 7499f834ec..4330bdb12a 100644 --- a/reference/gmagick/gmagick/setimagecolorspace.xml +++ b/reference/gmagick/gmagick/setimagecolorspace.xml @@ -17,8 +17,6 @@ Sets the image colorspace. - - @@ -29,7 +27,8 @@ colorspace - The image colorspace: UndefinedColorspace, RGBColorspace, GRAYColorspace, TransparentColorspace, OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace, YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace, CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace. + One of the Colorspace constant + (Gmagick::COLORSPACE_*). @@ -40,7 +39,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagedelay.xml b/reference/gmagick/gmagick/setimagedelay.xml index 06a872c342..9f41c5b493 100644 --- a/reference/gmagick/gmagick/setimagedelay.xml +++ b/reference/gmagick/gmagick/setimagedelay.xml @@ -14,11 +14,8 @@ intdelay - Sets the image delay + Sets the image delay. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagedepth.xml b/reference/gmagick/gmagick/setimagedepth.xml index c81410d7c6..49ae8483c9 100644 --- a/reference/gmagick/gmagick/setimagedepth.xml +++ b/reference/gmagick/gmagick/setimagedepth.xml @@ -14,11 +14,8 @@ intdepth - Sets the image depth + Sets the image depth. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagedispose.xml b/reference/gmagick/gmagick/setimagedispose.xml index b0fee074c3..4a1015ae7d 100644 --- a/reference/gmagick/gmagick/setimagedispose.xml +++ b/reference/gmagick/gmagick/setimagedispose.xml @@ -17,8 +17,6 @@ Sets the image disposal method. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagefilename.xml b/reference/gmagick/gmagick/setimagefilename.xml index ccea6fcfef..c6a6b67086 100644 --- a/reference/gmagick/gmagick/setimagefilename.xml +++ b/reference/gmagick/gmagick/setimagefilename.xml @@ -17,8 +17,6 @@ Sets the filename of a particular image in a sequence. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageformat.xml b/reference/gmagick/gmagick/setimageformat.xml index 914b885ebd..932e943fae 100644 --- a/reference/gmagick/gmagick/setimageformat.xml +++ b/reference/gmagick/gmagick/setimageformat.xml @@ -16,9 +16,6 @@ Sets the format of a particular image in a sequence. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagegamma.xml b/reference/gmagick/gmagick/setimagegamma.xml index 3512fdd9c8..37bbb935ab 100644 --- a/reference/gmagick/gmagick/setimagegamma.xml +++ b/reference/gmagick/gmagick/setimagegamma.xml @@ -17,8 +17,6 @@ Sets the image gamma. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagegreenprimary.xml b/reference/gmagick/gmagick/setimagegreenprimary.xml index ecb97f3746..281e7202c7 100644 --- a/reference/gmagick/gmagick/setimagegreenprimary.xml +++ b/reference/gmagick/gmagick/setimagegreenprimary.xml @@ -18,8 +18,6 @@ Sets the image chromaticity green primary point. - - @@ -49,7 +47,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageindex.xml b/reference/gmagick/gmagick/setimageindex.xml index 4f494d30e3..61332d4441 100644 --- a/reference/gmagick/gmagick/setimageindex.xml +++ b/reference/gmagick/gmagick/setimageindex.xml @@ -17,8 +17,6 @@ Set the iterator to the position in the image list specified with the index parameter. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageinterlacescheme.xml b/reference/gmagick/gmagick/setimageinterlacescheme.xml index 5df715ec0e..741e749bb2 100644 --- a/reference/gmagick/gmagick/setimageinterlacescheme.xml +++ b/reference/gmagick/gmagick/setimageinterlacescheme.xml @@ -17,8 +17,6 @@ Sets the interlace scheme of the image. - - @@ -29,7 +27,8 @@ interlace - The image interlace scheme: NoInterlace, LineInterlace, PlaneInterlace, PartitionInterlace. + One of the Interlace constant + (Gmagick::INTERLACE_*). @@ -40,7 +39,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageiterations.xml b/reference/gmagick/gmagick/setimageiterations.xml index 2b4818de2d..ec56215ec2 100644 --- a/reference/gmagick/gmagick/setimageiterations.xml +++ b/reference/gmagick/gmagick/setimageiterations.xml @@ -16,9 +16,6 @@ Sets the image iterations. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagerenderingintent.xml b/reference/gmagick/gmagick/setimagerenderingintent.xml index 8002f2682a..33b6efdd7c 100644 --- a/reference/gmagick/gmagick/setimagerenderingintent.xml +++ b/reference/gmagick/gmagick/setimagerenderingintent.xml @@ -17,8 +17,6 @@ Sets the image rendering intent. - - @@ -29,7 +27,8 @@ rendering_intent - The image rendering intent: UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent, or RelativeIntent. + One of the Rendering Intent constant + (Gmagick::RENDERINGINTENT_*). @@ -40,7 +39,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagescene.xml b/reference/gmagick/gmagick/setimagescene.xml index cba8ca2413..9258933464 100644 --- a/reference/gmagick/gmagick/setimagescene.xml +++ b/reference/gmagick/gmagick/setimagescene.xml @@ -16,9 +16,6 @@ Sets the image scene. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagetype.xml b/reference/gmagick/gmagick/setimagetype.xml index 9cef22d02f..adcf971e4b 100644 --- a/reference/gmagick/gmagick/setimagetype.xml +++ b/reference/gmagick/gmagick/setimagetype.xml @@ -16,9 +16,6 @@ Sets the image type. - - - @@ -29,9 +26,8 @@ imgType - The image type: UndefinedType, BilevelType, GrayscaleType, -GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType, -TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeType. + One of the Image type constant + (Gmagick::IMGTYPE_*). @@ -42,7 +38,7 @@ TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType, or OptimizeTy &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimageunits.xml b/reference/gmagick/gmagick/setimageunits.xml index 6f20d13d17..ede0b19c2a 100644 --- a/reference/gmagick/gmagick/setimageunits.xml +++ b/reference/gmagick/gmagick/setimageunits.xml @@ -16,9 +16,6 @@ Sets the image units of resolution. - - - @@ -29,7 +26,8 @@ resolution - The image units of resolution : Undefinedresolution, PixelsPerInchResolution, or PixelsPerCentimeterResolution. + One of the Resolution constant + (Gmagick::RESOLUTION_*). @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setimagewhitepoint.xml b/reference/gmagick/gmagick/setimagewhitepoint.xml index ed34a30c56..88850e871b 100644 --- a/reference/gmagick/gmagick/setimagewhitepoint.xml +++ b/reference/gmagick/gmagick/setimagewhitepoint.xml @@ -17,9 +17,6 @@ Sets the image chromaticity white point. - - - @@ -49,7 +46,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setsamplingfactors.xml b/reference/gmagick/gmagick/setsamplingfactors.xml index 30c46c860d..84100a3cc0 100644 --- a/reference/gmagick/gmagick/setsamplingfactors.xml +++ b/reference/gmagick/gmagick/setsamplingfactors.xml @@ -16,9 +16,6 @@ Sets the image sampling factors. - - - @@ -40,7 +37,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/setsize.xml b/reference/gmagick/gmagick/setsize.xml index b6080be2f9..0aa833b1ff 100644 --- a/reference/gmagick/gmagick/setsize.xml +++ b/reference/gmagick/gmagick/setsize.xml @@ -15,11 +15,9 @@ introws - Sets the size of the Gmagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK. + Sets the size of the Gmagick object. Set it before you read a raw image format such as Gmagick::COLORSPACE_RGB, + Gmagick::COLORSPACE_GRAY, or Gmagick::COLORSPACE_CMYK. - - - @@ -49,7 +47,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/shearimage.xml b/reference/gmagick/gmagick/shearimage.xml index b239eb76f8..1559feef4c 100644 --- a/reference/gmagick/gmagick/shearimage.xml +++ b/reference/gmagick/gmagick/shearimage.xml @@ -23,8 +23,6 @@ The amount of the shear is controlled by a shear angle. For X direction shears, from shearing the image are filled with the background color. - - @@ -62,7 +60,7 @@ The amount of the shear is controlled by a shear angle. For X direction shears, &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/solarizeimage.xml b/reference/gmagick/gmagick/solarizeimage.xml index 8882a20b93..28713f0090 100644 --- a/reference/gmagick/gmagick/solarizeimage.xml +++ b/reference/gmagick/gmagick/solarizeimage.xml @@ -19,8 +19,6 @@ Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization. - - @@ -42,7 +40,7 @@ &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/spreadimage.xml b/reference/gmagick/gmagick/spreadimage.xml index 0e80d4dd2f..921516c1b7 100644 --- a/reference/gmagick/gmagick/spreadimage.xml +++ b/reference/gmagick/gmagick/spreadimage.xml @@ -17,8 +17,6 @@ Special effects method that randomly displaces each pixel in a block defined by the radius parameter. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/stripimage.xml b/reference/gmagick/gmagick/stripimage.xml index c57f9f16f4..57a5065eeb 100644 --- a/reference/gmagick/gmagick/stripimage.xml +++ b/reference/gmagick/gmagick/stripimage.xml @@ -16,9 +16,6 @@ Strips an image of all profiles and comments. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/swirlimage.xml b/reference/gmagick/gmagick/swirlimage.xml index 05ad66efec..3077fcc6a5 100644 --- a/reference/gmagick/gmagick/swirlimage.xml +++ b/reference/gmagick/gmagick/swirlimage.xml @@ -17,8 +17,6 @@ Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object on success + The Gmagick object. diff --git a/reference/gmagick/gmagick/thumbnailimage.xml b/reference/gmagick/gmagick/thumbnailimage.xml index 3411289148..bc3405d247 100644 --- a/reference/gmagick/gmagick/thumbnailimage.xml +++ b/reference/gmagick/gmagick/thumbnailimage.xml @@ -18,12 +18,9 @@ Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. -If TRUE is given as a third parameter then columns and rows parameters are used as maximums +If &true; is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side. - - - @@ -34,7 +31,7 @@ If TRUE is given as a third parameter then columns and rows parameters are used width - Image width + Image width. @@ -42,7 +39,7 @@ If TRUE is given as a third parameter then columns and rows parameters are used height - Image height + Image height. @@ -53,7 +50,7 @@ If TRUE is given as a third parameter then columns and rows parameters are used &reftitle.returnvalues; - The Gmagick object on success. + The Gmagick object. diff --git a/reference/gmagick/gmagick/trimimage.xml b/reference/gmagick/gmagick/trimimage.xml index 82fc38d165..0e125dd709 100644 --- a/reference/gmagick/gmagick/trimimage.xml +++ b/reference/gmagick/gmagick/trimimage.xml @@ -17,8 +17,6 @@ Remove edges that are the background color from the image. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The Gmagick object + The Gmagick object. diff --git a/reference/gmagick/gmagick/writeimage.xml b/reference/gmagick/gmagick/writeimage.xml index a781f3ac3c..aa8b4ea343 100644 --- a/reference/gmagick/gmagick/writeimage.xml +++ b/reference/gmagick/gmagick/writeimage.xml @@ -15,12 +15,9 @@ boolall_frames&false; - Writes an image to the specified filename. If the filename parameter is NULL, -the image is written to the filename set by Gmagick::ReadImage() or Gmagick::SetImageFilename(). + Writes an image to the specified filename. If the filename parameter is &null;, + the image is written to the filename set by Gmagick::readimage or Gmagick::setimagefilename. - - - @@ -42,7 +39,7 @@ the image is written to the filename set by Gmagick::ReadImage() or Gmagick::Set &reftitle.returnvalues; - The Gmagick object + The Gmagick object. diff --git a/reference/gmagick/gmagickpixel/construct.xml b/reference/gmagick/gmagickpixel/construct.xml index 1d63433cec..09b3b31d6f 100644 --- a/reference/gmagick/gmagickpixel/construct.xml +++ b/reference/gmagick/gmagickpixel/construct.xml @@ -14,11 +14,9 @@ stringcolor - Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned. + Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The GmagickPixel object on success. + The GmagickPixel object. diff --git a/reference/gmagick/gmagickpixel/getcolor.xml b/reference/gmagick/gmagickpixel/getcolor.xml index f8605ecb9d..201716f0ee 100644 --- a/reference/gmagick/gmagickpixel/getcolor.xml +++ b/reference/gmagick/gmagickpixel/getcolor.xml @@ -15,11 +15,8 @@ boolnormalize_array&false; - Returns the color described by the GmagickPixel object, as a string or an array. If the color has an opacity channel set, this is provided as a fourth value in the list. + Returns the color described by the GmagickPixel object, as a string or an array. If the color has an opacity channel set, this is provided as a fourth value in the list. - - - diff --git a/reference/gmagick/gmagickpixel/getcolorcount.xml b/reference/gmagick/gmagickpixel/getcolorcount.xml index bff785130c..f8ff1b6419 100644 --- a/reference/gmagick/gmagickpixel/getcolorcount.xml +++ b/reference/gmagick/gmagickpixel/getcolorcount.xml @@ -14,11 +14,8 @@ - Returns the color count associated with this color + Returns the color count associated with this color. - - - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - Returns the color count as an integer on success, throws GmagickPixelException on failure. + Returns the color count as an integer on success, throws GmagickPixelException on failure. diff --git a/reference/gmagick/gmagickpixel/getcolorvalue.xml b/reference/gmagick/gmagickpixel/getcolorvalue.xml index 3f4581bee2..9608445302 100644 --- a/reference/gmagick/gmagickpixel/getcolorvalue.xml +++ b/reference/gmagick/gmagickpixel/getcolorvalue.xml @@ -17,8 +17,6 @@ Retrieves the value of the color channel specified, as a floating-point number between 0 and 1. - - @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error. + The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error. diff --git a/reference/gmagick/gmagickpixel/setcolor.xml b/reference/gmagick/gmagickpixel/setcolor.xml index 05548e3f6b..9f0ec0627b 100644 --- a/reference/gmagick/gmagickpixel/setcolor.xml +++ b/reference/gmagick/gmagickpixel/setcolor.xml @@ -14,11 +14,9 @@ stringcolor - Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.). + Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.). - - @@ -29,7 +27,7 @@ color - The color definition to use in order to initialise the GmagickPixel object. + The color definition to use in order to initialise the GmagickPixel object. @@ -40,7 +38,7 @@ &reftitle.returnvalues; - The GmagickPixel object on success. + The GmagickPixel object. diff --git a/reference/gmagick/gmagickpixel/setcolorvalue.xml b/reference/gmagick/gmagickpixel/setcolorvalue.xml index a03d577801..59abb994b2 100644 --- a/reference/gmagick/gmagickpixel/setcolorvalue.xml +++ b/reference/gmagick/gmagickpixel/setcolorvalue.xml @@ -15,11 +15,9 @@ floatvalue - Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object. + Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. + This function can be used to provide an opacity channel to a GmagickPixel object. - - - @@ -49,7 +47,7 @@ &reftitle.returnvalues; - The GmagickPixel object on success. + The GmagickPixel object. From 668b6fc28891062b1c96202009ccb70b7147740d Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 22 Jul 2021 15:31:46 +0300 Subject: [PATCH 387/444] Fix example title and constants in ImagickDraw --- reference/imagick/imagickdraw/affine.xml | 2 +- reference/imagick/imagickdraw/bezier.xml | 4 +--- reference/imagick/imagickdraw/composite.xml | 16 +++++++--------- reference/imagick/imagickdraw/construct.xml | 2 +- reference/imagick/imagickdraw/destroy.xml | 2 +- reference/imagick/imagickdraw/ellipse.xml | 4 +--- reference/imagick/imagickdraw/getfontsize.xml | 2 +- reference/imagick/imagickdraw/getfontstyle.xml | 2 +- reference/imagick/imagickdraw/getgravity.xml | 2 +- reference/imagick/imagickdraw/getstrokecolor.xml | 2 +- .../imagick/imagickdraw/getstrokelinecap.xml | 2 +- .../imagick/imagickdraw/getstrokelinejoin.xml | 2 +- .../imagick/imagickdraw/gettextalignment.xml | 2 +- .../imagick/imagickdraw/gettextdecoration.xml | 2 +- .../imagick/imagickdraw/gettextundercolor.xml | 2 +- .../imagick/imagickdraw/getvectorgraphics.xml | 2 +- reference/imagick/imagickdraw/line.xml | 4 +--- reference/imagick/imagickdraw/matte.xml | 6 ++---- reference/imagick/imagickdraw/pathstart.xml | 4 +--- reference/imagick/imagickdraw/push.xml | 6 ++---- reference/imagick/imagickdraw/pushclippath.xml | 2 +- reference/imagick/imagickdraw/pushdefs.xml | 2 +- reference/imagick/imagickdraw/pushpattern.xml | 4 +--- reference/imagick/imagickdraw/rectangle.xml | 4 +--- reference/imagick/imagickdraw/rotate.xml | 6 ++---- reference/imagick/imagickdraw/setclippath.xml | 4 +--- reference/imagick/imagickdraw/setfillrule.xml | 6 ++---- reference/imagick/imagickdraw/setfont.xml | 4 +--- reference/imagick/imagickdraw/setfontfamily.xml | 4 +--- reference/imagick/imagickdraw/setfontsize.xml | 4 +--- reference/imagick/imagickdraw/setfontstretch.xml | 6 ++---- reference/imagick/imagickdraw/setfontweight.xml | 4 +--- reference/imagick/imagickdraw/setgravity.xml | 6 ++---- .../imagick/imagickdraw/setstrokeantialias.xml | 4 +--- reference/imagick/imagickdraw/setstrokecolor.xml | 4 +--- .../imagick/imagickdraw/setstrokedasharray.xml | 4 +--- .../imagick/imagickdraw/setstrokedashoffset.xml | 4 +--- .../imagick/imagickdraw/setstrokelinecap.xml | 6 ++---- .../imagick/imagickdraw/setstrokelinejoin.xml | 6 ++---- .../imagick/imagickdraw/setstrokemiterlimit.xml | 4 +--- .../imagick/imagickdraw/setstrokeopacity.xml | 4 +--- .../imagick/imagickdraw/setstrokepatternurl.xml | 2 +- reference/imagick/imagickdraw/setstrokewidth.xml | 4 +--- .../imagick/imagickdraw/settextdecoration.xml | 6 ++---- .../imagick/imagickdraw/settextundercolor.xml | 4 +--- .../imagick/imagickdraw/setvectorgraphics.xml | 4 +--- reference/imagick/imagickdraw/setviewbox.xml | 4 +--- reference/imagick/imagickdraw/skewx.xml | 4 +--- reference/imagick/imagickdraw/skewy.xml | 4 +--- reference/imagick/imagickdraw/translate.xml | 4 +--- 50 files changed, 65 insertions(+), 133 deletions(-) diff --git a/reference/imagick/imagickdraw/affine.xml b/reference/imagick/imagickdraw/affine.xml index dd52f9ebd9..d4e42efb60 100644 --- a/reference/imagick/imagickdraw/affine.xml +++ b/reference/imagick/imagickdraw/affine.xml @@ -48,7 +48,7 @@ &reftitle.examples; - <function>ImagickDraw::affine</function> + <function>ImagickDraw::affine</function> example - - &reftitle.examples; - <function>ImagickDraw::bezier</function> + <function>ImagickDraw::bezier</function> example compose - composition operator. One of COMPOSITE_ constants + composition operator. One of imagick::COMPOSITE_* constants. @@ -40,7 +40,7 @@ x - x coordinate of the top left corner + x coordinate of the top left corner. @@ -48,7 +48,7 @@ y - y coordinate of the top left corner + y coordinate of the top left corner. @@ -56,7 +56,7 @@ width - width of the composition image + width of the composition image. @@ -64,7 +64,7 @@ height - height of the composition image + height of the composition image. @@ -72,7 +72,7 @@ compositeWand - the Imagick object where composition image is taken from + the Imagick object where composition image is taken from. @@ -87,13 +87,11 @@ - - &reftitle.examples; - <function>ImagickDraw::composite</function> + <function>ImagickDraw::composite</function> example &warn.undocumented.func; - The ImagickDraw constructor + The ImagickDraw constructor. diff --git a/reference/imagick/imagickdraw/destroy.xml b/reference/imagick/imagickdraw/destroy.xml index d928a06952..d0fb6d6279 100644 --- a/reference/imagick/imagickdraw/destroy.xml +++ b/reference/imagick/imagickdraw/destroy.xml @@ -14,7 +14,7 @@ &warn.undocumented.func; - Frees all resources associated with the ImagickDraw object. + Frees all resources associated with the ImagickDraw object. diff --git a/reference/imagick/imagickdraw/ellipse.xml b/reference/imagick/imagickdraw/ellipse.xml index e246266e51..49806e01af 100644 --- a/reference/imagick/imagickdraw/ellipse.xml +++ b/reference/imagick/imagickdraw/ellipse.xml @@ -80,13 +80,11 @@ - - &reftitle.examples; - <function>ImagickDraw::ellipse</function> + <function>ImagickDraw::ellipse</function> example &reftitle.returnvalues; - Returns the font size associated with the current ImagickDraw object. + Returns the font size associated with the current ImagickDraw object. diff --git a/reference/imagick/imagickdraw/getfontstyle.xml b/reference/imagick/imagickdraw/getfontstyle.xml index 91486c72b1..ee6c38870c 100644 --- a/reference/imagick/imagickdraw/getfontstyle.xml +++ b/reference/imagick/imagickdraw/getfontstyle.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns the font style constant (STYLE_) associated with the ImagickDraw object + Returns the font style constant (imagick::STYLE_*) associated with the ImagickDraw object or 0 if no style is set. diff --git a/reference/imagick/imagickdraw/getgravity.xml b/reference/imagick/imagickdraw/getgravity.xml index 898ba9a6a4..94b50ccc97 100644 --- a/reference/imagick/imagickdraw/getgravity.xml +++ b/reference/imagick/imagickdraw/getgravity.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns a GRAVITY_ constant on success and 0 if no gravity is set. + Returns a imagick::GRAVITY_* constant on success and 0 if no gravity is set. diff --git a/reference/imagick/imagickdraw/getstrokecolor.xml b/reference/imagick/imagickdraw/getstrokecolor.xml index 0f71519fc1..e850b4960a 100644 --- a/reference/imagick/imagickdraw/getstrokecolor.xml +++ b/reference/imagick/imagickdraw/getstrokecolor.xml @@ -36,7 +36,7 @@ &reftitle.returnvalues; - Returns an ImagickPixel object which describes the color. + Returns an ImagickPixel object which describes the color. diff --git a/reference/imagick/imagickdraw/getstrokelinecap.xml b/reference/imagick/imagickdraw/getstrokelinecap.xml index 8f312b0b3f..953adaac9a 100644 --- a/reference/imagick/imagickdraw/getstrokelinecap.xml +++ b/reference/imagick/imagickdraw/getstrokelinecap.xml @@ -22,7 +22,7 @@ &reftitle.returnvalues; - Returns one of the LINECAP_ constants or 0 if stroke linecap is not set. + Returns one of the imagick::LINECAP_* constants or 0 if stroke linecap is not set. diff --git a/reference/imagick/imagickdraw/getstrokelinejoin.xml b/reference/imagick/imagickdraw/getstrokelinejoin.xml index d55f0c6c0b..e81a53c2ee 100644 --- a/reference/imagick/imagickdraw/getstrokelinejoin.xml +++ b/reference/imagick/imagickdraw/getstrokelinejoin.xml @@ -22,7 +22,7 @@ &reftitle.returnvalues; - Returns one of the LINEJOIN_ constants or 0 if stroke line join is not set. + Returns one of the imagick::LINEJOIN_* constants or 0 if stroke line join is not set. diff --git a/reference/imagick/imagickdraw/gettextalignment.xml b/reference/imagick/imagickdraw/gettextalignment.xml index 77f553e131..7a824152f0 100644 --- a/reference/imagick/imagickdraw/gettextalignment.xml +++ b/reference/imagick/imagickdraw/gettextalignment.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns one of the ALIGN_ constants and 0 if no align is set. + Returns one of the imagick::ALIGN_ constants and 0 if no align is set. diff --git a/reference/imagick/imagickdraw/gettextdecoration.xml b/reference/imagick/imagickdraw/gettextdecoration.xml index 89b8d8070a..e1acd4bc3d 100644 --- a/reference/imagick/imagickdraw/gettextdecoration.xml +++ b/reference/imagick/imagickdraw/gettextdecoration.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns one of the DECORATION_ constants + Returns one of the imagick::DECORATION_* constants and 0 if no decoration is set. diff --git a/reference/imagick/imagickdraw/gettextundercolor.xml b/reference/imagick/imagickdraw/gettextundercolor.xml index e2d9d10d5f..bb4950443f 100644 --- a/reference/imagick/imagickdraw/gettextundercolor.xml +++ b/reference/imagick/imagickdraw/gettextundercolor.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns an ImagickPixel object describing the color. + Returns an ImagickPixel object describing the color. diff --git a/reference/imagick/imagickdraw/getvectorgraphics.xml b/reference/imagick/imagickdraw/getvectorgraphics.xml index 2eaa241849..86b06878ca 100644 --- a/reference/imagick/imagickdraw/getvectorgraphics.xml +++ b/reference/imagick/imagickdraw/getvectorgraphics.xml @@ -15,7 +15,7 @@ &warn.undocumented.func; Returns a string which specifies the vector graphics generated by any - graphics calls made since the ImagickDraw object was instantiated. + graphics calls made since the ImagickDraw object was instantiated. diff --git a/reference/imagick/imagickdraw/line.xml b/reference/imagick/imagickdraw/line.xml index acd5344929..95879a6e0c 100644 --- a/reference/imagick/imagickdraw/line.xml +++ b/reference/imagick/imagickdraw/line.xml @@ -68,13 +68,11 @@ - - &reftitle.examples; - <function>ImagickDraw::line</function> + <function>ImagickDraw::line</function> example paintMethod - PAINT_ constant + imagick::PAINT_* constant @@ -60,13 +60,11 @@ - - &reftitle.examples; - <function>ImagickDraw::matte</function> + <function>ImagickDraw::matte</function> example - - &reftitle.examples; - <function>ImagickDraw::pathStart</function> + <function>ImagickDraw::pathStart</function> example Clones the current ImagickDraw to create a new ImagickDraw, which is then added to the ImagickDraw stack. The original drawing ImagickDraw(s) may be - returned to by invoking pop(). The ImagickDraws are stored on a + returned to by invoking ImagickDraw::pop. The ImagickDraws are stored on a ImagickDraw stack. For every Pop there must have already been an equivalent Push. @@ -29,13 +29,11 @@ - - &reftitle.examples; - <function>ImagickDraw::push</function> + <function>ImagickDraw::push</function> example Starts a clip path definition which is comprised of any number of drawing - commands and terminated by a ImagickDraw::popClipPath() command. + commands and terminated by a ImagickDraw::popClipPath command. diff --git a/reference/imagick/imagickdraw/pushdefs.xml b/reference/imagick/imagickdraw/pushdefs.xml index 83c1d98089..9313c8115c 100644 --- a/reference/imagick/imagickdraw/pushdefs.xml +++ b/reference/imagick/imagickdraw/pushdefs.xml @@ -14,7 +14,7 @@ &warn.undocumented.func; - Indicates that commands up to a terminating ImagickDraw::popDefs() + Indicates that commands up to a terminating ImagickDraw::popDefs command create named elements (e.g. clip-paths, textures, etc.) which may safely be processed earlier for the sake of efficiency. diff --git a/reference/imagick/imagickdraw/pushpattern.xml b/reference/imagick/imagickdraw/pushpattern.xml index e88c207029..ab45479b5a 100644 --- a/reference/imagick/imagickdraw/pushpattern.xml +++ b/reference/imagick/imagickdraw/pushpattern.xml @@ -81,13 +81,11 @@ - - &reftitle.examples; - <function>ImagickDraw::pushPattern</function> + <function>ImagickDraw::pushPattern</function> example - - &reftitle.examples; - <function>ImagickDraw::rectangle</function> + <function>ImagickDraw::rectangle</function> example degrees - degrees to rotate + degrees to rotate. @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::rotate</function> + <function>ImagickDraw::rotate</function> example - - &reftitle.examples; - <function>ImagickDraw::setClipPath</function> + <function>ImagickDraw::setClipPath</function> example fill_rule - FILLRULE_ constant + imagick::FILLRULE_* constant @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setFillRule</function> + <function>ImagickDraw::setFillRule</function> example - - &reftitle.examples; - <function>ImagickDraw::setFont</function> + <function>ImagickDraw::setFont</function> example - - &reftitle.examples; - <function>ImagickDraw::setFontFamily</function> + <function>ImagickDraw::setFontFamily</function> example - - &reftitle.examples; - <function>ImagickDraw::setFontSize</function> + <function>ImagickDraw::setFontSize</function> example fontStretch - STRETCH_ constant + imagick::STRETCH_* constant @@ -42,13 +42,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setFontStretch</function> + <function>ImagickDraw::setFontStretch</function> example - - &reftitle.examples; - <function>ImagickDraw::setFontWeight</function> + <function>ImagickDraw::setFontWeight</function> example gravity - GRAVITY_ constant + imagick::GRAVITY_* constant @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setGravity</function> + <function>ImagickDraw::setGravity</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeAntialias</function> + <function>ImagickDraw::setStrokeAntialias</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeColor</function> + <function>ImagickDraw::setStrokeColor</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeDashArray</function> + <function>ImagickDraw::setStrokeDashArray</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeDashOffset</function> + <function>ImagickDraw::setStrokeDashOffset</function> example linecap - LINECAP_ constant + imagick::LINECAP_* constant @@ -42,13 +42,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setStrokeLineCap</function> + <function>ImagickDraw::setStrokeLineCap</function> example linejoin - LINEJOIN_ constant + imagick::LINEJOIN_* constant @@ -42,13 +42,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setStrokeLineJoin</function> + <function>ImagickDraw::setStrokeLineJoin</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeMiterLimit</function> + <function>ImagickDraw::setStrokeMiterLimit</function> example - - &reftitle.examples; - <function>ImagickDraw::setStrokeOpacity</function> + <function>ImagickDraw::setStrokeOpacity</function> example &reftitle.returnvalues; - imagick.imagickdraw.return.success; + &imagick.return.success; diff --git a/reference/imagick/imagickdraw/setstrokewidth.xml b/reference/imagick/imagickdraw/setstrokewidth.xml index 92328c4b57..ec35bc039e 100644 --- a/reference/imagick/imagickdraw/setstrokewidth.xml +++ b/reference/imagick/imagickdraw/setstrokewidth.xml @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setStrokeWidth</function> + <function>ImagickDraw::setStrokeWidth</function> example decoration - DECORATION_ constant + imagick::DECORATION_* constant @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setTextDecoration</function> + <function>ImagickDraw::setTextDecoration</function> example - - &reftitle.examples; - <function>ImagickDraw::setTextUnderColor</function> + <function>ImagickDraw::setTextUnderColor</function> example - - &reftitle.examples; - <function>ImagickDraw::setVectorGraphics</function> + <function>ImagickDraw::setVectorGraphics</function> example - - &reftitle.examples; - <function>ImagickDraw::setViewBox</function> + <function>ImagickDraw::setViewBox</function> example - - &reftitle.examples; - <function>ImagickDraw::skewX</function> + <function>ImagickDraw::skewX</function> example - - &reftitle.examples; - <function>ImagickDraw::skewY</function> + <function>ImagickDraw::skewY</function> example - - &reftitle.examples; - <function>ImagickDraw::translate</function> + <function>ImagickDraw::translate</function> example Date: Fri, 23 Jul 2021 04:29:46 +0900 Subject: [PATCH 388/444] fixed typo --- .../functions/sodium-crypto-pwhash-scryptsalsa208sha256.xml | 2 +- reference/sodium/functions/sodium-crypto-pwhash.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/sodium/functions/sodium-crypto-pwhash-scryptsalsa208sha256.xml b/reference/sodium/functions/sodium-crypto-pwhash-scryptsalsa208sha256.xml index 2283ee7534..3536476f50 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash-scryptsalsa208sha256.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash-scryptsalsa208sha256.xml @@ -50,7 +50,7 @@ salt - A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random mumber source such as random_bytes, and have a length of at least SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes. + A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random number source such as random_bytes, and have a length of at least SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes. diff --git a/reference/sodium/functions/sodium-crypto-pwhash.xml b/reference/sodium/functions/sodium-crypto-pwhash.xml index b984096d8b..3d0914d1d1 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash.xml @@ -49,7 +49,7 @@ salt - A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random mumber source such as random_bytes, and have a length of at least SODIUM_CRYPTO_PWHASH_SALTBYTES bytes. + A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random number source such as random_bytes, and have a length of at least SODIUM_CRYPTO_PWHASH_SALTBYTES bytes. From 26940f53324b3e580a17a3303c63007c585a9cdb Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Fri, 23 Jul 2021 05:35:45 +0900 Subject: [PATCH 389/444] fixed wrong referenced function name. --- reference/sodium/functions/sodium-crypto-pwhash-str-verify.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sodium/functions/sodium-crypto-pwhash-str-verify.xml b/reference/sodium/functions/sodium-crypto-pwhash-str-verify.xml index 3cbc21e6f0..66b2773954 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash-str-verify.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash-str-verify.xml @@ -15,7 +15,7 @@ stringpassword - Checks that a password hash created using sodium_crypto_pwhash_str matches a given plain-text password. Note that the parameters are in the opposite order to the same parameters in the similar password_hash function. + Checks that a password hash created using sodium_crypto_pwhash_str matches a given plain-text password. Note that the parameters are in the opposite order to the same parameters in the similar password_verify function. From 5bbdca0c80bcf6f1cf7cd86c8c393488287ffe08 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Fri, 23 Jul 2021 05:42:02 +0900 Subject: [PATCH 390/444] fixed wrong example function name. --- reference/sodium/functions/sodium-crypto-pwhash-str.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sodium/functions/sodium-crypto-pwhash-str.xml b/reference/sodium/functions/sodium-crypto-pwhash-str.xml index 3b237b7a5d..d3642d20fa 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash-str.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash-str.xml @@ -66,7 +66,7 @@ Uses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, &reftitle.examples; - <function>password_hash</function> example + <function>sodium_crypto_pwhash_str</function> example Date: Fri, 23 Jul 2021 05:46:44 +0900 Subject: [PATCH 391/444] fixed wrong example function name, part II. --- reference/sodium/functions/sodium-crypto-pwhash.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sodium/functions/sodium-crypto-pwhash.xml b/reference/sodium/functions/sodium-crypto-pwhash.xml index 3d0914d1d1..1d7f832ea9 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash.xml @@ -90,7 +90,7 @@ &reftitle.examples; - <function>password_hash</function> example + <function>sodium_crypto_pwhash</function> example Date: Fri, 23 Jul 2021 10:19:46 +0800 Subject: [PATCH 392/444] Add EventConfig missing method (#810) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update event_config * Update reference/event/eventconfig/setflags.xml Co-authored-by: 沈唁 <52o@qq52o.cn> * Update reference/event/eventconfig/requirefeatures.xml Co-authored-by: 沈唁 <52o@qq52o.cn> * Update reference/event/eventconfig/setflags.xml Co-authored-by: 沈唁 <52o@qq52o.cn> * not optional, is required * Update reference/event/eventconfig/setflags.xml Co-authored-by: 沈唁 <52o@qq52o.cn> * update versions.xml function name Co-authored-by: 沈唁 <52o@qq52o.cn> --- .../event/eventconfig/requirefeatures.xml | 4 +- reference/event/eventconfig/setflags.xml | 74 +++++++++++++++++++ reference/event/versions.xml | 2 + 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 reference/event/eventconfig/setflags.xml diff --git a/reference/event/eventconfig/requirefeatures.xml b/reference/event/eventconfig/requirefeatures.xml index 6c899de75b..092445499d 100644 --- a/reference/event/eventconfig/requirefeatures.xml +++ b/reference/event/eventconfig/requirefeatures.xml @@ -40,7 +40,9 @@ &reftitle.returnvalues; - + + &return.success; + &reftitle.examples; diff --git a/reference/event/eventconfig/setflags.xml b/reference/event/eventconfig/setflags.xml new file mode 100644 index 0000000000..2b082f34ca --- /dev/null +++ b/reference/event/eventconfig/setflags.xml @@ -0,0 +1,74 @@ + + + + + EventConfig::setFlags + Sets one or more flags to configure the eventual EventBase will be initialized + + + &reftitle.description; + + public + bool + EventConfig::setFlags + + int + flags + + + + Sets one or more flags to configure what parts of + the eventual EventBase will be initialized, and how they'll work. + + + + &reftitle.parameters; + + + + flags + + + + One of EventBase::LOOP_* constants. + See EventBase constants. + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + &reftitle.seealso; + + + EventBase::getFeatures + + + + + diff --git a/reference/event/versions.xml b/reference/event/versions.xml index 5fc02869ec..99ee6a823e 100644 --- a/reference/event/versions.xml +++ b/reference/event/versions.xml @@ -39,6 +39,8 @@ + + From d4eaf603fed4129b31014ac80d9211450aba4e48 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Fri, 23 Jul 2021 17:11:49 +0900 Subject: [PATCH 393/444] fixed parameter markup --- .../sodium/functions/sodium-crypto-pwhash-str-needs-rehash.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/sodium/functions/sodium-crypto-pwhash-str-needs-rehash.xml b/reference/sodium/functions/sodium-crypto-pwhash-str-needs-rehash.xml index 328f25120a..fce6ca6935 100644 --- a/reference/sodium/functions/sodium-crypto-pwhash-str-needs-rehash.xml +++ b/reference/sodium/functions/sodium-crypto-pwhash-str-needs-rehash.xml @@ -16,7 +16,7 @@ intmemlimit - Determine whether or not to rehash a password, based on the current hash opslimit and memlimit. + Determine whether or not to rehash a password, based on the current hash opslimit and memlimit. From 7d93e0fe5eabef4325e6fc33abc329d1d370be86 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 23 Jul 2021 17:24:39 +0200 Subject: [PATCH 394/444] Fix #81284: str_getcsv cant parse with multibyte delimiter There's no fun in DRY. ;) --- reference/filesystem/functions/fgetcsv.xml | 6 +++--- reference/filesystem/functions/fputcsv.xml | 6 +++--- reference/spl/splfileobject/fgetcsv.xml | 6 +++--- reference/spl/splfileobject/fputcsv.xml | 6 +++--- reference/spl/splfileobject/setcsvcontrol.xml | 6 +++--- reference/strings/functions/str-getcsv.xml | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/reference/filesystem/functions/fgetcsv.xml b/reference/filesystem/functions/fgetcsv.xml index 3bb9734ab8..a27a7621b8 100644 --- a/reference/filesystem/functions/fgetcsv.xml +++ b/reference/filesystem/functions/fgetcsv.xml @@ -65,7 +65,7 @@ separator - The optional separator parameter sets the field separator (one character only). + The optional separator parameter sets the field separator (one single-byte character only). @@ -73,7 +73,7 @@ enclosure - The optional enclosure parameter sets the field enclosure character (one character only). + The optional enclosure parameter sets the field enclosure character (one single-byte character only). @@ -81,7 +81,7 @@ escape - The optional escape parameter sets the escape character (at most one character). + The optional escape parameter sets the escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism. diff --git a/reference/filesystem/functions/fputcsv.xml b/reference/filesystem/functions/fputcsv.xml index ed3a38e172..f6298697cf 100644 --- a/reference/filesystem/functions/fputcsv.xml +++ b/reference/filesystem/functions/fputcsv.xml @@ -46,7 +46,7 @@ The optional separator parameter sets the field - delimiter (one character only). + delimiter (one single-byte character only). @@ -55,7 +55,7 @@ The optional enclosure parameter sets the field - enclosure (one character only). + enclosure (one single-byte character only). @@ -64,7 +64,7 @@ The optional escape_char parameter sets the - escape character (at most one character). + escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism. diff --git a/reference/spl/splfileobject/fgetcsv.xml b/reference/spl/splfileobject/fgetcsv.xml index d5c72c3725..42ba04d3f8 100644 --- a/reference/spl/splfileobject/fgetcsv.xml +++ b/reference/spl/splfileobject/fgetcsv.xml @@ -35,7 +35,7 @@ delimiter - The field delimiter (one character only). Defaults as a comma or the value set using SplFileObject::setCsvControl. + The field delimiter (one single-byte character only). Defaults as a comma or the value set using SplFileObject::setCsvControl. @@ -43,7 +43,7 @@ enclosure - The field enclosure character (one character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl. + The field enclosure character (one single-byte character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl. @@ -51,7 +51,7 @@ escape - The escape character (at most one character). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl. + The escape character (at most one single-byte character). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl. An empty string ("") disables the proprietary escape mechanism. diff --git a/reference/spl/splfileobject/fputcsv.xml b/reference/spl/splfileobject/fputcsv.xml index 5f5d22fd9f..b0332033b7 100644 --- a/reference/spl/splfileobject/fputcsv.xml +++ b/reference/spl/splfileobject/fputcsv.xml @@ -37,7 +37,7 @@ The optional delimiter parameter sets the field - delimiter (one character only). + delimiter (one single-byte character only). @@ -46,7 +46,7 @@ The optional enclosure parameter sets the field - enclosure (one character only). + enclosure (one single-byte character only). @@ -55,7 +55,7 @@ The optional escape parameter sets the - escape character (at most one character). + escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism. diff --git a/reference/spl/splfileobject/setcsvcontrol.xml b/reference/spl/splfileobject/setcsvcontrol.xml index 46010a9c72..6b7332a3da 100644 --- a/reference/spl/splfileobject/setcsvcontrol.xml +++ b/reference/spl/splfileobject/setcsvcontrol.xml @@ -28,7 +28,7 @@ delimiter - The field delimiter (one character only). + The field delimiter (one single-byte character only). @@ -36,7 +36,7 @@ enclosure - The field enclosure character (one character only). + The field enclosure character (one single-byte character only). @@ -44,7 +44,7 @@ escape - The field escape character (at most one character). + The field escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism. diff --git a/reference/strings/functions/str-getcsv.xml b/reference/strings/functions/str-getcsv.xml index 8321ac9ae3..3f0bb519fa 100644 --- a/reference/strings/functions/str-getcsv.xml +++ b/reference/strings/functions/str-getcsv.xml @@ -46,7 +46,7 @@ separator - Set the field delimiter (one character only). + Set the field delimiter (one single-byte character only). @@ -54,7 +54,7 @@ enclosure - Set the field enclosure character (one character only). + Set the field enclosure character (one single-byte character only). @@ -62,7 +62,7 @@ escape - Set the escape character (at most one character). Defaults as a backslash + Set the escape character (at most one single-byte character). Defaults as a backslash (\) An empty string ("") disables the proprietary escape mechanism. From c29dbc6680b264f548ae0bbc03912c7ff39e211a Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 23 Jul 2021 19:07:45 +0100 Subject: [PATCH 395/444] Add missing word "and executed" --- reference/pdo/pdo/query.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/pdo/pdo/query.xml b/reference/pdo/pdo/query.xml index d34761bc10..239b78ef5a 100644 --- a/reference/pdo/pdo/query.xml +++ b/reference/pdo/pdo/query.xml @@ -67,7 +67,7 @@ If the query contains placeholders, the statement - must be prepared separately using PDO::prepare and + must be prepared and executed separately using PDO::prepare and PDOStatement::execute methods. From 02e6f35734e49f4c86ed420f6f72bac1ee41e589 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 23 Jul 2021 22:26:44 +0100 Subject: [PATCH 396/444] Add missing parameter to pdo query (#813) --- reference/pdo/pdo/query.xml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/reference/pdo/pdo/query.xml b/reference/pdo/pdo/query.xml index 239b78ef5a..9cf9bd56b1 100644 --- a/reference/pdo/pdo/query.xml +++ b/reference/pdo/pdo/query.xml @@ -39,7 +39,7 @@ PDO::query prepares and executes an SQL statement in - a single function call, returning the statement as a PDOStatement object. + a single function call, returning the statement as a PDOStatement object. For a query that you need to issue multiple times, you will realize better @@ -55,15 +55,6 @@ next call to PDO::query. - - - If more than one argument is passed to this function, the remaining arguments - will be treated as though you called - PDOStatement::setFetchMode on the resultant statement - object. - - - If the query contains placeholders, the statement @@ -92,6 +83,21 @@ + + fetchMode + + + The default fetch mode for the returned PDOStatement. + It must be one of the PDO::FETCH_* constants. + + + If this argument is passed to the function, the remaining arguments + will be treated as though PDOStatement::setFetchMode + was called on the resultant statement object. + The subsequent arguments vary depending on the selected fetch mode. + + + From 053f0940f7e1ebd51ee609d04701b5b9a86a38ec Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 24 Jul 2021 00:58:56 +0200 Subject: [PATCH 397/444] Minor improvements to PDO::query() As suggested by @salathe; see GH-813. --- reference/pdo/pdo/query.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/pdo/pdo/query.xml b/reference/pdo/pdo/query.xml index 9cf9bd56b1..4dafdfe180 100644 --- a/reference/pdo/pdo/query.xml +++ b/reference/pdo/pdo/query.xml @@ -88,11 +88,11 @@ The default fetch mode for the returned PDOStatement. - It must be one of the PDO::FETCH_* constants. + It must be one of the PDO::FETCH_* constants. If this argument is passed to the function, the remaining arguments - will be treated as though PDOStatement::setFetchMode + will be treated as though PDOStatement::setFetchMode was called on the resultant statement object. The subsequent arguments vary depending on the selected fetch mode. From f6e0117681a1d76916d1337c19245442a4fd2554 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sat, 24 Jul 2021 20:55:29 +0100 Subject: [PATCH 398/444] Add missing --- reference/pdo/pdo/query.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/pdo/pdo/query.xml b/reference/pdo/pdo/query.xml index 4dafdfe180..b70529742b 100644 --- a/reference/pdo/pdo/query.xml +++ b/reference/pdo/pdo/query.xml @@ -43,7 +43,7 @@ For a query that you need to issue multiple times, you will realize better - performance if you prepare a PDOStatement object using + performance if you prepare a PDOStatement object using PDO::prepare and issue the statement with multiple calls to PDOStatement::execute. @@ -51,7 +51,7 @@ If you do not fetch all of the data in a result set before issuing your next call to PDO::query, your call may fail. Call PDOStatement::closeCursor to release the database - resources associated with the PDOStatement object before issuing your + resources associated with the PDOStatement object before issuing your next call to PDO::query. @@ -104,7 +104,7 @@ &reftitle.returnvalues; - Returns a PDOStatement object&return.falseforfailure;. + Returns a PDOStatement object&return.falseforfailure;. From 0f49e97eebd971ba0468bc1b7c6265fd457f60c8 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 26 Jul 2021 11:45:59 +0300 Subject: [PATCH 399/444] ImagickDraw enhancement --- reference/imagick/imagickdraw/arc.xml | 4 +--- reference/imagick/imagickdraw/circle.xml | 4 +--- reference/imagick/imagickdraw/clear.xml | 2 +- reference/imagick/imagickdraw/clone.xml | 2 +- reference/imagick/imagickdraw/color.xml | 3 ++- reference/imagick/imagickdraw/composite.xml | 6 ++++-- reference/imagick/imagickdraw/getcliprule.xml | 3 ++- reference/imagick/imagickdraw/getclipunits.xml | 2 +- reference/imagick/imagickdraw/getfillcolor.xml | 2 +- reference/imagick/imagickdraw/getfillrule.xml | 3 ++- reference/imagick/imagickdraw/getfontstyle.xml | 3 ++- reference/imagick/imagickdraw/getfontweight.xml | 2 +- reference/imagick/imagickdraw/getgravity.xml | 3 ++- reference/imagick/imagickdraw/getstrokeantialias.xml | 4 ++-- reference/imagick/imagickdraw/getstrokelinecap.xml | 3 ++- reference/imagick/imagickdraw/getstrokelinejoin.xml | 3 ++- reference/imagick/imagickdraw/gettextalignment.xml | 3 ++- reference/imagick/imagickdraw/gettextantialias.xml | 4 ++-- reference/imagick/imagickdraw/gettextdecoration.xml | 4 ++-- reference/imagick/imagickdraw/matte.xml | 3 ++- .../imagickdraw/pathcurvetoquadraticbezierabsolute.xml | 4 +--- .../pathcurvetoquadraticbeziersmoothabsolute.xml | 2 +- .../pathcurvetoquadraticbeziersmoothrelative.xml | 2 +- reference/imagick/imagickdraw/pathellipticarcabsolute.xml | 4 ++-- reference/imagick/imagickdraw/pathellipticarcrelative.xml | 4 ++-- reference/imagick/imagickdraw/point.xml | 4 +--- reference/imagick/imagickdraw/polygon.xml | 4 +--- reference/imagick/imagickdraw/polyline.xml | 4 +--- reference/imagick/imagickdraw/pop.xml | 2 +- reference/imagick/imagickdraw/popdefs.xml | 4 +--- reference/imagick/imagickdraw/roundrectangle.xml | 4 +--- reference/imagick/imagickdraw/scale.xml | 4 +--- reference/imagick/imagickdraw/setcliprule.xml | 7 +++---- reference/imagick/imagickdraw/setclipunits.xml | 4 +--- reference/imagick/imagickdraw/setfillalpha.xml | 4 +--- reference/imagick/imagickdraw/setfillrule.xml | 3 ++- reference/imagick/imagickdraw/setfontstretch.xml | 3 ++- reference/imagick/imagickdraw/setfontstyle.xml | 7 +++---- reference/imagick/imagickdraw/setgravity.xml | 3 ++- reference/imagick/imagickdraw/setstrokealpha.xml | 4 +--- reference/imagick/imagickdraw/setstrokelinecap.xml | 3 ++- reference/imagick/imagickdraw/setstrokelinejoin.xml | 3 ++- reference/imagick/imagickdraw/settextalignment.xml | 7 +++---- reference/imagick/imagickdraw/settextantialias.xml | 4 +--- reference/imagick/imagickdraw/settextdecoration.xml | 3 ++- reference/imagick/imagickdraw/setvectorgraphics.xml | 2 +- 46 files changed, 75 insertions(+), 87 deletions(-) diff --git a/reference/imagick/imagickdraw/arc.xml b/reference/imagick/imagickdraw/arc.xml index 1106b1157d..c738bc2e99 100644 --- a/reference/imagick/imagickdraw/arc.xml +++ b/reference/imagick/imagickdraw/arc.xml @@ -86,13 +86,11 @@ - - &reftitle.examples; - <function>ImagickDraw::arc</function> + <function>ImagickDraw::arc</function> example - - &reftitle.examples; - <function>ImagickDraw::circle</function> + <function>ImagickDraw::circle</function> example &reftitle.returnvalues; - Returns an ImagickDraw object. + Returns an ImagickDraw object. diff --git a/reference/imagick/imagickdraw/clone.xml b/reference/imagick/imagickdraw/clone.xml index a2cbda61a2..6c03bab63c 100644 --- a/reference/imagick/imagickdraw/clone.xml +++ b/reference/imagick/imagickdraw/clone.xml @@ -14,7 +14,7 @@ &warn.undocumented.func; - Makes an exact copy of the specified ImagickDraw object. + Makes an exact copy of the specified ImagickDraw object. diff --git a/reference/imagick/imagickdraw/color.xml b/reference/imagick/imagickdraw/color.xml index 7f1218191b..3878a73678 100644 --- a/reference/imagick/imagickdraw/color.xml +++ b/reference/imagick/imagickdraw/color.xml @@ -45,7 +45,8 @@ paintMethod - one of the PAINT_ constants + One of the PAINT constant + (imagick::PAINT_*). diff --git a/reference/imagick/imagickdraw/composite.xml b/reference/imagick/imagickdraw/composite.xml index d7e9474ce6..998573e3a9 100644 --- a/reference/imagick/imagickdraw/composite.xml +++ b/reference/imagick/imagickdraw/composite.xml @@ -32,7 +32,9 @@ compose - composition operator. One of imagick::COMPOSITE_* constants. + composition operator. + One of the Composite Operator constant + (imagick::COMPOSITE_*). @@ -72,7 +74,7 @@ compositeWand - the Imagick object where composition image is taken from. + the Imagick object where composition image is taken from. diff --git a/reference/imagick/imagickdraw/getcliprule.xml b/reference/imagick/imagickdraw/getcliprule.xml index 43dcefaebe..00fe8665e6 100644 --- a/reference/imagick/imagickdraw/getcliprule.xml +++ b/reference/imagick/imagickdraw/getcliprule.xml @@ -21,7 +21,8 @@ &reftitle.returnvalues; - Returns one of the FILLRULE_ constants. + Returns a FILLRULE constant + (imagick::FILLRULE_*). diff --git a/reference/imagick/imagickdraw/getclipunits.xml b/reference/imagick/imagickdraw/getclipunits.xml index bae8ef8f2c..8c1074c7fc 100644 --- a/reference/imagick/imagickdraw/getclipunits.xml +++ b/reference/imagick/imagickdraw/getclipunits.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns an int on success. + Returns an &integer; on success. diff --git a/reference/imagick/imagickdraw/getfillcolor.xml b/reference/imagick/imagickdraw/getfillcolor.xml index 7c7030090e..7dea0ec16d 100644 --- a/reference/imagick/imagickdraw/getfillcolor.xml +++ b/reference/imagick/imagickdraw/getfillcolor.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns an ImagickPixel object. + Returns an ImagickPixel object. diff --git a/reference/imagick/imagickdraw/getfillrule.xml b/reference/imagick/imagickdraw/getfillrule.xml index 759519ff74..2bafde31d3 100644 --- a/reference/imagick/imagickdraw/getfillrule.xml +++ b/reference/imagick/imagickdraw/getfillrule.xml @@ -21,7 +21,8 @@ &reftitle.returnvalues; - Returns a FILLRULE_ constant + Returns a FILLRULE constant + (imagick::FILLRULE_*). diff --git a/reference/imagick/imagickdraw/getfontstyle.xml b/reference/imagick/imagickdraw/getfontstyle.xml index ee6c38870c..456e47028b 100644 --- a/reference/imagick/imagickdraw/getfontstyle.xml +++ b/reference/imagick/imagickdraw/getfontstyle.xml @@ -21,7 +21,8 @@ &reftitle.returnvalues; - Returns the font style constant (imagick::STYLE_*) associated with the ImagickDraw object + Returns a STYLE constant + (imagick::STYLE_*) associated with the ImagickDraw object or 0 if no style is set. diff --git a/reference/imagick/imagickdraw/getfontweight.xml b/reference/imagick/imagickdraw/getfontweight.xml index 9b36facbf9..b4e1b63511 100644 --- a/reference/imagick/imagickdraw/getfontweight.xml +++ b/reference/imagick/imagickdraw/getfontweight.xml @@ -21,7 +21,7 @@ &reftitle.returnvalues; - Returns an int on success and 0 if no weight is set. + Returns an &integer; on success and 0 if no weight is set. diff --git a/reference/imagick/imagickdraw/getgravity.xml b/reference/imagick/imagickdraw/getgravity.xml index 94b50ccc97..a3846ac682 100644 --- a/reference/imagick/imagickdraw/getgravity.xml +++ b/reference/imagick/imagickdraw/getgravity.xml @@ -21,7 +21,8 @@ &reftitle.returnvalues; - Returns a imagick::GRAVITY_* constant on success and 0 if no gravity is set. + Returns a GRAVITY constant + (imagick::GRAVITY_*). diff --git a/reference/imagick/imagickdraw/getstrokeantialias.xml b/reference/imagick/imagickdraw/getstrokeantialias.xml index 36e6128820..1ebc04a0a2 100644 --- a/reference/imagick/imagickdraw/getstrokeantialias.xml +++ b/reference/imagick/imagickdraw/getstrokeantialias.xml @@ -15,7 +15,7 @@ &warn.undocumented.func; Returns the current stroke antialias setting. Stroked outlines are - antialiased by default. When antialiasing is disabled stroked pixels are + antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used. @@ -24,7 +24,7 @@ &reftitle.returnvalues; - Returns &true; if antialiasing is on and false if it is off. + Returns &true; if antialiasing is on and &false; if it is off. diff --git a/reference/imagick/imagickdraw/getstrokelinecap.xml b/reference/imagick/imagickdraw/getstrokelinecap.xml index 953adaac9a..f02f3d9633 100644 --- a/reference/imagick/imagickdraw/getstrokelinecap.xml +++ b/reference/imagick/imagickdraw/getstrokelinecap.xml @@ -22,7 +22,8 @@ &reftitle.returnvalues; - Returns one of the imagick::LINECAP_* constants or 0 if stroke linecap is not set. + Returns a LINECAP constant + (imagick::LINECAP_*), or 0 if stroke linecap is not set. diff --git a/reference/imagick/imagickdraw/getstrokelinejoin.xml b/reference/imagick/imagickdraw/getstrokelinejoin.xml index e81a53c2ee..6533b30bf6 100644 --- a/reference/imagick/imagickdraw/getstrokelinejoin.xml +++ b/reference/imagick/imagickdraw/getstrokelinejoin.xml @@ -22,7 +22,8 @@ &reftitle.returnvalues; - Returns one of the imagick::LINEJOIN_* constants or 0 if stroke line join is not set. + Returns a LINEJOIN constant + (imagick::LINEJOIN_*), or 0 if stroke line join is not set. diff --git a/reference/imagick/imagickdraw/gettextalignment.xml b/reference/imagick/imagickdraw/gettextalignment.xml index 7a824152f0..8010beb471 100644 --- a/reference/imagick/imagickdraw/gettextalignment.xml +++ b/reference/imagick/imagickdraw/gettextalignment.xml @@ -21,7 +21,8 @@ &reftitle.returnvalues; - Returns one of the imagick::ALIGN_ constants and 0 if no align is set. + Returns a ALIGN constant + (imagick::ALIGN_*), and 0 if no align is set. diff --git a/reference/imagick/imagickdraw/gettextantialias.xml b/reference/imagick/imagickdraw/gettextantialias.xml index 338e479e6b..e20979e340 100644 --- a/reference/imagick/imagickdraw/gettextantialias.xml +++ b/reference/imagick/imagickdraw/gettextantialias.xml @@ -15,14 +15,14 @@ &warn.undocumented.func; Returns the current text antialias setting, which determines whether text - is antialiased. Text is antialiased by default. + is antialiased. Text is antialiased by default. &reftitle.returnvalues; - Returns &true; if text is antialiased and false if not. + Returns &true; if text is antialiased and &false; if not. diff --git a/reference/imagick/imagickdraw/gettextdecoration.xml b/reference/imagick/imagickdraw/gettextdecoration.xml index e1acd4bc3d..a7fe9aea3a 100644 --- a/reference/imagick/imagickdraw/gettextdecoration.xml +++ b/reference/imagick/imagickdraw/gettextdecoration.xml @@ -21,8 +21,8 @@ &reftitle.returnvalues; - Returns one of the imagick::DECORATION_* constants - and 0 if no decoration is set. + Returns a DECORATION constant + (imagick::DECORATION_*), and 0 if no decoration is set. diff --git a/reference/imagick/imagickdraw/matte.xml b/reference/imagick/imagickdraw/matte.xml index bab32e2abc..be4ee02f62 100644 --- a/reference/imagick/imagickdraw/matte.xml +++ b/reference/imagick/imagickdraw/matte.xml @@ -45,7 +45,8 @@ paintMethod - imagick::PAINT_* constant + One of the PAINT constant + (imagick::PAINT_*). diff --git a/reference/imagick/imagickdraw/pathcurvetoquadraticbezierabsolute.xml b/reference/imagick/imagickdraw/pathcurvetoquadraticbezierabsolute.xml index 556955efa8..0f5ef574ba 100644 --- a/reference/imagick/imagickdraw/pathcurvetoquadraticbezierabsolute.xml +++ b/reference/imagick/imagickdraw/pathcurvetoquadraticbezierabsolute.xml @@ -71,13 +71,11 @@ - - &reftitle.examples; - <function>ImagickDraw::pathCurveToQuadraticBezierAbsolute</function> + <function>ImagickDraw::pathCurveToQuadraticBezierAbsolute</function> example - <methodname>ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute</methodname> + <methodname>ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute</methodname> example - <methodname>ImagickDraw::pathCurveToQuadraticBezierSmoothRelative</methodname> + <methodname>ImagickDraw::pathCurveToQuadraticBezierSmoothRelative</methodname> example large_arc_flag is &true; then draw the larger of the available + arcs. If sweep_flag is true, then draw the arc matching a clock-wise rotation. diff --git a/reference/imagick/imagickdraw/pathellipticarcrelative.xml b/reference/imagick/imagickdraw/pathellipticarcrelative.xml index 4a05efd121..3fa116a3fe 100644 --- a/reference/imagick/imagickdraw/pathellipticarcrelative.xml +++ b/reference/imagick/imagickdraw/pathellipticarcrelative.xml @@ -27,8 +27,8 @@ (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc - is drawn. If largeArcFlag is &true; then draw the larger of the available - arcs. If sweepFlag is true, then draw the arc matching a clock-wise + is drawn. If large_arc_flag is &true; then draw the larger of the available + arcs. If sweep_flag is true, then draw the arc matching a clock-wise rotation. diff --git a/reference/imagick/imagickdraw/point.xml b/reference/imagick/imagickdraw/point.xml index 256992d251..d5f1e040b4 100644 --- a/reference/imagick/imagickdraw/point.xml +++ b/reference/imagick/imagickdraw/point.xml @@ -50,13 +50,11 @@ - - &reftitle.examples; - <function>ImagickDraw::point</function> + <function>ImagickDraw::point</function> example - - &reftitle.examples; - <function>ImagickDraw::polygon</function> + <function>ImagickDraw::polygon</function> example - - &reftitle.examples; - <function>ImagickDraw::polyline</function> + <function>ImagickDraw::polyline</function> example &reftitle.returnvalues; - Returns &true; on success and false on failure. + &return.success; diff --git a/reference/imagick/imagickdraw/popdefs.xml b/reference/imagick/imagickdraw/popdefs.xml index 5802f20b0e..cdaeae9c88 100644 --- a/reference/imagick/imagickdraw/popdefs.xml +++ b/reference/imagick/imagickdraw/popdefs.xml @@ -25,13 +25,11 @@ - - &reftitle.examples; - <function>ImagickDraw::popDefs</function> + <function>ImagickDraw::popDefs</function> example - - &reftitle.examples; - <function>ImagickDraw::roundRectangle</function> + <function>ImagickDraw::roundRectangle</function> example - - &reftitle.examples; - <function>ImagickDraw::scale</function> + <function>ImagickDraw::scale</function> example fill_rule - FILLRULE_ constant + One of the FILLRULE constant + (imagick::FILLRULE_*). @@ -41,13 +42,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setClipRule</function> + <function>ImagickDraw::setClipRule</function> example - - &reftitle.examples; - <function>ImagickDraw::setClipUnits</function> + <function>ImagickDraw::setClipUnits</function> example - - &reftitle.examples; - <function>ImagickDraw::setFillAlpha</function> + <function>ImagickDraw::setFillAlpha</function> example fill_rule - imagick::FILLRULE_* constant + One of the FILLRULE constant + (imagick::FILLRULE_*). diff --git a/reference/imagick/imagickdraw/setfontstretch.xml b/reference/imagick/imagickdraw/setfontstretch.xml index 206a1b3268..02000ffeeb 100644 --- a/reference/imagick/imagickdraw/setfontstretch.xml +++ b/reference/imagick/imagickdraw/setfontstretch.xml @@ -27,7 +27,8 @@ fontStretch - imagick::STRETCH_* constant + One of the STRETCH constant + (imagick::STRETCH_*). diff --git a/reference/imagick/imagickdraw/setfontstyle.xml b/reference/imagick/imagickdraw/setfontstyle.xml index 21e918ab8c..99e01df9e3 100644 --- a/reference/imagick/imagickdraw/setfontstyle.xml +++ b/reference/imagick/imagickdraw/setfontstyle.xml @@ -27,7 +27,8 @@ style - STYLETYPE_ constant + One of the STYLE constant + (imagick::STYLE_*). @@ -42,13 +43,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setFontStyle</function> + <function>ImagickDraw::setFontStyle</function> example gravity - imagick::GRAVITY_* constant + One of the GRAVITY constant + (imagick::GRAVITY_*). diff --git a/reference/imagick/imagickdraw/setstrokealpha.xml b/reference/imagick/imagickdraw/setstrokealpha.xml index 2e5a994660..feef15accc 100644 --- a/reference/imagick/imagickdraw/setstrokealpha.xml +++ b/reference/imagick/imagickdraw/setstrokealpha.xml @@ -41,13 +41,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setStrokeAlpha</function> + <function>ImagickDraw::setStrokeAlpha</function> example linecap - imagick::LINECAP_* constant + One of the LINECAP constant + (imagick::LINECAP_*). diff --git a/reference/imagick/imagickdraw/setstrokelinejoin.xml b/reference/imagick/imagickdraw/setstrokelinejoin.xml index c92979b403..edb5260c4a 100644 --- a/reference/imagick/imagickdraw/setstrokelinejoin.xml +++ b/reference/imagick/imagickdraw/setstrokelinejoin.xml @@ -27,7 +27,8 @@ linejoin - imagick::LINEJOIN_* constant + One of the LINEJOIN constant + (imagick::LINEJOIN_*). diff --git a/reference/imagick/imagickdraw/settextalignment.xml b/reference/imagick/imagickdraw/settextalignment.xml index 1c2125b19d..39f86a6166 100644 --- a/reference/imagick/imagickdraw/settextalignment.xml +++ b/reference/imagick/imagickdraw/settextalignment.xml @@ -26,7 +26,8 @@ alignment - ALIGN_ constant + One of the ALIGN constant + (imagick::ALIGN_*). @@ -41,13 +42,11 @@ - - &reftitle.examples; - <function>ImagickDraw::setTextAlignment</function> + <function>ImagickDraw::setTextAlignment</function> example - - &reftitle.examples; - <function>ImagickDraw::setTextAntialias</function> + <function>ImagickDraw::setTextAntialias</function> example decoration - imagick::DECORATION_* constant + One of the DECORATION constant + (imagick::DECORATION_*). diff --git a/reference/imagick/imagickdraw/setvectorgraphics.xml b/reference/imagick/imagickdraw/setvectorgraphics.xml index 28441a4419..a322a17dee 100644 --- a/reference/imagick/imagickdraw/setvectorgraphics.xml +++ b/reference/imagick/imagickdraw/setvectorgraphics.xml @@ -15,7 +15,7 @@ &warn.undocumented.func; Sets the vector graphics associated with the specified ImagickDraw - object. Use this method with ImagickDraw::getVectorGraphics() as a method + object. Use this method with ImagickDraw::getVectorGraphics as a method to persist the vector graphics state. From 42d9fe8494fe8cf37f50d4777b335b330c7ec5c1 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Mon, 26 Jul 2021 12:05:57 +0300 Subject: [PATCH 400/444] RRD enhancement --- reference/rrd/functions/rrd-first.xml | 2 +- reference/rrd/functions/rrd-graph.xml | 5 ++--- reference/rrd/functions/rrd-info.xml | 2 +- reference/rrd/functions/rrd-lastupdate.xml | 2 +- reference/rrd/functions/rrd-restore.xml | 2 +- reference/rrd/functions/rrd-tune.xml | 2 +- reference/rrd/functions/rrd-update.xml | 2 +- reference/rrd/functions/rrd-xport.xml | 2 +- reference/rrd/rrdcreator/construct.xml | 2 +- reference/rrd/rrdupdater/update.xml | 2 +- 10 files changed, 11 insertions(+), 12 deletions(-) diff --git a/reference/rrd/functions/rrd-first.xml b/reference/rrd/functions/rrd-first.xml index c937003b9d..46e1069e08 100644 --- a/reference/rrd/functions/rrd-first.xml +++ b/reference/rrd/functions/rrd-first.xml @@ -44,7 +44,7 @@ &reftitle.returnvalues; - Integer number of unix timestamp, &false; if some error occurs. + Integer number of unix timestamp,&return.falseforfailure;. diff --git a/reference/rrd/functions/rrd-graph.xml b/reference/rrd/functions/rrd-graph.xml index 8492802913..0d3ada773a 100644 --- a/reference/rrd/functions/rrd-graph.xml +++ b/reference/rrd/functions/rrd-graph.xml @@ -37,7 +37,7 @@ Options for generating image. See man page of rrd graph for all - possible options. All options (data definitions, variable defintions, etc.) + possible options. All options (data definitions, variable definitions, etc.) are allowed. @@ -48,8 +48,7 @@ &reftitle.returnvalues; - Array with information about generated image is returned, &false; when error - occurs. + Array with information about generated image is returned,&return.falseforfailure;. diff --git a/reference/rrd/functions/rrd-info.xml b/reference/rrd/functions/rrd-info.xml index ca752a0f14..050adcebf3 100644 --- a/reference/rrd/functions/rrd-info.xml +++ b/reference/rrd/functions/rrd-info.xml @@ -35,7 +35,7 @@ &reftitle.returnvalues; - Array with information about requsted RRD file, &false; when error occurs. + Array with information about requested RRD file,&return.falseforfailure;. diff --git a/reference/rrd/functions/rrd-lastupdate.xml b/reference/rrd/functions/rrd-lastupdate.xml index 1410d1508e..a32e9960ad 100644 --- a/reference/rrd/functions/rrd-lastupdate.xml +++ b/reference/rrd/functions/rrd-lastupdate.xml @@ -36,7 +36,7 @@ &reftitle.returnvalues; - Array of information about last update, &false; when error occurs. + Array of information about last update,&return.falseforfailure;. diff --git a/reference/rrd/functions/rrd-restore.xml b/reference/rrd/functions/rrd-restore.xml index 35b4865497..00f70df894 100644 --- a/reference/rrd/functions/rrd-restore.xml +++ b/reference/rrd/functions/rrd-restore.xml @@ -53,7 +53,7 @@ &reftitle.returnvalues; - Returns &true; on success, &false; otherwise. + &return.success; diff --git a/reference/rrd/functions/rrd-tune.xml b/reference/rrd/functions/rrd-tune.xml index 65a4a68e93..95ac019b2e 100644 --- a/reference/rrd/functions/rrd-tune.xml +++ b/reference/rrd/functions/rrd-tune.xml @@ -46,7 +46,7 @@ &reftitle.returnvalues; - Returns &true; on success, &false; otherwise. + &return.success; diff --git a/reference/rrd/functions/rrd-update.xml b/reference/rrd/functions/rrd-update.xml index 5660775d2d..d7ff6f63a7 100644 --- a/reference/rrd/functions/rrd-update.xml +++ b/reference/rrd/functions/rrd-update.xml @@ -46,7 +46,7 @@ &reftitle.returnvalues; - Returns &true; on success, &false; when error occurs. + &return.success; diff --git a/reference/rrd/functions/rrd-xport.xml b/reference/rrd/functions/rrd-xport.xml index fb014df9f6..dc65c0a42b 100644 --- a/reference/rrd/functions/rrd-xport.xml +++ b/reference/rrd/functions/rrd-xport.xml @@ -37,7 +37,7 @@ &reftitle.returnvalues; - Array with information about RRD database file, &false; when error occurs. + Array with information about RRD database file,&return.falseforfailure;. diff --git a/reference/rrd/rrdcreator/construct.xml b/reference/rrd/rrdcreator/construct.xml index edeb5c3fa4..1779039ec1 100644 --- a/reference/rrd/rrdcreator/construct.xml +++ b/reference/rrd/rrdcreator/construct.xml @@ -16,7 +16,7 @@ intstep0 - Creates new RRDCreator instance. + Creates new RRDCreator instance. diff --git a/reference/rrd/rrdupdater/update.xml b/reference/rrd/rrdupdater/update.xml index caaede94ba..618040f80d 100644 --- a/reference/rrd/rrdupdater/update.xml +++ b/reference/rrd/rrdupdater/update.xml @@ -38,7 +38,7 @@ time - Time value for updating the RRD with a particulat data. Default value + Time value for updating the RRD with a particular data. Default value is current time. From 3678d8ea0e4c92a88da3bbca6d17ff401c4cd5e9 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Mon, 26 Jul 2021 12:40:39 +0200 Subject: [PATCH 401/444] shell_exec may return false(#821) --- reference/exec/functions/shell-exec.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/exec/functions/shell-exec.xml b/reference/exec/functions/shell-exec.xml index 5595f01c24..bbcf23cef2 100644 --- a/reference/exec/functions/shell-exec.xml +++ b/reference/exec/functions/shell-exec.xml @@ -45,8 +45,9 @@ &reftitle.returnvalues; - The output from the executed command or &null; if an error occurred or the - command produces no output. + The output from the executed command, &false; if the pipe can't be established + or &null; if an error occurred or the command produces no output. When &false; + is returned, an error of level E_WARNING is also generated. From 79c06cc0e7872f1401a4c37dc9298b0bedb0dde4 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 26 Jul 2021 13:20:48 +0200 Subject: [PATCH 402/444] Fix #81299: password_hash() documentation is missing PHP 8 changes --- .../password/functions/password-hash.xml | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml index 9ffed03b63..fc6de5b799 100644 --- a/reference/password/functions/password-hash.xml +++ b/reference/password/functions/password-hash.xml @@ -10,10 +10,10 @@ &reftitle.description; - stringfalsepassword_hash + stringpassword_hash stringpassword - mixedalgo - arrayoptions + stringintnullalgo + arrayoptions[] password_hash creates a new password hash using a strong one-way hashing @@ -72,8 +72,9 @@ - The salt option has been deprecated as of PHP 7.0.0. It is now + The salt option is deprecated. It is now preferred to simply use the salt that is generated by default. + As of PHP 8.0.0, an explicitly given salt is ignored. @@ -114,7 +115,7 @@ - Only available when PHP use libargon2, not with libsodium implementation. + Only available when PHP uses libargon2, not with libsodium implementation. @@ -167,7 +168,7 @@ &reftitle.returnvalues; - Returns the hashed password, &return.falseforfailure;. + Returns the hashed password. The used algorithm, cost and salt are returned as part of the hash. Therefore, @@ -189,6 +190,18 @@ + + 8.0.0 + + password_hash no longer returns &false; on failure. + + + + 8.0.0 + + The algo parameter is nullable now. + + 7.4.0 From e0cbe35fce9a5f7c670b180ff0892499ee3a6e8c Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 26 Jul 2021 21:32:52 +0900 Subject: [PATCH 403/444] fixed return value of ImagickDraw::clone. --- reference/imagick/imagickdraw/clone.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/imagick/imagickdraw/clone.xml b/reference/imagick/imagickdraw/clone.xml index 6c03bab63c..3543304ef8 100644 --- a/reference/imagick/imagickdraw/clone.xml +++ b/reference/imagick/imagickdraw/clone.xml @@ -21,8 +21,7 @@ &reftitle.returnvalues; - What the function returns, first on success, then on failure. See - also the &return.success; entity + returns an exact copy of the specified ImagickDraw object. From c2e85367179fb09e39be46d05d7b6719b018a180 Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 26 Jul 2021 22:06:25 +0900 Subject: [PATCH 404/444] additional return value fix of shell_exec func. (#823) --- reference/exec/functions/shell-exec.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/exec/functions/shell-exec.xml b/reference/exec/functions/shell-exec.xml index bbcf23cef2..32b787c7fb 100644 --- a/reference/exec/functions/shell-exec.xml +++ b/reference/exec/functions/shell-exec.xml @@ -10,7 +10,7 @@ &reftitle.description; - stringshell_exec + stringfalsenullshell_exec stringcmd From aab02a3bce9334aef73cbd20b5a65d0bd3cc3866 Mon Sep 17 00:00:00 2001 From: zors1 Date: Mon, 26 Jul 2021 16:08:25 +0300 Subject: [PATCH 405/444] Delete redundant sections on mqseries requirements page (#822) --- reference/mqseries/setup.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/reference/mqseries/setup.xml b/reference/mqseries/setup.xml index 0ca785bc66..44bcc7a67c 100644 --- a/reference/mqseries/setup.xml +++ b/reference/mqseries/setup.xml @@ -18,14 +18,6 @@ just the way the WebSphere MQ Client Interface works. -
- Installation requirements on non windows platforms - Build the extension and put it in the PHP extension directory. -
-
- Installation requirements on Windows - No additional requirements. -
From fdd6debfb8fe88340e6c654a05c1ab7a51673aa0 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Mon, 26 Jul 2021 15:22:03 +0200 Subject: [PATCH 406/444] Improve shell_exec text (#824) * Improve shell_exec text * tpyofix: occurrs -> occurs Co-authored-by: Peter Cowburn --- reference/exec/functions/shell-exec.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/reference/exec/functions/shell-exec.xml b/reference/exec/functions/shell-exec.xml index 32b787c7fb..faf4d5b8a4 100644 --- a/reference/exec/functions/shell-exec.xml +++ b/reference/exec/functions/shell-exec.xml @@ -45,9 +45,8 @@ &reftitle.returnvalues; - The output from the executed command, &false; if the pipe can't be established - or &null; if an error occurred or the command produces no output. When &false; - is returned, an error of level E_WARNING is also generated. + A &string; containing the output from the executed command, &false; if the pipe + cannot be established or &null; if an error occurs or the command produces no output. @@ -58,6 +57,14 @@ + + + &reftitle.errors; + + An E_WARNING level error is generated + when the pipe cannot be established. + + &reftitle.examples; From decde82b16694e0eaae8a84faf4f3f94b8109b3b Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 26 Jul 2021 23:28:56 +0900 Subject: [PATCH 407/444] Sorting functions is stable, as of PHP 8.0.0. (#825) * Sorting functions is stable, as of PHP 8.0.0. Co-authored-by: Christoph M. Becker --- reference/array/sorting.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/array/sorting.xml b/reference/array/sorting.xml index 8fdaa0ae59..3eb402c39f 100644 --- a/reference/array/sorting.xml +++ b/reference/array/sorting.xml @@ -30,8 +30,9 @@ variable itself, as opposed to returning a new sorted array - If any of these sort functions evaluates two members as equal then the - order is undefined (the sorting is not stable). + If any of these sort functions evaluates two members as equal + then they retain their original order. + Prior to PHP 8.0.0, their order were undefined (the sorting was not stable). @@ -166,4 +167,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> - From 363a506c6d5ab264ffb5d9a82d9aa6379b8d27bb Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Mon, 26 Jul 2021 23:56:31 +0900 Subject: [PATCH 408/444] added get_debug_type reference. because get_class function is referenced from get_debug_type[*1]. [*1] https://www.php.net/manual/en/function.get-debug-type.php --- reference/classobj/functions/get-class.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/classobj/functions/get-class.xml b/reference/classobj/functions/get-class.xml index e997c57f9a..9451089e2e 100644 --- a/reference/classobj/functions/get-class.xml +++ b/reference/classobj/functions/get-class.xml @@ -193,6 +193,7 @@ string(11) "Foo\Bar\Baz" get_called_class get_parent_class gettype + get_debug_type is_subclass_of From 0bfb0eb957e0468912af86bba09fae588010c1df Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 26 Jul 2021 20:25:40 +0200 Subject: [PATCH 409/444] Fix #68509: Garbage collection of file pointers releases flock() locks --- reference/filesystem/functions/flock.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/reference/filesystem/functions/flock.xml b/reference/filesystem/functions/flock.xml index e2a2d214c1..d6eedaca2c 100644 --- a/reference/filesystem/functions/flock.xml +++ b/reference/filesystem/functions/flock.xml @@ -20,9 +20,8 @@ derivatives and even Windows). - On versions of PHP before 5.3.2, the lock is released also by - fclose (which is also called automatically when script - finished). + The lock is released also by fclose, + or when stream is garbage collected. PHP supports a portable way of locking complete files in an advisory way From 8726060a812c143b8df671ba9900cb427a2725dc Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 27 Jul 2021 16:21:03 +0300 Subject: [PATCH 410/444] Fix ImagickDraw::getGravity return value --- reference/imagick/imagickdraw/getgravity.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/imagick/imagickdraw/getgravity.xml b/reference/imagick/imagickdraw/getgravity.xml index a3846ac682..3ea5eeab3c 100644 --- a/reference/imagick/imagickdraw/getgravity.xml +++ b/reference/imagick/imagickdraw/getgravity.xml @@ -22,7 +22,7 @@ &reftitle.returnvalues; Returns a GRAVITY constant - (imagick::GRAVITY_*). + (imagick::GRAVITY_*) on success and 0 if no gravity is set. From c79b9928aa114777d864b9c70feb1436d7344b4d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 27 Jul 2021 18:13:50 +0200 Subject: [PATCH 411/444] Fix #55262: streamWrapper::url_stat return value in case of non existing file --- reference/stream/streamwrapper/url-stat.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reference/stream/streamwrapper/url-stat.xml b/reference/stream/streamwrapper/url-stat.xml index 77b4378a7a..c02df1a168 100644 --- a/reference/stream/streamwrapper/url-stat.xml +++ b/reference/stream/streamwrapper/url-stat.xml @@ -10,7 +10,7 @@ &reftitle.description; - public arraystreamWrapper::url_stat + public arrayfalsestreamWrapper::url_stat stringpath intflags @@ -118,10 +118,11 @@ &reftitle.returnvalues; - Should return as many elements as stat does. + Should return an &array; with the same elements as stat does. Unknown or unavailable values should be set to a rational value - (usually 0). Pay special attention to + (usually 0). Special attention should be payed to mode as documented under stat. + Should return &false; on failure. From d011dc842117a9dbd02b95a3d0a820d3d973ebfd Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Tue, 27 Jul 2021 20:09:15 -0400 Subject: [PATCH 412/444] Clarify that empty arrays serialize as BSON arrays --- reference/mongodb/architecture.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/mongodb/architecture.xml b/reference/mongodb/architecture.xml index f7d42c7cc7..6034cd8a2a 100644 --- a/reference/mongodb/architecture.xml +++ b/reference/mongodb/architecture.xml @@ -267,8 +267,9 @@ foreach ($managers as $manager) { Arrays - If an array is a packed array — i.e. the keys start - at 0 and are sequential without gaps: BSON array. + If an array is a packed array — i.e. empty array or + the keys start at 0 and are sequential without gaps: BSON + array. From 59f31f284aab5016a0b52234dc2713a234975433 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Wed, 28 Jul 2021 15:21:42 +0300 Subject: [PATCH 413/444] fix channel link --- reference/gmagick/gmagick/separateimagechannel.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/gmagick/gmagick/separateimagechannel.xml b/reference/gmagick/gmagick/separateimagechannel.xml index cde881ac3a..c0d7c3cc4f 100644 --- a/reference/gmagick/gmagick/separateimagechannel.xml +++ b/reference/gmagick/gmagick/separateimagechannel.xml @@ -26,7 +26,7 @@ channel - One of the Channel constant + One of the Channel constant (Gmagick::CHANNEL_*). From 526b0a2fee7ae6abf23b5e4b90c40a275af72e8a Mon Sep 17 00:00:00 2001 From: Yoshinari Takaoka Date: Thu, 29 Jul 2021 02:00:36 +0900 Subject: [PATCH 414/444] added union type link. --- language/oop5/variance.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/variance.xml b/language/oop5/variance.xml index e307ffd809..7df570cc82 100644 --- a/language/oop5/variance.xml +++ b/language/oop5/variance.xml @@ -18,7 +18,7 @@ - A type is removed from a union type + A type is removed from a union type From 574a644f1de7086fdd7d2c2d1b4b2af80bc295df Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 29 Jul 2021 09:54:31 +0300 Subject: [PATCH 415/444] GMP enhancement --- reference/gmp/functions/gmp-export.xml | 2 +- reference/gmp/functions/gmp-import.xml | 2 +- reference/gmp/functions/gmp-testbit.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/gmp/functions/gmp-export.xml b/reference/gmp/functions/gmp-export.xml index 7c37332520..5c9aa59c3e 100644 --- a/reference/gmp/functions/gmp-export.xml +++ b/reference/gmp/functions/gmp-export.xml @@ -43,7 +43,7 @@ flags - Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN. + Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN. diff --git a/reference/gmp/functions/gmp-import.xml b/reference/gmp/functions/gmp-import.xml index f849b86d47..e19c0da814 100644 --- a/reference/gmp/functions/gmp-import.xml +++ b/reference/gmp/functions/gmp-import.xml @@ -43,7 +43,7 @@ flags - Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN. + Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN. diff --git a/reference/gmp/functions/gmp-testbit.xml b/reference/gmp/functions/gmp-testbit.xml index dc78de67d2..ef0f8ec473 100644 --- a/reference/gmp/functions/gmp-testbit.xml +++ b/reference/gmp/functions/gmp-testbit.xml @@ -43,7 +43,7 @@ &reftitle.returnvalues; - Returns &true; if the bit is set in $num, + Returns &true; if the bit is set in num, otherwise &false;. From 0d5b0198bfeee039849d521866503120351476d3 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 29 Jul 2021 16:46:19 +0300 Subject: [PATCH 416/444] Minor fix Win32service --- .../functions/win32-create-service.xml | 22 +++++++++---------- .../functions/win32-delete-service.xml | 2 +- .../functions/win32-pause-service.xml | 2 +- .../functions/win32-query-service-status.xml | 2 +- .../functions/win32-send-custom-control.xml | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/reference/win32service/functions/win32-create-service.xml b/reference/win32service/functions/win32-create-service.xml index 8906f9db98..b88150086f 100644 --- a/reference/win32service/functions/win32-create-service.xml +++ b/reference/win32service/functions/win32-create-service.xml @@ -305,48 +305,48 @@ &reftitle.errors; - A ValueError is thrown if the; + A ValueError is thrown if the value of service parameter is empty. - A ValueError is thrown if the; + A ValueError is thrown if the value of path parameter is missing or empty. - A ValueError is thrown if the; + A ValueError is thrown if the value of svc_type parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of start_type parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of error_control parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of base_priority parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of recovery_delay parameter is not between 0 and PHP_INT_MAX. - A ValueError is thrown if the; + A ValueError is thrown if the value of recovery_action_1 parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of recovery_action_2 parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of recovery_action_3 parameter is wrong. - A ValueError is thrown if the; + A ValueError is thrown if the value of recovery_reset_period parameter is not between 0 and PHP_INT_MAX. diff --git a/reference/win32service/functions/win32-delete-service.xml b/reference/win32service/functions/win32-delete-service.xml index 4d6b386d69..e61db7d01f 100644 --- a/reference/win32service/functions/win32-delete-service.xml +++ b/reference/win32service/functions/win32-delete-service.xml @@ -65,7 +65,7 @@ &reftitle.errors; - A ValueError is thrown if the; + A ValueError is thrown if the value of servicename parameter is empty. diff --git a/reference/win32service/functions/win32-pause-service.xml b/reference/win32service/functions/win32-pause-service.xml index 962f0ac0ab..be00cdefd4 100644 --- a/reference/win32service/functions/win32-pause-service.xml +++ b/reference/win32service/functions/win32-pause-service.xml @@ -58,7 +58,7 @@ &reftitle.errors; - A ValueError is thrown if the; + A ValueError is thrown if the value of servicename parameter is empty. diff --git a/reference/win32service/functions/win32-query-service-status.xml b/reference/win32service/functions/win32-query-service-status.xml index 7fd60d518a..8507757a96 100644 --- a/reference/win32service/functions/win32-query-service-status.xml +++ b/reference/win32service/functions/win32-query-service-status.xml @@ -146,7 +146,7 @@ &reftitle.errors; - A ValueError is thrown if the; + A ValueError is thrown if the value of servicename parameter is empty. diff --git a/reference/win32service/functions/win32-send-custom-control.xml b/reference/win32service/functions/win32-send-custom-control.xml index 0cc0d2da67..6ce9a17aea 100644 --- a/reference/win32service/functions/win32-send-custom-control.xml +++ b/reference/win32service/functions/win32-send-custom-control.xml @@ -69,11 +69,11 @@ E_ERROR level error. - A ValueError is thrown if the; + A ValueError is thrown if the value of servicename parameter is empty. - A ValueError is thrown if the; + A ValueError is thrown if the value of control parameter is not between 128 and 255. From b8aafb570ca5fe19e86a14a68199818a2250b053 Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Thu, 29 Jul 2021 10:18:03 -0500 Subject: [PATCH 417/444] Add additional reference to array_filter. --- reference/array/functions/array-filter.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/array/functions/array-filter.xml b/reference/array/functions/array-filter.xml index 678710e178..da972c4354 100644 --- a/reference/array/functions/array-filter.xml +++ b/reference/array/functions/array-filter.xml @@ -246,11 +246,12 @@ array(2) {
- + &reftitle.seealso; + array_intersect array_map array_reduce array_walk From 704b528c7015db8d480cf11f84a71a87963b4b38 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 30 Jul 2021 12:59:41 +0200 Subject: [PATCH 418/444] syslog.filter is not supported on Windows --- reference/errorfunc/ini.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/reference/errorfunc/ini.xml b/reference/errorfunc/ini.xml index 6f2f203238..cc97a749c9 100644 --- a/reference/errorfunc/ini.xml +++ b/reference/errorfunc/ini.xml @@ -556,6 +556,9 @@ The raw filter type is available as of PHP 7.3.8 and PHP 7.4.0. + + This directive is not supported on Windows. + From 5dcdcf32f847c297f1fe174aea802a489cecaf1d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 30 Jul 2021 13:01:43 +0200 Subject: [PATCH 419/444] Fix #70799: strcasecmp is not locale aware --- reference/strings/functions/strcasecmp.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/strings/functions/strcasecmp.xml b/reference/strings/functions/strcasecmp.xml index 29159926e8..b702438fbb 100644 --- a/reference/strings/functions/strcasecmp.xml +++ b/reference/strings/functions/strcasecmp.xml @@ -15,6 +15,8 @@ Binary safe case-insensitive string comparison. + The comparision is not locale aware; only ASCII letters are compared in a + case-insentive way. From e059aa517b3c5cf79b98f182bf45607f12e9c560 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 30 Jul 2021 12:40:33 +0100 Subject: [PATCH 420/444] Fold the note on PCRE comments (#831) --- reference/pcre/pattern.syntax.xml | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/reference/pcre/pattern.syntax.xml b/reference/pcre/pattern.syntax.xml index 02f837ef6a..d3c2e1867d 100644 --- a/reference/pcre/pattern.syntax.xml +++ b/reference/pcre/pattern.syntax.xml @@ -2161,6 +2161,41 @@ introduces a comment that continues up to the next newline character in the pattern. + + + Usage of comments in PCRE pattern + + + + &example.outputs; + + + + +
From b54e6443e29d0d77ae93d70f98b5c38e93b95b8a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 30 Jul 2021 15:10:59 +0200 Subject: [PATCH 421/444] Fix #78785: ReflectionType page should mention subclasses --- reference/reflection/reflectiontype.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reference/reflection/reflectiontype.xml b/reference/reflection/reflectiontype.xml index 2469e6e0af..d58fa5fa17 100644 --- a/reference/reflection/reflectiontype.xml +++ b/reference/reflection/reflectiontype.xml @@ -14,6 +14,11 @@ The ReflectionType class reports information about a function's return type. + The Reflection extension declares the following subtypes: + + ReflectionNamedType (as of PHP 7.1.0) + ReflectionUnionType (as of PHP 8.0.0) +
From ab57ab68497e60d75aebee92a623dbfbfeb54518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 30 Jul 2021 17:01:16 +0200 Subject: [PATCH 422/444] Mark a few interfaces as oointerface rather than ooclass (#818) --- language/predefined/arrayaccess.xml | 6 +++--- language/predefined/iterator.xml | 6 +++--- language/predefined/serializable.xml | 6 +++--- language/predefined/stringable.xml | 8 ++++---- language/predefined/throwable.xml | 6 +++--- language/predefined/traversable.xml | 6 +++--- reference/datetime/datetimeinterface.xml | 8 ++++---- reference/json/jsonserializable.xml | 6 +++--- reference/reflection/reflector.xml | 8 ++++---- reference/session/sessionhandlerinterface.xml | 8 ++++---- reference/session/sessionidinterface.xml | 8 ++++---- reference/spl/countable.xml | 6 +++--- reference/spl/outeriterator.xml | 6 +++--- reference/spl/recursiveiterator.xml | 6 +++--- reference/spl/seekableiterator.xml | 6 +++--- 15 files changed, 50 insertions(+), 50 deletions(-) diff --git a/language/predefined/arrayaccess.xml b/language/predefined/arrayaccess.xml index 72623ff2e1..4177082b21 100644 --- a/language/predefined/arrayaccess.xml +++ b/language/predefined/arrayaccess.xml @@ -26,9 +26,9 @@ - - ArrayAccess - + + ArrayAccess + diff --git a/language/predefined/iterator.xml b/language/predefined/iterator.xml index 281f8f8a6e..b9244b18dc 100644 --- a/language/predefined/iterator.xml +++ b/language/predefined/iterator.xml @@ -27,9 +27,9 @@ - - Iterator - + + Iterator + extends diff --git a/language/predefined/serializable.xml b/language/predefined/serializable.xml index 8234bb33cb..6ef2b2dcc9 100644 --- a/language/predefined/serializable.xml +++ b/language/predefined/serializable.xml @@ -37,9 +37,9 @@ - - Serializable - + + Serializable + diff --git a/language/predefined/stringable.xml b/language/predefined/stringable.xml index bd5310730a..6c9bd2ca99 100644 --- a/language/predefined/stringable.xml +++ b/language/predefined/stringable.xml @@ -27,7 +27,7 @@
- &reftitle.classsynopsis; + &reftitle.interfacesynopsis; @@ -35,9 +35,9 @@ - - Stringable - + + Stringable + diff --git a/language/predefined/throwable.xml b/language/predefined/throwable.xml index 019357bd1d..261b1d4e70 100644 --- a/language/predefined/throwable.xml +++ b/language/predefined/throwable.xml @@ -35,9 +35,9 @@ - - Throwable - + + Throwable + diff --git a/language/predefined/traversable.xml b/language/predefined/traversable.xml index 39224a7eaa..cfc48acffd 100644 --- a/language/predefined/traversable.xml +++ b/language/predefined/traversable.xml @@ -50,9 +50,9 @@ - - Traversable - + + Traversable + diff --git a/reference/datetime/datetimeinterface.xml b/reference/datetime/datetimeinterface.xml index 2fe177ae63..8c60b4b60f 100644 --- a/reference/datetime/datetimeinterface.xml +++ b/reference/datetime/datetimeinterface.xml @@ -20,7 +20,7 @@
- &reftitle.classsynopsis; + &reftitle.interfacesynopsis; @@ -28,9 +28,9 @@ - - DateTimeInterface - + + DateTimeInterface + diff --git a/reference/json/jsonserializable.xml b/reference/json/jsonserializable.xml index 504a1fc4fa..a642742a7e 100644 --- a/reference/json/jsonserializable.xml +++ b/reference/json/jsonserializable.xml @@ -28,9 +28,9 @@ - - JsonSerializable - + + JsonSerializable + diff --git a/reference/reflection/reflector.xml b/reference/reflection/reflector.xml index d16676ac7e..02b74c3b5c 100644 --- a/reference/reflection/reflector.xml +++ b/reference/reflection/reflector.xml @@ -19,7 +19,7 @@
- &reftitle.classsynopsis; + &reftitle.interfacesynopsis; @@ -27,9 +27,9 @@ - - Reflector - + + Reflector + diff --git a/reference/session/sessionhandlerinterface.xml b/reference/session/sessionhandlerinterface.xml index 4dcf5ef12c..45c45bd1a5 100644 --- a/reference/session/sessionhandlerinterface.xml +++ b/reference/session/sessionhandlerinterface.xml @@ -25,7 +25,7 @@
- &reftitle.classsynopsis; + &reftitle.interfacesynopsis; @@ -33,9 +33,9 @@ - - SessionHandlerInterface - + + SessionHandlerInterface + diff --git a/reference/session/sessionidinterface.xml b/reference/session/sessionidinterface.xml index 38c0601458..a11c459485 100644 --- a/reference/session/sessionidinterface.xml +++ b/reference/session/sessionidinterface.xml @@ -25,7 +25,7 @@
- &reftitle.classsynopsis; + &reftitle.interfacesynopsis; @@ -33,9 +33,9 @@ - - SessionIdInterface - + + SessionIdInterface + diff --git a/reference/spl/countable.xml b/reference/spl/countable.xml index f4b1082bd6..2566a6ac72 100644 --- a/reference/spl/countable.xml +++ b/reference/spl/countable.xml @@ -27,9 +27,9 @@ - - Countable - + + Countable + diff --git a/reference/spl/outeriterator.xml b/reference/spl/outeriterator.xml index 4ac9a0774e..fe0fb8685d 100644 --- a/reference/spl/outeriterator.xml +++ b/reference/spl/outeriterator.xml @@ -27,9 +27,9 @@ - - OuterIterator - + + OuterIterator + extends diff --git a/reference/spl/recursiveiterator.xml b/reference/spl/recursiveiterator.xml index f300ba2734..19fcf9c6b1 100644 --- a/reference/spl/recursiveiterator.xml +++ b/reference/spl/recursiveiterator.xml @@ -27,9 +27,9 @@ - - RecursiveIterator - + + RecursiveIterator + extends diff --git a/reference/spl/seekableiterator.xml b/reference/spl/seekableiterator.xml index 92316a1ea0..2f51870072 100644 --- a/reference/spl/seekableiterator.xml +++ b/reference/spl/seekableiterator.xml @@ -26,9 +26,9 @@ - - SeekableIterator - + + SeekableIterator + extends From d042804100d34f5389fe122b0e1cd41087fd94ba Mon Sep 17 00:00:00 2001 From: Larry Garfield Date: Fri, 30 Jul 2021 11:18:35 -0500 Subject: [PATCH 423/444] Fold in comments to array_map() Co-authored-by: Kamil Tekiela Closes GH-828. --- reference/array/functions/array-map.xml | 53 +++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/reference/array/functions/array-map.xml b/reference/array/functions/array-map.xml index cc54c1fa28..9ef72c0738 100644 --- a/reference/array/functions/array-map.xml +++ b/reference/array/functions/array-map.xml @@ -22,7 +22,9 @@ used as arguments for the callback. The number of parameters that the callback function accepts should match the number of arrays - passed to array_map. + passed to array_map. Excess + input arrays are ignored. An ArgumentCountError + is thrown if an insufficient number of arguments is provided. @@ -122,11 +124,16 @@ Array $value * 2, range(1, 5))); + ?> ]]> @@ -150,12 +157,12 @@ Array $m]; } @@ -371,6 +378,44 @@ array(1) { string(5) "value" } } +]]> + + + + <function>array_map</function> - associative arrays + + While array_map does not directly support + using the array key as an input, that may be simulated using array_keys. + + + 'First release', + 'v2' => 'Second release', + 'v3' => 'Third release', +]; + +// Note: Before 7.4.0, use the longer syntax for anonymous functions instead. +$callback = fn(string $k, string $v): string => "$k was the $v"; + +$result = array_map($callback, array_keys($arr), array_values($arr)); + +var_dump($result); +?> +]]> + + &example.outputs; + + + string(24) "v1 was the First release" + [1]=> + string(25) "v2 was the Second release" + [2]=> + string(24) "v3 was the Third release" +} ]]> From 8782bc734072865ade29b8951bc94d98a53750ef Mon Sep 17 00:00:00 2001 From: zors1 Date: Sat, 31 Jul 2021 19:53:40 +0300 Subject: [PATCH 424/444] Fix typo on session security page (#833) --- security/sessions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/sessions.xml b/security/sessions.xml index 855dc52c1e..da087d8c19 100644 --- a/security/sessions.xml +++ b/security/sessions.xml @@ -5,7 +5,7 @@ It is important keeping HTTP session management secure. Session - releated security is described in + related security is described in Session Security section of Session module reference. From b0268930dc10db9a21b44dd3b35d24fd6d951792 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 2 Aug 2021 14:19:17 +0200 Subject: [PATCH 425/444] Fix #73587: Sample of imagemagic::getimagegeometry is irrelevant --- .../imagick/imagick/getimagegeometry.xml | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/reference/imagick/imagick/getimagegeometry.xml b/reference/imagick/imagick/getimagegeometry.xml index 216adbbd73..0e65740b63 100644 --- a/reference/imagick/imagick/getimagegeometry.xml +++ b/reference/imagick/imagick/getimagegeometry.xml @@ -42,19 +42,26 @@ &reftitle.examples; - <function>Imagick::getImageGeometry</function> + Using <function>Imagick::getImageGeometry</function> getImageBlob(); -} - +$imagick = new Imagick(); +$imagick->newImage(100, 200, "black"); +print_r($imagick->getImageGeometry()); ?> ]]> + &example.outputs; + + 100 + [height] => 200 +) +]]> + From 590f93a2ebeb9f7d4d5f443105c39bba9770a902 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 2 Aug 2021 17:07:23 +0200 Subject: [PATCH 426/444] Remove obsolete info about IE 4 and 5.5 --- reference/network/functions/header.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/reference/network/functions/header.xml b/reference/network/functions/header.xml index 7e15f3d8f3..e12a9ae113 100644 --- a/reference/network/functions/header.xml +++ b/reference/network/functions/header.xml @@ -236,14 +236,6 @@ header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past at any time unless the HTTP headers have already been sent. - - - There is a bug in Microsoft Internet Explorer 4.01 that prevents - this from working. There is no workaround. There is also a bug - in Microsoft Internet Explorer 5.5 that interferes with this, - which can be resolved by upgrading to Service Pack 2 or later. - - Most contemporary clients accept relative URIs as argument to From f32912d04f3da53ad720bd782ad5a2483a1d79a0 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 2 Aug 2021 17:18:54 +0200 Subject: [PATCH 427/444] Fix #73805: header() may not actually set header We document that header() issues `E_WARNING` on failure, and link to `headers_list()` which might be used to check success of `header()`. --- reference/network/functions/header.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reference/network/functions/header.xml b/reference/network/functions/header.xml index e12a9ae113..ba12b95689 100644 --- a/reference/network/functions/header.xml +++ b/reference/network/functions/header.xml @@ -146,6 +146,14 @@ header('WWW-Authenticate: NTLM', false); + + &reftitle.errors; + + On failure to schedule the header to be sent, header + issues an E_WARNING level error. + + + &reftitle.examples; @@ -280,6 +288,7 @@ exit; setcookie http_response_code header_remove + header_list The section on HTTP authentication From d00128a85a6c2e8e5ae4545fdd23368df8cfa079 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 3 Aug 2021 13:10:57 +0300 Subject: [PATCH 428/444] Fix issues in solr directory (#693) Co-authored-by: George Peter Banyard Co-authored-by: Christoph M. Becker --- .../solr/solrinputdocument/addchilddocument.xml | 16 ++++++++-------- .../solr/solrinputdocument/addchilddocuments.xml | 16 ++++++++-------- .../solr/solrinputdocument/setfieldboost.xml | 7 +++++++ reference/solr/solrquery/addgroupfield.xml | 10 +++++++++- reference/solr/solrquery/getexpand.xml | 12 ++++++++++++ .../solr/solrquery/getexpandfilterqueries.xml | 14 +++++++++++++- reference/solr/solrquery/getexpandquery.xml | 12 ++++++++++++ reference/solr/solrquery/getexpandrows.xml | 12 ++++++++++++ reference/solr/solrquery/getexpandsortfields.xml | 12 ++++++++++++ reference/solr/solrquery/setgroupmain.xml | 12 +++--------- .../solr/solrquery/sethighlightformatter.xml | 7 +++++++ .../solr/solrquery/sethighlightsimplepost.xml | 7 +++++++ 12 files changed, 110 insertions(+), 27 deletions(-) diff --git a/reference/solr/solrinputdocument/addchilddocument.xml b/reference/solr/solrinputdocument/addchilddocument.xml index 5b77261a99..325314f5d5 100644 --- a/reference/solr/solrinputdocument/addchilddocument.xml +++ b/reference/solr/solrinputdocument/addchilddocument.xml @@ -31,7 +31,14 @@ - + + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; @@ -42,13 +49,6 @@ - - &reftitle.returnvalues; - - - - - &reftitle.examples; diff --git a/reference/solr/solrinputdocument/addchilddocuments.xml b/reference/solr/solrinputdocument/addchilddocuments.xml index d442522043..a2c56ae4cf 100644 --- a/reference/solr/solrinputdocument/addchilddocuments.xml +++ b/reference/solr/solrinputdocument/addchilddocuments.xml @@ -32,7 +32,14 @@ - + + + &reftitle.returnvalues; + + &return.void; + + + &reftitle.errors; @@ -43,13 +50,6 @@ - - &reftitle.returnvalues; - - - - - &reftitle.examples; diff --git a/reference/solr/solrinputdocument/setfieldboost.xml b/reference/solr/solrinputdocument/setfieldboost.xml index 42cfeab40c..c6cd0e4a22 100644 --- a/reference/solr/solrinputdocument/setfieldboost.xml +++ b/reference/solr/solrinputdocument/setfieldboost.xml @@ -44,6 +44,13 @@ + + &reftitle.returnvalues; + + &return.success; + + + - From 05ccabd6b1d2b3ab3aaabdffd5d9da285313af88 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 5 Aug 2021 21:41:10 +0100 Subject: [PATCH 438/444] Updating mysqli: insert_id (#627) --- reference/mysqli/mysqli/insert-id.xml | 70 ++++++++++++--------------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/reference/mysqli/mysqli/insert-id.xml b/reference/mysqli/mysqli/insert-id.xml index 97eb53b38b..fd5e5ec232 100644 --- a/reference/mysqli/mysqli/insert-id.xml +++ b/reference/mysqli/mysqli/insert-id.xml @@ -4,7 +4,7 @@ mysqli::$insert_id mysqli_insert_id - Returns the auto generated id used in the latest query + Returns the value generated for an AUTO_INCREMENT column by the last query @@ -17,19 +17,25 @@ mysqlimysql - The mysqli_insert_id function returns the ID generated - by a query (usually INSERT) on a table with a column having the - AUTO_INCREMENT attribute. If no INSERT or UPDATE statements were sent via this -connection, or if the modified table does not have a column - with the AUTO_INCREMENT attribute, this function will return zero. + Returns the ID generated by an INSERT or + UPDATE query on a table with a column having the + AUTO_INCREMENT attribute. In the case of a multiple-row + INSERT statement, it returns the first automatically + generated value that was successfully inserted. + + + Performing an INSERT or UPDATE + statement using the LAST_INSERT_ID() + MySQL function will also modify the value returned by mysqli_insert_id. + If LAST_INSERT_ID(expr) was used to generate the value of + AUTO_INCREMENT, it returns the value of the last expr + instead of the generated AUTO_INCREMENT value. + + + Returns 0 if the previous statement did not change an + AUTO_INCREMENT value. mysqli_insert_id must be + called immediately after the statement that generated the value. - - - Performing an INSERT or UPDATE statement using the LAST_INSERT_ID() - function will also modify the value returned by the - mysqli_insert_id function. - - @@ -49,10 +55,14 @@ connection, or if the modified table does not have a column connection or if the query did not update an AUTO_INCREMENT value. + + Only statements issued using the current connection affect the return value. The + value is not affected by statements issued using other connections or clients. + - If the number is greater than maximal int value, mysqli_insert_id - will return a string. + If the number is greater than the maximum int value, it will be returned as + a string. @@ -65,60 +75,44 @@ connection, or if the modified table does not have a column query("CREATE TABLE myCity LIKE City"); $query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)"; $mysqli->query($query); -printf ("New Record has id %d.\n", $mysqli->insert_id); +printf("New record has ID %d.\n", $mysqli->insert_id); /* drop table */ $mysqli->query("DROP TABLE myCity"); - -/* close connection */ -$mysqli->close(); -?> ]]> &style.procedural; ]]> &examples.outputs; From cbf72e31455a596699accc04a38c8129687979ee Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 5 Aug 2021 22:14:51 +0100 Subject: [PATCH 439/444] Updating mysqli: get_result (#771) --- reference/mysqli/mysqli_stmt/get-result.xml | 107 +++++++------------- 1 file changed, 39 insertions(+), 68 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/get-result.xml b/reference/mysqli/mysqli_stmt/get-result.xml index dd27572d99..51e46486e6 100644 --- a/reference/mysqli/mysqli_stmt/get-result.xml +++ b/reference/mysqli/mysqli_stmt/get-result.xml @@ -4,7 +4,7 @@ mysqli_stmt::get_result mysqli_stmt_get_result - Gets a result set from a prepared statement + Gets a result set from a prepared statement as a mysqli_result object @@ -20,13 +20,23 @@ mysqli_stmtstatement - Call to return a result set from a prepared statement query. + Retrieves a result set from a prepared statement as a + mysqli_result object. The data will be fetched from + the MySQL server to PHP. This method should be called only for + queries which produce a result set. &mysqli.available.mysqlnd; + + + This function cannot be used together + with mysqli_stmt_store_result. Both of these functions + retrieve the full result set from the MySQL server. + + @@ -56,46 +66,28 @@ &style.oop; connect_error) -{ - die("$mysqli->connect_errno: $mysqli->connect_error"); -} +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); +$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1"; -$stmt = $mysqli->stmt_init(); -if(!$stmt->prepare($query)) -{ - print "Failed to prepare statement\n"; -} -else -{ - $stmt->bind_param("s", $continent); +$stmt = $mysqli->prepare($query); +$stmt->bind_param("s", $continent); - $continent_array = array('Europe','Africa','Asia','North America'); +$continentList = array('Europe', 'Africa', 'Asia', 'North America'); - foreach($continent_array as $continent) - { - $stmt->execute(); - $result = $stmt->get_result(); - while ($row = $result->fetch_array(MYSQLI_NUM)) - { - foreach ($row as $r) - { - print "$r "; - } - print "\n"; +foreach ($continentList as $continent) { + $stmt->execute(); + $result = $stmt->get_result(); + while ($row = $result->fetch_array(MYSQLI_NUM)) { + foreach ($row as $r) { + print "$r "; } + print "\n"; } } - -$stmt->close(); -$mysqli->close(); -?> ]]> @@ -103,51 +95,31 @@ $mysqli->close(); &style.procedural; ]]> - &examples.outputs; + &examples.outputs.similar; mysqli_stmt_fetch mysqli_fetch_array mysqli_stmt_store_result - mysqli_errno From 74e4eaa99dc82dfb2dd4cdf2a98cdb537f27c216 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 6 Aug 2021 10:32:39 +0200 Subject: [PATCH 440/444] Update versions.xml for UOPZ 7.1.0 Cf. . Closes GH-836. --- reference/uopz/versions.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/uopz/versions.xml b/reference/uopz/versions.xml index 7841445620..d90bfeacd6 100644 --- a/reference/uopz/versions.xml +++ b/reference/uopz/versions.xml @@ -12,8 +12,8 @@ - - + + From 5a6e387a2dec43c569ffe17978c899b5d9bdf4d1 Mon Sep 17 00:00:00 2001 From: pfofi <7479939+pfofi@users.noreply.github.com> Date: Fri, 6 Aug 2021 12:34:30 +0200 Subject: [PATCH 441/444] Reflect new default for `CURLOPT_TIMECONDITION` since cURL 7.46.0 * Reflect new default for `CURLOPT_TIMECONDITION` since cURL 7.46.0 In cURL 7.46.0 the default for `CURLOPT_TIMECONDITION` was changed from `CURL_TIMECOND_IFMODSINCE` to `CURL_TIMECOND_NONE`. References: - https://curl.se/libcurl/c/CURLOPT_TIMECONDITION.html - https://curl.se/changes.html#7_46_0 - https://github.com/curl/curl/commit/cd2b73b3e Closes GH-765. --- reference/curl/constants.xml | 11 +++++++++++ reference/curl/functions/curl-setopt.xml | 10 ++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/reference/curl/constants.xml b/reference/curl/constants.xml index 41a0b4b06a..cfa6d0a9b8 100644 --- a/reference/curl/constants.xml +++ b/reference/curl/constants.xml @@ -1795,6 +1795,17 @@ + + + CURL_TIMECOND_NONE + (int) + + + + + + + CURL_TIMECOND_IFMODSINCE diff --git a/reference/curl/functions/curl-setopt.xml b/reference/curl/functions/curl-setopt.xml index b3efaf87e6..d26ce0f34a 100644 --- a/reference/curl/functions/curl-setopt.xml +++ b/reference/curl/functions/curl-setopt.xml @@ -1130,10 +1130,13 @@ a "304 Not Modified" header will be returned assuming CURLOPT_HEADER is &true;. Use CURL_TIMECOND_IFUNMODSINCE for the reverse - effect. CURL_TIMECOND_IFMODSINCE is the - default. + effect. Use CURL_TIMECOND_NONE to ignore + CURLOPT_TIMEVALUE and always return the page. + CURL_TIMECOND_NONE is the default. + Before cURL 7.46.0 the default was + CURL_TIMECOND_IFMODSINCE. @@ -1162,8 +1165,7 @@ CURLOPT_TIMEVALUE The time in seconds since January 1st, 1970. The time will be used - by CURLOPT_TIMECONDITION. By default, - CURL_TIMECOND_IFMODSINCE is used. + by CURLOPT_TIMECONDITION. From c85c9d1d4429496b45f03cd5e77e896821b4f7f3 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 6 Aug 2021 13:53:15 +0100 Subject: [PATCH 442/444] to --- reference/mysqli/mysqli/insert-id.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/mysqli/mysqli/insert-id.xml b/reference/mysqli/mysqli/insert-id.xml index fd5e5ec232..f22f51a7f4 100644 --- a/reference/mysqli/mysqli/insert-id.xml +++ b/reference/mysqli/mysqli/insert-id.xml @@ -33,7 +33,7 @@ Returns 0 if the previous statement did not change an - AUTO_INCREMENT value. mysqli_insert_id must be + AUTO_INCREMENT value. mysqli_insert_id must be called immediately after the statement that generated the value. From 48f0bac7fd58fb65e7a74293551a80db722a4dce Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 6 Aug 2021 13:59:30 +0100 Subject: [PATCH 443/444] Updating mysqli: bind_result (#770) --- reference/mysqli/mysqli_stmt/bind-result.xml | 87 ++++++++------------ 1 file changed, 36 insertions(+), 51 deletions(-) diff --git a/reference/mysqli/mysqli_stmt/bind-result.xml b/reference/mysqli/mysqli_stmt/bind-result.xml index b741beefad..bde4d1150c 100644 --- a/reference/mysqli/mysqli_stmt/bind-result.xml +++ b/reference/mysqli/mysqli_stmt/bind-result.xml @@ -30,20 +30,31 @@ MySQL client/server protocol places the data for the bound columns into the specified variables var/vars. + + A column can be bound or rebound at any time, even after a result set has + been partially retrieved. The new binding takes effect the next time + mysqli_stmt_fetch is called. + - Note that all columns must be bound after + All columns must be bound after mysqli_stmt_execute and prior to calling mysqli_stmt_fetch. + + + + Depending on column types bound variables can silently change to the corresponding PHP type. - - A column can be bound or rebound at any time, even after a result set has - been partially retrieved. The new binding takes effect the next time - mysqli_stmt_fetch is called. - + + + This functions is useful for simple results. To retrieve iterable result + set, or fetch each row as an array or object, + use mysqli_stmt_get_result. + + @@ -85,32 +96,21 @@ prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { - $stmt->execute(); +$stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5"); +$stmt->execute(); - /* bind variables to prepared statement */ - $stmt->bind_result($col1, $col2); +/* bind variables to prepared statement */ +$stmt->bind_result($col1, $col2); - /* fetch values */ - while ($stmt->fetch()) { - printf("%s %s\n", $col1, $col2); - } - - /* close statement */ - $stmt->close(); +/* fetch values */ +while ($stmt->fetch()) { + printf("%s %s\n", $col1, $col2); } -/* close connection */ -$mysqli->close(); - -?> ]]> @@ -119,36 +119,24 @@ $mysqli->close(); ]]> - &examples.outputs; + &examples.outputs.similar; mysqli_stmt_fetch mysqli_prepare mysqli_stmt_prepare - mysqli_stmt_init - mysqli_stmt_errno - mysqli_stmt_error From a8b8d435a7fef626867bbc3928e687b17eeef117 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Fri, 6 Aug 2021 14:00:39 +0100 Subject: [PATCH 444/444] The fallback for undefined constants is removed as of PHP 8 (#795) --- language/types/array.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/language/types/array.xml b/language/types/array.xml index fa6cb62448..7f3e253d2f 100644 --- a/language/types/array.xml +++ b/language/types/array.xml @@ -617,9 +617,12 @@ echo $foo[bar]; - The fallback to treat an undefined constant as bare string is deprecated as - of PHP 7.2.0, and issues an error of level E_WARNING. - Formerly, an error of level E_NOTICE has been issued. + The fallback to treat an undefined constant as bare string issues an error + of level E_NOTICE. + This has been deprecated as of PHP 7.2.0, and issues an error + of level E_WARNING. + As of PHP 8.0.0, it has been removed and throws an + Error exception.