Skip to content

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

@MelikHajlawi

Description

@MelikHajlawi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sqllab:designRelated to the SQL Lab UI/UX

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions