Skip to content

Commit 762a15a

Browse files
committed
Planbuilder Authorization changes
1 parent da3a5b8 commit 762a15a

15 files changed

+57
-49
lines changed

go/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ require (
1515
github.com/dolthub/fslock v0.0.3
1616
github.com/dolthub/ishell v0.0.0-20240701202509-2b217167d718
1717
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81
18-
github.com/dolthub/vitess v0.0.0-20241028204000-267861bc75a0
18+
github.com/dolthub/vitess v0.0.0-20241104125316-860772ba6683
1919
github.com/dustin/go-humanize v1.0.1
2020
github.com/fatih/color v1.13.0
2121
github.com/flynn-archive/go-shlex v0.0.0-20150515145356-3f9db97f8568
@@ -57,7 +57,7 @@ require (
5757
github.com/cespare/xxhash/v2 v2.2.0
5858
github.com/creasty/defaults v1.6.0
5959
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
60-
github.com/dolthub/go-mysql-server v0.18.2-0.20241101230148-2766041c6e96
60+
github.com/dolthub/go-mysql-server v0.18.2-0.20241104142123-e00c563047c0
6161
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63
6262
github.com/dolthub/swiss v0.1.0
6363
github.com/goccy/go-json v0.10.2

go/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
183183
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
184184
github.com/dolthub/go-icu-regex v0.0.0-20240916130659-0118adc6b662 h1:aC17hZD6iwzBwwfO5M+3oBT5E5gGRiQPdn+vzpDXqIA=
185185
github.com/dolthub/go-icu-regex v0.0.0-20240916130659-0118adc6b662/go.mod h1:KPUcpx070QOfJK1gNe0zx4pA5sicIK1GMikIGLKC168=
186-
github.com/dolthub/go-mysql-server v0.18.2-0.20241101230148-2766041c6e96 h1:pL21juk8jiM0qyvhjncyhC0UvNCspFlqiE9ETYmeVtc=
187-
github.com/dolthub/go-mysql-server v0.18.2-0.20241101230148-2766041c6e96/go.mod h1:jlzVUA+tsjDw6YKbhRsCLHT3OVO6nn4BWrUanECTo3s=
186+
github.com/dolthub/go-mysql-server v0.18.2-0.20241104142123-e00c563047c0 h1:89pFCcn78El3hYvNK11Vx9ez2bQAGSrMu6CLFO0BdXQ=
187+
github.com/dolthub/go-mysql-server v0.18.2-0.20241104142123-e00c563047c0/go.mod h1:0xWs/FBE4xlhlOsAWoGh24SDRHemT7/U1nApu7SNRXg=
188188
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63 h1:OAsXLAPL4du6tfbBgK0xXHZkOlos63RdKYS3Sgw/dfI=
189189
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63/go.mod h1:lV7lUeuDhH5thVGDCKXbatwKy2KW80L4rMT46n+Y2/Q=
190190
github.com/dolthub/ishell v0.0.0-20240701202509-2b217167d718 h1:lT7hE5k+0nkBdj/1UOSFwjWpNxf+LCApbRHgnCA17XE=
@@ -197,8 +197,8 @@ github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9X
197197
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81/go.mod h1:siLfyv2c92W1eN/R4QqG/+RjjX5W2+gCTRjZxBjI3TY=
198198
github.com/dolthub/swiss v0.1.0 h1:EaGQct3AqeP/MjASHLiH6i4TAmgbG/c4rA6a1bzCOPc=
199199
github.com/dolthub/swiss v0.1.0/go.mod h1:BeucyB08Vb1G9tumVN3Vp/pyY4AMUnr9p7Rz7wJ7kAQ=
200-
github.com/dolthub/vitess v0.0.0-20241028204000-267861bc75a0 h1:eeKypNsi1nQmjWxSAAWT6tvRsDWdmll03BozAUUIE4E=
201-
github.com/dolthub/vitess v0.0.0-20241028204000-267861bc75a0/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM=
200+
github.com/dolthub/vitess v0.0.0-20241104125316-860772ba6683 h1:2/RJeUfNAXS7mbBnEr9C36htiCJHk5XldDPzhxtEsME=
201+
github.com/dolthub/vitess v0.0.0-20241104125316-860772ba6683/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM=
202202
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
203203
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
204204
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=

go/go.work.sum

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC
385385
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
386386
github.com/dolthub/go-mysql-server v0.18.2-0.20240918194055-f75a63f64679 h1:O6eSicGwVPYnEzE0jgLakX2Ud54p6OGdcaqwBgNB+vU=
387387
github.com/dolthub/go-mysql-server v0.18.2-0.20240918194055-f75a63f64679/go.mod h1:m88EMm9OthVVa6qIhbpnRDpj/eYUXuNpvY/+0YWKVwc=
388+
github.com/dolthub/vitess v0.0.0-20241104125316-860772ba6683 h1:2/RJeUfNAXS7mbBnEr9C36htiCJHk5XldDPzhxtEsME=
389+
github.com/dolthub/vitess v0.0.0-20241104125316-860772ba6683/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM=
388390
github.com/dylanmei/iso8601 v0.1.0/go.mod h1:w9KhXSgIyROl1DefbMYIE7UVSIvELTbMrCfx+QkYnoQ=
389391
github.com/dylanmei/winrmtest v0.0.0-20210303004826-fbc9ae56efb6/go.mod h1:6BLLhzn1VEiJ4veuAGhINBTrBlV889Wd+aU4auxKOww=
390392
github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU=
@@ -443,7 +445,6 @@ github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
443445
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
444446
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99 h1:Ak8CrdlwwXwAZxzS66vgPt4U8yUZX7JwLvVR58FN5jM=
445447
github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA=
446-
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
447448
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
448449
github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
449450
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c h1:Lh2aW+HnU2Nbe1gqD9SOJLJxW1jBMmQOktN2acDyJk8=
@@ -689,6 +690,7 @@ golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
689690
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
690691
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
691692
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
693+
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
692694
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
693695
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
694696
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY=
@@ -698,8 +700,10 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
698700
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
699701
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
700702
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
703+
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
701704
golang.org/x/tools/cmd/cover v0.1.0-deprecated/go.mod h1:hMDiIvlpN1NoVgmjLjUJE9tMHyxHjFX7RuQ+rW12mSA=
702705
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc=
706+
google.golang.org/genproto v0.0.0-20190926190326-7ee9db18f195/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
703707
google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk=
704708
google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
705709
google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108=
@@ -711,11 +715,13 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cba
711715
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
712716
google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
713717
google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
718+
google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
714719
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
715720
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
716721
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
717722
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE=
718723
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
724+
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
719725
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
720726
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
721727
gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I=

go/libraries/doltcore/mvdata/channel_row_source.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,6 @@ func (c *ChannelRowSource) WithChildren(children ...sql.Node) (sql.Node, error)
7575
return c, nil
7676
}
7777

78-
// CheckPrivileges implements the sql.Node interface.
79-
func (c *ChannelRowSource) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
80-
return true
81-
}
82-
8378
// channelRowIter wraps the channel under the sql.RowIter interface
8479
type channelRowIter struct {
8580
rowChannel chan sql.Row

go/libraries/doltcore/sqle/dtablefunctions/dolt_diff_stat_table_function.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const diffStatDefaultRowCount = 10
3737

3838
var _ sql.TableFunction = (*DiffStatTableFunction)(nil)
3939
var _ sql.ExecSourceRel = (*DiffStatTableFunction)(nil)
40+
var _ sql.AuthorizationCheckerNode = (*DiffStatTableFunction)(nil)
4041

4142
type DiffStatTableFunction struct {
4243
ctx *sql.Context
@@ -159,11 +160,11 @@ func (ds *DiffStatTableFunction) WithChildren(children ...sql.Node) (sql.Node, e
159160
return ds, nil
160161
}
161162

162-
// CheckPrivileges implements the interface sql.Node.
163-
func (ds *DiffStatTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
163+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
164+
func (ds *DiffStatTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
164165
if ds.tableNameExpr != nil {
165166
if !types.IsText(ds.tableNameExpr.Type()) {
166-
return false
167+
return ExpressionIsDeferred(ds.tableNameExpr)
167168
}
168169

169170
tableNameVal, err := ds.tableNameExpr.Eval(ds.ctx, nil)
@@ -176,8 +177,6 @@ func (ds *DiffStatTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql
176177
}
177178

178179
subject := sql.PrivilegeCheckSubject{Database: ds.database.Name(), Table: tableName}
179-
180-
// TODO: Add tests for privilege checking
181180
return opChecker.UserHasPrivileges(ctx, sql.NewPrivilegedOperation(subject, sql.PrivilegeType_Select))
182181
}
183182

go/libraries/doltcore/sqle/dtablefunctions/dolt_diff_summary_table_function.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const diffSummaryDefaultRowCount = 10
3434

3535
var _ sql.TableFunction = (*DiffSummaryTableFunction)(nil)
3636
var _ sql.ExecSourceRel = (*DiffSummaryTableFunction)(nil)
37+
var _ sql.AuthorizationCheckerNode = (*DiffSummaryTableFunction)(nil)
3738

3839
type DiffSummaryTableFunction struct {
3940
ctx *sql.Context
@@ -149,11 +150,11 @@ func (ds *DiffSummaryTableFunction) WithChildren(children ...sql.Node) (sql.Node
149150
return ds, nil
150151
}
151152

152-
// CheckPrivileges implements the interface sql.Node.
153-
func (ds *DiffSummaryTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
153+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
154+
func (ds *DiffSummaryTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
154155
if ds.tableNameExpr != nil {
155156
if !types.IsText(ds.tableNameExpr.Type()) {
156-
return false
157+
return ExpressionIsDeferred(ds.tableNameExpr)
157158
}
158159

159160
tableNameVal, err := ds.tableNameExpr.Eval(ds.ctx, nil)

go/libraries/doltcore/sqle/dtablefunctions/dolt_diff_table_function.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ var ErrInvalidTableName = errors.NewKind("Invalid table name %s.")
4242

4343
var _ sql.TableFunction = (*DiffTableFunction)(nil)
4444
var _ sql.ExecSourceRel = (*DiffTableFunction)(nil)
45+
var _ sql.AuthorizationCheckerNode = (*DiffTableFunction)(nil)
4546

4647
type DiffTableFunction struct {
4748
ctx *sql.Context
@@ -354,11 +355,11 @@ func (dtf *DiffTableFunction) WithChildren(node ...sql.Node) (sql.Node, error) {
354355
return dtf, nil
355356
}
356357

357-
// CheckPrivileges implements the sql.Node interface
358-
func (dtf *DiffTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
358+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
359+
func (dtf *DiffTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
359360
_, _, _, tableName, err := dtf.evaluateArguments()
360361
if err != nil {
361-
return false
362+
return ExpressionIsDeferred(dtf.tableNameExpr)
362363
}
363364

364365
subject := sql.PrivilegeCheckSubject{Database: dtf.database.Name(), Table: tableName}

go/libraries/doltcore/sqle/dtablefunctions/dolt_log_table_function.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const logTableDefaultRowCount = 10
3636

3737
var _ sql.TableFunction = (*LogTableFunction)(nil)
3838
var _ sql.ExecSourceRel = (*LogTableFunction)(nil)
39+
var _ sql.AuthorizationCheckerNode = (*LogTableFunction)(nil)
3940

4041
type LogTableFunction struct {
4142
ctx *sql.Context
@@ -187,8 +188,8 @@ func (ltf *LogTableFunction) WithChildren(children ...sql.Node) (sql.Node, error
187188
return ltf, nil
188189
}
189190

190-
// CheckPrivileges implements the interface sql.Node.
191-
func (ltf *LogTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
191+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
192+
func (ltf *LogTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
192193
tblNames, err := ltf.database.GetTableNames(ctx)
193194
if err != nil {
194195
return false

go/libraries/doltcore/sqle/dtablefunctions/dolt_patch_table_function.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ var _ sql.ExecSourceRel = (*PatchTableFunction)(nil)
4646
var _ sql.IndexAddressable = (*PatchTableFunction)(nil)
4747
var _ sql.IndexedTable = (*PatchTableFunction)(nil)
4848
var _ sql.TableNode = (*PatchTableFunction)(nil)
49+
var _ sql.AuthorizationCheckerNode = (*PatchTableFunction)(nil)
4950

5051
const (
5152
diffTypeSchema = "schema"
@@ -304,11 +305,11 @@ func (p *PatchTableFunction) WithChildren(children ...sql.Node) (sql.Node, error
304305
return p, nil
305306
}
306307

307-
// CheckPrivileges implements the interface sql.Node.
308-
func (p *PatchTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
308+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
309+
func (p *PatchTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
309310
if p.tableNameExpr != nil {
310311
if !sqltypes.IsText(p.tableNameExpr.Type()) {
311-
return false
312+
return ExpressionIsDeferred(p.tableNameExpr)
312313
}
313314

314315
tableNameVal, err := p.tableNameExpr.Eval(p.ctx, nil)

go/libraries/doltcore/sqle/dtablefunctions/dolt_query_diff_table_function.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const queryDiffDefaultRowCount = 100
3131
var _ sql.TableFunction = (*QueryDiffTableFunction)(nil)
3232
var _ sql.CatalogTableFunction = (*QueryDiffTableFunction)(nil)
3333
var _ sql.ExecSourceRel = (*QueryDiffTableFunction)(nil)
34+
var _ sql.AuthorizationCheckerNode = (*QueryDiffTableFunction)(nil)
3435

3536
type QueryDiffTableFunction struct {
3637
ctx *sql.Context
@@ -317,8 +318,8 @@ func (tf *QueryDiffTableFunction) WithChildren(node ...sql.Node) (sql.Node, erro
317318
return tf, nil
318319
}
319320

320-
// CheckPrivileges implements the sql.Node interface
321-
func (tf *QueryDiffTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
321+
// CheckAuth implements the interface sql.AuthorizationCheckerNode.
322+
func (tf *QueryDiffTableFunction) CheckAuth(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool {
322323
subject := sql.PrivilegeCheckSubject{Database: tf.database.Name()}
323324
return opChecker.UserHasPrivileges(ctx, sql.NewPrivilegedOperation(subject, sql.PrivilegeType_Select))
324325
}

0 commit comments

Comments
 (0)