"git@gfx.cafe:open/bor.git" did not exist on "2cf4fed11b01bb99e08b838f7df2b9396f42f758"
Newer
Older
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package postgresql
import (
"database/sql"
"testing"
"github.com/stretchr/testify/assert"
"upper.io/db.v2"
)
func TestStringAndInt64Array(t *testing.T) {
sess := mustOpen()
driver := sess.Driver().(*sql.DB)
defer func() {
driver.Exec(`DROP TABLE IF EXISTS array_types`)
sess.Close()
}()
if _, err := driver.Exec(`
CREATE TABLE array_types (
id serial primary key,
integers bigint[] DEFAULT NULL,
strings varchar(64)[]
)`); err != nil {
assert.NoError(t, err)
}
arrayTypes := sess.Collection("array_types")
err := arrayTypes.Truncate()
assert.NoError(t, err)
type arrayType struct {
ID int64 `db:"id,pk"`
Integers []int64 `db:"integers,int64array"`
Strings []string `db:"strings,stringarray"`
}
tt := []arrayType{
// Test nil arrays.
arrayType{
ID: 1,
Integers: nil,
Strings: nil,
},
// Test empty arrays.
arrayType{
ID: 2,
Integers: []int64{},
Strings: []string{},
},
// Test non-empty arrays.
arrayType{
ID: 3,
Integers: []int64{1, 2, 3},
Strings: []string{"1", "2", "3"},
},
}
for _, item := range tt {
id, err := arrayTypes.Insert(item)
assert.NoError(t, err)
if pk, ok := id.(int64); !ok || pk == 0 {
t.Fatalf("Expecting an ID.")
}
var itemCheck arrayType
err = arrayTypes.Find(db.Cond{"id": id}).One(&itemCheck)
assert.NoError(t, err)
assert.Len(t, itemCheck.Integers, len(item.Integers))
assert.Len(t, itemCheck.Strings, len(item.Strings))
// Check nil/zero values just to make sure that the arrays won't
// be JSON-marshalled into `null` instead of empty array `[]`.
assert.NotNil(t, itemCheck.Integers)
assert.NotNil(t, itemCheck.Strings)
assert.NotZero(t, itemCheck.Integers)
assert.NotZero(t, itemCheck.Strings)
}
}
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
func TestIssue210(t *testing.T) {
list := []string{
`DROP TABLE IF EXISTS testing123`,
`DROP TABLE IF EXISTS hello`,
`CREATE TABLE IF NOT EXISTS testing123 (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL
)
`,
`CREATE TABLE IF NOT EXISTS hello (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL
)`,
}
sess := mustOpen()
defer sess.Close()
tx, err := sess.NewTransaction()
assert.NoError(t, err)
for i := range list {
_, err = tx.Exec(list[i])
assert.NoError(t, err)
}
err = tx.Commit()
assert.NoError(t, err)
_, err = sess.Collection("testing123").Find().Count()
assert.NoError(t, err)
_, err = sess.Collection("hello").Find().Count()
assert.NoError(t, err)
}