You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
First query result is not valid after a second one #206
When I execute two queries, the first result becomes random.
Given the database:
createdatabasetest;
use test;
createtableperson (
id int auto_increment,
name varchar(100),
primary key (id)
);
createtableaddress (
id int auto_increment primary key,
person int,
description varchar(200),
foreign key (person) references person(id)
);
insert into person(name) values('Roni');
insert into address(person, description) values(1, 'Street 1');
Given the code:
julia>using DBInterface, MySQL
julia> con = DBInterface.connect(MySQL.Connection, "127.0.0.1", "root",
"PASSWORD", db="test", port=3306);
julia> r1 =first(DBInterface.execute(con,
"select * from address where id = 1"))
MySQL.TextRow{true}: (id =1, person =1, description ="Street 1")
julia> r1.id
1
julia> r1.person
1
julia> r2 =first(DBInterface.execute(con,
"select * from person where id = 1"))
MySQL.TextRow{true}: (id =1, name ="Roni")
julia> r2.id
1
julia> r2.name
"Roni"
julia> r1.description
"\0_9\n\x02\0\0\0\0b9\n\x02\0\0\0\0e9..."
Note that result r1.description is incorrect! The correct answer is: "Street 1", but
when I do the second query and store the result at r2, the first result r1 turns incorrect.
Fixed in v2.0.0. Buffered cursors own their bytes and stay valid after later queries on the same connection; the scenario is regression-tested live in test/user_workflow.jl.
Activity
Ronneesley commentedon Apr 4, 2023
@quinnj, I opened the issue here.
MySQL.jl 2.0: native Julia wire-protocol client (Connector/C removed) (…
quinnj commentedon Sep 9, 2026
Fixed in v2.0.0. Buffered cursors own their bytes and stay valid after later queries on the same connection; the scenario is regression-tested live in
test/user_workflow.jl.