diff --git a/qb/cmp_test.go b/qb/cmp_test.go index 28654a6..d39bc29 100644 --- a/qb/cmp_test.go +++ b/qb/cmp_test.go @@ -31,7 +31,7 @@ func TestCmp(t *testing.T) { { C: NeTuple("ne", 3), S: "ne!=(?,?,?)", - N: []string{"ne_0", "ne_1", "ne_2"}, + N: []string{"ne[0]", "ne[1]", "ne[2]"}, }, { C: Lt("lt"), @@ -41,7 +41,7 @@ func TestCmp(t *testing.T) { { C: LtTuple("lt", 2), S: "lt<(?,?)", - N: []string{"lt_0", "lt_1"}, + N: []string{"lt[0]", "lt[1]"}, }, { C: LtOrEq("lt"), @@ -51,7 +51,7 @@ func TestCmp(t *testing.T) { { C: LtOrEqTuple("lt", 2), S: "lt<=(?,?)", - N: []string{"lt_0", "lt_1"}, + N: []string{"lt[0]", "lt[1]"}, }, { C: Gt("gt"), @@ -61,7 +61,7 @@ func TestCmp(t *testing.T) { { C: GtTuple("gt", 2), S: "gt>(?,?)", - N: []string{"gt_0", "gt_1"}, + N: []string{"gt[0]", "gt[1]"}, }, { C: GtOrEq("gt"), @@ -71,7 +71,7 @@ func TestCmp(t *testing.T) { { C: GtOrEqTuple("gt", 2), S: "gt>=(?,?)", - N: []string{"gt_0", "gt_1"}, + N: []string{"gt[0]", "gt[1]"}, }, { C: In("in"), @@ -81,7 +81,7 @@ func TestCmp(t *testing.T) { { C: InTuple("in", 2), S: "in IN (?,?)", - N: []string{"in_0", "in_1"}, + N: []string{"in[0]", "in[1]"}, }, { C: Contains("cnt"), @@ -91,7 +91,7 @@ func TestCmp(t *testing.T) { { C: ContainsTuple("cnt", 2), S: "cnt CONTAINS (?,?)", - N: []string{"cnt_0", "cnt_1"}, + N: []string{"cnt[0]", "cnt[1]"}, }, { C: ContainsKey("cntKey"), @@ -101,7 +101,7 @@ func TestCmp(t *testing.T) { { C: ContainsKeyTuple("cntKey", 2), S: "cntKey CONTAINS KEY (?,?)", - N: []string{"cntKey_0", "cntKey_1"}, + N: []string{"cntKey[0]", "cntKey[1]"}, }, { C: Like("like"), @@ -111,7 +111,7 @@ func TestCmp(t *testing.T) { { C: LikeTuple("like", 2), S: "like LIKE (?,?)", - N: []string{"like_0", "like_1"}, + N: []string{"like[0]", "like[1]"}, }, // Custom bind names @@ -163,7 +163,7 @@ func TestCmp(t *testing.T) { { C: LikeTupleNamed("like", 2, "name"), S: "like LIKE (?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, @@ -171,47 +171,47 @@ func TestCmp(t *testing.T) { { C: EqTupleNamed("eq", 2, "name"), S: "eq=(?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: NeTupleNamed("ne", 3, "name"), S: "ne!=(?,?,?)", - N: []string{"name_0", "name_1", "name_2"}, + N: []string{"name[0]", "name[1]", "name[2]"}, }, { C: LtTupleNamed("lt", 2, "name"), S: "lt<(?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: LtOrEqTupleNamed("lt", 2, "name"), S: "lt<=(?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: GtTupleNamed("gt", 2, "name"), S: "gt>(?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: GtOrEqTupleNamed("gt", 2, "name"), S: "gt>=(?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: InTupleNamed("in", 2, "name"), S: "in IN (?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: ContainsTupleNamed("cnt", 2, "name"), S: "cnt CONTAINS (?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, { C: ContainsKeyTupleNamed("cntKey", 2, "name"), S: "cntKey CONTAINS KEY (?,?)", - N: []string{"name_0", "name_1"}, + N: []string{"name[0]", "name[1]"}, }, // Literals diff --git a/qb/delete_test.go b/qb/delete_test.go index a95f59e..fd99b8a 100644 --- a/qb/delete_test.go +++ b/qb/delete_test.go @@ -47,19 +47,19 @@ func TestDeleteBuilder(t *testing.T) { { B: Delete("cycling.cyclist_name").Where(EqTuple("id", 2)).Columns("stars"), S: "DELETE stars FROM cycling.cyclist_name WHERE id=(?,?) ", - N: []string{"id_0", "id_1"}, + N: []string{"id[0]", "id[1]"}, }, // Add WHERE for tuple column { B: Delete("cycling.cyclist_name").Where(w, GtTuple("firstname", 2)), S: "DELETE FROM cycling.cyclist_name WHERE id=? AND firstname>(?,?) ", - N: []string{"expr", "firstname_0", "firstname_1"}, + N: []string{"expr", "firstname[0]", "firstname[1]"}, }, // Add WHERE for all tuple columns { B: Delete("cycling.cyclist_name").Where(EqTuple("id", 2), GtTuple("firstname", 2)), S: "DELETE FROM cycling.cyclist_name WHERE id=(?,?) AND firstname>(?,?) ", - N: []string{"id_0", "id_1", "firstname_0", "firstname_1"}, + N: []string{"id[0]", "id[1]", "firstname[0]", "firstname[1]"}, }, // Add IF { diff --git a/qb/insert_test.go b/qb/insert_test.go index 86d4132..5ea3b4e 100644 --- a/qb/insert_test.go +++ b/qb/insert_test.go @@ -113,12 +113,12 @@ func TestInsertBuilder(t *testing.T) { { B: Insert("cycling.cyclist_name").TupleColumn("id", 2), S: "INSERT INTO cycling.cyclist_name (id) VALUES ((?,?)) ", - N: []string{"id_0", "id_1"}, + N: []string{"id[0]", "id[1]"}, }, { B: Insert("cycling.cyclist_name").TupleColumn("id", 2).Columns("user_uuid"), S: "INSERT INTO cycling.cyclist_name (id,user_uuid) VALUES ((?,?),?) ", - N: []string{"id_0", "id_1", "user_uuid"}, + N: []string{"id[0]", "id[1]", "user_uuid"}, }, // Add IF NOT EXISTS { diff --git a/qb/select_test.go b/qb/select_test.go index 85d66ac..3afedea 100644 --- a/qb/select_test.go +++ b/qb/select_test.go @@ -70,13 +70,13 @@ func TestSelectBuilder(t *testing.T) { { B: Select("cycling.cyclist_name").Where(EqTuple("id", 2), Gt("firstname")), S: "SELECT * FROM cycling.cyclist_name WHERE id=(?,?) AND firstname>? ", - N: []string{"id_0", "id_1", "firstname"}, + N: []string{"id[0]", "id[1]", "firstname"}, }, // Add WHERE with only tuples { B: Select("cycling.cyclist_name").Where(EqTuple("id", 2), GtTuple("firstname", 2)), S: "SELECT * FROM cycling.cyclist_name WHERE id=(?,?) AND firstname>(?,?) ", - N: []string{"id_0", "id_1", "firstname_0", "firstname_1"}, + N: []string{"id[0]", "id[1]", "firstname[0]", "firstname[1]"}, }, // Add TIMEOUT { diff --git a/qb/update_test.go b/qb/update_test.go index 2ff61e5..0a9160b 100644 --- a/qb/update_test.go +++ b/qb/update_test.go @@ -48,7 +48,7 @@ func TestUpdateBuilder(t *testing.T) { { B: Update("cycling.cyclist_name").SetTuple("id", 2).Set("user_uuid", "firstname").Where(EqTuple("id", 2)), S: "UPDATE cycling.cyclist_name SET id=(?,?),user_uuid=?,firstname=? WHERE id=(?,?) ", - N: []string{"id_0", "id_1", "user_uuid", "firstname", "id_0", "id_1"}, + N: []string{"id[0]", "id[1]", "user_uuid", "firstname", "id[0]", "id[1]"}, }, // Add SET SetFunc { diff --git a/qb/value.go b/qb/value.go index 518ec3e..50947fc 100644 --- a/qb/value.go +++ b/qb/value.go @@ -32,16 +32,16 @@ type tupleParam struct { } func (t tupleParam) writeCql(cql *bytes.Buffer) (names []string) { - baseName := string(t.param) + "_" + baseName := string(t.param) cql.WriteByte('(') for i := 0; i < t.count-1; i++ { cql.WriteByte('?') cql.WriteByte(',') - names = append(names, baseName+strconv.Itoa(i)) + names = append(names, baseName+"["+strconv.Itoa(i)+"]") } cql.WriteByte('?') cql.WriteByte(')') - names = append(names, baseName+strconv.Itoa(t.count-1)) + names = append(names, baseName+"["+strconv.Itoa(t.count-1)+"]") return }