Most of the time its the correct value however I'm getting a ton of off by 1 values
When doing something like AggregateID:= stmt.GetInt64("agg_id"). These values all well within 64 bits so not sure what the issue could be. Any thoughts on what I could be doing wrong?
If I call it explicitly via
stmt2 := db.Prep("select * from events where agg_id=132345566607552512;")
for {
has, err := stmt2.Step()
if err != nil {
log.Fatal(err)
}
if !has {
break
}
log.Print(stmt2.GetInt64("agg_id"), stmt2.GetInt64("version"))
}
EDIT: also oddly I'm getting off by one the other direction as well. 132361724597481473 in sqlite but coming through as 132361724597481472
EDIT2: So I changed ALL ids from int64 to string. Exact same issue! So I narrowed it down.
Have 2 goroutines (A,B) with completely different pools and databases (A.sqlite & B.sqlite)
Get errors
Comment out either pool
Works as expected.
Enable both and delete previous databases
Get errors
A.sqlite contains what I'd expect the contents of B.sqlite to be, B.sqlite is empty!
So is having multiple pools of separate not supported in the same process?
Using sonyflake IDs and getting odd behavior
Most of the time its the correct value however I'm getting a ton of off by 1 values![image](https://user-images.githubusercontent.com/438252/103395946-796bb480-4ae5-11eb-816c-e4993602c663.png)
When doing something like
AggregateID:= stmt.GetInt64("agg_id")
. These values all well within 64 bits so not sure what the issue could be. Any thoughts on what I could be doing wrong?If I call it explicitly via
EDIT: also oddly I'm getting off by one the other direction as well. 132361724597481473 in sqlite but coming through as 132361724597481472
EDIT2: So I changed ALL ids from int64 to string. Exact same issue! So I narrowed it down.
So is having multiple pools of separate not supported in the same process?