Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/php/pecl-database-mysql_xdevapi

PECL MySQL X DevAPI
https://github.com/php/pecl-database-mysql_xdevapi

Add dependency to JSON.

c50db2771d80d54a8d7444a84464eb5bb7082695 authored over 8 years ago by Andrey Hristov <[email protected]>
Add examples

ba5edaacd4aa25771f2e9485aad52fa83022bf62 authored over 8 years ago by Andrey Hristov <[email protected]>
Fix build

7da3692f724c35e9ef45eded5256a095d202b3d8 authored over 8 years ago by Andrey Hristov <[email protected]>
Add implementation for Collection.find() which has common methods (limit, bind, sort)

with Collection.modify() and Collection.remove()

6cc4971bc65d13da0c1f6a176fea0e02a9dbcd52 authored over 8 years ago by Andrey Hristov <[email protected]>
Add the json patch

a9ce84e5cc2b0ebba6eadbd09446356d58b3a31d authored over 8 years ago by Andrey Hristov <[email protected]>
Now Collection.remove() partly works. The expression passed to remove gets parsed

but crashes during destruction. limit() and sort() work as expected. sort() gets
a single string ...

7a645700d0c1605a546635e78a799db5292f951a authored over 8 years ago by Andrey Hristov <[email protected]>
Implement Mysqlx\NodeCollection::add()

53600e397cb8c5ff8caad8784269169e93908646 authored over 8 years ago by Andrey Hristov <[email protected]>
Throw exception in cases of error

9b391c427ddbd9224b4d8c5e81eac47e6fe5c349 authored over 8 years ago by Andrey Hristov <[email protected]>
Add CRUD parsers

86398f0238ccf810ad933c7c33ffa1e3d4ccf7e4 authored over 8 years ago by Andrey Hristov <[email protected]>
Add comment

d334e7dd3587771b9e2c9e060238d37b59cfffc9 authored over 8 years ago by Andrey Hristov <[email protected]>
Move the CRUD parsers under xmysqlnd

2871032460ab9b8a69cfdb41568b575f2b445f51 authored over 8 years ago by Andrey Hristov <[email protected]>
Move message classes to xmysqlnd as they depend on xmysqlnd internals

c36b26dde073228888f6e51a275a96acd3e46dd4 authored over 8 years ago by Andrey Hristov <[email protected]>
Update the paths

fdac8a6e364d669d4cafbcd3da16b5a22ad41e52 authored over 8 years ago by Andrey Hristov <[email protected]>
Throw and error if unable to connect

c76d1256b4cd8c068c3d685368672f1b937f2a51 authored over 8 years ago by Andrey Hristov <[email protected]>
aa

073f2ff99944487c65e6dbb6311f071facae9a55 authored over 8 years ago by Andrey Hristov <[email protected]>
- Implemented XMYSQLND_NODE_SCHEMA::drop_collection()

- Implemented Mysqlx\NodeCollection::drop()

aafa69787e4e227f4ba665a1c1c5d9040316cc09 authored over 8 years ago by Andrey Hristov <[email protected]>
Add Mysqlx\NodeSession::listClients()

7178ab68a9f6079d7a8bd8e1211355d145ef8336 authored over 8 years ago by Andrey Hristov <[email protected]>
- Add explicit passing of the namespace

- Fix reference counting problem for XMYSQLND_NODE_SESSION which lead to memory leak

789649358217c08fd13505d04e7371ae1b60fb24 authored over 8 years ago by Andrey Hristov <[email protected]>
Added empty implementations for Mysqlx\NodeCollection::

- add()
- find()
- modify()
- remove()
which return the corresponding clases :
- NodeCollectionAd...

22cac85de3121fae282838e89a30837b584396e5 authored over 8 years ago by Andrey Hristov <[email protected]>
Add interface Mysqlx\Executable and let all classes that have this method

to implement it.

b7ae908e2534b3bd11cc97a9ecfaa6ee2469919e authored over 8 years ago by Andrey Hristov <[email protected]>
Add Mysqlx\NodeSession::killClient()

ef53097eba6582b5c0f5f399e2f73fc16ee779ea authored over 8 years ago by Andrey Hristov <[email protected]>
- Add Mysqlx\NodeSchema::createCollection()

