Beispiel #1
0
func verifyNoActivity(db *pg.DB) error {
	var queries pg.Strings
	_, err := db.Query(&queries, `
		SELECT query FROM pg_stat_activity WHERE datname = 'test'
	`)
	if err != nil {
		return err
	}
	if len(queries) > 1 {
		return fmt.Errorf("there are %d active queries running: %#v", len(queries), queries)
	}
	return nil
}
Beispiel #2
0
	var db *pg.DB

	BeforeEach(func() {
		db = pg.Connect(pgOptions())
	})

	AfterEach(func() {
		Expect(db.Close()).NotTo(HaveOccurred())
	})

	It("supports slice of structs", func() {
		coll := []struct {
			Id int
		}{}
		_, err := db.Query(&coll, `
			WITH data (id) AS (VALUES (1), (2), (3))
			SELECT id FROM data
		`)
		Expect(err).NotTo(HaveOccurred())
		Expect(coll).To(HaveLen(3))
		Expect(coll[0].Id).To(Equal(1))
		Expect(coll[1].Id).To(Equal(2))
		Expect(coll[2].Id).To(Equal(3))
	})

	It("supports slice of pointers", func() {
		coll := []*struct {
			Id int
		}{}
		_, err := db.Query(&coll, `
			WITH data (id) AS (VALUES (1), (2), (3))
			SELECT id FROM data