Commit Graph

3944 Commits

Author SHA1 Message Date
Jeremy Mikola
0dd057d4d7 PHPC-849: Fix leaking of current element in setTypeMap() 2016-12-12 12:59:00 -05:00
Jeremy Mikola
8033c1b09a Refactor out php_phongo_cursor_free() 2016-12-12 12:59:00 -05:00
Jeremy Mikola
32b93dba33 Move cursor iterator handlers into Cursor.c 2016-12-12 12:59:00 -05:00
Jeremy Mikola
4d2b8f2d63 Merge pull request #485 2016-12-12 12:58:11 -05:00
Jeremy Mikola
0bf726420b Use zend_hash ptr functions for PHP7 2016-12-12 12:57:41 -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
0341455045 Merge pull request #487 2016-12-12 12:55:41 -05:00
Jeremy Mikola
9f0fedcb44 Only fetch TSRMLS for 32-bit platforms in int64 visitor
This fixes a build error introduced in be58940cd9.
2016-12-12 12:53:43 -05:00
Jeremy Mikola
f92666aec5 Merge pull request #483 2016-12-08 18:04:52 -05:00
Jeremy Mikola
0bcf414a43 PHPC-853: Fix replacement of version constants for Windows 2016-12-08 17:54:43 -05:00
Jeremy Mikola
dd712dbfea PHPC-852: Do not depend on date and standard extensions in config.w32 2016-12-08 17:53:33 -05:00
Jeremy Mikola
4a7f6d5d3c Back to -dev 2016-12-07 13:26:17 -05:00
Jeremy Mikola
e841684de5 Package 1.2.1 1.2.1 2016-12-07 13:25:30 -05:00
Jeremy Mikola
a96f3fb544 Merge branch 'v1.1' 2016-12-07 13:00:44 -05:00
Jeremy Mikola
2cf17a5225 Back to -dev 2016-12-07 12:59:59 -05:00
Jeremy Mikola
484299468f Package 1.1.10 1.1.10 2016-12-07 12:58:15 -05:00
Jeremy Mikola
427aa5d6b0 Remove duplicate content from release changelog 2016-12-07 12:55:16 -05:00
Jeremy Mikola
99f4cbc673 Merge branch 'v1.1' 2016-12-07 12:26:07 -05:00
Jeremy Mikola
b525a9b291 Merge pull request #481 2016-12-07 12:25:35 -05:00
Jeremy Mikola
129753881a PHPC-848: Consult ZEND_HASH_APPLY_PROTECTION() in PHP7
When a numeric array was encoded to BSON, the hash's apply counter was incremented and decremented irrespective of whether apply protection was enabled. This was not compatible with immutable arrays, which may be created by OPcache. We now consult ZEND_HASH_APPLY_PROTECTION() whenever an apply counter might be modified.

Previously, object_to_bson() incremented the apply counter when converting a MongoDB\BSON\Type instance. Associative arrays and other objects were not protected. This patch adds recursion checking for those types.