- Implemented Mysqlx\NodeSchema::drop()

0e243a35a4360c67a962fbc8828c3b5625d5b04b authored over 8 years ago by Andrey Hristov <[email protected]>
Return associative arrays for Mysqlx\NodeSchema::getTables() / getCollections()

7e4dc997b9d13221a15ca4903b2e05e1bc73abc8 authored over 8 years ago by Andrey Hristov <[email protected]>
- Reimplement Mysqlx\NodeSchema::getTables()/getCollections() by using

the `xplugin/list_objects` command. The old implementation was using
SHOW TABLES FROM `%s`. T...

bf83e78195e4fe45c4cf7bbaa53a6ec9d3577231 authored over 8 years ago by Andrey Hristov <[email protected]>
Implemented Mysqlx\NodeSession::generateUUID() which depends on XMYSQLND_NODE_SESSION::get_uuid().

The latter in turn uses a cache of UUIDs which is filled by calling the server with
SELECT CONCAT...

7d03053472c6cd29e8522cfd688e6d8c1be5b482 authored over 8 years ago by Andrey Hristov <[email protected]>
Added implementation for Mysqlx\NodeSchema::getCollections() and

Mysqlx\NodeScheme::getTables()

2885331ef598f88a53e64157484162f55e222278 authored over 8 years ago by Andrey Hristov <[email protected]>
Remove unimplemented methods. They are not in the specification.

04ffd70c9324e65235b9fe8513b1e4533aa9b88e authored over 8 years ago by Andrey Hristov <[email protected]>
Add a switch to disable experimental features

a05a1a72da37472495a444080bd77a09088561c8 authored over 8 years ago by Andrey Hristov <[email protected]>
Add some const-ness

8fd97b391bc30eeff19fccdf8addc63392444a9e authored over 8 years ago by Andrey Hristov <[email protected]>
Add XMYSQLND_NODE_TABLE and Mysqlx\NodeTable

f3c7e51349be4e758d63ee9d95b49fc601f76dcd authored over 8 years ago by Andrey Hristov <[email protected]>
Add a newline

3591a5b34cc4781529c56b15b2d94bc213a2609d authored over 8 years ago by Andrey Hristov <[email protected]>
Updated the proto files with the latest changes from the server repo.

v_opaque is no more and is named v_octets, which carries a type flag. We
currently don't use it.

f6f6f2732ed596512c1bba4c5bd8601d0778a298 authored over 8 years ago by Andrey Hristov <[email protected]>
Add empty implementations of the classes returned by Mysqlx\NodeTable::

- delete()
- insert()
- select()
- update()

3d9b924758c21845223ba33d959c911e31abdfb8 authored over 8 years ago by Andrey Hristov <[email protected]>
Introduce

