Commit Graph

1455 Commits

Author SHA1 Message Date
Ashesh Vashi
e9af0c3226
Improved the extendability of the SchemaView and DataGridView. (#7876)
Restructured these modules for ease of maintenance and apply the single
responsibility principle (wherever applicable).

* SchemaView

 - Split the code based on the functionality and responsibility.
 - Introduced a new View 'InlineView' instead of using the
   'nextInline' configuration of the fields to have a better, and
   manageable view.
 - Using the separate class 'SchemaState' for managing the data and
   states of the SchemaView (separated from the 'useSchemaState'
   custom hook).
 - Introduced three new custom hooks 'useFieldValue',
   'useFieldOptions', 'useFieldError' for the individual control to
   use for each Schema Field.
 - Don't pass value as the parameter props, and let the
   'useFieldValue' and other custom hooks to decide, whether to
   rerender the control itself or the whole dialog/view. (single
   responsibility principle)
 - Introduced a new data store with a subscription facility.
 - Moving the field metadata (option) evaluation to a separate place
   for better management, and each option can be defined for a
   particular kind of field (for example - collection, row, cell,
   general, etc).
 - Allow to provide custom control for all kind of Schema field.

* DataGridView

 - Same as SchemaView, split the DataGridView call into smaller,
   manageable chunks. (For example - grid, row, mappedCell, etc).
 - Use context based approach for providing the row and table data
   instead of passing them as parameters to every component
   separately.
 - Have a facility to extend this feature separately in future.
   (for example - selectable cell, column grouping, etc.)
 - Separated the features like deletable, editable, reorder,
   expandable etc. cells using the above feature support.
 - Added ability to provide the CustomHeader, and CustomRow through the
   Schema field, which will extend the ability to customize better.
 - Removed the 'DataGridViewWithHeaderForm' as it has been achieved
   through providing 'CustomHeader', and also introduced
   'DataGridFormHeader' (a custom header) to achieve the same feature
   as 'DataGridViewWithHeaderForm'.
2024-09-09 14:27:31 +05:30
Pravesh Sharma
445e89576b
Fixed an issue where users could not use pgAdmin if they did not have access to the management database. #7571 2024-08-30 12:13:47 +05:30
Ashesh Vashi
8cf316b853
Fixed some of the issues reported due to introduction of the custom hook 'useSchemaState'. #7776 2024-08-19 09:53:00 +05:30
Pravesh Sharma
2e878a3fb2
Fixed an issue where the REVOKE statement in the create script was throwing an error if the role contained special characters. #7737 2024-08-01 11:34:00 +05:30
Akshay Joshi
576dc55615
Fixed the permission denied issue for functions of the pgstattuple extension when accessing statistics with a non-admin user. #7035 2024-07-02 11:47:43 +05:30
Akshay Joshi
3be2221948 Ensure that pgAdmin 4 is compatible with PostgreSQL v17. #7537 2024-06-27 13:18:26 +05:30
Akshay Joshi
3e7a220225 Fixed an issue where the schema diff incorrectly marked tables as different due to schema-qualified trigger functions in the trigger definitions. #7523 2024-06-20 16:55:38 +05:30
Akshay Joshi
0452828cc7 1) Change the cursor to a pointer for JSON editor toolbar buttons.
2) Remove the extra scrollbar in JSON editor.
3) Set the focus on the PSQL tool.
2024-06-18 16:42:17 +05:30
Akshay Joshi
2b04f3ca1d Fixed incorrect handling of the code smell for the reject API call 2024-06-17 18:22:38 +05:30
Rohit Bhati
1ba9f005a7
Ensure that user should be able to clear comments in RLS Policy. 2024-06-17 18:11:57 +05:30
Yogesh Mahajan
b0e7847962
Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +05:30
Anil Sahoo
a946c70869
Fixed an issue where changing a column name should reflect in all the constraints in table object dialog and ERD table dialog. #7476 2024-06-17 14:07:45 +05:30
Akshay Joshi
5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Akshay Joshi
ab01dde2ba Fixed RESQL test case. 2024-06-12 18:46:12 +05:30
Akshay Joshi
dea5335ce5 Fixed the following SonarQube code smells:
1) Do not use the Array index in keys.
2) Import from the same module should be merged.
3) Mutable variables should not be exported.
4) Variables should not be initialized to undefined.
5) startswith or endswith method should be used.
6) Unwrap this unnecessarily grouped subpattern.

