code: func NewAdvisoryLock(db *sql.DB, key uint32) (*AdvisoryLock, error) {
  	tx, err := db.Begin()
  	if err != nil {
  		return nil, err
  	}
  
  	return &AdvisoryLock{
  		tx:  tx,
  		key: key,
  	}, nil
  }
docs: // NewAdvisoryLock opens a new transaction and returns the AdvisoryLock.