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

FB8-117: Add thread ID option for SQL SET command #1012

Closed
wants to merge 1 commit into from

Conversation

inikep
Copy link
Contributor

@inikep inikep commented Apr 3, 2019

Summary:

Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: 19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]

Notes:

  • The thread ID can be specified only with the SESSION keyword
  • If no thread ID is provided, it is assumed to be the current thread
  • Similarly, if own thread ID is provided, it is equivalent to SET var_name = var_value
  • If the thread with given ID does not exist, it will fail
  • For commands like SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3 the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html

sql/set_var.cc Outdated Show resolved Hide resolved
sql/sql_yacc.yy Outdated
@@ -450,7 +450,7 @@ void warn_about_deprecated_national(THD *thd)
1. We do not accept any reduce/reduce conflicts
2. We should not introduce new shift/reduce conflicts any more.
*/
%expect 108
%expect 109
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess here (and in the high priority DDL PR) no easy way to avoid this?

Copy link
Contributor

Choose a reason for hiding this comment

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

We can fix this by reworking the grammar rules so that the thread id in option_type_with_thread_id is non-optional. It looks like we're confusing the start_option_value_list_following_option_type rule, because it doesn't know if it needs to reduce option_type to option_type_with_thread_id.

Copy link
Contributor

Choose a reason for hiding this comment

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

@inikep, as per @lth's suggestion, can something like the following grammar rules be used instead and can the parse tree be able to support it easily? It basically removes option_type from option_type_with_thread_id and explicitly adds productions for option_type_with_thread_id to the appropriate locations that have productions for option_type. Changes to your existing rules would be:

option_type_with_thread_id:
          LOCAL_SYM opt_var_tid 
        | SESSION_SYM opt_var_tid
        ;

start_option_value_list_following_option_type:
          option_type option_value_following_option_type option_value_list_continued
        | option_type_with_thread_id option_value_following_option_type option_value_list_continued
        | option_type TRANSACTION_SYM transaction_characteristics
        ;

option_value:
          option_type option_value_following_option_type
        | option_type_with_thread_id option_value_following_option_type
        | option_value_no_option_type
        ;

Note I'm only including the grammar rules here without any code associated on those rules. The above change, when compiled with bison, does not have any additional shift/reduce conflicts.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

mysql-test/t/set_thread_var.test Outdated Show resolved Hide resolved
mysql-test/t/set_thread_var.test Outdated Show resolved Hide resolved
mysql-test/t/set_thread_var.test Show resolved Hide resolved
mysql-test/t/set_thread_var.test Show resolved Hide resolved
sql/parse_tree_nodes.h Outdated Show resolved Hide resolved
sql/set_var.cc Outdated Show resolved Hide resolved
sql/set_var.cc Outdated Show resolved Hide resolved
sql/set_var.cc Outdated Show resolved Hide resolved
@inikep inikep force-pushed the FB8-117 branch 3 times, most recently from 74ae309 to 2b59862 Compare April 5, 2019 10:24
@inikep
Copy link
Contributor Author

inikep commented Apr 5, 2019

PR was updated.

Copy link
Contributor

@percona-ysorokin percona-ysorokin left a comment

Choose a reason for hiding this comment

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

LGTM

@inikep inikep changed the title WIP FB8-117: Add thread ID option for SQL SET command FB8-117: Add thread ID option for SQL SET command Apr 17, 2019
Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

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

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

Copy link
Contributor

@hermanlee hermanlee left a comment

Choose a reason for hiding this comment

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

Most of the code looks good. The changes to the parse tree code seems to work, but I'm wondering if it would be simpler to add the thread_id value to the option_type structure directly instead of create a new one.

}

Security_context *sctx = thd->security_context();
if (!sctx->check_access(SUPER_ACL) &&
Copy link
Contributor

Choose a reason for hiding this comment

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

Would it make sense to cache the result of the first security_context check? It doesn't seem like the query result could change if it's a pass. Setting multiple variables is probably rare anyway, so maybe this is not worth considering.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This code is called only with SET SESSION THREAD_ID and it's not called without THREAD_ID. The optimization will make sense only for SET SESSION THREAD_ID var_name1 = var_value1, SET SESSION THREAD_ID var_name2 = var_value2 or more values.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. The use case I was thinking of would have been trying to update one variable in all of outstanding sessions, so the call would be:

SET SESSION thread_id1 var_name = var_value, SESSION thread_id2 var_name = var_value, SESSION thread_id3 var_name = var_value;

But it's minor anyhow.

sql/parse_tree_nodes.h Outdated Show resolved Hide resolved
}

