Size: a a a

2020 February 14

DP

Daniel Podolsky in Go-go!
ну это collateral damage, длинные сисколы только хуже станут
источник

P

Parmezant in Go-go!
Скинул 60к, кста
источник

/

/\|/\|/\ in Go-go!
Доброго времени суток!
Не подскажете почему в бд не изменяетсся значение?
func updatebalanse(uid, sum int) {
 mutex.Lock()
 db, err := sql.Open("sqlite3", "./user.db")
 if err != nil {
   fmt.Println("\n\n\n\nError an open db.\n\n\n")
 }
 statement, _ := db.Prepare("update Users set Balanse=? where UserId=?")
 statement.Exec(sum, uid)
 mutex.Unlock()
}

Вызываю как updatebalanse(id,sum)
источник

ВС

Владимир Столяров in Go-go!
А зачем тут мьютекс
источник

/

/\|/\|/\ in Go-go!
Я подумал, что лучше сделать его. Дабы если будет много запросов не произошло никаких камфузов.
источник

S

Sergey in Go-go!
/\|/\|/\
Доброго времени суток!
Не подскажете почему в бд не изменяетсся значение?
func updatebalanse(uid, sum int) {
 mutex.Lock()
 db, err := sql.Open("sqlite3", "./user.db")
 if err != nil {
   fmt.Println("\n\n\n\nError an open db.\n\n\n")
 }
 statement, _ := db.Prepare("update Users set Balanse=? where UserId=?")
 statement.Exec(sum, uid)
 mutex.Unlock()
}

Вызываю как updatebalanse(id,sum)
Сначала ошибки игнорируют, а потом спрашивают почему не работает... 😕
источник

/

/\|/\|/\ in Go-go!
Sergey
Сначала ошибки игнорируют, а потом спрашивают почему не работает... 😕
?
источник

S

Sergey in Go-go!
!
источник

C

Calculon in Go-go!
statement, _
источник

ВС

Владимир Столяров in Go-go!
/\|/\|/\
Я подумал, что лучше сделать его. Дабы если будет много запросов не произошло никаких камфузов.
Их не будет, sqlite (да и любые другие базы) это умеют разруливать, иначе бы ими никто не пользовался
источник

/

/\|/\|/\ in Go-go!
Calculon
statement, _
Там нет никаких ошибок. Запрос проходит в бд, но не редактирует значение.
источник

ВС

Владимир Столяров in Go-go!
Так ошибки и на exec могут быть
источник

/

/\|/\|/\ in Go-go!
Владимир Столяров
Так ошибки и на exec могут быть
Там тоже их нет.
источник

Z

Zver in Go-go!
/\|/\|/\
Там тоже их нет.
От куда знаете?
источник

Z

Zver in Go-go!
Телепат?
источник

p

pragus in Go-go!
Владимир Столяров
А разве lockosthread в данном случае действует не так же?
ээээ... тут основной источник проблемы в том, что планировщик не готов к тому что чтение из памяти приведет к блокированию event loop и сокращению числа доступных тредов для исполнения горутин.

т.е. для сисколлов и cgo костыли вокруг есть, а для доступа в память - нет. отсюда вся боль
источник

A

Alexander in Go-go!
надо бы проверить на 1.14
источник

/

/\|/\|/\ in Go-go!
Zver
От куда знаете?
Потому что в другом проекте такое - работает, но почему тут не работает не могу понять.
источник

Z

Zver in Go-go!
/\|/\|/\
Доброго времени суток!
Не подскажете почему в бд не изменяетсся значение?
func updatebalanse(uid, sum int) {
 mutex.Lock()
 db, err := sql.Open("sqlite3", "./user.db")
 if err != nil {
   fmt.Println("\n\n\n\nError an open db.\n\n\n")
 }
 statement, _ := db.Prepare("update Users set Balanse=? where UserId=?")
 statement.Exec(sum, uid)
 mutex.Unlock()
}

Вызываю как updatebalanse(id,sum)
И unlock в defer у мютексов надо. Иначе выйдете раньше времени и все накроется медным тазом.
источник

Z

Zver in Go-go!
/\|/\|/\
Потому что в другом проекте такое - работает, но почему тут не работает не могу понять.
При чем тут другой проект?
источник