func create(ctx *cqlc.Context, s *gocql.Session, basic Basic) { err := ctx.Upsert(BASIC). SetString(BASIC.ID, basic.Id). SetInt32(BASIC.INT32_COLUMN, basic.Int32Column). SetInt64(BASIC.INT64_COLUMN, basic.Int64Column). SetFloat32(BASIC.FLOAT_COLUMN, basic.FloatColumn). SetFloat64(BASIC.DOUBLE_COLUMN, basic.DoubleColumn). SetString(BASIC.ASCII_COLUMN, basic.AsciiColumn). SetTimestamp(BASIC.TIMESTAMP_COLUMN, basic.TimestampColumn). SetUUID(BASIC.UUID_COLUMN, basic.UuidColumn). SetTimeUUID(BASIC.TIMEUUID_COLUMN, basic.TimeuuidColumn). SetBoolean(BASIC.BOOLEAN_COLUMN, basic.BooleanColumn). SetString(BASIC.TEXT_COLUMN, basic.TextColumn). SetString(BASIC.VARCHAR_COLUMN, basic.VarcharColumn). SetStringStringMap(BASIC.MAP_COLUMN, basic.MapColumn). SetStringSlice(BASIC.ARRAY_COLUMN, basic.ArrayColumn). SetStringSlice(BASIC.SET_COLUMN, basic.SetColumn). SetDecimal(BASIC.DECIMAL_COLUMN, basic.DecimalColumn). SetVarint(BASIC.VARINT_COLUMN, basic.VarintColumn). Exec(s) if err != nil { log.Fatalf("Could not execute query: %v", err) os.Exit(1) } }
func runWithContext(s *gocql.Session, ctx *cqlc.Context) string { result := "FAILED" shared := Shared{ Id: "foo", Value: "bar", } err := ctx.Store(SHARED.Bind(shared)).Exec(s) if err != nil { log.Fatalf("Could not store data: %v", err) os.Exit(1) } found, value := get(s, ctx, "foo") if found && value == "bar" { err := ctx.Upsert(SHARED).SetString(SHARED.VALUE, "baz").Where(SHARED.ID.Eq("foo")).Exec(s) if err != nil { log.Fatalf("Could not upsert row: %v", err) os.Exit(1) } found, value := get(s, ctx, "foo") if found && value == "baz" { err = ctx.Delete().From(SHARED).Where(SHARED.ID.Eq("foo")).Exec(s) if err != nil { log.Fatalf("Could not delete row: %v", err) os.Exit(1) } found, _ := get(s, ctx, "foo") if !found { result = "PASSED" } } } return result }
func upsert(ctx *cqlc.Context, s *gocql.Session, w WhenRowKey, t gocql.UUID, binding cqlc.ColumnBinding) error { return ctx.Upsert(w). Apply(binding). Where(w.WhenColumn().Eq(t)). Exec(s) }