Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix server_version parsing
  • Loading branch information
Murat Kabilov committed Jun 13, 2018
commit 207ba5c01e84b51d9e2b7d66fe53ce14576419f4
17 changes: 11 additions & 6 deletions conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -1549,14 +1549,19 @@ func (cn *conn) processParameterStatus(r *readBuf) {
param := r.string()
switch param {
case "server_version":
var major1 int
var major2 int
var minor int
_, err = fmt.Sscanf(r.string(), "%d.%d.%d", &major1, &major2, &minor)
if err == nil {
cn.parameterStatus.serverVersion = major1*10000 + major2*100 + minor
parts := strings.Split(r.string(), ".")
if len(parts) > 3 {
break
}
cn.parameterStatus.serverVersion = 0
for i, p := range parts {
val, err := strconv.Atoi(p)
if err != nil {
break
}

cn.parameterStatus.serverVersion += []int{10000, 100, 1}[i] * val
}
case "TimeZone":
cn.parameterStatus.currentLocation, err = time.LoadLocation(r.string())
if err != nil {
Expand Down