aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/sqlite/sqlite_test.v
blob: f1e9db36cf1b8499b2c5d0ea4cc03f9bf0feda12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import sqlite

fn test_sqlite() {
	$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 '');")
	db.exec("insert into users (name) values ('Sam')")
	assert db.last_insert_rowid() == 1
	db.exec("insert into users (name) values ('Peter')")
	assert db.last_insert_rowid() == 2
	db.exec("insert into users (name) values ('Kate')")
	assert db.last_insert_rowid() == 3
	nr_users := db.q_int('select count(*) from users')
	assert nr_users == 3
	name := db.q_string('select name from users where id = 1')
	assert name == 'Sam'
	users, mut code := db.exec('select * from users')
	assert users.len == 3
	assert code == 101
	code = db.exec_none('vacuum')
	assert code == 101
	user := db.exec_one('select * from users where id = 3') or { panic(err) }
	println(user)
	assert user.vals.len == 2
	db.close() or { panic(err) }
	assert !db.is_open
}