apache / apache/paimon

[Bug] Flink procedures don't support delimited identifiers for databases and tables

Open
#6,039 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
3.4k
Forks
1.4k
Avg merge
1d 11h
Merged PRs (30d)
396

Description

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar.

### Paimon version

Master: 4769f29683980174b32ae62aa26f401224036424

### Compute Engine

Flink 1.20

### Minimal reproduce step

Start a Flink cluster and run sql-client:
```
CREATE CATALOG paimon WITH (
'type'='paimon',
'warehouse'='file:'
);
USE CATALOG paimon;

CREATE DATABASE `my.database`;
CREATE TABLE `my.database`.`my.table`;
```

```
Flink SQL> CALL sys.compact('`my.database`.`my.table`');
[ERROR] Could not execute SQL statement. Reason:
org.apache.paimon.catalog.Catalog$TableNotExistException: Table `my.database`.`my.table` does not exist.
```

### What doesn't meet your expectations?

I would expect the procedure to parse the argument correctly with support for delimited identifiers (within backticks) to allow dots in database and table names.

### Anything else?

_No response_

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the sys.compact procedure invoked through the Flink sql-client and trace how its table argument is parsed. Reproduce the example using backtick-delimited database and table names, then verify that the procedure resolves my.database and my.table without reporting that the table does not exist.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, sql
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.