Since PHP7 already has macros for working with the apply counter, this patch adds equivalent macros for PHP 5.x.
2016-12-07 10:55:59 -05:00
Jeremy Mikola
33b9e5f75b Back to -dev 2016-11-29 17:02:33 +01:00
Jeremy Mikola
96da052d10 Package 1.2.0 1.2.0 2016-11-29 17:01:03 +01:00
Jeremy Mikola
0bd093540c Issues not are not "Fixed" should be unassociated with release versions 2016-11-29 16:56:54 +01:00
Jeremy Mikola
6ab729be78 Merge pull request #474 2016-11-29 15:57:49 +01:00
Jeremy Mikola
be58940cd9 Ensure php_phongo_bson_visit_int64() has TSRMLS vars if needed
Fixes a 32-bit build error introduced in 22a39d68f3 for PHPC-313
2016-11-29 15:45:11 +01:00
Jeremy Mikola
9ac90fb946 Update release process to reflect current JIRA workflow 2016-11-29 15:35:21 +01:00
Derick Rethans
1481d56dcb Fixed CREDITS file and include it in package.xml too 2016-11-29 13:35:51 +00:00
Jeremy Mikola
c343384b71 Merge pull request #471 2016-11-28 13:06:07 +01:00
Jeremy Mikola
8b173d90d9 PHPC-654: Javascript comparison handler 2016-11-28 12:49:12 +01:00
Jeremy Mikola
ae987ca82f PHPC-654: UTCDateTime comparison handler 2016-11-28 12:49:12 +01:00
Jeremy Mikola
7a12b863ba PHPC-654: Timestamp comparison handler 2016-11-28 12:49:12 +01:00
Jeremy Mikola
bdb5f3c6ba PHPC-654: Regex comparison handler 2016-11-28 12:49:12 +01:00
Jeremy Mikola
994a1dac7b PHPC-654: Binary comparison handler 2016-11-28 12:49:12 +01:00
Jeremy Mikola
94666833cc PHPC-654: Regression tests for MaxKey and MinKey comparisons 2016-11-28 12:49:12 +01:00
Jeremy Mikola
70d7186d63 PHPC-654: Regression tests for ObjectID comparisons 2016-11-28 12:49:12 +01:00
Jeremy Mikola
767fb73b84 Remove unused get_debug_info handlers
These should have been removed for PHPC-460.
2016-11-28 12:49:12 +01:00
Derick Rethans
850d8cee95 Merged pull request #470 2016-11-28 11:47:34 +00:00
Derick Rethans
c50d63d74f PHPC-533: Remove PHONGO_API macro for exported functions 2016-11-28 11:47:13 +00:00
Derick Rethans
c70a2d852d Merged pull request #469 2016-11-28 11:45:39 +00:00
Jeremy Mikola
5c63b8d229 PHPC-838: Preserve scope when serializing Javascript to BSON 2016-11-28 11:32:01 +00:00
Jeremy Mikola
9eb4a80d2e PHPC-459: Update Javascript::jsonSerialize() tests for CDRIVER-1335
The expected output of bson-javascript-jsonserialize-004.phpt is logically incorrect because of an outstanding bug where Javascript objects are always serialized to BSON code types, irrespective of their scope property. That issue will be fixed by PHPC-838.
2016-11-28 11:32:01 +00:00
Derick Rethans
962e5e89d7 PHPC-791: Upgrade libbson and libmongoc to 1.5.0 2016-11-28 11:32:01 +00:00
Derick Rethans
43b06f0ca3 PHPC-827: Update Max Staleness implementation 2016-11-28 11:32:01 +00:00
Jeremy Mikola
c729150f2f Merge pull request #467 2016-11-25 12:06:06 -05:00
Jeremy Mikola
a916713e4a Remove 64-bit platform requirement 2016-11-23 13:06:24 -05:00
Jeremy Mikola
6fd69afc1f PHPC-790: UTCDateTime constructor should truncate floats 2016-11-23 13:06:24 -05:00
Jeremy Mikola
8d7e358330 PHPC-804: Relax zpp types in Timestamp and UTCDateTime constructors
Changing "s" to "z" in zend_parse_parameters() allows integers to be accepted in strict types mode. If all necessary parameters are integers, we can also skip conversion to a string and back to a 64-bit integer.
2016-11-23 12:15:37 -05:00
Jeremy Mikola
1f785d2cb1 Use consistent string parsing for Timestamp and UTCDateTime init
bson_ascii_strtoll() will support range checking in libbson 1.5.0 (CDRIVER-1377), so there is no longer any benefit of using _atoi64() on Windows. This will make parsing consistent across both platforms, since _atoi64() does not report errors for non-integer strings (e.g. "1.2").
2016-11-22 15:32:32 -05:00
Jeremy Mikola
e0b83d8318 Merge pull request #462 2016-11-22 11:10:11 -05:00