interface Mysqlx\DatabaseObject {
function getSession();
function getName();
function existsIn...

b8c46058dc50b58fe57e6073756fa24c13082519 authored over 8 years ago by Andrey Hristov <[email protected]>
Split mysqlx and xmysqlnd into 2 extensions that live in the same directory.

d1d30ffda67b290a8a94bb4478e26948cb4c662b authored over 8 years ago by Andrey Hristov <[email protected]>
Add XMYSQLND_NODE_SCHEMA

fe9834cefcd84fceafa17e9d09764723128cc5fe authored over 8 years ago by Andrey Hristov <[email protected]>
Add callback interface to XMYSQLND_NODE_SESSION::query().

Reimplement Mysqlx\NodeSession::getSchemas() by using the callback interface.

e697ef86c687a86892fbd047a4f0e1b274da7b58 authored over 8 years ago by Andrey Hristov <[email protected]>
Add empty Mysqlx\NodeCollection and XMYSQLND_NODE_COLLECTION

748dea4cdafc2b0419e58f9b1168d03ab4f938ab authored over 8 years ago by Andrey Hristov <[email protected]>
Finish the callback interface for fetching data. It doesn't allow suspending

the fetch and continuing it.

1e0dd87d1d46819cbff8c1f3cf908079205622c0 authored over 8 years ago by Andrey Hristov <[email protected]>
Implement callback interface for XMYSQLND_NODE_STMT for on the fly passing of

data without the need of buffered result set or fwd result set.

6c7b4a3ab99a33457bcb7731f68f227ffb55857a authored over 8 years ago by Andrey Hristov <[email protected]>
Implemented throwing of exceptions in case of errors.

Implemented generation of E_WARNINGs in case of warnings.

ba14db279b6c3b18d2550af60edde69c4b2143fc authored over 8 years ago by Andrey Hristov <[email protected]>
Add Mysqlx\NodeSchema class and complete the Mysqlx\getSchema(string name) method

ed0b2486dc96962aad079d2732121ab7a17f2c06 authored over 8 years ago by Andrey Hristov <[email protected]>
Added clone method of XMYSQLND_RESULT_FIELD_META.

Added a new class Mysqlx\FieldMetadata. It holds a copy (clone) of the metadata.
Added a method M...

4c30a0a45992c183e46b0f2a0494e75e441ea460 authored over 8 years ago by Andrey Hristov <[email protected]>
Add Mysqlx\NodeSession::getSchemas()

cbad84373c147f1abb00d511ede5c2f295e4c662 authored over 8 years ago by Andrey Hristov <[email protected]>
Abstract handling of a notice frame. Needs further abstracting

f6db8bfe1b9ba087fb369ea99ce404c5637ec905 authored over 8 years ago by Andrey Hristov <[email protected]>
Move from read and send to handler for authentication

4215802fc7c300d962d955d58f598fa69e7af7b8 authored over 8 years ago by Andrey Hristov <[email protected]>
Added handler for TRX_COMITTED/TRX_ROLLEDBACK status message

6e7748b4b07ff8e397ef3b2b5d060cba356e8178 authored over 8 years ago by Andrey Hristov <[email protected]>
Stubs for CRUD_INSERT, CRUD_FIND, CRUD_DELETE, CRUD_UPDATE commands

cb5325fcb411d5c0a36949cbc4b7111e8ad2b834 authored over 8 years ago by Andrey Hristov <[email protected]>
Further refactoring of handling notices. Now it is very configurable

and many handlers are injectable.
Added mysqlx_node_stmt::getClientId(), getServerVersion().
For ...

204cb8dc3e24de8e1c904b9a373820c4386e8133 authored over 8 years ago by Andrey Hristov <[email protected]>
Update license header - year and change email to something working.

32b84068a25eae8a62af9cb63fa900a494142e73 authored over 8 years ago by Andrey Hristov <[email protected]>
Further refactor Notice inspection code to make it usable not only from

sql stmt execute code

8e3343e68ab6ac8cdaac8f3a878612bc2620b751 authored over 8 years ago by Andrey Hristov <[email protected]>
Better structure naming for the message classes

26a826b99826204f8014593bfccbd41f2221274a authored over 8 years ago by Andrey Hristov <[email protected]>
Move to the new macro

dac9cf424fe9d4b2b87aa99046e83695ac38ed09 authored over 8 years ago by Andrey Hristov <[email protected]>
Move object allocation code from xmysqlnd_driver.c to xmysqlnd_object_factory.c

f50c355452ff58fa73c4f89c206d90d8dff11d80 authored over 8 years ago by Andrey Hristov <[email protected]>
Move from directly dereferencing the standard object_factory implementation

to using a pointer which is initialized at time the binary is loaded (thus no need
for a function...

2b3d618d711559966a17ebb06c203e085e18b84a authored over 8 years ago by Andrey Hristov <[email protected]>
Moving from providing bound functions for creating different structures needed by

the protobuf decoding level to providing callbacks on the different events.
For every meta field ...

bf4d6e63a38df2f366ec5b02756e5bf84abac734 authored over 8 years ago by Andrey Hristov <[email protected]>
Export the methods through a pointer pointing to the real structure.

All plugins that need to change something won't mess with the const methods
structure but provide...

73032dd359760a313195fd67f306f8485ab95f33 authored over 8 years ago by Andrey Hristov <[email protected]>
Move the position of the dtor

f546738830e43b402ba4e675b010a9124750a182 authored over 8 years ago by Andrey Hristov <[email protected]>
Split XMYSQLND_NODE_SESSION allocation in allocation of the outter and the

inner object, as it is done for other objects too.

7210ead8ddbeb8e4057811f9b63655b371b0fd81 authored over 8 years ago by Andrey Hristov <[email protected]>
Add on_error handler to all possible packet handlers

6d162dd2f61ea80e2a1cd1113dc809d44369acb3 authored over 8 years ago by Andrey Hristov <[email protected]>
Move global constants to class constants

b1fe479c0c47fa088b461f271f2007e40f4b5cc7 authored over 8 years ago by Andrey Hristov <[email protected]>
- renamed XMYSQLND_NODE_STMT_RESULT_BUFFERED to XMYSQLND_ROWSET_BUFFERED

- renamed XMYSQLND_NODE_STMT_RESULT_FWD to XMYSQLND_ROWSET_FWD

f30ddf4cc2253b4b685bd0ee8c5b17a3dc56d23b authored over 8 years ago by Andrey Hristov <[email protected]>
NODE_SESSION will not contain a copy of the object factory but only reference it.

Pass the factory as a pointer to a constant structure.
Rename the suffix of the helper functions ...

2ca6a3a88a131fa4277a897b8f4d51e059d05aae authored over 8 years ago by Andrey Hristov <[email protected]>
Add some get methods to mysqlx\NodeSqlStatementResult.

Add mysqlx\Warning class

794a02b00914df13add2d908f0a3af4cb78b6e00 authored over 8 years ago by Andrey Hristov <[email protected]>
Add iterator support

aa1d62b0ef8cdff5e9ac1d24af7b170904c45078 authored over 8 years ago by Andrey Hristov <[email protected]>
Add base interface Mysqlx\Session . Mysqlx\NodeSession implements it

14f7c28f2178b6d238339186dcde0e8be67711cd authored over 8 years ago by Andrey Hristov <[email protected]>
Renamed readResult to getResult. getResult is aliased as getNextResult().

5ff075d308ce602aa523d5b1327435867e7d57d2 authored over 8 years ago by Andrey Hristov <[email protected]>
Added instrumentation about decoding the values from the wire.

Fixed a crashing bug (double free due to a strange zval_ptr_dtor() left over)

33fd7fea80c1cd6e7f992e44fa3a5e412f29818d authored over 8 years ago by Andrey Hristov <[email protected]>
Added param binding.

a23817f0577b29e7d77320aee9fa5e62d36468ed authored over 8 years ago by Andrey Hristov <[email protected]>
Add arginfo for Mysqlx\\getNodeSession()

8a52fd5971fcf11d92d903c635fc2350f0d804ce authored over 8 years ago by Andrey Hristov <[email protected]>
Split XMYSQLND_NODE_STMT_RESULT into 2 pieces -

- simple result that contains : rowset, execution_state, warnings
- rowset, that contains only th...

a004b1d99e1ab15a9ed460ca79afa41e9020e187 authored over 8 years ago by Andrey Hristov <[email protected]>
Add static in front of PHP_METHODs so they don't exported. We don't need

them extern.

4abc8fd09eeb69067b53004a1ec10cb47e0446f6 authored over 8 years ago by Andrey Hristov <[email protected]>
Added skip_all_results

53bea14cb92ac9b62b3add22e5f0833334ab6936 authored over 8 years ago by Andrey Hristov <[email protected]>
Create mysqlx_node_session indirectly through getNodeSession(). Remove connect() method

9f36eeaa9d02f2923e727cefe8ce7127ca6c003e authored over 8 years ago by Andrey Hristov <[email protected]>
First steps in pre-fetching data

93b64295e225b2106d1a6c7d7c602f48a39b79be authored over 8 years ago by Andrey Hristov <[email protected]>
Renamed NODE_STMT_RESULT_DATA to NODE_STMT_RESULT_BUFFERED

f3249b73c2b0c62cfbe179c0bb9528a554929b7c authored over 8 years ago by Andrey Hristov <[email protected]>
Add FWD only result set. Currently the implementation is the same as the buffered

but this will change

78561f60a27783febc16fef35f626067fdff1cbb authored over 8 years ago by Andrey Hristov <[email protected]>
Add possibility to choose the type of the result set

e05b573be242d51f32b4168af5f9347ce82cfbd9 authored over 8 years ago by Andrey Hristov <[email protected]>
Separate NODE_STMT_RESULT and NODE_STMT_RESULT_DATA. The latter is a buffered implementation

349b98dd33a09cc437930b341beb0b8ae9ee64b8 authored over 8 years ago by Andrey Hristov <[email protected]>
Finished the forward only result set, which has prefetching

5c578911086f75bc421632dc2f222e58df7f14aa authored over 8 years ago by Andrey Hristov <[email protected]>
Exporting mysqlx_node_sql_statement_result. hasData(), fetchOne() and fetchAll()

are now functional.

f4f96da855621b986cef22ecc0c22bf2ed8314f4 authored over 8 years ago by Andrey Hristov <[email protected]>
Switch to using namespaces

038f6752808a050f8f4d03130c7c4af71ec3c8b4 authored over 8 years ago by Andrey Hristov <[email protected]>
Add setters for data coming from NOTICEs

72b8bd448e62a8d3de1a6818b2517b09de0d59a9 authored over 8 years ago by Andrey Hristov <[email protected]>
Add XMYSQLND_STMT_EXECUTION_STATE

9f46a2ffd380da40cea271765990ddfcfc987d53 authored over 8 years ago by Andrey Hristov <[email protected]>
Now possible to decode multiple result sets

c3e623b7e55de09d670133cc6bd3da7e72583c08 authored over 8 years ago by Andrey Hristov <[email protected]>
Add Dep Injection to the sql_stmt_execute to be able to create results,

metas and meta fields whenever needed

d87acd706d8c5ac627acdb973ebbd864e1763d70 authored over 8 years ago by Andrey Hristov <[email protected]>
Now being able to fill a result set

cd232a08162d32fb818a5df3f3839e5046be6489 authored over 8 years ago by Andrey Hristov <[email protected]>
Ditch unneeded includes

f62cc62c7cc62732ab076d7bec3bff6f3bdfe210 authored over 8 years ago by Andrey Hristov <[email protected]>
Statement warning extraction

b176e41c7985341990ffcc060663067d7fa65ebf authored over 8 years ago by Andrey Hristov <[email protected]>
Move warning_list to own file

9575a136397c02da1078ccc9887cc168a01b61ba authored over 8 years ago by Andrey Hristov <[email protected]>
Refactor out warning_list to own structure

138c23d21c81c610dbeea762461986453f6b254c authored over 8 years ago by Andrey Hristov <[email protected]>
Move XMYSQLND_STMT_EXECUTION_STATE to own file

281a7d64b93492f197b9e503808f12b0954c8a91 authored over 8 years ago by Andrey Hristov <[email protected]>
Refactor messaging code to export structures with own methods.

2632572b5301a423be7b86c56bb115aa85414c0d authored over 8 years ago by Andrey Hristov <[email protected]>
xmysqlnd_node_session now can connect

df72a925695af619e8d089eb0996ffab39ee1ecf authored over 8 years ago by Andrey Hristov <[email protected]>
NODE_QUERY_RESULT_META -> NODE_STMT_RESULT_META

1b797d40f11226e1a7bd7bfeaaf073c8fb1f4254 authored over 8 years ago by Andrey Hristov <[email protected]>
Update 3

bb93d8ee697fb7d96876ed6e7049659e9434af2e authored over 8 years ago by Andrey Hristov <[email protected]>
Add CON_CLOSE

Move authentication to own method
Add NODE_SESSION_QUERY_RESULT

6a4fa59d4da30707179a052779ba41a27f77f14e authored over 8 years ago by Andrey Hristov <[email protected]>
Update

b0f7a6d24661d04c754e1149a8230e220df02287 authored over 8 years ago by Andrey Hristov <[email protected]>
Add XMYSQLND_NODE_STMT_RESULT

236f144811fda704672664e644d9508b73edcf7e authored over 8 years ago by Andrey Hristov <[email protected]>
NODE_QUERY -> NODE_STMT

2a5481a3a32953dd105e557617ee5a3e9dff36e9 authored over 8 years ago by Andrey Hristov <[email protected]>