Commit Graph

635 Commits (master)

Author SHA1 Message Date
Akshay Joshi 3be2221948 Ensure that pgAdmin 4 is compatible with PostgreSQL v17. #7537 2024-06-27 13:18:26 +05:30
Akshay Joshi 5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +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
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 dd45f06d50
Added support for viewing PGD Clusters. #7215 2024-05-20 16:54:49 +05:30
Pravesh Sharma 5ee403fec7
Upgraded Flask, Flask-Security-Too, Werkzeug, and other dependencies, ensuring compatibility with Python 3.7. #7362 2024-04-16 12:23:03 +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
Akshay Joshi 097b630738
Added support for EDB Job Scheduler. #7098 2024-03-18 11:53:59 +05:30
Akshay Joshi 4e49d752fb Unsafe Deserialization and Remote Code Execution by an Authenticated user in pgAdmin 4 (CVE-2024-2044). 2024-03-04 13:22:09 +05:30
Anil Sahoo a8ab714606
Fix multiple issues where PasswordExecCommand was not working in server mode and PasswordExecCommand was not loaded when importing servers. #6792 2024-02-23 14:05:26 +05:30
Akshay Joshi 0e0cbc40b8 Fixed SonarQube code smell Replace the unused local variable with '_'. 2024-01-24 18:33:43 +05:30
Yogesh Mahajan 4fe47b8e92
Ensure that password exec command is included in exported server data json. #6792 2024-01-22 13:38:34 +05:30
Aditya Toshniwal 93d25eea0b
Use COOKIE_DEFAULT_PATH or SCRIPT_NAME in session cookie path. #6557 2024-01-22 12:25:20 +05:30
Khushboo Vashi 4d74f84d80 Fix a regression issue caused by #6815 fix related to import server issue for external users. 2024-01-03 15:53:41 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Nikhil Mohite ec12dc5288
Fixed the following issues found in testing #5908:
1. Filter buttons remain highlighted after promotion but the button is disabled.
2. Data changes are getting committed even when Auto commit is turned off on the promoted query tool window.
2023-12-27 13:36:20 +05:30
Khushboo Vashi 0d287df6dd
Administer pgAdmin Users and Preferences Using the Command Line Interface (CLI). #2483 2023-12-21 12:07:26 +05:30
Akshay Joshi a22b2a6074
Added keep-alive support for SSH sessions when connecting to a PostgreSQL server via an SSH tunnel. #7016 2023-12-19 16:16:03 +05:30
Pravesh Sharma a01b0973fc
Fixed an issue where syntax error was not highlighting for explain query. #6887 2023-12-11 10:57:17 +05:30
Akshay Joshi d8bcc11a95 Remove EPAS 11 and added EPAS 16 in the Binary Path. 2023-11-20 17:31:39 +05:30
Aditya Toshniwal 96fccd28a9
Upgrade Flask, Flask-SQLAlchemy, Flask-WTF, Flask-Babel, Flask-Security-Too, WTForms, Werkzeug and keep backward compatibility with Python 3.7 2023-11-03 18:19:01 +05:30
Akshay Joshi 5f3965ff0a 1) Replace utcnow() function with datetime.now(timezone.utc) as it is deprecated from Python v3.12.
2) Correct the URL to log an issue in pgAdmin in the ERD tool script.
2023-11-03 16:55:24 +05:30
Anil Sahoo 0b707be615
Fixed restoration of query tool database connection after dropping and re-creating the database with the same name. #6487 2023-11-01 15:27:18 +05:30
Aditya Toshniwal 862f101772
Significant changes to use ReactJS extensively.
1. Replace the current layout library wcDocker with ReactJS based rc-dock. #6479
2. Have close buttons on individual panel tabs instead of common. #2821
3. Changes in the context menu on panel tabs - Add close, close all and close others menu items. #5394
4. Allow closing all the tabs, including SQL and Properties. #4733
5. Changes in docking behaviour of different tabs based on user requests and remove lock layout menu.
6. Fix an issue where the scroll position of panels was not remembered on Firefox. #2986
7. Reset layout now will not require page refresh and is done spontaneously.
8. Use the zustand store for storing preferences instead of plain JS objects. This will help reflecting preferences immediately.
9. The above fix incorrect format (no indent) of SQL stored functions/procedures. #6720
10. New version check is moved to an async request now instead of app start to improve startup performance.
11. Remove jQuery and Bootstrap completely.
12. Replace jasmine and karma test runner with jest. Migrate all the JS test cases to jest. This will save time in writing and debugging JS tests.
13. Other important code improvements and cleanup.
2023-10-23 17:43:17 +05:30
Benjamin Blattberg e587ef404c
Fix an issue where the default server-group is being deleted if the load-server json file contains no servers. #6602 2023-10-23 11:16:57 +05:30
Akshay Joshi 81dcc91747 Added 'hostaddr' and used host string as it is while creating SSHTunnel. 2023-10-12 17:57:40 +05:30
Aditya Toshniwal 10adb6a11b
Add support for setting prepare threshold in server connection. #6285 2023-10-12 16:54:06 +05:30
Aditya Toshniwal fc411bfc49
Allow setting custom username for shared servers, with default as username of server being shared. #6229 2023-10-11 12:56:06 +05:30
Akshay Joshi 9666bd6c8d 1) Added 'load_balance_hosts' connection string parameter for PG 16 and above. #6802
2) Added EPAS 11 support back as its EOL is in November.
2023-10-04 17:55:37 +05:30
Akshay Joshi 5736e173ea 1) Fixed an issue where PG 16 binaries not getting copied into the docker container.
2) Remove support for PostgreSQL 11.
2023-09-26 13:45:08 +05:30
Aditya Toshniwal 3b616b2fb1 Handle a missing case in previous commit where a PG binary may not be present on some systems. #6763 2023-09-20 12:47:06 +05:30
Aditya Toshniwal 35f05e49b3
Fix the security issue of validate bin path to consider and fix more scenarios. #6763 2023-09-20 11:17:07 +05:30
Yogesh Mahajan cd613ded0a
Ensure user is redirected to login page after failed login. #6704 2023-08-25 10:38:50 +05:30
Aditya Toshniwal 779749a515 Fix an 'str expected' error in import/export when setting server password in env 2023-08-21 13:08:19 +05:30
Khushboo Vashi 30a0fb1cb3
Fix the issue where query tool window turns blank if the user tries to generate a graph on the result. #6500 2023-08-01 13:57:52 +05:30
Aditya Toshniwal a1c7265c41
Fix PEP8 issues with latest pycodestyle (#6636) 2023-07-31 18:14:39 +05:30
Akshay Joshi a460644ae8
1) Added support for SYSTEM, CONCURRENTLY and TABLESPACE options in REINDEX. #6381
2) Added new/missing options to the VACUUM command. #6397
3) Added SKIP_LOCKED and BUFFER_USAGE_LIMIT option to Analyze command. #6415
2023-07-27 17:34:25 +05:30
Khushboo Vashi 715fa47eb6
Fix an error 'list' object has no attribute 'strip' while attempting to populate auto-complete manually the first time. #6556 2023-07-13 10:18:38 +05:30
Akshay Joshi 45b1794941 1) Added extra check in qtLiteral method.
2) Fixed some escaping issues.
2023-07-12 15:26:19 +05:30
Akshay Joshi 940d190bc8 Fixed an issue where pgAdmin failed to setup role with hyphens in name. #6531 2023-07-12 10:36:41 +05:30
Khushboo Vashi 115d4afd9e Fix security hotspots reported by Sonarqube. 2023-07-10 12:42:48 +05:30
Khushboo Vashi 326dc2bbcc
Fix an issue where queries longer than 1 minute get stuck - Container 7.1. #6317 (#6491)
Fix an issue where queries longer than 1 minute get stuck - Container 7.1. #6317
Fix an issue where queries get stuck with auto-completion enabled. #6356
Fix an issue where queries can't complete execution. #6163
2023-07-04 10:44:46 +05:30
Aditya Toshniwal d6cddd8c29
Remove Bootstrap and jQuery from authentication pages and rewrite them in ReactJS. #6295 2023-06-30 16:08:33 +05:30
Khushboo Vashi 1184752540 Support UNICODE encoding as psycopg3 do not support it by default. 2023-06-21 15:32:13 +05:30
Akshay Joshi 4490f6f838 Ensure that if test cases run with the '--pkg resql' option then only RESQL test cases should be run. 2023-06-20 17:24:37 +05:30
Akshay Joshi 5d619fd455 1) Fixed Schema Diff issue.
2) Remove unsupported versions from the get_version_mapping_directories() function.
3) Updated test cases for version template loader.
2023-06-19 18:44:55 +05:30
Khushboo Vashi c5cbb33a06
Fix raise notice from func/proc or code blocks are no longer displayed live. #6420 2023-06-19 17:04:22 +05:30
Anil Sahoo 789f169135
Add Password exec command and Expiration time to server export JSON and also allow them to import. #6258 2023-06-15 11:49:06 +05:30
Akshay Joshi 251bf05692 Fixed the following SonarQube code smells:
1) Do not use Array index in keys.
2) Unnecessary escape character.
3) Rename this local variable to match the regular expression ^[_a-z][a-z0-9_]*$
4) Remove the unused local variable.
2023-06-12 18:44:31 +05:30
Khushboo Vashi a5b5ede8fd Fix the UNICODE encoding issue while connecting through Pgbouncer after upgrading from 6.21 to 7.1 #6340. 2023-06-09 16:24:05 +05:30
Nikhil Mohite f6275688e7
Fixed following issues: (#6361)
1) Ensure that SSH Tunnel should work properly after upgrading to 7.2 from 7.1. #6341
2) Ensure that the master password dialog should not visible if the parameter MASTER_PASSWORD_REQUIRED is set to False. #6353
2023-06-05 12:45:34 +05:30
Khushboo Vashi 10077f13c4
Fixed an issue where pgadmin is unable to take the defined role. #6342 2023-06-05 12:37:33 +05:30
Yogesh Mahajan 702bc8c8ce
Allow pgAdmin to retrieve master password from external script/program. #4769 2023-05-25 13:49:08 +05:30
Nikhil Mohite fec63c6cf3
Text improvement for the OS secret store feature. #5123 2023-05-24 18:06:21 +05:30
Pravesh Sharma bfa859e9ce
Fixed an issue where PSQL tool prompts for password if using password exec command. #6247 2023-05-23 11:07:04 +05:30
Nikhil Mohite 736879567f
Added support to use standard OS secret store to save server/ssh tunnel passwords instead of master password in pgAdmin desktop mode. #5123 2023-05-22 11:08:29 +05:30
Khushboo Vashi 2a22cf077c
Fix circular reference error for the multirange data types in the query tool. #6221
Add support for the multirange data types.
2023-05-10 10:32:47 +05:30
Khushboo Vashi af1c70f192
Fix an issue in the register server when setting the role, an arbitrary SQL query can be fired. #6253 2023-05-08 11:40:53 +05:30
Aditya Toshniwal 1e7517dc98
Show object breadcrumbs path along with its comment on object hover. #2078 2023-04-26 11:18:16 +05:30
Yogesh Mahajan f1e7782ca2
Fixed error occurring while dumping the servers from CLI. #6137 2023-04-19 16:05:35 +05:30
Yogesh Mahajan 4ede084b8f
Fixed error occurring while logging out from pgAdmin keeping a query tool opened. #6120 2023-04-18 17:54:21 +05:30
Khushboo Vashi 6ab102fcbc Fixed CSV export from Query Tool results does not include all columns for multiple CTEs. #6122 2023-04-11 19:09:26 +05:30
Khushboo Vashi 660a75a582
Fixed asyncio random task error messages in Query tool. #6109 2023-04-10 16:45:05 +05:30
Aditya Toshniwal 415e9c0ac5
Ensure that when execute_scalar is run for multiple queries in single SQL then the last query result is returned. 2023-04-03 16:07:34 +05:30
Aditya Toshniwal 94051a0991
Fix failing RE-SQL test cases for pgAgent. 2023-03-31 15:34:57 +05:30
Khushboo Vashi 659316d3cb
Fix View data issue for the table without column. 2023-03-31 11:23:20 +05:30
Nikhil Mohite 05f3efbc97
Fixed jasmine and API test cases for import/export servers. 2023-03-28 22:19:01 +05:30
Khushboo Vashi 7ce03f3bea
Fix UUID datatype typecast issue. 2023-03-27 11:38:57 +05:30
Nikhil Mohite b429a38176
Fixed shared storage file accessibility issues in import/export servers and cloud deployment. #5014 2023-03-24 16:27:02 +05:30
Aditya Toshniwal 1d01b5a8a2
Add a note on top of keyboard shortcuts preferences to show the Accesskey of the browser. #5022 2023-03-24 15:44:43 +05:30
Yogesh Mahajan f1aa82ad36
While restoring the database connections due to lost server connection, ensure that the databases which were previously connected are only reconnected. #5919 2023-03-24 14:33:45 +05:30
Nikhil Mohite e4eeba2aa7
Fixed the UI related issues reported during testing for Shared Storage in Server Mode. #5014 2023-03-24 11:08:27 +05:30
Khushboo Vashi 64aa739224
Fix SQLEditor Notifier and InetLoader issue. 2023-03-20 18:20:25 +05:30
Khushboo Vashi 366dd3a973
Remove psycopg2 completely. 2023-03-20 16:57:30 +05:30
Aditya Toshniwal 292d76b39e
Update SQLAlchemy, Flask, Flask-SQLAlchemy, and other packages to current versions. #5901
- Update Flask, Flask-SQLAlchemy, Flask-Babel, Flask-Security-Too, Flask-SocketIO, pytz, psutil, SQLAlchemy, bcrypt, cryptography, eventlet, Authlib, requests python packages
- Remove pinned dnspython, Werkzeug packages from requirements.txt
2023-03-15 11:57:16 +05:30
Akshay Joshi 294282c7ca Fixed circular import error. 2023-03-14 18:40:53 +05:30
Akshay Joshi 0a543d0e95 Ensure that the user's storage directory is created when the users are created, as well as for those users who have not yet been created. #5824 2023-03-14 18:21:18 +05:30
Yogesh Mahajan 63c7d14638
Added capability to deploy PostgreSQL servers on Google Cloud. #5750 2023-03-13 14:56:16 +05:30
Akshay Joshi 3c56c0e4b7 Revert "Update SQLAlchemy, Flask, Flask-SQLAlchemy, and other packages to current versions. #5901"
This reverts commit 31818bb67a.
2023-03-09 16:53:43 +05:30
Aditya Toshniwal 31818bb67a
Update SQLAlchemy, Flask, Flask-SQLAlchemy, and other packages to current versions. #5901
Remove the python version check from the requirements.txt.
2023-03-08 18:26:51 +05:30
Nikhil Mohite 9da8a188fa
Added support for mounting shared storage in server mode. #5014 2023-03-06 17:03:47 +05:30
Khushboo Vashi c35d449d7e
Fix query mogrify issue. 2023-03-06 16:57:31 +05:30
Yogesh Mahajan 740164fbd0
Handle errors occurring during decoding UTF-8 encoded query result data which contains ascii characters. #4784 2023-03-02 11:03:17 +05:30
Akshay Joshi 55b917f24b 1) Ensure that when '--pkg resql' is provided then only RESQL test cases should run.
2) Fixed the RESQL test cases for Sequences. #5810
2023-02-28 16:24:29 +05:30
Akshay Joshi a008f9ba79 Fixed an issue where the database server is not connected using a service file. #5889 2023-02-28 13:29:58 +05:30
Khushboo Vashi b640df5bdd
Fix Query Tool error messages for psycopg3 driver. 2023-02-22 14:07:05 +05:30
Khushboo Vashi b9cbf08b51
Another try to fix JSON issues. 2023-02-20 11:21:32 +05:30
Khushboo Vashi 5f52bb59dd
Fix json issues (#5865) 2023-02-16 10:46:39 +00:00
Akshay Joshi a0b8676f61 Fixed an issue where an object of type bytes is not JSON serializable when saving the data from the query tool. 2023-02-15 15:20:18 +05:30
Khushboo Vashi 5e0daccf76 Added support for psycopg3 along with psycopg2. #5011 2023-02-15 11:31:29 +05:30
Matěj Cepl 7a4951f211
Remove dependency on simplejson package. 2023-02-15 11:10:12 +05:30
Akshay Joshi 0fd1e0963e Fixed an issue where pgAdmin failed to connect when the Postgres password included special characters. #5847 2023-02-13 16:49:18 +05:30
Khushboo Vashi 7a18ceab64
Fixed the server heartbeat logging issue when server is removed. #5567 2023-01-30 15:39:34 +05:30
Akshay Joshi fd1c26408b Modify the logic to show the connection string for the shared servers. #4728 2023-01-24 17:22:54 +05:30
Khushboo Vashi 7dc0c1d05c
Make the heartbeat normal thread to the daemon thread. #5567 2023-01-24 17:22:29 +05:30
Akshay Joshi a7cf698d09
1) Added support for setting PostgreSQL connection parameters. #4728
2) Fixed an issue where Kerberos authentication to the server is not imported/exported. #5732
3) Increase the length of the value column of the setting table. #5746
4) Upgrade Flask-Migrate to 4.0.0. #5525
2023-01-23 17:19:59 +05:30
Khushboo Vashi 6ae91592d1
Fix orphan database connections resulting in an inability to connect to databases. #5567 2023-01-19 15:57:02 +05:30
Aditya Toshniwal 22cc658dca
Fix failing import servers CLI due to vulnerability fix. #5751 2023-01-18 13:19:21 +05:30