Skip to content
This repository was archived by the owner on Aug 2, 2024. It is now read-only.
This repository was archived by the owner on Aug 2, 2024. It is now read-only.

[BUG] ShowTablesFrom returns all tables on PostgreSQL #167

@MateusBMP

Description

@MateusBMP

The ShowTablesFrom for pgsql database type will return always the list for all the tables, not only the specific requested $databaseName. This code stays here:

case "pgsql":
return 'SELECT table_name FROM information_schema.tables WHERE table_schema=\'' .
config("database.connections.pgsql.schema") .
'\' ORDER BY table_name;';

To Reproduce:

  1. Go to home page
  2. See the database tables list

Expected behavior:
Returns only the tables from the requested database. I'll suggest this change:

case "pgsql":
    return 'SELECT table_name FROM information_schema.tables WHERE ' .
        'table_catalog=\'' . $databaseName . '\' AND ' .
        'table_schema=\'' . config("database.connections.pgsql.schema") . '\' ' .
        'ORDER BY table_name;';

Test context:

  • Laravel 11
  • PHP 8.3
  • PostgreSQL database

Additional context:
The document doesn't talk about the config("database.connections.pgsql.schema") call in same method. I'll suggest to add this into the README or use the value public as a default value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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