Skip to content

[Feature Request]: Create a database perspective #8212

Description

@mattcasters

What would you like to happen?

Relational database deserve better UI components than the ones we have today in the Hop GUI.
I want to have a new database perspective with on the left-hand side the defined RDBMS connections in the project in a tree.
There should be a filter text field above the tree.
There should be a toolbar above the tree with buttons:

  • connect : list the schemas and their tables below them
  • disconnect
  • refresh
  • Open new SQL Editor
  • Generate DDL (for a table)
  • Preview first 1000 rows (SELECT * FROM table LIMIT 1000)
  • Show

On the right hand side we should be able to have tabs with the following:

  • SQL Editor tabs where you can execute SQL queries and commands. SQL results or success/failure text should split the editor with a sashform in 2 and show up at the bottom. There should be a bottom on the far right to close the results panel. The system should be smart about which command or SQL to execute by looking at the blank rows before and after the statement, not just semi-colons. There should be a button at the top of the SQL editor to Run (CTRL-Enter). If you select multiple SQL statements, they should all run.
  • Table information tab: show the database, schema, name, fields and their column details, indexes present, ...

Because queries can take a long time to complete we don't want to block usage of the rest of the Hop GUI so we need to run all operations in separate threads and we need to provide a GUI element, a panel at the very bottom of the perspective right hand side where all database operations are listed and where we can kill queries if needed and where we can see a description of what's going on with a run-time. The operations include anything that can take a long time including connecting to a database, getting schema and table lists, getting details about a table, executing a SQL query, generating DDL, ...

If should be possible to open and save SQL file in a SQL Editor tab, just like in the Explorer perspective with the difference that the SQL Editor will have more options as we expand functionality. There should be a button, plugin, in the regular SQL file type in the Hop GUI to open the file in the database perspective. If used we ask the user for which database connection this should be opened.

Issue Priority

Priority: 3

Issue Component

Component: Hop Gui

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions