@@ -3,7 +3,7 @@ MySQL X DevAPI for PHP
3
3
4
4
This PHP Extension provides MySQL's X DevAPI. The X DevAPI is a new CRUD-style
5
5
API for accessing MySQL as a Document Store. It is based on the X Protocol
6
- introduced with the X Plugin in MySQL 5.7.12 and unifies JSON document and
6
+ introduced with the X Plugin in MySQL 8.0 and unifies JSON document and
7
7
table access, and it includes SQL support. The API features a popular fluent
8
8
interface style and aims to be particularly easy to use yet powerful. The
9
9
X DevAPI sees wide cross product support. Developers can use the same syntax
@@ -29,7 +29,7 @@ To learn more about the details of the X DevAPI refer to the documentation on
29
29
http://dev.mysql.com/doc/x-devapi-userguide/en/
30
30
31
31
To learn more about MySQL as a Document Store efer to documentation on
32
- http://dev.mysql.com/doc/refman/5.7 /en/document-store.html
32
+ http://dev.mysql.com/doc/refman/8.0 /en/document-store.html
33
33
34
34
35
35
Installation
@@ -64,54 +64,27 @@ It is recommended to prepare environment and build mysql_xdevapi extension accor
64
64
https://wiki.php.net/internals/windows/stepbystepbuild (older SDK, PHP-7.1 only)
65
65
https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2 (PHP-7.1 or newer)
66
66
67
- 2) OpenSSL on Unix
68
- While building extension with phpize following issue may be met at ./configure stage:
69
- configure: error: Cannot find OpenSSL's <evp.h>
70
- See https://bugs.php.net/bug.php?id=72363
71
-
72
-
73
- Following packages in system may be needed:
74
- pkg-config
75
- libssl-dev
76
- libsslcommon2-dev
77
- openssl-devel
78
-
79
- or following switch(es) for ./configure
80
- --with-openssl
81
- --with-openssl-dir
82
- e.g.
83
- --with-openssl --with-openssl-dir=/usr/local/bin
84
-
85
- In case it doesn't help use
86
- PHP_OPENSSL=yes ./configure
87
-
88
- so the whole sequence would look like:
89
- phpize
90
- PHP_OPENSSL=yes ./configure
91
- make
92
- sudo make install
93
-
94
- 3) Boost
67
+ 2) Boost
95
68
Only headers are needed, no boost binaries required.
96
69
97
- 4 ) Google Protocol Buffers on Windows
70
+ 3 ) Google Protocol Buffers on Windows
98
71
On Windows depending on used run-times the static library with Multi-Threaded DLL
99
72
runtime may be needed. To prepare such library on your own following options should
100
73
be applied:
101
74
-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF
102
75
103
- 5 ) Google Protocol Buffers / protocol compiler (protoc)
76
+ 4 ) Google Protocol Buffers / protocol compiler (protoc)
104
77
In configuration of build there is no extra option to set additional dir with binaries,
105
78
so ensure that proper 'protoc' is available on PATH while building. It is especially
106
79
important in case of usage PHP SDK on Windows - its batch scripts may overwrite
107
80
environment.
108
81
109
- 6 ) Bison
82
+ 5 ) Bison
110
83
Ensure that proper version of Bison is on path while building.
111
84
112
- If you build on Windows it is stronly recommended to use the one delivered with
113
- chosen PHP SDK, else (in case of improper bison.exe version) following error may
114
- be met:
85
+ If you build on Windows (especially with older SDK - see point 1.) it is strongly
86
+ recommended to use the one delivered with chosen PHP SDK, else (in case of improper
87
+ bison.exe version) following error may be met:
115
88
116
89
c:\php-sdk\phpdev\vc14\x86\connector-php-7.1.0\zend\zend_globals_macros.h(39):
117
90
error C2375: 'zendparse': redefinition; different linkage
@@ -125,9 +98,10 @@ Supported X DevAPI features
125
98
---------------------------
126
99
- collections API - add, find, modify, remove
127
100
- collection single doc API - getOne, replaceOne, addOrReplaceOne, removeOne
128
- - authentication modes: MYSQL41, PLAIN, EXTERNAL
101
+ - new document _id generation
102
+ - authentication modes: MYSQL41, PLAIN, EXTERNAL, SHA256_MEM
129
103
- table API - insert, select, update, delete
130
- - row locking for Collection.Find / Table.Select
104
+ - row locking for Collection.Find / Table.Select, also modes NOWAIT and SKIP LOCKED
131
105
- collection / table - getName, existsInDatabase, count
132
106
- collection index - create, drop
133
107
- resultsets / multi-resultsets
0 commit comments