// Create a new context with a timeout of 5 seconds timeoutCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() // Create a new context with a deadline of 10 seconds from now deadline := time.Now().Add(10 * time.Second) deadlineCtx, cancel := context.WithDeadline(context.Background(), deadline) defer cancel() // Create a new context with a cancellation function cancelCtx, cancel := context.WithCancel(context.Background()) defer cancel() // Use a context to execute a database query rows, err := db.QueryContext(ctx, "SELECT * FROM users WHERE age > ?", age)In these examples, we are creating new contexts with different functionality (timeout, deadline, and cancellation) and using them to execute a database query. The package provides a lot of flexibility in terms of creating contexts with different properties. In conclusion, the github.com.pingcap.tidb.context package is a context library for TiDB's execution engine. It provides a safe and efficient way to propagate metadata between different stages of query execution.