apache / apache/kyuubi

Support equal sign in JDBC URL var_key=var_value

Open
#2,968 1 comment 0 reactions 0 assignees View on GitHub
kind:feature priority:major
Dominant language
Scala
Stars
2.4k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before asking

- [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.

### Describe the feature

Hello team,

I want to set a Var key=value in Kyuubi JDBC Url, but the value is a base64 string, that contains "=" character .

How to escape "=" character in url var ?

url: "fs.azure.account.key.pfsdpstorage.dfs.core.windows.net=............A=="

run "set " command:

+---------------------------------------------------------------------------+----------------------------------------------------+
| key | value |
+---------------------------------------------------------------------------+----------------------------------------------------+
| fs.azure.account.key.pfsdpstorage.dfs.core.windows.net=............A= | |

Expected:

+---------------------------------------------------------------------------+----------------------------------------------------+
| key | value |
+---------------------------------------------------------------------------+----------------------------------------------------+
| fs.azure.account.key.pfsdpstorage.dfs.core.windows.net= | ............A== |

i try to replace "=" with %3D, not luck.

### Motivation

Support equal sign in JDBC URL var_key=var_value

### Describe the solution

Step1: Replace = with "%3D" in jdbc url

Step 2: Convert "%3D" back to "=" to JDBC parameters.

### Additional context

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start by locating the JDBC URL handling for var_key=var_value and reproduce the issue with the provided base64 value containing '='. The work is done when an encoded '=' is converted back to '=' in the JDBC parameter value and the resulting SET output preserves the complete value, including trailing '=='. за

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.