getsentry / getsentry/sentry

Oracle SQL table filter shows duplicates

Open
#107,192 4 comments 1 reaction 0 assignees View on GitHub
Component: Relay Dashboards Improvement
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 10m
Merged PRs (30d)
635

Description

### Environment

SaaS (https://sentry.io/)

### Steps to Reproduce

User reported the following:
- Oracle database with schema-qualified table names (e.g., VUTIDM.AUTH_SERVER_LOG)
- INSERT queries with RETURNING ... INTO clause and UPDATE queries targeting the same table
- Table filter dropdown in Backend > Queries shows duplicates

### Expected Result

Each table should appear once in the filter, regardless of query type.

### Actual Result

The same table appears twice in the filter:
- auth_server_log (from UPDATE queries)
- vutidm.auth_server_log (from INSERT queries)

User must select both entries to see all queries for the same table.

My theory is that this is In Relay, the regex fallback path for table extraction doesn't strip schema prefixes like the AST path does. INSERT queries with Oracle's RETURNING ... INTO syntax fail to parse, triggering the regex fallback which preserves the schema prefix.

### Product Area

Insights

### Link

_No response_

### DSN

_No response_

### Version

_No response_

Contributor guide

Open the contributing guide

Research direction

Start in Relay's table-extraction logic, comparing the AST path with the regex fallback for schema-qualified Oracle table names. Reproduce the filter with INSERT ... RETURNING ... INTO and UPDATE queries targeting the same table. Done means the filter presents one table entry and includes queries from both forms.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
backend, databases
Issue type
Bug
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.