Commit Graph

442 Commits

Author SHA1 Message Date
Jeremy Mikola 773d36450e PHPC-772: Parse authMechanism options in URI options array 2017-04-26 11:48:35 -04:00
Jeremy Mikola 8f1da9d343 Extract php_phongo_apply_options_to_uri() from php_phongo_make_uri() 2017-04-26 11:48:35 -04:00
Jeremy Mikola bc9c266a78 PHPC-953: Do not parse "database" key in URI options array
This option was never documented and is redundant in light of the "authSource" option.
2017-04-26 11:48:35 -04:00
Jeremy Mikola a13e118214 PHPC-957: Use libmongoc constants for applicable URI options 2017-04-26 11:48:35 -04:00
Jeremy Mikola 277df7ebee PHPC-640: TypeWrapper interface 2017-04-26 11:23:26 -04:00
Derick Rethans 980f1fb01a PHPC-941: Add MongoDB\BSON\toExtendedJSON() to wrap bson_as_extended_json() 2017-04-07 14:54:54 -04:00
Jeremy Mikola 2b9bf755e0 Merge branch 'v1.2' 2017-04-07 12:15:47 -04:00
Jeremy Mikola c8f6bad103 Create PHP 5.x compatibility macro for ZVAL_UNDEF 2017-04-07 11:16:58 -04:00
Jeremy Mikola 175e3b3d45 PHPC-944: Translate MONGOC_ERROR_COMMAND_INVALID_ARG to InvalidArgumentException 2017-03-31 12:13:01 -04:00
Jeremy Mikola 9db86130e7 Use static decl for phongo_writeresult_init() 2017-03-31 13:44:46 +01:00
Jeremy Mikola 4a18dd9877 Fix typo 2017-03-31 13:44:46 +01:00
Jeremy Mikola 1b68c3add0 Use ZEND_STRL() macro in php_phongo_command_failed() 2017-03-31 13:44:46 +01:00
Jeremy Mikola f5f9433afc Remove local variable in APM callbacks 2017-03-31 13:44:46 +01:00
Jeremy Mikola 49422c420c Refactor php_phongo_dispatch_handlers() to a single #if block 2017-03-31 13:44:46 +01:00
Jeremy Mikola 83fed0b6d9 Alphabetize lists of Monitoring classes 2017-03-31 13:44:46 +01:00
Derick Rethans 77a68728e2 PHPC-349: Implement APM specification 2017-03-31 13:44:46 +01:00
Jeremy Mikola 321fd72881 PHPC-942: Use mongoc_uri_new_with_error() to improve URI error reporting 2017-03-28 15:58:48 -04:00
Jeremy Mikola 9b18a2adc3 Merge branch 'v1.2' 2017-03-20 09:29:05 -04:00
Jeremy Mikola f4cea432a9 PHPC-936: Define PHP_MONGODB_VERSION and STABILITY constants
This removes the redundant MONGODB_VERSION constant renames the existing version and stability constants to be consistent with the format in PHP's extension skeleton: https://github.com/php/php-src/commit/dcfd753104085d8337b8a5f4a21ce3b629ad4651
2017-03-17 14:47:21 -04:00
Jeremy Mikola ff7a211cc0 PHPC-932: Remove reference to Manager on Cursor, Server, and WriteResult
This reverts changes introduced in PHPC-671, which are no longer necessary due to mongoc_client_t persistence (PHPC-433).
2017-03-10 09:50:37 -05:00
Jeremy Mikola 7626beaa1d Refactor php_format_date() call in php_phongo_log()
Since we never check time()'s return value for an error (on par with PHP internals), we can simply pass it to php_format_date(). Also, the ZEND_STRL() macro allows us to remove the duplicate format string provided we still cast the first argument.
2017-03-10 09:49:48 -05:00
Jeremy Mikola a5697c679c PHPC-930: Log instead of throwing exceptions for critical/error levels 2017-03-10 09:49:48 -05:00
Jeremy Mikola f55236b4f1 PHPC-875: Allow compiling without SSL 2017-03-10 09:48:25 -05:00
Jeremy Mikola 14581e87a2 Merge branch 'v1.2' 2017-03-10 09:47:37 -05:00
Jeremy Mikola 5864a6306d PHPC-931: Ensure php_phongo_pclient_t is freed during MSHUTDOWN 2017-03-10 09:46:45 -05:00
Jeremy Mikola 62f9487fcd Merge branch 'v1.2' 2017-03-06 12:18:35 -05:00
Jeremy Mikola 06778c6928 PHPC-901: False slaveOk URI option should be ignored 2017-03-06 12:14:44 -05:00
Jeremy Mikola 600db56bd8 PHPC-912: Do not destroy persisted clients created by other processes 2017-03-06 12:13:33 -05:00
Jeremy Mikola 3b999733fd Merge branch 'v1.2' 2017-02-14 12:55:55 -05:00
Jeremy Mikola b55ea81fd6 PHPC-913: Child process should not re-use mongoc_client_t objects from parent 2017-02-13 17:21:39 -05:00
Jeremy Mikola 12e2ee6294 PHPC-911: Use prefixed symbols for shared construct/wakeup FEs 2017-02-10 15:56:12 -05:00
Jeremy Mikola bdb75791ab PHPC-911: Prefix Zend_FN names for MongoDB\BSON functions 2017-02-10 15:56:12 -05:00
Jeremy Mikola b75c5ffb66 PHPC-910: Split BSON encoding/decoding and prefix symbols 2017-02-10 15:56:12 -05:00
Jeremy Mikola 99f0f39386 Remove unused _phongo_debug_bson() function 2017-02-10 15:56:12 -05:00
Jeremy Mikola 7debc8a43e PHPC-908: Do not declare MINIT functions for each driver class 2017-02-10 15:56:12 -05:00
Jeremy Mikola 3ff292cbb8 PHPC-879: Remove dependency on php_date_get_immutable_ce() 2017-01-11 11:14:20 -05:00
Jeremy Mikola 997fe40f9c PHPC-878: Remove dependency on php_json_serializable_ce symbol
Since JsonSerializable is required, this also adds a helpful startup error message if json.so is not already loaded.
2017-01-11 11:14:20 -05:00
Jeremy Mikola e9271bf8a9 PHPC-885: Alphabetize Regex flags when instantiating from BSON 2017-01-09 09:33:04 -05:00
Jeremy Mikola 2efc183b38 PHPC-890: Add license header copypasta 2017-01-06 15:41:58 -05:00
Jeremy Mikola 1badc1bcbb PHPC-633: Include libmongoc SSL, crypto, and SASL details in phpinfo() 2016-12-20 11:37:25 -05:00
Jeremy Mikola b0192b29d6 Reorder libbson and libmongoc output in phpinfo() 2016-12-19 14:32:08 -05:00
Jeremy Mikola 2c4a1edd98 More descriptive labels for ext/dep versions in phpinfo() 2016-12-19 14:03:50 -05:00
Jeremy Mikola 2599607b47 PHPC-635: WriteResult debug handler should return objects 2016-12-19 09:40:29 -05:00
Jeremy Mikola 49e09578b7 Valid read preference tag sets should always be documents
This function was originally implemented in PHPC-424, before we started preparing tag sets in PHPC-359 to ensure that they serialized as BSON documents. There is no longer any reason to allow array types here.
2016-12-12 19:31:46 -05:00
Jeremy Mikola 120b270377 PHPC-851: Separate argument zvals before modification
This primarily fixes a bug introduced in 6d46d62577 for PHPC-359, since we convert tag sets from arrays to objects to ensure proper BSON serialization. Not only was the array mutation visible to calling contexts, but a crash could occur if the array was immutable due to OPcache.

For Manager's $driverOptions, a comment in 1060cb8ba4 for PHPC-433 indicated that we should have separated its zval due to possible modification, but the appropriate zend_parse_parameters() flag was never used.
2016-12-12 19:31:45 -05:00
Jeremy Mikola 32b93dba33 Move cursor iterator handlers into Cursor.c 2016-12-12 12:59:00 -05:00
Jeremy Mikola 0bf726420b Use zend_hash ptr functions for PHP7 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
Derick Rethans c50d63d74f PHPC-533: Remove PHONGO_API macro for exported functions 2016-11-28 11:47:13 +00:00
Derick Rethans 43b06f0ca3 PHPC-827: Update Max Staleness implementation 2016-11-28 11:32:01 +00:00