Skip to content

Commit 4dd2b6c

Browse files
committed
Remove statement cacher (fix src-d#263)
1 parent 6617f83 commit 4dd2b6c

File tree

5 files changed

+6
-148
lines changed

5 files changed

+6
-148
lines changed

generator/templates/model.tgo

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,6 @@ func (s *{{.StoreName}}) DebugWith(logger kallax.LoggerFunc) *{{.StoreName}} {
118118
return &{{.StoreName}}{s.Store.DebugWith(logger)}
119119
}
120120

121-
// DisableCacher turns off prepared statements, which can be useful in some scenarios.
122-
func (s *{{.StoreName}}) DisableCacher() *{{.StoreName}} {
123-
return &{{.StoreName}}{s.Store.DisableCacher()}
124-
}
125-
126121
{{if .HasNonInverses}}
127122
func (s *{{.StoreName}}) relationshipRecords(record *{{.Name}}) []modelSaveFunc {
128123
var result []modelSaveFunc

store.go

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -128,26 +128,20 @@ func (r *txRunner) QueryRow(query string, args ...interface{}) squirrel.RowScann
128128
type Store struct {
129129
db squirrel.DBProxyContext
130130
runner squirrel.DBProxyContext
131-
useCacher bool
132131
logger LoggerFunc
133132
}
134133

135134
// NewStore returns a new Store instance.
136135
func NewStore(db *sql.DB) *Store {
137136
return (&Store{
138137
db: &dbRunner{db},
139-
useCacher: true,
140138
}).init()
141139
}
142140

143-
// init initializes the store runner with debugging or caching, and returns itself for chainability
141+
// init initializes the store runner with debugging and returns itself for chainability
144142
func (s *Store) init() *Store {
145143
s.runner = s.db
146144

147-
if s.useCacher {
148-
s.runner = squirrel.NewStmtCacher(s.db)
149-
}
150-
151145
if s.logger != nil {
152146
s.runner = &proxyLogger{logger: s.logger, DBProxyContext: s.runner}
153147
}
@@ -166,20 +160,10 @@ func (s *Store) Debug() *Store {
166160
func (s *Store) DebugWith(logger LoggerFunc) *Store {
167161
return (&Store{
168162
db: s.db,
169-
useCacher: s.useCacher,
170163
logger: logger,
171164
}).init()
172165
}
173166

174-
// DisableCacher returns a new store with prepared statements turned off, which can be useful in some scenarios.
175-
func (s *Store) DisableCacher() *Store {
176-
return (&Store{
177-
db: s.db,
178-
logger: s.logger,
179-
useCacher: false,
180-
}).init()
181-
}
182-
183167
// Insert insert the given record in the table, returns error if no-new
184168
// record is given. The record id is set if it's empty.
185169
func (s *Store) Insert(schema Schema, record Record) error {
@@ -494,7 +478,6 @@ func (s *Store) Transaction(callback func(*Store) error) error {
494478
txStore := (&Store{
495479
db: &txRunner{tx},
496480
logger: s.logger,
497-
useCacher: s.useCacher,
498481
}).init()
499482

500483
if err := callback(txStore); err != nil {

store_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ func (s *StoreSuite) TestDebugWith() {
257257
queries = append(queries, q)
258258
}
259259
s.store.DebugWith(logger).RawQuery("SELECT 1 + 1")
260-
s.store.DisableCacher().DebugWith(logger).RawExec("UPDATE foo SET bar = 1")
260+
s.store.DebugWith(logger).RawExec("UPDATE foo SET bar = 1")
261261

262262
s.Regexp("kallax: Query: \\(\\d+\\.\\d+.+\\) SELECT 1 \\+ 1", queries[0])
263263
s.Regexp("kallax: Exec: \\(\\d+\\.\\d+.+\\) UPDATE foo SET bar = 1", queries[1])

tests/kallax.go

Lines changed: 0 additions & 120 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)