Skip to content

It's not possible to set role in trino.dbapi.connect method #230

Closed
@aksakalli

Description

@aksakalli

Describe the feature

With the recent changes with #200 X-Trino-Role and X-Trino-Set-Role are not allowed to be set. The following code:

connection = trino.dbapi.connect(
    host="trino.example.net",
    port=443,
    http_scheme="https",
    catalog="hive",
    user='abuzer',
    auth=trino.auth.JWTAuthentication('Xvfdas.....'),
    http_headers={'X-Trino-Role': 'hive=ROLE{admin}'}
)

gives an error ValueError: cannot override reserved HTTP header X-Trino-Role.

We should make the role parameter part of trino.dbapi.connect method.

Describe alternatives you've considered

I can to set role in connection._client_session.role or connection._http_session.headers. Since _client_session property should be an internal abstraction, connection._client_session.role='hive=ROLE{admin}' is ugly and prone to change. We need a proper interface to set such values in connect method.

We should keep release notes and publish critical breaking changes in future.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions