当前位置: 首页>>代码示例>>Golang>>正文


Golang Conn.Query方法代码示例

本文整理汇总了Golang中github.com/concourse/atc/db.Conn.Query方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.Query方法的具体用法?Golang Conn.Query怎么用?Golang Conn.Query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/concourse/atc/db.Conn的用法示例。


在下文中一共展示了Conn.Query方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1:

	It("passes through calls to the underlying connection", func() {
		countingConn.Ping()

		Expect(underlyingConn.PingCallCount()).To(Equal(1))
	})

	It("returns the return values from the underlying connection", func() {
		underlyingConn.PingReturns(errors.New("disaster"))

		err := countingConn.Ping()
		Expect(err).To(MatchError("disaster"))
	})

	Describe("query counting", func() {
		It("increments the global (;_;) counter", func() {
			_, err := countingConn.Query("SELECT $1::int", 1)
			Expect(err).NotTo(HaveOccurred())

			Expect(metric.DatabaseQueries.Max()).To(Equal(1))

			_, err = countingConn.Exec("SELECT $1::int", 1)
			Expect(err).NotTo(HaveOccurred())

			Expect(metric.DatabaseQueries.Max()).To(Equal(2))

			countingConn.QueryRow("SELECT $1::int", 1)

			Expect(metric.DatabaseQueries.Max()).To(Equal(3))

			By("working in transactions")
			underlyingTx := &fakes.FakeTx{}
开发者ID:pcfdev-forks,项目名称:atc,代码行数:31,代码来源:query_counter_test.go

示例2:

			postgresRunner.CreateTestDB()
			realConn = postgresRunner.Open()
			underlyingConn.QueryStub = func(query string, args ...interface{}) (*sql.Rows, error) {
				return realConn.Query(query, args...)
			}
		})

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

			postgresRunner.DropTestDB()
		})

		It("does not EXPLAIN the query", func() {
			rows, err := explainConn.Query("SELECT $1::int", 1)
			Ω(err).ShouldNot(HaveOccurred())

			err = rows.Close()
			Ω(err).ShouldNot(HaveOccurred())

			Ω(underlyingConn.QueryCallCount()).Should(Equal(1))

			query, args := underlyingConn.QueryArgsForCall(0)
			Ω(query).Should(Equal("SELECT $1::int"))
			Ω(args).Should(Equal(varargs(1)))
		})
	})

	Context("when the query takes more time than the timeout", func() {
		var realConn *sql.DB
开发者ID:utako,项目名称:atc,代码行数:31,代码来源:explain_db_test.go


注:本文中的github.com/concourse/atc/db.Conn.Query方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。