MCPcopy Create free account
hub / github.com/bytebase/bytebase / PatchWorkSheet

Method PatchWorkSheet

backend/store/worksheet.go:233–268  ·  view source on GitHub ↗

PatchWorkSheet updates a sheet.

(ctx context.Context, patch *PatchWorkSheetMessage)

Source from the content-addressed store, hash-verified

231
232// PatchWorkSheet updates a sheet.
233func (s *Store) PatchWorkSheet(ctx context.Context, patch *PatchWorkSheetMessage) error {
234 set := qb.Q()
235 set.Comma("updated_at = ?", time.Now())
236 if v := patch.Title; v != nil {
237 set.Comma("name = ?", *v)
238 }
239 if v := patch.Statement; v != nil {
240 set.Comma("statement = ?", *v)
241 }
242 if v := patch.Visibility; v != nil {
243 set.Comma("visibility = ?", *v)
244 }
245 if v := patch.InstanceID; v != nil {
246 if *v == "" {
247 set.Comma("instance = ?", nil)
248 } else {
249 set.Comma("instance = ?", *v)
250 }
251 }
252 if v := patch.DatabaseName; v != nil {
253 if *v == "" {
254 set.Comma("db_name = ?", nil)
255 } else {
256 set.Comma("db_name = ?", *v)
257 }
258 }
259
260 query, args, err := qb.Q().Space("UPDATE worksheet SET ? WHERE resource_id = ?", set, patch.ResourceID).ToSQL()
261 if err != nil {
262 return errors.Wrapf(err, "failed to build sql")
263 }
264 if _, err := s.GetDB().ExecContext(ctx, query, args...); err != nil {
265 return err
266 }
267 return nil
268}
269
270// DeleteWorkSheet deletes an existing sheet by resource ID.
271// The worksheet_organizer rows are cascade-deleted via FK on worksheet(resource_id).

Callers 1

UpdateWorksheetMethod · 0.80

Calls 5

GetDBMethod · 0.95
QFunction · 0.92
CommaMethod · 0.80
ToSQLMethod · 0.80
SpaceMethod · 0.80

Tested by

no test coverage detected