Security_context *sctx = thd->security_context();
if (!sctx->check_access(SUPER_ACL) &&
Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. The use case I was thinking of would have been trying to update one variable in all of outstanding sessions, so the call would be:

SET SESSION thread_id1 var_name = var_value, SESSION thread_id2 var_name = var_value, SESSION thread_id3 var_name = var_value;

But it's minor anyhow.

sql/parse_tree_nodes.h Outdated Show resolved Hide resolved
Copy link
Contributor

@lth lth left a comment

Choose a reason for hiding this comment

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

I mainly have a question about the change in behaviour in the security checks.

sql/set_var.cc Outdated
!sctx->has_global_grant(STRING_WITH_LEN("SYSTEM_VARIABLES_ADMIN"))
.first) {
mysql_mutex_unlock(&change_thd->LOCK_thd_data);
my_error(ER_SHOW_DENIED_ERROR, MYF(0), thd_id);
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't know if the change of behaviour here is intentional, but previously, we just checked if the user was an owner of the thread, instead of checking for specific privileges. Now the error is kind of misleading, because you'll get "You are not owner of thread", when we should really be getting something from ER_SPECIFIC_ACCESS_DENIED_ERROR.

Copy link
Contributor

Choose a reason for hiding this comment

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

I spoke with @hermanlee and the change in behaviour is probably okay.

However, I think we should use ER_SPECIFIC_ACCESS_DENIED_ERROR instead so that the error is less confusing.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

sql/sql_yacc.yy Outdated
@@ -450,7 +450,7 @@ void warn_about_deprecated_national(THD *thd)
1. We do not accept any reduce/reduce conflicts
2. We should not introduce new shift/reduce conflicts any more.
*/
%expect 108
%expect 109
Copy link
Contributor

Choose a reason for hiding this comment

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

We can fix this by reworking the grammar rules so that the thread id in option_type_with_thread_id is non-optional. It looks like we're confusing the start_option_value_list_following_option_type rule, because it doesn't know if it needs to reduce option_type to option_type_with_thread_id.

@@ -358,12 +359,14 @@ bool sp_create_assignment_instr(THD *thd, const char *expr_end_ptr) {
}

/* Remember option_type of the currently parsed LEX. */
enum_var_type inner_option_type = lex->option_type;
const enum_var_type inner_option_type = lex->option_type;
Copy link
Contributor

Choose a reason for hiding this comment

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

Not too important, but I wonder if this code path actually works? It'd be nice to have simple test for set statements in stored procedures.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It doesn't work because of an upstream bug:
https://bugs.mysql.com/bug.php?id=95734

Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Summary:
Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html

fbshipit-source-id: efe2126
@facebook-github-bot
Copy link

@inikep has updated the pull request. Re-import the pull request

@inikep
Copy link
Contributor Author

inikep commented Jun 11, 2019

PR was updated with the following changes:

  1. ER_SHOW_DENIED_ERROR was replaced with ER_SPECIFIC_ACCESS_DENIED_ERROR
  2. The grammar was changed according to the proposal from @hermanlee and appropriate classes were updated

Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

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

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

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

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@hermanlee hermanlee closed this Jun 18, 2019
facebook-github-bot pushed a commit that referenced this pull request Jun 18, 2019
Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: 19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: #1012

Reviewed By: lth

Differential Revision: D15773495

Pulled By: lth

fbshipit-source-id: 24798ca
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2023
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 23, 2023
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 3, 2023
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 18, 2023
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 25, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 7, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 8, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 9, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 10, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 13, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 15, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 16, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 30, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 14, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 20, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 21, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 25, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 2, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 31, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 2, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 6, 2024
…cebook#1012)

Summary:
Jira issue: https://jira.percona.com/browse/FB8-117

Reference Patch: facebook@19f5aad

Added thread ID option to the SQL SET command. The syntax of the command is as follows:

`SET SESSION [THREAD_ID] var_name = var_value [, [SESSION [THREAD_ID]] var_name = var_value]`

Notes:
- The thread ID can be specified only with the SESSION keyword
- If no thread ID is provided, it is assumed to be the current thread
- Similarly, if own thread ID is provided, it is equivalent to `SET var_name = var_value`
- If the thread with given ID does not exist, it will fail
- For commands like `SET SESSION THREAD_ID var1 = var_value1, var2 = var_value2, var3 = var_value3` the SESSION THREAD_ID will apply to all three variables as explained in https://dev.mysql.com/doc/refman/5.6/en/set-variable.html
Pull Request resolved: facebook#1012

Reviewed By: lloyd

Differential Revision: D15773495

Pulled By: lth
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants