Commit Graph

1992 Commits (master)

Author SHA1 Message Date
Pravesh Sharma 0aba9703cd
Added support for a builtin locale provider in the Database dialog. #8095 2024-11-14 13:20:01 +05:30
John (Haipeng) Jiang 040e988323
Schema Diff bug when comparing materialized views with indices: key 'indrelid' needs to be ignored. 2024-11-14 12:43:33 +05:30
Pravesh Sharma b51eef12b7
Add an object menu option to disconnect all server and database connections. #1984 2024-11-06 15:52:31 +05:30
Pravesh Sharma fa64e8b38f
Fixed an issue where role properties were not loading. #7837 2024-09-24 11:59:05 +05:30
Ashesh Vashi 1f53baee8f
Fixed the dynamic column updation in the Unique & Primary Keys while creating a table.
* Updated the columns for the unique and primary keys while creating a table.
Use the 'editable' option for a Cell instead of 'disabled'.

* Don't need to define the hidden member as fields in GridHeaderSchema

* Updated the columns for the exclusion constraints while creating a
 table.

* Signaled the relevant field, when column options have changed, for all
the children of a table.

* Use current snapshot of data for the GrigFormHeadeer

* Fixed the styling for the search input box

* Don't check for the 'colOptions.editable' flag, as it could be
indirect call as well.
2024-09-19 18:57:09 +05:30
Ashesh Vashi b0cd028ff8
Fixed an issue introduced due to reloading of the tree due to changes in particular preferences (#7942)
* Fix an issue - when the object browser tree is being recreated due to reloading for changes in some of the preferences. Tree object returns object from the previous instance as 'selected', but - it does not have the 'treeNodeInfo' available. In this special case - we would consider that there is no node selected at that particular moment, and pass information accordingly.

* Fixed 'New Connection' dialog issue after connecting a disconnected server.

* Disable the 'Add' button in the GridHeader with form, when 'canAdd'
flag is set to false.

* Convert the access path to string array for correct comparision.

* Check the access path type before comparison.
When language is 'c', set the 'code' block read-only.

* Enabled 'Strict' control for EPAS >= 95
2024-09-18 20:55:01 +05:30
Ashesh Vashi 441cc57bb8
Don't show 'Types of objects' for the 'Cluster' operation. Fixes #7884 2024-09-18 07:48:09 +05:30
Yogesh Mahajan dd6f6cf1af
Support OIDC in OAuth2 authentication. #7839 2024-09-16 08:36:54 +05:30
Ashesh Vashi 5e96f0fd61
Fixes the Variable Schema UI issues and InlineView bug reported in #7884
* Show the icon for the 'Reset' button. (Reference #7884)

* Reload the server list after connecting to a server in the 'New
connection' dialog (QueryTool). (Reference: #7884)

* Pass the grid path during the bulk update (click on a radio action)

* Don't assign the cell value to the 'rowValue' variable.

* Don't rely on the 'optionsLoaded' for setting the variable types as it
is loaded asynchronously, and variable types data may not be available
while rendering the 'value' cell. (Fixes #7884)

* Fixed a type while checking for the 'inline-group'. fixes (#7884)

* 'vnameOptions' can be a Promise function too, hence - taken care accrodingly.

* Introduced a parameter 'reloadOnDepChanges' in the BaseSchemaUI field
to force reload the control on value change for one of the
dependencies.

* Reload on the components in case of dependent value changes.

* Introduced 'useSchemaStateSubscriber', which generates a state
subscriber mananager instance. It helps multiple subscribers in a
single control as we could have multiple subscribe within a control.
(For example - value, options, errors, etc).

* Fixed all the issues reported (#7884)
2024-09-16 00:04:37 +05:30
Yogesh Mahajan d3d1eb3355
Fixed issue of migrating tunnel password with new master password mechanism. #7076 2024-09-09 17:38:22 +05:30
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
Yogesh Mahajan 306269af5d
Fix issues found while testing keyring changes. #7076 2024-09-02 19:32:25 +05:30
Anil Sahoo 8bae604129
Fix the query tool restore connection issue on the server disconnection from the left side object explorer. #6502 2024-09-02 15:06:11 +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
Yogesh Mahajan c4dc839d7c
Fix issue found while testing keyring related changes. #7076 2024-08-28 11:46:04 +05:30
Yogesh Mahajan 1257ec9969
Revamp the current password saving implementation to keyring and reducing repeated OS user password prompts. #7076
The new implementation will store the master password in the keyring instead of storing each and every server password separately. The master password will be used to encrypt/decrypt server password when storing in the pgAdmin config DB.
2024-08-22 16:44:57 +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
Rohit Bhati b173fda116
Fix tab focus issue while deleting multiple tabs using shortcut key. #6572 2024-07-22 11:32:26 +05:30
Yogesh Mahajan e028ebc152
Ensure pgadmin does not try to connect to the server if saved password is not available. #7679 2024-07-16 17:46:40 +05:30
Anil Sahoo 30051f3257
Fixed an issue where Reassign/Drop Owned dialog not opening for Role. #7663 2024-07-16 17:42:16 +05:30
Aditya Toshniwal dcfef154ce
- Set the browser target to ES6 and reduce the JS bundle size considerably
- Upgrade ESLint to v9.x and migrate the .eslintrc.js file to make it work
2024-07-04 18:25:47 +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
Pravesh Sharma 4457a6a6a1
Updated to the latest version of the Notistack library. #7501 2024-07-01 11:26:45 +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 df2f3460f0 Fix the following SonarQube code smells:
1) Use the "RegExp.exec()" method instead.
2) Remove parameter form or provide default value.
3) Extract this nested ternary operation into an independent statement.
4) Replace this character class by the character itself.
5) Unnecessary use of conditional expression for default assignment.
6) Prefer using an optional chain expression instead, as it's more concise and easier to read.
2024-06-11 18:07:22 +05:30
Yogesh Mahajan fff192eb95
Ensure that a user can connect to a server using SSL certificates and identity files from a shared storage. #7306 2024-06-11 14:48:11 +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
Aditya Toshniwal b1f70b02ff Update object explorer icons for EPAS and replication related nodes 2024-05-27 12:29:38 +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
Aditya Toshniwal dd45f06d50
Added support for viewing PGD Clusters. #7215 2024-05-20 16:54:49 +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
Khushboo Vashi f4761f55f7 Fixed Multi-Factor Authentication bypass vulnerability (CVE-2024-4215). #7425 2024-04-29 13:41:02 +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
Pravesh Sharma fd65f1b644
Fixed all input boxes in pgAdmin to show browser auto-fill only where it is relevant. #2410 2024-04-24 11:27:08 +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
Yogesh Mahajan 102e0a9839
- Update MUI v4 to v5
- Remove the SCSS dependency completely and use MUI for theming.
- Update - date-fns, @date-io, notistack. Remove - popper.js, sass-loader.
- Cleanup webpack config.
- Port PSQL tool to use MUI themes instead of SCSS theme.
- Theme change will reflect realtime without refreshing pgAdmin.
2024-04-09 08:21:14 +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
Pravesh Sharma a85d907351
Fixed an issue where user was unable to share a newly registered server. #7111
* Fixed an issue where the clear SSH tunnel password option was disabled in desktop mode.
2024-04-01 16:57:47 +05:30
Akshay Joshi 9f31ec115a Fixed Schema Diff issues while comparing Materialized View. #7271 2024-04-01 16:56:18 +05:30
Khushboo Vashi fbbbfe22dd Fixed a remote code execution issue in the validate binary path (CVE-2024-3116). #7326 2024-04-01 11:34:01 +05:30
JyotiEdb 4ae9132b59
Fixed an issue with empty locale provider while editing collation. #5611 2024-03-29 11:40:44 +05:30
Akshay Joshi 00e17ef152 Fixed an issue where the 'Save Password' option for SSH tunneling password was consistently disabled. #7139 2024-03-28 13:58:03 +05:30
Aditya Toshniwal ace73ebb60
Added support for viewing Log Based Clusters. #7216
Co-authored-by: Akshay Joshi <akshay.joshi@enterprisedb.com>
2024-03-28 12:19:34 +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
Pravesh Sharma 1bcf343ceb
Fixed an issue where taking backup of a shared server was using server owner's user name. #7255 2024-03-26 11:28:20 +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
Aditya Toshniwal d3ede3151a
Upgrade CodeMirror from version 5 to 6. #7097 2024-02-21 11:15:25 +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
Anil Sahoo 8145e042a6
Fix a backend server error when creating a named restore point. #7166 2024-02-01 14:20:22 +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
Pravesh Sharma 3de19f66f2
Added support for column storage syntax while creating table. #6450 2024-01-29 11:32:34 +05:30
Akshay Joshi 639a28fbfc Fixed code smell 'Prefer using an optional chain expression instead, as it's more concise and easier to read'. 2024-01-25 16:51:40 +05:30
Akshay Joshi 41fe1db884 Fixed PEP8 2024-01-25 12:51:29 +05:30
Akshay Joshi cafe69c235 Fixed SonarQube Bugs and API test cases. 2024-01-25 12:46:55 +05:30
Akshay Joshi 0e0cbc40b8 Fixed SonarQube code smell Replace the unused local variable with '_'. 2024-01-24 18:33:43 +05:30
Akshay Joshi 81fccc87b5 Added support to rename columns in Views. #6380 2024-01-22 12:27:55 +05:30
Yogesh Mahajan 2d08b0dd13
Added configurable parameter to enable support for PasswordExecCommand in server mode. #6792 2024-01-12 17:34:40 +05:30
Pravesh Sharma b28df5874e
Fixed an issue where multiple errors were showing if user does not have connect privileges. #7073 2024-01-12 17:20:51 +05:30
Pravesh Sharma 701085adaf
Fixed an issue where group membership information was displayed incorrectly. #7085 2024-01-12 16:48:49 +05:30
Akshay Joshi 5240e8ccf8 Added BYPASSRLS|NOBYPASSRLS option while creating a Role. #6392 2024-01-11 19:14:01 +05:30
Akshay Joshi f5ba42bec8 Fixed API test case for Foreign Table. 2024-01-08 15:02:08 +05:30
Nikhil Mohite 26ec59ab5f
Limit the keyring calls based on save_password flag of server config. 2024-01-08 14:04:38 +05:30
Akshay Joshi 30509d1bc1
Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085 (#7106)
Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085
2024-01-08 12:16:49 +05:30
Akshay Joshi 5e710f7ee3 Fixed an issue where Schema Diff not generating difference for missing columns. #7104 2024-01-08 09:39:39 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Nikhil Mohite 2621050066
Fix an issue where connection string sequences do not persist after updating server details. #7041 2024-01-01 14:11:17 +05:30
Aditya Toshniwal 01a118d495 Fixed an error-'amname' when generating ERD for database containing parition tables. #7064 2023-12-28 15:27:30 +05:30