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

expression: add max_allowed_packet check in concat/concat_ws (#11137) #16175

Merged
merged 3 commits into from
Apr 14, 2020

Conversation

sre-bot
Copy link
Contributor

@sre-bot sre-bot commented Apr 8, 2020

cherry-pick #11137 to release-2.1


What problem does this PR solve?

Return NULL and a warning when the result of function concat or concat_ws exceeds max_allowed_packet. ref: #7153

After this PR,

mysql> select @@global.max_allowed_packet;
+-----------------------------+
| @@global.max_allowed_packet |
+-----------------------------+
| 1024                        |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select concat (repeat('a', 10), 'b');
+-------------------------------+
| concat (repeat('a', 10), 'b') |
+-------------------------------+
| aaaaaaaaaab                   |
+-------------------------------+
1 row in set (0.00 sec)

mysql> select concat (repeat('a', 1024), 'b');
+---------------------------------+
| concat (repeat('a', 1024), 'b') |
+---------------------------------+
| NULL                            |
+---------------------------------+
1 row in set, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+--------------------------------------------------------------------------+
| Level   | Code | Message                                                                  |
+---------+------+--------------------------------------------------------------------------+
| Warning | 1301 | Result of concat() was larger than max_allowed_packet (1024) - truncated |
+---------+------+--------------------------------------------------------------------------+
1 row in set (0.00 sec)

What is changed and how it works?

add max_allowed_packet check during evalString in builtinConcatWSSig and builtinConcatSig

Check List

Tests

  • Unit test
  • Integration test

Related changes

  • Need to cherry-pick to the release branch

@sre-bot
Copy link
Contributor Author

sre-bot commented Apr 8, 2020

/run-all-tests

Copy link
Member

@zz-jason zz-jason left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@zz-jason zz-jason added the status/LGT1 Indicates that a PR has LGTM 1. label Apr 8, 2020
Copy link
Member

@wjhuang2016 wjhuang2016 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@SunRunAway SunRunAway added the status/can-merge Indicates a PR has been approved by a committer. label Apr 14, 2020
@sre-bot
Copy link
Contributor Author

sre-bot commented Apr 14, 2020

Your auto merge job has been accepted, waiting for 16326, 16310, 16008, 16009

@sre-bot
Copy link
Contributor Author

sre-bot commented Apr 14, 2020

/run-all-tests

@zz-jason zz-jason added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Apr 14, 2020
@zz-jason
Copy link
Member

/merge

@sre-bot
Copy link
Contributor Author

sre-bot commented Apr 14, 2020

/run-all-tests

@sre-bot sre-bot merged commit afcd205 into pingcap:release-2.1 Apr 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/expression status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2. type/bugfix This PR fixes a bug. type/2.1-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants