apache/superset

[Bug] TableSelector silently truncates table list when DB has more tables than API page limit

Open

#40,407 opened on May 24, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)TypeScript (72,837 stars) (17,291 forks)batch import
good first issuesqllab:design

Description

Bug description

The useTables hook returns a hasMore flag that is true when the backend has more tables than the current page response includes:

hasMore: json.count > json.result.length

However, this flag is never consumed by TableSelector or any other UI component. When a database has more tables than the API page limit, users see a truncated list with no warning, no count indicator, and no way to know that tables are missing.

Steps to reproduce

  1. Connect a database schema with 100+ tables
  2. Open SQL Lab, select that database and schema
  3. Observe the table dropdown — there is no indicator that the list is truncated

Expected behavior

A helper message should appear below the table selector informing users that the list is truncated, e.g. "Some tables are not shown. Refine your search."

Files

  • superset-frontend/src/hooks/apiResources/tables.tshasMore is computed
  • superset-frontend/src/components/TableSelector/index.tsxhasMore never used

### Screenshots/recordings

_No response_

### Superset version

master / latest-dev

### Python version

3.9

### Node version

16

### Browser

Chrome

### Additional context

_No response_

### Checklist

- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Contributor guide