-
Notifications
You must be signed in to change notification settings - Fork 7.8k
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
Fix PDO OCI Bug #60994 (Reading a multibyte CLOB caps at 8192 chars) #8018
Conversation
b5268a7
to
c6a368e
Compare
c6a368e
to
650b9d2
Compare
@cjbj, could you please review? |
@cmb69 I pinged our developer about it yesterday. |
I have tested this PR in our CI and I can confirm it works. Can it be merged? Test results:
|
@cjbj can you please ping someone from your team again to review this PR? |
Pinged. |
It's not a matter of reviewing it; it's a matter of working out why some diffs are occurring. |
@cjbj thank you for your comment, what do you mean by
I belive the only issue is that the deprecated [1] [1] https://docs.oracle.com/cd/E11882_01/appdev.112/e10646/ociaedep003.htm#LNOCI17212 |
the only issue with the original code is the line php-src/ext/pdo_oci/oci_statement.c Line 660 in c8d47cf
the diff above shows dumped variables with the same data from the original and the new code The offset is in characters, but everything else is in bytes. @cjbj is there any way how length in characters can be obtained from buffer data and bytes length? If yes, please advise, if not, I belive the code /wo |
7f09b51
to
e1ef164
Compare
@cmb69 can you please review with the discussion above? |
@mvorisek my developer is happy but is seeing a diff on the first test of single byte characters where the expected number of bytes seems out of whack. |
@cjbj thank you for the feedback, can you please provide more details and advise possible fix? |
I believe an xfail can be removed and the size fixed. I was pointed at the updated file but it is on a system I can't access so I'm still waiting. The PR can be merged and the test fixed later. |
Via magic:
|
b7981a9
to
ed9ff68
Compare
01e72ca
to
e1ef164
Compare
@mvorisek I have prodded development. My own time with code is limited these days :( |
e1ef164
to
e617e82
Compare
Thank to the CI, we can be safe now about the PR. Previsouly, the test /w If there is no feedback to address, please merge into PHP 8.0/bugfix. |
@cmb69 would it be possible to merge this PR? |
@cmb69 @kocsismate can you please review this PR and merge it? |
I can't really comment on oci issues, but this fix seems to be okay. However, I wouldn't want to merge that into any of the stable branches (targeting PHP-8.2 should still be okay), especially since this is a long standing issue (it has been reported more than ten years ago). So this should better be decided by the respective RMs. @sgolemon, @carusogabriel, thoughts? And maybe @ashnazg wants to have a look, since he commented on the bug report (albeit long ago). |
About the targetting: this PR fixes a major PDO OCI issue - larger than 8KiB BLOBs /w multibyte UTF-8 text cannot be currently read which almost impossible to overcome from the user perspective. I still belive this PR should target PHP 8.0. We have CI tests and it definitely fits the category bugfix. |
I will give @sgolemon the final word, but if I can drop my 2 cents: I don't see any problems merging into PHP 8.0 - it's an isolated part of PHP, and if we have regressions - albeit the tests we have in place - it shouldn't be a catastrophe. I can't, though, access the impact - hence asking Sara's input. |
Which only test one of the code paths ( |
@sgolemon any chance you can approve this bugfix? |
+1 from me... if it's making my PHPT pass, then I'm good. |
This PR has been here for a while. Initially it target PHP 8.0, it was reviewed by @cjbj and @cmb69 and release manager @carusogabriel has given it a green light. During this time PHP 8.0 development was closed, so I rebased/retargetted the PR into PHP 8.1. Now, I would kindly ask if there is anything I need to address or of this PR can be merged. Thank you. |
@mvorisek RMs from PHP 8.1 should review this now. |
Hi @krakjoe, @ramsey, @patrickallaert, pinging you as you are RM for PHP 8.1. |
LGTM |
Committed in 4df4264 |
based on GH-5233 (authored by Randy Stark)
/cc original authors @gschc1, @cjbj, @cmb69