-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_pg_exec_issue.v
68 lines (49 loc) · 1.54 KB
/
test_pg_exec_issue.v
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import os
import db.pg
const query_str =
[
"select version();",
"
SELECT ischema.table_schema, c.relname, a.attname, t.typname, t.typalign, t.typlen
FROM pg_class c
JOIN information_schema.tables ischema on ischema.table_name = c.relname
JOIN pg_attribute a ON (a.attrelid = c.oid)
JOIN pg_type t ON (t.oid = a.atttypid)
WHERE
/* ischema.table_schema not in ('information_schema', 'pg_catalog') and */
a.attnum >= 0
"
]
fn connect() ? pg.DB {
i_connection :=
pg.connect(pg.Config {
host : os.getenv_opt('TESTDB_HOST') or {'127.0.0.1'}
port : 5432
user : os.getenv_opt('TESTDB_USER') or { 'postgres' }
password : os.getenv_opt('TESTDB_PASSWORD') or { 'secret' }
dbname : os.getenv_opt('TESTDB') or {'postgres'}
})
or {
eprintln('Failed to connect')
eprintln(err)
return none
}
return i_connection
}
fn test() !{
mut i_engine := connect() or { println('Failed to connect. \n ${err}'); return }
defer {
i_engine.close()
}
mut i_rows := i_engine.exec(query_str[0])!
println('${i_rows}')
i_rows = i_engine.exec(query_str[1])!
println('${i_rows}')
i_rows = i_engine.exec(query_str[2])!
println('${i_rows}')
}
fn main () {
println('start')
println('TESTDB_HOST: ${os.getenv_opt("TESTDB_HOST")} | TESTDB_USER: ${os.getenv_opt("TESTDB_USER")} | TESTDB_PASSWORD: ${os.getenv_opt("TESTDB_PASSWORD")} | TESTDB: ${os.getenv_opt("TESTDB")}')
test()!
}