Browse Source

Fix scanning null values in timezone column

Tulir Asokan 3 năm trước cách đây
mục cha
commit
c7b0f98f97
2 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 0 0
      database/upgrades/2022-05-11-add-user-timezone.go
  2. 3 2
      database/user.go

+ 0 - 0
database/upgrades/2022-05-11-add-user-timestamp.go → database/upgrades/2022-05-11-add-user-timezone.go


+ 3 - 2
database/user.go

@@ -90,16 +90,17 @@ type User struct {
 }
 
 func (user *User) Scan(row Scannable) *User {
-	var username sql.NullString
+	var username, timezone sql.NullString
 	var device, agent sql.NullByte
 	var phoneLastSeen, phoneLastPinged sql.NullInt64
-	err := row.Scan(&user.MXID, &username, &agent, &device, &user.ManagementRoom, &user.SpaceRoom, &phoneLastSeen, &phoneLastPinged, &user.Timezone)
+	err := row.Scan(&user.MXID, &username, &agent, &device, &user.ManagementRoom, &user.SpaceRoom, &phoneLastSeen, &phoneLastPinged, &timezone)
 	if err != nil {
 		if err != sql.ErrNoRows {
 			user.log.Errorln("Database scan failed:", err)
 		}
 		return nil
 	}
+	user.Timezone = timezone.String
 	if len(username.String) > 0 {
 		user.JID = types.NewADJID(username.String, agent.Byte, device.Byte)
 	}