-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Support for sending connection attributes #737
Conversation
628d6aa
to
c6deadb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- This feature requires the
performance_schema
to be enabled on the server, so this should be clearly documented with the option. - Rename the option to
connectAttrs
as this feature is namedconnect_attrs
in MySQL. AlsoConnectAttrs
instead ofAttributes
in structConfig
. TestConnectionAttributes
should use tableINFORMATION_SCHEMA.PROCESSLIST
instead ofsys.processlist
if possible because thesys
schema is introduced only in MySQL 5.7.7.
3ee4429
to
b2c046d
Compare
Removed |
@dolmen fixed your suggestions. |
Rebased onto current master to resolve merge conflicts |
Commit "Fix excessive null-termination for auth data in handshake" do not seem related to this PR. Or is it? |
@dolmen strictly speaking - it is not, and can be merged alone, but it was included because until it is fixed this PR cannot be merged. |
It would be useful to add tests and make them run under Travis-CI (see file .travis.yml). Here is a scenario:
|
Summary: In order to be able track Go client usage we enable sending connection attributes as specified in https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase_packets_protocol_handshake_response.html (CLIENT_CONNECT_ATTRS). This commit is based on PR go-sql-driver#1241 which is based on PR go-sql-driver#737 (which are still open as of 11.04.2023) Test Plan: manual integration test will be added to the main repo Reviewers: amakarovych-ua, okramarenko-ua Reviewed By: okramarenko-ua Subscribers: engineering-list Differential Revision: https://grizzly.internal.memcompute.com/D61981
Description
This PR adds support for sending connection attributes, which are used for identifying individual connections in mysql. (https://dev.mysql.com/doc/refman/5.7/en/performance-schema-connection-attribute-tables.html)
For example libmysql sets attributes
_client_name
,_pid
,_client_version
,_os
,_platform
. This adds default_client_name=go-mysql-driver
Checklist