示例#1
0
				return realConn.Query(query, args...)
			}

			underlyingConn.QueryRowStub = func(query string, args ...interface{}) *sql.Row {
				if !strings.HasPrefix(query, "EXPLAIN") {
					time.Sleep(120 * time.Millisecond)
				}

				return realConn.QueryRow(query, args...)
			}

			underlyingConn.ExecStub = func(query string, args ...interface{}) (sql.Result, error) {
				if !strings.HasPrefix(query, "EXPLAIN") {
					time.Sleep(120 * time.Millisecond)
				}

				return realConn.Exec(query, args...)
			}
		})

		AfterEach(func() {
			err := realConn.Close()
			Ω(err).ShouldNot(HaveOccurred())

			postgresRunner.DropTestDB()
		})

		Context("when the explain fails", func() {
			BeforeEach(func() {
				underlyingConn.QueryStub = func(query string, args ...interface{}) (*sql.Rows, error) {