- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1k
 
CLIENT_DEPRECATE_EOF #1059
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
CLIENT_DEPRECATE_EOF #1059
Conversation
9225771    to
    19e6e0e      
    Compare
  
    | 
           https://bugs.mysql.com/bug.php?id=91533 
 Maybe masking added here should also apply to what we send back to server  | 
    
Co-authored-by: lance6716 <lance6716@gmail.com>
f5c3949    to
    577c6ab      
    Compare
  
    | if s.columns > 0 { | ||
| if err := s.conn.readUntilEOF(); err != nil { | ||
| return nil, errors.Trace(err) | ||
| // TODO process when CLIENT_CACHE_METADATA enabled | 
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.
Do you mean MARIADB_CLIENT_CACHE_METADATA? https://mariadb.com/docs/server/reference/clientserver-protocol/mariadb-protocol-differences-with-mysql
I want to understand what's the effect after this PR. Hope it will not break existing program with that capabilities flag.
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.
We don't currently support those flags, so it won't affect. We have code that reads until eof to skip info that certain options would omit from protocol
577c6ab    to
    03f84cc      
    Compare
  
    
Taking a stab at #980
Part of investigating #1056
Something I noticed was that server capabilities aren't limited by what's sent as client capabilities. Reading docs it seems like both ends are expected to look at the intersection of each others flags. So I decided to tweaks things so that
c.capabilitiesis that intersection, rather than whatever server sendsSeems to be working with latest mysql, but on 8.0.25 instead of a hang I get an empty result set back (while
go-sql-driver/mysqlstill pulls the non-empty result)