mirror of
https://github.com/vlang/v.git
synced 2025-08-03 17:57:59 -04:00
db.sqlite: fix exec_param_many bug (#21008)
This commit is contained in:
parent
b276aaccf9
commit
8ec990eed8
@ -315,6 +315,9 @@ pub fn (db &DB) exec_param_many(query string, params []string) ![]Row {
|
||||
for {
|
||||
res = C.sqlite3_step(stmt)
|
||||
if res != sqlite.sqlite_row {
|
||||
if rows.len == 0 && is_error(res) {
|
||||
return db.error_message(res, query)
|
||||
}
|
||||
break
|
||||
}
|
||||
mut row := Row{}
|
||||
|
@ -95,3 +95,22 @@ fn test_alias_db() {
|
||||
create_host(sqlite.connect(':memory:')!)!
|
||||
assert true
|
||||
}
|
||||
|
||||
fn test_exec_param_many() {
|
||||
$if !linux {
|
||||
return
|
||||
}
|
||||
mut db := sqlite.connect(':memory:') or { panic(err) }
|
||||
assert db.is_open
|
||||
db.exec('drop table if exists users')!
|
||||
db.exec("create table users (id integer primary key, name text default '' unique);")!
|
||||
db.exec("insert into users (name) values ('Sam')")!
|
||||
db.exec_param_many('insert into users (id, name) values (?, ?)', [
|
||||
'60',
|
||||
'Sam',
|
||||
]) or {
|
||||
assert err.code() == 19 // constraint failure
|
||||
return
|
||||
}
|
||||
assert false
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user