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

Method CreateWorkSheet

backend/store/worksheet.go:196–230  ·  view source on GitHub ↗

CreateWorkSheet creates a new sheet.

(ctx context.Context, create *WorkSheetMessage)

Source from the content-addressed store, hash-verified

194
195// CreateWorkSheet creates a new sheet.
196func (s *Store) CreateWorkSheet(ctx context.Context, create *WorkSheetMessage) (*WorkSheetMessage, error) {
197 q := qb.Q().Space(`
198 INSERT INTO worksheet (
199 creator,
200 project,
201 instance,
202 db_name,
203 name,
204 statement,
205 visibility,
206 payload
207 )
208 VALUES (?, ?, ?, ?, ?, ?, ?, '{}')
209 RETURNING resource_id, created_at, updated_at, OCTET_LENGTH(statement)
210 `, create.Creator, create.ProjectID, create.InstanceID, create.DatabaseName, create.Title, create.Statement, create.Visibility)
211
212 query, args, err := q.ToSQL()
213 if err != nil {
214 return nil, errors.Wrapf(err, "failed to build sql")
215 }
216
217 if err := s.GetDB().QueryRowContext(ctx, query, args...).Scan(
218 &create.ResourceID,
219 &create.CreatedAt,
220 &create.UpdatedAt,
221 &create.Size,
222 ); err != nil {
223 if err == sql.ErrNoRows {
224 return nil, common.FormatDBErrorEmptyRowWithQuery(query)
225 }
226 return nil, err
227 }
228
229 return create, nil
230}
231
232// PatchWorkSheet updates a sheet.
233func (s *Store) PatchWorkSheet(ctx context.Context, patch *PatchWorkSheetMessage) error {

Callers 1

CreateWorksheetMethod · 0.80

Calls 6

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

Tested by

no test coverage detected