Basically MySQL always returns a BIGINT (64 bit integer) if you have scalar arithmetic in your query.
E.g. the following and friends, which is used heavily in DBItest.
dbGetQuery(con, "SELECT 1")
So if I return these values as integer64 objects in R DBItest has numerous failures because it is expecting regular 32 bit R integers in this case, so you get error like the following.
dbFetch(res)[[1]] not equal to 1.
Attributes: < Modes: list, NULL >
Attributes: < Lengths: 1, 0 >
Attributes: < names for target but not for current >
Attributes: < current is not list-like >
target is integer64, current is numeric
I think in order to support this we would need a tweak that relaxed the comparison function to compare based on the numeric values rather than object identity.
Basically MySQL always returns a BIGINT (64 bit integer) if you have scalar arithmetic in your query.
E.g. the following and friends, which is used heavily in DBItest.
So if I return these values as integer64 objects in R DBItest has numerous failures because it is expecting regular 32 bit R integers in this case, so you get error like the following.
I think in order to support this we would need a tweak that relaxed the comparison function to compare based on the numeric values rather than object identity.