@@ -137,13 +137,18 @@ func (rls *rateLimitStore) enableRateLimit(limit *model.RateLimit) error {
137
137
}()
138
138
139
139
etimeStr := limitToEtimeStr (limit )
140
- str := fmt .Sprintf (
141
- `update ratelimit_config set disable = $1, revision = $2, mtime = $3, etime=%s where id = $4` , etimeStr )
140
+ disable := 0
141
+ if limit .Disable {
142
+ disable = 1
143
+ }
144
+
145
+ str := "update ratelimit_config set disable = $1, revision = $2, mtime = $3, " +
146
+ "etime = $4 where id = $5"
142
147
stmt , err := tx .Prepare (str )
143
148
if err != nil {
144
149
return err
145
150
}
146
- if _ , err = stmt .Exec (limit . Disable , limit .Revision , GetCurrentTimeFormat (), limit .ID ); err != nil {
151
+ if _ , err = stmt .Exec (disable , limit .Revision , GetCurrentTimeFormat (), etimeStr , limit .ID ); err != nil {
147
152
log .Errorf ("[Store][database] update rate limit(%+v), sql %s, err: %s" , limit , str , err )
148
153
return err
149
154
}
@@ -152,6 +157,7 @@ func (rls *rateLimitStore) enableRateLimit(limit *model.RateLimit) error {
152
157
log .Errorf ("[Store][database] update rate limit(%+v) commit tx err: %s" , limit , err .Error ())
153
158
return err
154
159
}
160
+
155
161
return nil
156
162
}
157
163
@@ -168,14 +174,19 @@ func (rls *rateLimitStore) updateRateLimit(limit *model.RateLimit) error {
168
174
}()
169
175
170
176
etimeStr := limitToEtimeStr (limit )
171
- str := fmt .Sprintf (`update ratelimit_config set name = $1, service_id = $2, disable = $3, method= $4,
172
- labels = $5, priority = $6, rule = $7, revision = $8, mtime = $9, etime=%s where id = $10` , etimeStr )
177
+ disable := 0
178
+ if limit .Disable {
179
+ disable = 1
180
+ }
181
+ str := "update ratelimit_config set name = $1, service_id = $2, disable = $3, " +
182
+ "method = $4, labels = $5, priority = $6, rule = $7, revision = $8, " +
183
+ "mtime = $9, etime = $10 where id = $11"
173
184
stmt , err := tx .Prepare (str )
174
185
if err != nil {
175
186
return err
176
187
}
177
- if _ , err = stmt .Exec (limit .Name , limit .ServiceID , limit . Disable , limit .Method , limit .Labels ,
178
- limit .Priority , limit .Rule , limit .Revision , GetCurrentTimeFormat (), limit .ID ); err != nil {
188
+ if _ , err = stmt .Exec (limit .Name , limit .ServiceID , disable , limit .Method , limit .Labels ,
189
+ limit .Priority , limit .Rule , limit .Revision , GetCurrentTimeFormat (), etimeStr , limit .ID ); err != nil {
179
190
log .Errorf ("[Store][database] update rate limit(%+v), sql %s, err: %s" , limit , str , err )
180
191
return err
181
192
}
@@ -313,8 +324,9 @@ func fetchRateLimitCacheRows(rows *sql.Rows) ([]*model.RateLimit, error) {
313
324
rateLimit model.RateLimit
314
325
serviceID string
315
326
flag int
327
+ disable int
316
328
)
317
- err := rows .Scan (& rateLimit .ID , & rateLimit .Name , & rateLimit . Disable , & serviceID , & rateLimit .Method ,
329
+ err := rows .Scan (& rateLimit .ID , & rateLimit .Name , & disable , & serviceID , & rateLimit .Method ,
318
330
& rateLimit .Labels , & rateLimit .Priority , & rateLimit .Rule , & rateLimit .Revision , & flag ,
319
331
& rateLimit .CreateTime , & rateLimit .ModifyTime , & rateLimit .EnableTime )
320
332
if err != nil {
@@ -325,6 +337,10 @@ func fetchRateLimitCacheRows(rows *sql.Rows) ([]*model.RateLimit, error) {
325
337
if flag == 1 {
326
338
rateLimit .Valid = false
327
339
}
340
+ rateLimit .Disable = false
341
+ if disable == 1 {
342
+ rateLimit .Disable = true
343
+ }
328
344
rateLimit .ServiceID = serviceID
329
345
330
346
rateLimits = append (rateLimits , & rateLimit )
0 commit comments