orm
orm copied to clipboard
Discriminator value could be an integer
The same as
399: $values[] = $conn->quote((string) $subclassMetadata->discriminatorValue);
Without casting a TypeError is raised.
The change on line 399 was introduced in a merge up: 5a40b99e11a0de532eb866f062dccad20da19add :thinking:
@prohalexey Does this PR fix https://github.com/doctrine/orm/issues/11341?
Does it make sense to add the unit tests which are suggested in this issue?
Does it make sense to add the unit tests which are suggested in this issue?
Yes, please do :pray:
Any news here @greg0ire @W0rma ?
@prohalexey can you please incorporate the unit tests suggested in #11341 ?
Tests have been added and the code has been changed to a more accurate version. @greg0ire pls, look
@greg0ire @SenseException @derrabus could someone check this pr ?
Please kindly squash your commits together. If you don't, we'll try to remember to do it for you but it's best if you save us this trouble.
How to do that?
git rebase -i origin/3.1.x, assumingoriginis a git remote that points to this repository, and not your fork. If you're not sure what your remotes are, rungit remote -vvv, there should be your fork and the holy/reference/base/origin/whatever-you-call-it repository.- A window will show up with many lines, replace
pickwithfixupon every line but the first one - Close your editor, git should do its magic, and you should end up with one commit
- Use
git push --forceto overwrite what you already push. Don't forget the--forceoption otherwise git will try to merge both things together.
Also, once you have a single commit, please improve your commit message according to the contributing guide. "Discriminator value could be an integer (TypeError is raised)" is not enough IMO.
@greg0ire I think I'm done.
Thanks @prohalexey !
Hello @greg0ire , if it is supposed to be possible to use an integer as a descriminator, in the SqlWalker.php file in line 2255 shouldn't the discriminator be cast to string so that quote() accepts it?
I think so yeah… my IDE prints a warning, but I'm not sure why static analysis does not report it. @prohalexey what do you think?
I ran tests(GH11341Test, GH11199Test) and did not stop at this line (I set breakpoint at 2255). Trying to understand what conditions we must have to call this function getChildDiscriminatorsFromClassMetadata
Yep, I confirm that there is a bug if you make DQL query with INSTANCEOF function. I will create a new PR. @greg0ire
New PR https://github.com/doctrine/orm/pull/11456