本文整理汇总了Golang中github.com/gocql/gocql.TimeUUID函数的典型用法代码示例。如果您正苦于以下问题:Golang TimeUUID函数的具体用法?Golang TimeUUID怎么用?Golang TimeUUID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了TimeUUID函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestStructToMap
func TestStructToMap(t *testing.T) {
//Test that if the value is not a struct we return nil, false
m, ok := StructToMap("str")
if m != nil {
t.Error("map is not nil when val is a string")
}
if ok {
t.Error("ok result from StructToMap when the val is a string")
}
tweet := Tweet{
"t",
gocql.TimeUUID(),
"ignored",
"hello gocassa",
nil,
}
m, ok = StructToMap(tweet)
if !ok {
t.Error("ok is false for a tweet")
}
if m["Timeline"] != tweet.Timeline {
t.Errorf("Expected %s but got %s", tweet.Timeline, m["Timeline"])
}
if m["id"] != tweet.ID {
t.Errorf("Expected %s but got %s", tweet.ID, m["id"])
}
if m["Text"] != tweet.Text {
t.Errorf("Expected %s but got %s", tweet.Text, m["Text"])
}
if m["OriginalTweet"] != tweet.OriginalTweet {
t.Errorf("Expected %v but got %s", tweet.OriginalTweet, m["OriginalTweet"])
}
if _, ok := m["Ignore"]; ok {
t.Errorf("Igonred should be empty but got %s instead", m["Ignored"])
}
id := gocql.TimeUUID()
tweet.OriginalTweet = &id
m, _ = StructToMap(tweet)
if m["OriginalTweet"] != tweet.OriginalTweet {
t.Errorf("Expected nil but got %s", m["OriginalTweet"])
}
}
示例2: main
func main() {
session := integration.TestSession("127.0.0.1", "cqlc")
integration.Truncate(session, EVENTS)
result := "FAILED"
ctx := cqlc.NewContext()
var sensorId int64 = 100
ctx.Upsert(EVENTS).
SetInt64(EVENTS.SENSOR, sensorId).
SetTimeUUID(EVENTS.TIMESTAMP, gocql.TimeUUID()).
SetFloat32(EVENTS.TEMPERATURE, 19.8).
SetInt32(EVENTS.PRESSURE, 357).
Exec(session)
iter, err := ctx.Select().
From(EVENTS).
Where(
EVENTS.SENSOR.Eq(sensorId),
EVENTS.TIMESTAMP.Lt(gocql.TimeUUID())).
Fetch(session)
if err != nil {
log.Fatalf("Could not execute query: %v", err)
return
}
events, err := BindEvents(iter)
if err != nil {
log.Fatalf("Could not bind data: %v", err)
return
}
err = iter.Close()
if err != nil {
log.Fatalf("Could not bind data: %v", err)
return
}
if len(events) == 1 {
result = "PASSED"
}
os.Stdout.WriteString(result)
}
示例3: TestFieldsAndValues
func TestFieldsAndValues(t *testing.T) {
var emptyUUID gocql.UUID
id := gocql.TimeUUID()
var nilID *gocql.UUID
var tests = []struct {
tweet Tweet
fields []string
values []interface{}
}{
{
Tweet{},
[]string{"Timeline", "id", "Text", "OriginalTweet"},
[]interface{}{"", emptyUUID, "", nilID},
},
{
Tweet{"timeline1", id, "ignored", "hello gocassa", &id},
[]string{"Timeline", "id", "Text", "OriginalTweet"},
[]interface{}{"timeline1", id, "hello gocassa", &id},
},
}
for _, test := range tests {
fields, values, _ := FieldsAndValues(test.tweet)
assertFieldsEqual(t, test.fields, fields)
assertValuesEqual(t, test.values, values)
}
}
示例4: Save
func (asset *Asset) Save(session *gocql.Session) error {
if asset.Id.Timestamp() == 0 {
asset.Id = gocql.TimeUUID()
if err := session.Query(`INSERT INTO assets (id, name, path, contenttype, createdat, binary) VALUES (?, ?, ?, ?, ?, ?)`,
asset.Id, asset.Name, strings.Join(asset.Path, ","), asset.ContentType, asset.CreatedAt, asset.Binary).Exec(); err != nil {
glog.Fatal(err)
return err
}
if err := session.Query(`INSERT INTO assetbypaths (path, id, name) VALUES (?, ?, ?)`,
strings.Join(asset.Path, ","), asset.Id, asset.Name).Exec(); err != nil {
glog.Fatal(err)
return err
}
return nil
} else {
if err := session.Query(`UPDATE assets SET name = ?, path = ?, contenttype = ? WHERE id = ?`,
asset.Name, strings.Join(asset.Path, ","), asset.ContentType, asset.Id).Exec(); err != nil {
glog.Fatal(err)
return err
}
if err := session.Query(`UPDATE assetbypaths SET name = ?, path = ? WHERE id = ?`,
asset.Name, strings.Join(asset.Path, ","), asset.Id).Exec(); err != nil {
glog.Fatal(err)
return err
}
return nil
}
}
示例5: NewTweet
func NewTweet(timeLine, text string) (tw *Tweet) {
tw = new(Tweet)
tw.Timeline = timeLine
tw.Text = text
tw.Id = gocql.TimeUUID()
return
}
示例6: main
func main() {
session := integration.TestSession("127.0.0.1", "cqlc")
session.SetPageSize(1000)
integration.Truncate(session, EVENTS)
result := "FAILED"
ctx := cqlc.NewContext()
batch := gocql.NewBatch(gocql.LoggedBatch)
rounds := 10
distinct := 10
for i := 0; i < rounds; i++ {
for j := 0; j < distinct; j++ {
ctx.Upsert(EVENTS).
SetInt64(EVENTS.SENSOR, int64(j)).
SetTimeUUID(EVENTS.TIMESTAMP, gocql.TimeUUID()).
SetFloat32(EVENTS.TEMPERATURE, 19.8).
SetInt32(EVENTS.PRESSURE, 357).
Batch(batch)
}
}
err := session.ExecuteBatch(batch)
if err != nil {
log.Fatalf("Could not execute batch: %v", err)
os.Exit(1)
}
iter, err := ctx.SelectDistinct(EVENTS.SENSOR).From(EVENTS).Fetch(session)
if err != nil {
log.Fatalf("Could not prepare query: %v", err)
os.Exit(1)
}
count := 0
MapEvents(iter, func(e Events) (bool, error) {
count++
return true, nil
})
if err := iter.Close(); err != nil {
log.Fatalf("Could not close iterator: %v", err)
os.Exit(1)
}
if count == distinct {
result = "PASSED"
} else {
result = fmt.Sprintf("Expected %d distinct rows; got %d", distinct, count)
}
os.Stdout.WriteString(result)
}
示例7: InsertCachedComment
func (querier Querier) InsertCachedComment(id, htmlString string) error {
if err := querier.Session.Query(`INSERT INTO caches (id, post_id, content) VALUES (?, ?, ?)`,
gocql.TimeUUID(),
id,
htmlString).Exec(); err != nil {
return err
}
return nil
}
示例8: TestHighLevelAPIOnly
func TestHighLevelAPIOnly(t *testing.T) {
type Message struct {
Identifier gocql.UUID
Epoch int64
User string
Payload []byte
}
strat := map[string]string{
"id": "Identifier",
"unix": "Epoch",
"usr": "User",
"msg": "Payload",
}
s := setup(t, "queue")
msgs := 163
for i := 0; i < msgs; i++ {
msg := make([]byte, 64)
_, err := rand.Read(msg)
if err != nil {
t.Fatal(err)
}
m := Message{
Identifier: gocql.TimeUUID(),
Epoch: time.Now().Unix(),
User: "deamon",
Payload: msg,
}
if err := Bind(`INSERT INTO queue (id, unix, usr, msg) VALUES (?, ?, ?, ?)`, m).Map(strat).Exec(s); err != nil {
t.Fatal(err)
}
}
q := s.Query(`SELECT id, unix, usr, msg FROM queue`)
b := BindQuery(q).Map(strat)
count := 0
var m Message
for b.Scan(&m) {
count++
assert.Equal(t, "deamon", m.User)
}
err := b.Close()
assert.Nil(t, err, "Could not close binding")
assert.Equal(t, msgs, count)
}
示例9: Save
func (this *Tweet) Save() error {
session, _ := db.cluster.CreateSession()
defer session.Close()
query := `INSERT INTO tweets (id, user, body) VALUES (?, ?, ?)`
if err := session.Query(query, gocql.TimeUUID(), this.User, this.Body).Exec(); err != nil {
return err
}
return nil
}
示例10: Failure
// Report failure stats to cassandra.
func (stat ValkyrieCassandraStats) Failure(err error, clientId, serviceId string) error {
hour := timestamp(HOUR)
id := gocql.TimeUUID()
insertStmt := "INSERT INTO request_errors (hour, client_id, service_id, id, reason) VALUES (?, ?, ?, ?, ?)"
e := stat.session.Query(insertStmt, hour, clientId, serviceId, id, err.Error()).Exec()
if e != nil {
log.Println(e)
return e
}
return nil
}
示例11: Trace
// Report trace stats to cassandra.
func (stat ValkyrieCassandraStats) Trace(event string, start, end time.Time, duration time.Duration) error {
hour := timestamp(HOUR)
id := gocql.TimeUUID()
insertStmt := "INSERT INTO traces (hour, event, start, end, duration, id) VALUES (?, ?, ?, ?, ?, ?)"
err := stat.session.Query(insertStmt, hour, event, start, end, duration.Nanoseconds(), id).Exec()
if err != nil {
log.Println(err)
return err
}
return nil
}
示例12: InsertSub
func (querier Querier) InsertSub(subName string) error {
if err := querier.Session.Query(`INSERT INTO subs (id, name, subscribers, created_at, updated_at) VALUES (?, ?, ?, ?, ?)`,
gocql.TimeUUID(),
subName,
0,
time.Now(),
time.Now()).Exec(); err != nil {
return err
}
return nil
}
示例13: GeneralFailure
// Report general failure stats to cassandra.
func (stat ValkyrieCassandraStats) GeneralFailure(err error) error {
hour := timestamp(HOUR)
id := gocql.TimeUUID()
insertStmt := "INSERT INTO errors (hour, id, reason) VALUES (?, ?, ?)"
e := stat.session.Query(insertStmt, hour, id, err.Error()).Exec()
if e != nil {
log.Println(e)
return e
}
return nil
}
示例14: SetupSuite
func (suite *ExamplesSuite) SetupSuite() {
suite.id = gocql.TimeUUID()
suite.executeTemplate(upTemplate)
cluster := gocql.NewCluster(cassandraConfig.Hosts...)
cluster.Keyspace = cassandraConfig.Keyspace
if session, sessionErr := cluster.CreateSession(); nil == sessionErr {
suite.session = session
} else {
panic(sessionErr.Error())
}
}
示例15: TestInsert
//-----------------------------------------------------------------------------
// Test
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Insert
//-----------------------------------------------------------------------------
func TestInsert(t *testing.T) {
db := GetCass()
//INSERT
sql := `INSERT INTO t_users
(id, first_name, last_name, email, password, age, created_at, updated_at)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?)`
err := db.Session.Query(sql, gocql.TimeUUID(), "taro", "yamada", "[email protected]", "aaaa", 24, time.Now(), time.Now()).Exec()
if err != nil {
t.Errorf("INSERT error: %s", err)
}
}