Merge pull request #3 from hailocab/upstream-merge
Upstream merge Add Session wrapper With this patch we can now use gocqlx like: ``` session.Query(`SELECT * FROM struct_table`, nil).Get(&v) ``` instead of (old format): ``` gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Get(&v) ``` Signed-off-by: Michał Matczuk <michal@scylladb.com>
This commit is contained in:
committed by
Michal Jan Matczuk
parent
ab279e68ed
commit
95d96fa939
125
iterx_test.go
125
iterx_test.go
@@ -49,11 +49,11 @@ func TestStruct(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
|
||||
if err := ExecStmt(session, `CREATE TYPE gocqlx_test.FullName (first_Name text, last_name text)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TYPE gocqlx_test.FullName (first_Name text, last_name text)`); err != nil {
|
||||
t.Fatal("create type:", err)
|
||||
}
|
||||
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.struct_table (
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.struct_table (
|
||||
testuuid timeuuid PRIMARY KEY,
|
||||
testtimestamp timestamp,
|
||||
testvarchar varchar,
|
||||
@@ -123,7 +123,9 @@ func TestStruct(t *testing.T) {
|
||||
Testptrudt: FullNamePtrUDT{FullName: &FullName{FirstName: "John", LastName: "Doe"}},
|
||||
}
|
||||
|
||||
if err := gocqlx.Query(session.Query(`INSERT INTO struct_table (testuuid, testtimestamp, testvarchar, testbigint, testblob, testbool, testfloat,testdouble, testint, testdecimal, testlist, testset, testmap, testvarint, testinet, testcustom, testudt, testptrudt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`), nil).Bind(
|
||||
const stmt = `INSERT INTO struct_table (testuuid, testtimestamp, testvarchar, testbigint, testblob, testbool, testfloat,testdouble, testint, testdecimal, testlist, testset, testmap, testvarint, testinet, testcustom, testudt, testptrudt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
|
||||
if err := session.Query(stmt, nil).Bind(
|
||||
m.Testuuid,
|
||||
m.Testtimestamp,
|
||||
m.Testvarchar,
|
||||
@@ -141,13 +143,13 @@ func TestStruct(t *testing.T) {
|
||||
m.Testinet,
|
||||
m.Testcustom,
|
||||
m.Testudt,
|
||||
m.Testptrudt).Exec(); err != nil {
|
||||
m.Testptrudt).ExecRelease(); err != nil {
|
||||
t.Fatal("insert:", err)
|
||||
}
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
var v StructTable
|
||||
if err := gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Get(&v); err != nil {
|
||||
if err := session.Query(`SELECT * FROM struct_table`, nil).Get(&v); err != nil {
|
||||
t.Fatal("get failed", err)
|
||||
}
|
||||
|
||||
@@ -158,7 +160,7 @@ func TestStruct(t *testing.T) {
|
||||
|
||||
t.Run("select", func(t *testing.T) {
|
||||
var v []StructTable
|
||||
if err := gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT * FROM struct_table`, nil).Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -173,7 +175,7 @@ func TestStruct(t *testing.T) {
|
||||
|
||||
t.Run("select ptr", func(t *testing.T) {
|
||||
var v []*StructTable
|
||||
if err := gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT * FROM struct_table`, nil).Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -192,7 +194,7 @@ func TestStruct(t *testing.T) {
|
||||
n int
|
||||
)
|
||||
|
||||
i := gocqlx.Query(session.Query(`SELECT * FROM struct_table`), nil).Iter()
|
||||
i := session.Query(`SELECT * FROM struct_table`, nil).Iter()
|
||||
for i.StructScan(&v) {
|
||||
n++
|
||||
}
|
||||
@@ -212,18 +214,18 @@ func TestStruct(t *testing.T) {
|
||||
func TestScannable(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.scannable_table (testfullname text PRIMARY KEY)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.scannable_table (testfullname text PRIMARY KEY)`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
m := FullName{"John", "Doe"}
|
||||
|
||||
if err := session.Query(`INSERT INTO scannable_table (testfullname) values (?)`, m).Exec(); err != nil {
|
||||
if err := session.Query(`INSERT INTO scannable_table (testfullname) values (?)`, nil).Bind(m).Exec(); err != nil {
|
||||
t.Fatal("insert:", err)
|
||||
}
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
var v FullName
|
||||
if err := gocqlx.Query(session.Query(`SELECT testfullname FROM scannable_table`), nil).Get(&v); err != nil {
|
||||
if err := session.Query(`SELECT testfullname FROM scannable_table`, nil).Get(&v); err != nil {
|
||||
t.Fatal("get failed", err)
|
||||
}
|
||||
|
||||
@@ -234,7 +236,7 @@ func TestScannable(t *testing.T) {
|
||||
|
||||
t.Run("select", func(t *testing.T) {
|
||||
var v []FullName
|
||||
if err := gocqlx.Query(session.Query(`SELECT testfullname FROM scannable_table`), nil).Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT testfullname FROM scannable_table`, nil).Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -249,7 +251,7 @@ func TestScannable(t *testing.T) {
|
||||
|
||||
t.Run("select ptr", func(t *testing.T) {
|
||||
var v []*FullName
|
||||
if err := gocqlx.Query(session.Query(`SELECT testfullname FROM scannable_table`), nil).Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT testfullname FROM scannable_table`, nil).Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -266,19 +268,19 @@ func TestScannable(t *testing.T) {
|
||||
func TestStructOnly(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.struct_only_table (first_name text, last_name text, PRIMARY KEY (first_name, last_name))`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.struct_only_table (first_name text, last_name text, PRIMARY KEY (first_name, last_name))`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
|
||||
m := FullName{"John", "Doe"}
|
||||
|
||||
if err := session.Query(`INSERT INTO struct_only_table (first_name, last_name) values (?, ?)`, m.FirstName, m.LastName).Exec(); err != nil {
|
||||
if err := session.Query(`INSERT INTO struct_only_table (first_name, last_name) values (?, ?)`, nil).Bind(m.FirstName, m.LastName).Exec(); err != nil {
|
||||
t.Fatal("insert:", err)
|
||||
}
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
var v FullName
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_table`)).StructOnly().Get(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_table`, nil).Iter().StructOnly().Get(&v); err != nil {
|
||||
t.Fatal("get failed", err)
|
||||
}
|
||||
|
||||
@@ -289,7 +291,7 @@ func TestStructOnly(t *testing.T) {
|
||||
|
||||
t.Run("select", func(t *testing.T) {
|
||||
var v []FullName
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_table`)).StructOnly().Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_table`, nil).Iter().StructOnly().Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -304,7 +306,7 @@ func TestStructOnly(t *testing.T) {
|
||||
|
||||
t.Run("select ptr", func(t *testing.T) {
|
||||
var v []*FullName
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_table`)).StructOnly().Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_table`, nil).Iter().StructOnly().Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -319,7 +321,7 @@ func TestStructOnly(t *testing.T) {
|
||||
|
||||
t.Run("get error", func(t *testing.T) {
|
||||
var v FullName
|
||||
err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_table`)).Get(&v)
|
||||
err := session.Query(`SELECT first_name, last_name FROM struct_only_table`, nil).Get(&v)
|
||||
if err == nil || !strings.HasPrefix(err.Error(), "expected 1 column in result") {
|
||||
t.Fatal("get expected validation error got", err)
|
||||
}
|
||||
@@ -327,7 +329,7 @@ func TestStructOnly(t *testing.T) {
|
||||
|
||||
t.Run("select error", func(t *testing.T) {
|
||||
var v []FullName
|
||||
err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_table`)).Select(&v)
|
||||
err := session.Query(`SELECT first_name, last_name FROM struct_only_table`, nil).Select(&v)
|
||||
if err == nil || !strings.HasPrefix(err.Error(), "expected 1 column in result") {
|
||||
t.Fatal("select expected validation error got", err)
|
||||
}
|
||||
@@ -337,7 +339,7 @@ func TestStructOnly(t *testing.T) {
|
||||
func TestStructOnlyUDT(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.struct_only_udt_table (first_name text, last_name text, PRIMARY KEY (first_name, last_name))`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.struct_only_udt_table (first_name text, last_name text, PRIMARY KEY (first_name, last_name))`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
|
||||
@@ -348,13 +350,13 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
if err := session.Query(`INSERT INTO struct_only_udt_table (first_name, last_name) values (?, ?)`, m.FirstName, m.LastName).Exec(); err != nil {
|
||||
if err := session.Query(`INSERT INTO struct_only_udt_table (first_name, last_name) values (?, ?)`, nil).Bind(m.FirstName, m.LastName).Exec(); err != nil {
|
||||
t.Fatal("insert:", err)
|
||||
}
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
var v FullNameUDT
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`)).StructOnly().Get(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`, nil).Iter().StructOnly().Get(&v); err != nil {
|
||||
t.Fatal("get failed", err)
|
||||
}
|
||||
|
||||
@@ -365,7 +367,7 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
|
||||
t.Run("select", func(t *testing.T) {
|
||||
var v []FullNameUDT
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`)).StructOnly().Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`, nil).Iter().StructOnly().Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -380,7 +382,7 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
|
||||
t.Run("select ptr", func(t *testing.T) {
|
||||
var v []*FullNameUDT
|
||||
if err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`)).StructOnly().Select(&v); err != nil {
|
||||
if err := session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`, nil).Iter().StructOnly().Select(&v); err != nil {
|
||||
t.Fatal("select failed", err)
|
||||
}
|
||||
|
||||
@@ -395,7 +397,7 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
|
||||
t.Run("get error", func(t *testing.T) {
|
||||
var v FullNameUDT
|
||||
err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`)).Get(&v)
|
||||
err := session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`, nil).Get(&v)
|
||||
if err == nil || !strings.HasPrefix(err.Error(), "expected 1 column in result") {
|
||||
t.Fatal("get expected validation error got", err)
|
||||
}
|
||||
@@ -403,7 +405,7 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
|
||||
t.Run("select error", func(t *testing.T) {
|
||||
var v []FullNameUDT
|
||||
err := gocqlx.Iter(session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`)).Select(&v)
|
||||
err := session.Query(`SELECT first_name, last_name FROM struct_only_udt_table`, nil).Select(&v)
|
||||
if err == nil || !strings.HasPrefix(err.Error(), "expected 1 column in result") {
|
||||
t.Fatal("select expected validation error got", err)
|
||||
}
|
||||
@@ -413,10 +415,10 @@ func TestStructOnlyUDT(t *testing.T) {
|
||||
func TestUnsafe(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.unsafe_table (testtext text PRIMARY KEY, testtextunbound text)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.unsafe_table (testtext text PRIMARY KEY, testtextunbound text)`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
if err := session.Query(`INSERT INTO unsafe_table (testtext, testtextunbound) values (?, ?)`, "test", "test").Exec(); err != nil {
|
||||
if err := session.Query(`INSERT INTO unsafe_table (testtext, testtextunbound) values (?, ?)`, nil).Bind("test", "test").Exec(); err != nil {
|
||||
t.Fatal("insert:", err)
|
||||
}
|
||||
|
||||
@@ -426,16 +428,16 @@ func TestUnsafe(t *testing.T) {
|
||||
|
||||
t.Run("safe get", func(t *testing.T) {
|
||||
var v UnsafeTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM unsafe_table`))
|
||||
if err := i.Get(&v); err == nil || err.Error() != "missing destination name \"testtextunbound\" in gocqlx_test.UnsafeTable" {
|
||||
err := session.Query(`SELECT * FROM unsafe_table`, nil).Get(&v)
|
||||
if err == nil || err.Error() != "missing destination name \"testtextunbound\" in gocqlx_test.UnsafeTable" {
|
||||
t.Fatal("expected ErrNotFound", "got", err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("safe select", func(t *testing.T) {
|
||||
var v []UnsafeTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM unsafe_table`))
|
||||
if err := i.Select(&v); err == nil || err.Error() != "missing destination name \"testtextunbound\" in gocqlx_test.UnsafeTable" {
|
||||
err := session.Query(`SELECT * FROM unsafe_table`, nil).Select(&v)
|
||||
if err == nil || err.Error() != "missing destination name \"testtextunbound\" in gocqlx_test.UnsafeTable" {
|
||||
t.Fatal("expected ErrNotFound", "got", err)
|
||||
}
|
||||
if cap(v) > 0 {
|
||||
@@ -445,8 +447,8 @@ func TestUnsafe(t *testing.T) {
|
||||
|
||||
t.Run("unsafe get", func(t *testing.T) {
|
||||
var v UnsafeTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM unsafe_table`))
|
||||
if err := i.Unsafe().Get(&v); err != nil {
|
||||
err := session.Query(`SELECT * FROM unsafe_table`, nil).Iter().Unsafe().Get(&v)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if v.Testtext != "test" {
|
||||
@@ -456,8 +458,8 @@ func TestUnsafe(t *testing.T) {
|
||||
|
||||
t.Run("unsafe select", func(t *testing.T) {
|
||||
var v []UnsafeTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM unsafe_table`))
|
||||
if err := i.Unsafe().Select(&v); err != nil {
|
||||
err := session.Query(`SELECT * FROM unsafe_table`, nil).Iter().Unsafe().Select(&v)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(v) != 1 {
|
||||
@@ -470,10 +472,12 @@ func TestUnsafe(t *testing.T) {
|
||||
|
||||
t.Run("DefaultUnsafe select", func(t *testing.T) {
|
||||
gocqlx.DefaultUnsafe = true
|
||||
defer func() { gocqlx.DefaultUnsafe = false }()
|
||||
defer func() {
|
||||
gocqlx.DefaultUnsafe = false
|
||||
}()
|
||||
var v []UnsafeTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM unsafe_table`))
|
||||
if err := i.Select(&v); err != nil {
|
||||
err := session.Query(`SELECT * FROM unsafe_table`, nil).Iter().Select(&v)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(v) != 1 {
|
||||
@@ -488,7 +492,7 @@ func TestUnsafe(t *testing.T) {
|
||||
func TestNotFound(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.not_found_table (testtext text PRIMARY KEY)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.not_found_table (testtext text PRIMARY KEY)`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
|
||||
@@ -498,9 +502,7 @@ func TestNotFound(t *testing.T) {
|
||||
|
||||
t.Run("get cql error", func(t *testing.T) {
|
||||
var v NotFoundTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM not_found_table WRONG`).RetryPolicy(nil))
|
||||
|
||||
err := i.Get(&v)
|
||||
err := session.Query(`SELECT * FROM not_found_table WRONG`, nil).RetryPolicy(nil).Get(&v)
|
||||
if err == nil || !strings.Contains(err.Error(), "WRONG") {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -508,17 +510,15 @@ func TestNotFound(t *testing.T) {
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
var v NotFoundTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM not_found_table`))
|
||||
if err := i.Get(&v); err != gocql.ErrNotFound {
|
||||
err := session.Query(`SELECT * FROM not_found_table`, nil).Get(&v)
|
||||
if err != gocql.ErrNotFound {
|
||||
t.Fatal("expected ErrNotFound", "got", err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("select cql error", func(t *testing.T) {
|
||||
var v []NotFoundTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM not_found_table WRONG`).RetryPolicy(nil))
|
||||
|
||||
err := i.Select(&v)
|
||||
err := session.Query(`SELECT * FROM not_found_table WRONG`, nil).RetryPolicy(nil).Select(&v)
|
||||
if err == nil || !strings.Contains(err.Error(), "WRONG") {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -526,8 +526,8 @@ func TestNotFound(t *testing.T) {
|
||||
|
||||
t.Run("select", func(t *testing.T) {
|
||||
var v []NotFoundTable
|
||||
i := gocqlx.Iter(session.Query(`SELECT * FROM not_found_table`))
|
||||
if err := i.Select(&v); err != nil {
|
||||
err := session.Query(`SELECT * FROM not_found_table`, nil).Select(&v)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if cap(v) > 0 {
|
||||
@@ -539,7 +539,7 @@ func TestNotFound(t *testing.T) {
|
||||
func TestErrorOnNil(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.nil_table (testtext text PRIMARY KEY)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.nil_table (testtext text PRIMARY KEY)`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
|
||||
@@ -549,19 +549,19 @@ func TestErrorOnNil(t *testing.T) {
|
||||
)
|
||||
|
||||
t.Run("get", func(t *testing.T) {
|
||||
err := gocqlx.Iter(session.Query(stmt)).Get(nil)
|
||||
err := session.Query(stmt, nil).Get(nil)
|
||||
if err == nil || err.Error() != golden {
|
||||
t.Fatalf("Get()=%q expected %q error", err, golden)
|
||||
}
|
||||
})
|
||||
t.Run("select", func(t *testing.T) {
|
||||
err := gocqlx.Iter(session.Query(stmt)).Select(nil)
|
||||
err := session.Query(stmt, nil).Select(nil)
|
||||
if err == nil || err.Error() != golden {
|
||||
t.Fatalf("Select()=%q expected %q error", err, golden)
|
||||
}
|
||||
})
|
||||
t.Run("struct scan", func(t *testing.T) {
|
||||
i := gocqlx.Iter(session.Query(stmt))
|
||||
i := session.Query(stmt, nil).Iter()
|
||||
i.StructScan(nil)
|
||||
err := i.Close()
|
||||
if err == nil || err.Error() != golden {
|
||||
@@ -573,14 +573,14 @@ func TestErrorOnNil(t *testing.T) {
|
||||
func TestPaging(t *testing.T) {
|
||||
session := CreateSession(t)
|
||||
defer session.Close()
|
||||
if err := ExecStmt(session, `CREATE TABLE gocqlx_test.paging_table (id int PRIMARY KEY, val int)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE TABLE gocqlx_test.paging_table (id int PRIMARY KEY, val int)`); err != nil {
|
||||
t.Fatal("create table:", err)
|
||||
}
|
||||
if err := ExecStmt(session, `CREATE INDEX id_val_index ON gocqlx_test.paging_table (val)`); err != nil {
|
||||
if err := session.ExecStmt(`CREATE INDEX id_val_index ON gocqlx_test.paging_table (val)`); err != nil {
|
||||
t.Fatal("create index:", err)
|
||||
}
|
||||
stmt, names := qb.Insert("gocqlx_test.paging_table").Columns("id", "val").ToCql()
|
||||
q := gocqlx.Query(session.Query(stmt), names)
|
||||
|
||||
q := session.Query(qb.Insert("gocqlx_test.paging_table").Columns("id", "val").ToCql())
|
||||
for i := 0; i < 5000; i++ {
|
||||
if err := q.Bind(i, i).Exec(); err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -597,12 +597,13 @@ func TestPaging(t *testing.T) {
|
||||
Where(qb.Lt("val")).
|
||||
AllowFiltering().
|
||||
Columns("id", "val").ToCql()
|
||||
it := gocqlx.Query(session.Query(stmt, 100).PageSize(10), names).Iter()
|
||||
defer it.Close()
|
||||
iter := session.Query(stmt, names).Bind(100).PageSize(10).Iter()
|
||||
defer iter.Close()
|
||||
|
||||
var cnt int
|
||||
for {
|
||||
p := &Paging{}
|
||||
if !it.StructScan(p) {
|
||||
if !iter.StructScan(p) {
|
||||
break
|
||||
}
|
||||
cnt++
|
||||
|
||||
Reference in New Issue
Block a user