Commit graph

34 commits

Author SHA1 Message Date
eelke
b0cd47ef46 Extended the plugin system to allow for dynamic runtime bindings between modules.
As a test implementation, this allows the TablesPage to open a CrudTab for a table/view without
the need for TablesPage, CrudTab and DatabaseWindow to know anything about each other.
2018-12-31 15:26:36 +01:00
eelke
a0579538df The tablespage now has a namespace filter allowing it to be used for
a pg_catalog and information_schema tab.
2018-12-29 10:56:24 +01:00
eelke
69473d65d2 Renamed MainWindow to DatabaseWindow so the name tells us the functionality provided by the window.
MainWindow was really a bad name as the app doesn't have a main window.
2018-12-28 12:55:11 +01:00
eelke
769307c821 Added the trigger definitions to the sql for a table. Also tuned the formatting of the trigger definitions a bit. 2018-12-27 12:15:37 +01:00
eelke
4ec4e02411 The SQL tab for a table now also shares the grant/revoke statements for that table (but not yet any column level grants). 2018-12-27 12:07:19 +01:00
eelke
6a2c8ec5e0 Do not use flat_set anymore gives compilation issues.
Not worth the time solving the issue without having prove of a clear benefit of
using flat_set over unordered_set.
2018-12-23 08:41:33 +01:00
eelke
c0a11f9b3b Functions page now shows sql for selected function.
The actual SQL needs some further checking.
2018-12-16 20:40:04 +01:00
eelke
2aef965787 On the tables page the column tab is now selected by default. 2018-12-16 12:47:31 +01:00
eelke
f0c1035378 Reorganize files in pglablib
The enitities and containers of the catalog now go into catalog subfolder
Models go into model
2018-12-16 11:31:33 +01:00
eelke
498233d58c WIP: SQL for creating table and related objects 2018-11-30 18:41:38 +01:00
eelke
57217974f4 New column page
Shows SQL for columns ALTER TABLE ... [ADD|DROP] COLUMN combines a selection
of multiple columns into a single alter table.
Show collation in list of columns.

(order of columns isn't what is should be but that should maybe be fixed
by a generic column selection and ordering mechanism that knows what the
default sort should be)
2018-11-29 20:21:36 +01:00
eelke
73c4cf4790 Rework of catalog objects. Several of them are now inheriting from common
base classes that implement common functionality.
2018-11-25 19:45:06 +01:00
eelke
52011a9842 Updating of detail tabs besides list of tables works correctly again.
Had stopped working because the catalog now behaves a little different,
returning nullptr instead of an invalid element.
2018-11-18 20:24:27 +01:00
eelke
2230a4bd61 Lot of password related changes all over the place.
Password is no longer saved with the connection list.
Password is not entered along with other connection credentials.
Password is now asked for when required.
Still working on saving the password and auto retrieving it from the password manager.
2018-11-04 11:44:40 +01:00
eelke
1ae9a1151a All the detail tabs on the TablePage now update when the sort order
of the table list changes.
2018-10-21 13:47:38 +02:00
eelke
38ae5f50e4 Moved code from TablesPage into seperate PropetiesPage component
Clears up the TablePage and makes rhe propertypage reusable.
2018-10-20 10:58:42 +02:00
eelke
2a75e86102 Added listing of triggers for selected table (not completely finished).
Used slightly different approach. This tab is fully build in source code
using subclasses to adjust behaviour of widgets for reuse in the other tabs.
Uses custom proxy model for filtering triggers for correct table and supporting
out of the box sorting by QTableView.

SqlCodePreview: QPlainTextEditor which sql highlighter and in readonly mode but allows copy.
2018-10-07 19:40:06 +02:00
Eelke Klein
8b7bbec807 Flexible models 2018-09-02 10:30:30 +00:00
eelke
7c4f1a4752 fix: the source views for constraints and indexes are now cleared when the
model is reset as this will clear all selections.

Unfortunatly the selection model does not trigger a selectionChanged when
the model is reset.

Close #16
2018-08-05 11:57:27 +02:00
eelke
f1020ac56e Index DROP and CREATE statements are now shown.
For now the create is still single line. Either complex query is required
to get details for custom generator or we need to format after the fact.

Close #12
2018-08-05 11:27:05 +02:00
eelke
ec8c3ff5ec The list of tables can now be sorted by either name,schema or schema,name by clicking on the column headers. 2018-07-07 09:57:59 +02:00
eelke
61645d44ac Show moer information about the indexes. 2018-04-08 09:04:38 +02:00
eelke
e1405d5370 Use PgLabItemDelegate for indexes tab. 2018-01-15 13:31:37 +01:00
eelke
2ba27178a2 Double clicking a table now opens a CRUD page for that table however data cannot be changed yet thought it will display an editbox. 2018-01-09 20:39:43 +01:00
eelke
ec78dafa94 Removed on_ from the name of the slots to prevent warning about not being able to find the signals.
The old name followed the pattern used by Qt to automatically deduce what signal should
be connected to which slot. However as these are signals from a sub object it cannot find
them and I have made the connections manually. To prevent getting warnings at runtime
I changed the name.
2018-01-06 21:33:24 +01:00
eelke
97d4e2a1a4 Created IndexModel for displaying the indexes on a table. Constraints can now show the SQL to drop and create them.
The keyword list is now directly based of the official keyword list from postgresql.
2018-01-06 21:22:22 +01:00
eelke
a99f059b70 Added list of constraints to the tables page.
Last column shows the full textual definition until I have decided on
a better way to visualize the details.
2017-12-30 13:02:40 +01:00
eelke
b5254ac723 Have a working model for showing the namespaces in a tree with checkboxes.
The namespaces are currently spit into user and system. Later we might
add recognizing namespaces introduced by specific modules/extensions.
2017-12-29 08:39:08 +01:00
eelke
23840ce7c5 Cosmetic improvements. 2017-12-19 19:55:12 +01:00
eelke
3424b62aa0 Autosize column of column overview. 2017-12-17 20:05:09 +01:00
eelke
7051ef2efc The oid column is now shown for tables that are "with oids". 2017-12-17 19:54:23 +01:00
eelke
e9d72d391d PgAttribute loading + ColummnTableModel
Required enchancement to PgContainer to make multifield key work.
2017-12-12 20:13:53 +01:00
eelke
f9caadb59e For testing purposes a new table tab is created when a querytab is created. 2017-12-10 14:20:45 +01:00
eelke
43e6042794 First version of table overview tab, only design no implementation yet 2017-12-10 08:17:07 +01:00