Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set-up IMAP in Azure #6

Closed
wants to merge 26 commits into from
Closed

Set-up IMAP in Azure #6

wants to merge 26 commits into from

Conversation

Girgias
Copy link
Owner

@Girgias Girgias commented Sep 17, 2020

No description provided.

nikic and others added 15 commits September 18, 2020 11:03
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
Its default method handling had already been fixed not long ago, but only the stub of its method counterpart was updated.
There's two layers of packet splitting going on. First, packets
need to be split into having a payload of exactly 2^24-1 bytes or
being the last packet. If the split packet has size between 2^24-5
and 2^24-1 bytes, the compressed packets also needs to be split,
though the choice of split doesn't matter here. I'm splitting off
the first 8192 bytes, as that's what I observe libmysqlclient to be
doing.
* PHP-7.3:
  Fix bug #80107: Handling of large compressed packets
  Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
* PHP-7.4:
  Fix bug #80107: Handling of large compressed packets
  Bug #80107 Add test for mysqli_query() fails for ~16 MB long query when compression is enabled
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
Travis on 7.3 is showing this error:

> The size of BLOB/TEXT data inserted in one transaction is greater
> than 10% of redo log size. Increase the redo log size using
> innodb_log_file_size.

Force MyISAM engine to avoid this.
* PHP-7.3:
  Use MyISAM engine for new test
* PHP-7.4:
  Use MyISAM engine for new test
nikic and others added 6 commits September 18, 2020 15:24
Requires the use of mysql_real_escape_string_quote().
* PHP-7.3:
  Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
* PHP-7.4:
  Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
MariaDB versioning created a mess with regarding testing
features based on version. We sidestep the problem here
by assuming the extensions are present, and if a syntax
error occurs with a SQL mode TRANS_START_READ_WRITE |
TRANS_START_READ_ONLY enabled, then output the same
warning as before.
* PHP-7.3:
  Fix #78179: mysqli/mysqlnd transaction extensions
* PHP-7.4:
  Fix #78179: mysqli/mysqlnd transaction extensions
And drop the last remaining uses of it.
nikic and others added 4 commits September 18, 2020 18:01
Drop various ZPP checks and make them PASS
Add CONFLICT file as the tests all hit the same mailbox
@Girgias
Copy link
Owner Author

Girgias commented Sep 18, 2020

Merged in master

@Girgias Girgias closed this Sep 18, 2020
@Girgias Girgias deleted the imap-set-up-ci branch September 18, 2020 21:30
Girgias pushed a commit that referenced this pull request May 18, 2021
The following opcodes would be generated:

  ...
  BB1:
  0003 JMP BB3

  BB2:
  0004 INIT_FCALL 1 96 string("chr")
  0005 #10.T3 [long] = SR #3.CV0($int) [long] #7.CV2($i) ...
  0006 #11.T4 [long] RANGE[0..127] = BW_AND #10.T3 [long] ...
  0007 #12.T3 [long] RANGE[128..255] = BW_OR #11.T4 [long] ...
  0008 SEND_VAL #12.T3 [long] RANGE[128..255] 1
  0009 #13.V3 [ref, rc1, rcn, any] = DO_ICALL
  0010 ASSIGN_OP (CONCAT) #6.CV1($out) [rc1, rcn, string]
  0011 ADD #7.CV2($i)... int(7) #7.CV2($i) ... -> #15.CV2($i) ...

  BB3:
  0012 #8.T4 [long] = SR #3.CV0($int) #7.CV2($i) [long, double]
  0013 #9.T3 [bool] RANGE[0..1] = IS_SMALLER int(128) #8.T4
  0014 JMPNZ #9.T3 [bool] RANGE[0..1] BB2
  ...

Main changes are:
1. SR opcode covers new path in function zend_jit_long_math_helper().
2. BW_AND and BW_OR opcodes are supported. See macro LONG_OP.
3. Function zend_jit_concat_helper() is added to support ASSIGN_OP
opcode. Speficically, CONCAT and FAST_CONCAT is supported for statements
"$out .= ...".
4. New path is covered in function zend_jit_cmp_long_long() by
IS_SMALLER opcode.
5. New path is covered in macros ZVAL_PTR_DTOR and ZVAL_DTOR_FUNC when
leaving.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants