Fixed an issue where an unnecessary prefix was given when the random number was a column. #5179
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixed an issue where an unnecessary prefix was given when the random number was a column.
Description
The intention of this fix is because escaping is not necessary for RANDOM.
In ORACLE, random numbers are
DBMS_RANDOM.RANDOM
. That is, it refers to the RANDOM column of the DBMS_RANDOM table.In MySQL, it is
RAND()
, it is function.The third argument $escape of orderBy is null if it is omitted.
It depends on the protectIdentifiers property of Connection to toggle whether escaping is performed or not.
Also, the escaping process is to add the prefix to the table name.
In other words, in the case of ORACLE, it will add the prefix to
DBMS_RANDOM.RANDOM
and execute a query for a non-existent table, which will fail.It is not a good idea for users to specify the value of the third argument escape with the driver in mind.
Therefore, I am making this fix because I thought it would be better to not escape for RANDOM and add the escaped column name to the randomKeyword property of each driver.
#2487 (comment)
Checklist: