瀏覽代碼

Merge pull request #877 from retailnext/fix-session-tracer

Fix session level tracer.
Chris Bannister 8 年之前
父節點
當前提交
2faf01b968
共有 2 個文件被更改,包括 11 次插入1 次删除
  1. 10 0
      cassandra_test.go
  2. 1 1
      control.go

+ 10 - 0
cassandra_test.go

@@ -173,6 +173,16 @@ func TestTracing(t *testing.T) {
 	} else if buf.Len() == 0 {
 		t.Fatal("select: failed to obtain any tracing")
 	}
+
+	// also works from session tracer
+	session.SetTrace(trace)
+	buf.Reset()
+	if err := session.Query(`SELECT id FROM trace WHERE id = ?`, 42).Scan(&value); err != nil {
+		t.Fatal("select:", err)
+	}
+	if buf.Len() == 0 {
+		t.Fatal("select: failed to obtain any tracing")
+	}
 }
 
 func TestPaging(t *testing.T) {

+ 1 - 1
control.go

@@ -402,7 +402,7 @@ func (c *controlConn) withConn(fn func(*Conn) *Iter) *Iter {
 
 // query will return nil if the connection is closed or nil
 func (c *controlConn) query(statement string, values ...interface{}) (iter *Iter) {
-	q := c.session.Query(statement, values...).Consistency(One).RoutingKey([]byte{})
+	q := c.session.Query(statement, values...).Consistency(One).RoutingKey([]byte{}).Trace(nil)
 
 	for {
 		iter = c.withConn(func(conn *Conn) *Iter {