191 Commits

Author SHA1 Message Date
Jeremy Mikola
390e0365f0 Package 1.2.2 2016-12-13 15:14:10 -05:00
Jeremy Mikola
32b93dba33 Move cursor iterator handlers into Cursor.c 2016-12-12 12:59:00 -05:00
Jeremy Mikola
017d0fef8c Fix indentation for compiler directives 2016-12-12 12:57:41 -05:00
Jeremy Mikola
3daf370d4b PHPC-854: Initialize persistent client hash directly in GINIT
Previous initialization during MINIT and using the accessor macro was causing crashes in Apache.

This also declares externs for TSRMLS_CACHE, as is done in other extensions.
2016-12-12 12:57:41 -05:00
Jeremy Mikola
4a7f6d5d3c Back to -dev 2016-12-07 13:26:17 -05:00
Jeremy Mikola
e841684de5 Package 1.2.1 2016-12-07 13:25:30 -05:00
Jeremy Mikola
33b9e5f75b Back to -dev 2016-11-29 17:02:33 +01:00
Jeremy Mikola
96da052d10 Package 1.2.0 2016-11-29 17:01:03 +01:00
Derick Rethans
c50d63d74f PHPC-533: Remove PHONGO_API macro for exported functions 2016-11-28 11:47:13 +00:00
Jeremy Mikola
6d46d62577 PHPC-359: Ensure RP tag sets serialize as documents 2016-09-26 10:53:21 -04:00
Jeremy Mikola
61bbc904d6 Back to -dev 2016-09-21 17:31:01 -04:00
Jeremy Mikola
7f8b6f4319 Package 1.2.0alpha3 2016-09-21 17:22:59 -04:00
Jeremy Mikola
f37f589bbc PHPC-783: Use mongoc_collection_find_with_opts() for Query exec
Query struct fields have been consolidated to a filter and opts BSON documents.

This also changes the Query debug output significantly.
2016-09-20 16:57:20 -04:00
Jeremy Mikola
56d8b77b15 PHPC-424: Validate that RP tag set is an array of documents
This adds common validation for read preference tag sets when specified through either the Manager constructor's URI options array or ReadPreference constructor.

An additional test case for a malformed tag set has been added to the Manager::__construct() error test for read preference options. Additionally, the ReadPreference::__construct() error test has been split up to test for mode and tagSet errors separately.

Note: we cannot test for the exceptions for bson_init_static() and mongoc_read_prefs_is_valid(), since those points will never be hit in normal operation.
2016-09-15 12:40:27 -04:00
Jeremy Mikola
53e7677f93 Back to -dev 2016-09-14 14:13:53 -04:00
Jeremy Mikola
d57a428450 Package 1.2.0alpha2 2016-09-14 14:13:00 -04:00
Jeremy Mikola
29e5121cb7 PHPC-433: Persist mongoc_client_t objects in a HashTable
Clients will be hashed by Manager constructor arguments. Since they must persist between requests, the Manager destructor will no longer free the client and we'll need to start using persistent memory allocation for libbson and libmongoc.
2016-09-08 11:10:34 -04:00
Jeremy Mikola
1060cb8ba4 PHPC-433: Refactor phongo_manager_init() option handling
BSON conversion of uriOptions moves to phongo_manager_init(). Merging of stream context options into driverOptions and removal of the context resource is now done in the Manager constructor.

