Skip to content

Commit ce4535e

Browse files
authored
Merge pull request #2894 from dolthub/max/nil-proc-db
[planbuilder] nil database doesn't panic building procedure call
2 parents f382747 + dbe42eb commit ce4535e

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

enginetest/enginetests.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4881,6 +4881,7 @@ func TestNoDatabaseSelected(t *testing.T, harness Harness) {
48814881
AssertErrWithCtx(t, e, harness, ctx, "create table a (b int primary key)", nil, sql.ErrNoDatabaseSelected)
48824882
AssertErrWithCtx(t, e, harness, ctx, "show tables", nil, sql.ErrNoDatabaseSelected)
48834883
AssertErrWithCtx(t, e, harness, ctx, "show triggers", nil, sql.ErrNoDatabaseSelected)
4884+
AssertErrWithCtx(t, e, harness, ctx, "call non_existent_proc()", nil, sql.ErrNoDatabaseSelected)
48844885

48854886
_, _, _, err := e.Query(ctx, "ROLLBACK")
48864887
require.NoError(t, err)

sql/planbuilder/proc.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,9 @@ func (b *Builder) buildCall(inScope *scope, c *ast.Call) (outScope *scope) {
304304
} else if b.ctx.GetCurrentDatabase() != "" {
305305
db = b.currentDb()
306306
}
307+
if db == nil {
308+
b.handleErr(sql.ErrNoDatabaseSelected.New())
309+
}
307310

308311
var proc *plan.Procedure
309312
var innerQFlags *sql.QueryFlags

0 commit comments

Comments
 (0)