diff --git a/internal/pkg/object/command/trino/client.go b/internal/pkg/object/command/trino/client.go index e8e1f4c..033ba05 100644 --- a/internal/pkg/object/command/trino/client.go +++ b/internal/pkg/object/command/trino/client.go @@ -62,6 +62,12 @@ func newRequest(r *plugin.Runtime, j *job.Job, c *cluster.Cluster) (*request, er return nil, err } } + + catalog := clusterCtx.Catalog + if jobCtx.Catalog != "" { + catalog = jobCtx.Catalog + } + jobCtx.Query = normalizeTrinoQuery(jobCtx.Query) // form context for trino request @@ -72,7 +78,7 @@ func newRequest(r *plugin.Runtime, j *job.Job, c *cluster.Cluster) (*request, er `User-Agent`: []string{r.UserAgent}, `X-Trino-User`: []string{j.User}, `X-Trino-Source`: []string{r.UserAgent}, - `X-Trino-Catalog`: []string{clusterCtx.Catalog}, + `X-Trino-Catalog`: []string{catalog}, }, userAgent: r.UserAgent, client: &http.Client{}, diff --git a/internal/pkg/object/command/trino/trino.go b/internal/pkg/object/command/trino/trino.go index f54f16f..00e7a31 100644 --- a/internal/pkg/object/command/trino/trino.go +++ b/internal/pkg/object/command/trino/trino.go @@ -25,7 +25,8 @@ type clusterContext struct { } type jobContext struct { - Query string `yaml:"query" json:"query"` + Query string `yaml:"query" json:"query"` + Catalog string `yaml:"catalog,omitempty" json:"catalog,omitempty"` } // New creates a new trino plugin handler