phongo_manager_init() now has zvals for both uriOptions and driverOptions and will be able to serialize them with the URI string for a client hash.
2016-09-07 18:08:19 -04:00
Derick Rethans
24b65ca159 PHPC-619: Implement Decimal128 type (again) 2016-08-31 17:13:17 +01:00
Jeremy Mikola
f7e2b09165 PHPC-605: Rely on libmongoc for socket IO and TLS 2016-08-30 14:04:56 -04:00
Jeremy Mikola
93eafac542 Back to -dev 2016-08-02 15:25:00 -04:00
Jeremy Mikola
175c5beead Package 1.2.0alpha1 2016-08-02 15:23:35 -04:00
Jeremy Mikola
ff79f64177 PHPC-758: Disable Decimal128 for bundled libbson and libmongoc 1.4.0 2016-07-29 18:11:41 -04:00
Jeremy Mikola
e80ff22125 PHPC-460: Split PHONGO_CE_INIT macro
This is prep work for enabling serialization for BSON classes.
2016-07-11 12:28:19 -04:00
Jeremy Mikola
658fd8f51c Merge branch 'v1.1' 2016-06-27 12:08:28 -04:00
Jeremy Mikola
0d0b14b9cd Move php_phongo_new_datetime_from_utcdatetime() into UTCDateTime.c
This function was only used by UTCDateTime::toDateTime(), so it does not need to be in php_phongo.c. Additionally, this commit removes the platform-specific spprintf patterns in favor of the portable PRId64 pattern.
2016-06-27 11:53:41 -04:00
Jeremy Mikola
5ce569719c PHPC-619: Implement Decimal BSON type 2016-06-21 08:35:21 -04:00
Jeremy Mikola
86daabf17e Back to -dev 2016-06-02 11:51:40 -04:00
Jeremy Mikola
7a84156ecc Package 1.1.7 2016-06-02 11:49:36 -04:00
Jeremy Mikola
a327a22cb8 Merge branch 'v1.1' 2016-06-02 11:20:03 -04:00
Jeremy Mikola
05fcc2ea4f PHPC-671: Avoid mongoc_client_t use-after-free by Cursor and Server 2016-05-31 15:10:53 -04:00
Jeremy Mikola
07e5475392 PHPC-665: Remove private libmongoc and libbson header includes 2016-05-06 11:51:54 -04:00
Jeremy Mikola
78839bde83 PHPC-688: Change Cursor debug handler to use libmongoc public API
This significantly alters the structure of the Cursor's debug output, since we not longer have access to private fields within mongoc_cursor_t.
2016-05-06 11:48:31 -04:00
Jeremy Mikola
3ad624eed0 PHPC-682: Do not use mongoc_bulk_operation_t private API
This adds php_phongo_bulkwrite_t fields to track extra information that we report in the BulkWrite debug handler.
2016-04-27 13:01:47 -04:00
Jeremy Mikola
ac1919490e PHPC-606: Translate strings from mongoc_server_description_type() 2016-04-25 14:38:18 -04:00
Jeremy Mikola
e7e65cc06d PHPC-606: Use mongoc_server_description_ismaster() 2016-04-25 14:38:17 -04:00
Jeremy Mikola
84f7251f46 Back to -dev 2016-04-06 11:44:10 -04:00
Jeremy Mikola
990f66b0c4 Package 1.1.6 2016-04-06 11:42:37 -04:00
Jeremy Mikola
ee6d99c4eb Back to -dev 2016-03-18 13:22:43 -04:00
Jeremy Mikola
b0c3640d3f Package 1.1.5 2016-03-18 13:21:25 -04:00
Jeremy Mikola
6498160165 Master branch is now 1.2.0-dev 2016-03-11 11:35:31 -05:00
Jeremy Mikola
f8f7f6ab31 Back to -dev 2016-03-10 13:13:46 -05:00
Jeremy Mikola
e67b8b794c Bump extension version to 1.1.4 2016-03-10 13:04:54 -05:00
Jeremy Mikola
e9e8443329 Back to -dev 2016-03-04 13:37:34 -05:00
Jeremy Mikola
052564a002 Bump extension version to 1.1.3 2016-03-04 13:28:02 -05:00
Jeremy Mikola
c6574fab72 PHPC-594: Timestamp components are unsigned 32-bit integers
This adds range checking to Timestamp's constructor and changes Timestamp::__toString() to print the components as unsigned 32-bit integers. Internal structs and functions were changed to use uint32_t for readability.

32-bit platforms will be limited to the range of signed 32-bit integers, since PHP has no unsigned integer type. This will be documented in PHPC-599.
2016-02-29 12:43:34 -05:00
Jeremy Mikola
e55bb19eb4 PHPC-582: Manager::selectServer() should select exception class based on bson_error_t 2016-02-15 12:40:54 -05:00
Jeremy Mikola
5b2545e35c Back to -dev 2016-01-07 14:12:58 -05:00
Jeremy Mikola
933e6add73 Bump extension version to 1.1.2 2016-01-07 13:55:40 -05:00
Jeremy Mikola
4ad0a76e5f Back to -dev 2015-12-22 15:50:31 -05:00