Additionally, addressed many other SonarQube rules.
2024-06-12 18:09:06 +05:30
Rohit Bhati
288fd7ed12
Add support for comments on RLS policy object. #7414 2024-06-12 17:18:55 +05:30
Akshay Joshi
8857f0d179 Fix SonarQube code smells:
1) String literals should not be duplicated.
2) Prefer using an optional chain expression instead, as it's more concise and easier to read.
3) Expected the Promise rejection reason to be an Error.
2024-06-10 18:04:32 +05:30
Ahmad
5c30695d66
Fixed Typos 2024-05-23 12:52:41 +05:30
Akshay Joshi
6c7bc1c815 Ensure that Schema Diff does not indicate a table as different when the trigger names are the same but the trigger function body is different. #5762 2024-05-21 16:04:25 +05:30
Pravesh Sharma
afc28d95cf
1. Disable ERD for system Catalogs. #5849
2. Disable Debugger for system catalogs. #6060
3. Fixed an issue where the keyboard shortcut for launching the debugger from Object Explorer was not working.
2024-05-08 15:29:01 +05:30
Aditya Toshniwal
5ec6faff13
Upgrade react-table from v7 to v8. #7419 2024-05-07 16:31:04 +05:30
RohitBhati8269
3e6bd29198
Enhance the Delete dialog by highlighting the names of the objects to be deleted in bold. #7411 2024-05-07 11:56:50 +05:30
Pravesh Sharma
7c6fdcb12e
Disabled auto-fill on password fields. #2410 2024-04-29 11:44:17 +05:30
Akshay Joshi
f724578463 Fixed API test cases for exec/call procedure. 2024-04-26 13:01:35 +05:30
Akshay Joshi
92bb931b0a Fixed an issue where incorrect select/exec scripts were generated for functions/procedures. #7334 2024-04-25 17:24:02 +05:30
Akshay Joshi
9f6ddd3cf9 Fixed violates check constraint issue when creating a pgAgent schedule. #7390 2024-04-23 17:27:11 +05:30
Pravesh Sharma
0d1e3f36e1
Revert "Fixed an issue where function arguments were getting enclosed in double quotes if written in upper case. #7222"
This reverts commit fc4b419987.
2024-04-17 11:33:25 +05:30
Akshay Joshi
30d2d1b23e Fixed the following code smells:
1) useState call is not destructured into value + setter pair.
2) A fragment with only one child is redundant.
3) Unnecessary '.apply()' and '.call()'.
4) Expected the Promise rejection reason to be an Error.
2024-04-09 19:18:56 +05:30
Akshay Joshi
edec9adbfb
Fixed SonarQube code smell 'Unnecessary use of boolean literals in conditional expression'. 2024-04-08 17:19:51 +05:30
Pravesh Sharma
fc4b419987
Fixed an issue where function arguments were getting enclosed in double quotes if written in upper case. #7222 2024-04-04 16:48:00 +05:30
Akshay Joshi
475e3689f7 Added the new columns last_seq_scan and last_idx_scan from the pg_stat_all_tables and pg_stat_all_indexes tables respectively to the Statistics tab. #6728 2024-04-04 16:39:12 +05:30
Akshay Joshi
9f31ec115a Fixed Schema Diff issues while comparing Materialized View. #7271 2024-04-01 16:56:18 +05:30
JyotiEdb
4ae9132b59
Fixed an issue with empty locale provider while editing collation. #5611 2024-03-29 11:40:44 +05:30
JyotiEdb
053b1e3d69
Fixed issues in create collation. #5611 2024-03-27 17:30:16 +05:30
Akshay Joshi
8ab78dc40d Fixed an issue where serial, bigserial, and smallserial columns were always shown as different in the schema diff. 2024-03-27 16:11:40 +05:30
Pravesh Sharma
b742487dc3
Fixed an issue where table properties were not updating from properties dialog. #7210 2024-03-27 11:41:01 +05:30
Akshay Joshi
089f890f2e
Fixed an issue where Triggers, Rules, Indexes were absent from the Schema Diff when comparing views. #7271
Fixed an issue in Schema Diff where Columns with sequences get altered unnecessarily. #4413
2024-03-27 11:40:23 +05:30
JyotiEdb
25074e46b4
Added support for provider, deterministic, version and RULES parameter while creating collation. #5611 2024-03-19 16:52:22 +05:30
Anil Sahoo
cee0945a78
Revert the changes made to include a separate 'ALTER TABLE ...' query for setting defaults, as per the previous fix for issue #7165. 2024-03-19 15:12:04 +05:30
Akshay Joshi
c56aef335b Fixed RESQL test cases for DBMS Schedule 2024-03-18 13:44:07 +05:30
Akshay Joshi
097b630738
Added support for EDB Job Scheduler. #7098 2024-03-18 11:53:59 +05:30
Anil Sahoo
bece59d4b3
Fixed schema diff wrong query generation for table, foreign table and sequence. #7165 2024-03-14 11:21:19 +05:30
Aditya Toshniwal
7374997425
Fix an issue in table dialog where changing column name was not syncing table constraints appropriately. #7229 2024-03-08 11:45:32 +05:30
Aditya Toshniwal
a5530f59f7 Fix sonarqube issues for the rule - 'If' statement should not be the only statement in 'else' block 2024-02-26 11:55:36 +05:30
Pravesh Sharma
2ab419c8a5
Fixed EPAS RESQL test case failure. 2024-02-23 11:25:54 +05:30
Pravesh Sharma
4faf2a3c6d
Fixed an issue where dependencies and dependents were not showing if a composite type is used as an attribute in another composite type. #7027 2024-02-21 11:18:44 +05:30
Anil Sahoo
e81a036850
Fix an issue where the scripts created by generate script of Schema diff for Table with sequence was not working earlier. #7165 2024-02-15 11:38:44 +05:30
Anil Sahoo
9ad223c41c
Fix an issue where constraint check control is enabled in edit table dialog. #7164 2024-02-09 16:26:46 +05:30
Yogesh Mahajan
9462296d33
Fixed API tests failed due to #7113 changes. 2024-02-05 10:47:43 +05:30
Yogesh Mahajan
711181c752
Ensure that the correct SQL is generated when changing the column data type to "char". #7113 2024-01-29 14:53:03 +05:30