Skip to content

Commit 3bebadf

Browse files
committed
fix: mark views created via CREATE VIEW query as views, allowing proper deletion
1 parent b97bee5 commit 3bebadf

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

server/handler.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2110,7 +2110,12 @@ func (h *jobsInsertHandler) Handle(ctx context.Context, r *jobsInsertRequest) (*
21102110
job.Configuration.Query.QueryParameters,
21112111
)
21122112
endTime := time.Now()
2113-
if job.JobReference.JobId == "" {
2113+
if job.JobReference == nil {
2114+
job.JobReference = &bigqueryv2.JobReference{
2115+
ProjectId: r.project.ID,
2116+
JobId: randomID(),
2117+
}
2118+
} else if job.JobReference.JobId == "" {
21142119
job.JobReference.JobId = randomID() // generate job id
21152120
}
21162121
if jobErr == nil {
@@ -2256,14 +2261,20 @@ func addTableMetadata(ctx context.Context, server *Server, spec *zetasqlite.Tabl
22562261
return err
22572262
}
22582263
defer tx.RollbackIfNotCommitted()
2259-
if _, err := createTableMetadata(ctx, tx, server, project, dataset, &bigqueryv2.Table{
2264+
table := &bigqueryv2.Table{
22602265
TableReference: &bigqueryv2.TableReference{
22612266
ProjectId: projectID,
22622267
DatasetId: datasetID,
22632268
TableId: tableID,
22642269
},
22652270
Schema: &bigqueryv2.TableSchema{Fields: fields},
2266-
}); err != nil {
2271+
}
2272+
if spec.IsView {
2273+
table.View = &bigqueryv2.ViewDefinition{
2274+
Query: spec.Query,
2275+
}
2276+
}
2277+
if _, err := createTableMetadata(ctx, tx, server, project, dataset, table); err != nil {
22672278
return err
22682279
}
22692280
if err := tx.Commit(); err != nil {

0 commit comments

Comments
 (0)