Hello all,
i know that this issue is already covered by issues #9113 #6393 and #9113
but actually i have no solution. My code is a library for accessing
databases. In my example, the database represented by db containes a table
t with columns i:integer, f:float, t:text, b:blob.
Everything works fine except the following code used to test my library
match db.prepare_statement("SELECT i,f,t,b FROM t where t like ?;") {
Ok(mut st) => {
st.set_string(1, "%o%");
for i in st.execute_query() {
match i {
Ok(s) => println!("{}:{}:{}:{}", s.get_long(0), s.get_double(1),
s.get_string(2), s.get_blob(3) ),
Err(e) => match e.detail {
Some(s) => println!("{}", s),
None => ()
}
}
}
st.set_string(1, "%e%"); * <- PROBLEM HERE*
for i in st.execute_query() {* <- PROBLEM HERE*
...
}
},
Err(e) => match e.detail {
None => (),
Some(s) => println!("{}", s)
}
}
The compilation error says
test-db.rs:71:8: 71:10 error: cannot borrow `st` as mutable more than once
at a time
test-db.rs:71
st.set_string(1, "%e%");
^~
test-db.rs:61:17: 61:19 note: previous borrow of `st` occurs here; the
mutable borrow prevents subse
quent moves, borrows, or modification of `st` until the borrow ends
test-db.rs:61 for i in
st.execute_query() {
^~
test-db.rs:88:7: 88:7 note: previous borrow ends here
test-db.rs:58 match
db.prepare_statement("SELECT i,f,t,b FROM t wh
ere t like ?;") {
...
test-db.rs:88 }
^
error: aborting due to previous error
do we have a solution for #6393 ?
Thanks
--
Christophe
http://chris-pe.github.io/Rustic/
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev