Compare commits

...
1026 Commits
Author SHA1 Message Date
Rahul Shirsat ab04b30726 1. Unverified email id is getting locked.
2. Admin should be able to lock the user, as currently it only unlocks it via
   user management dialog.
3. There were some indefinite login page loading issues when trying to log in
   with invalid password, where it should redirect to the login page again instead.

refs #6337 (Initial patch by Khushboo Vashi)
2021-08-09 21:04:49 +05:30
Yogesh Mahajan dc4f59e664 Handle null values more correctly.
refs #5198
2021-08-09 20:11:39 +05:30
Akshay Joshi 8738f6dd98 Update version for release. 2021-08-09 14:44:52 +05:30
Akshay Joshi 039766b492 Update DEPENDENCIES. 2021-08-09 14:42:24 +05:30
Libor M 2da970a26c Update Czech translation. 2021-08-09 14:34:32 +05:30
fn ln 86e1f33231 Update Japanese translation. 2021-08-09 14:33:02 +05:30
Domenico Sgarbossa 702fbac1c0 Update Italian translation. 2021-08-09 14:31:37 +05:30
Pradip Parkale 7483ddf2b2 Added support to copy SQL from main window to query tool. Fixes #4904 2021-08-09 14:29:31 +05:30
Khushboo Vashi 78b041465e Fixed an issue where even if the user is locked, he can reset the password and can login into pgAdmin. Fixes #6664 2021-08-09 14:24:26 +05:30
Akshay Joshi 5e3aa305fd Update message catalogs. 2021-08-06 19:35:30 +05:30
Nikhil Mohite 703478c13d Fixed an issue where the titles in query tabs are different. Fixes #6618 2021-08-06 19:09:39 +05:30
Yogesh Mahajan 8d53c10643 Fixed styling for JSON Editor to match with pgAdmin4 style.
refs #5198
2021-08-06 18:01:50 +05:30
Akshay Joshi 025c98ced8 1) Flash warning message of N no of attempts left for the unsuccessful login attempt.
2) Updated some strings in the Preferences for the "Maximum column width" option.
2021-08-03 17:06:06 +05:30
Yogesh Mahajan 8e214ca8fb Added support for formatted JSON viewer/editor when interacting with data in a JSON column. Fixes #5198 2021-08-03 11:36:45 +05:30
Akshay Joshi 23265061b2 Fixed an issue where an empty SQLite database file is created when try to get the version. 2021-07-30 15:44:46 +05:30
Aditya Toshniwal 9d985d3d8f Fixed potential bug in the table node. 2021-07-30 13:28:07 +05:30
Akshay Joshi 03477d407e Fixed dashboard server activity issue when active_since parameter is None. Fixes #6650 2021-07-29 11:49:27 +05:30
Rahul Shirsat 2dd88e5a4e Ensure that all the required options should be loaded when the Range data type
is selected while creating a custom data type.

Fixes #6643
2021-07-29 10:43:27 +05:30
Aditya Toshniwal 2452d90300 Fixed incorrect tablespace options in the drop-down for move objects dialog. Fixes #6586 2021-07-27 17:28:38 +05:30
Akshay Joshi 508f97b08e Rename the "Resize by data?" to "Columns sized by" and disabled the 'Maximum column width'
button if 'Columns sized by' is set to 'Column data'. Fixes #6622
2021-07-27 15:17:06 +05:30
Akshay Joshi 3f67f512ec Fixed incorrect binary path issue when the user deletes the binary path from the preferences. Fixes #6619 2021-07-26 11:49:48 +05:30
Akshay Joshi fdc3028124 Fixed linter error. 2021-07-23 12:57:40 +05:30
zhangjie2@fujitsu.com 3a3eea0320 Correct the string for shared server test case. 2021-07-23 12:44:16 +05:30
Nikhil Mohite d95a6f2af7 Fixed an issue where paste is not working through Right-Click option on PSQL. Fixes #6574 2021-07-23 12:41:48 +05:30
Florian Sabonchi a3d3c74e67 Ensure that the login account should be locked after N number of attempts. N is configurable using the 'MAX_LOGIN_ATTEMPTS' parameter. Fixes #6337 2021-07-22 12:24:43 +05:30
Dave Page c2db647379 Run apt update before doing anything else. 2021-07-21 15:48:59 +01:00
Rahul Shirsat 6cc3423cbe Fixed session expiration API test case. 2021-07-20 16:29:03 +05:30
Akshay Joshi eb658a75ab Modified the bulk insert logic to the user table in the migration file. 2021-07-20 13:27:03 +05:30
Pradip Parkale b2205fc6e1 Fixed an issue in the search object when searching in 'all types' or 'subscription' if the user doesn't have access to the subscription. Fixes #6448 2021-07-19 14:11:10 +05:30
Nikhil Mohite 5768ade198 Added exception handling for SQLAlchemy function to check the table exists or not. 2021-07-19 14:01:45 +05:30
Rahul Shirsat b0727cc532 Fixed CSRF errors for stale sessions by increasing the session expiration time for desktop mode. Fixes #6369 2021-07-15 17:49:42 +05:30
Rahul Shirsat 9e8af67202 Fixed TypeError 'NoneType' object is not sub scriptable. Fixes #6580 2021-07-15 17:46:31 +05:30
Fred Escallier 69d0fbe419 Update French translation. 2021-07-15 17:38:57 +05:30
Akshay Joshi 7b050a4c31 Update version for release. 2021-07-12 16:35:25 +05:30
Akshay Joshi 96085213fe Update Dependencies. 2021-07-12 16:26:00 +05:30
Domenico Sgarbossa 2ce2b457bf Update Italian translation. 2021-07-12 14:12:12 +05:30
Identifier Anonymous a2171aa27b Update Japanese translation. 2021-07-12 14:10:22 +05:30
Libor M ea3d71c0df Update Czech translation. 2021-07-12 14:08:58 +05:30
Akshay Joshi b154be24ec Update message catalog. 2021-07-09 21:53:33 +05:30
Khushboo Vashi 3590c9172c Fixed an issue where the user unable to login with OAuth2 when LDAP & OAuth2 configured as login sources. Fixes #6594 2021-07-09 21:50:50 +05:30
Khushboo Vashi e981868246 Fixed an issue where the user unable to add server in Kerberos Authentication Mode with Master Password. Fixes #6595 2021-07-09 21:47:34 +05:30
Khushboo Vashi 5ee8045916 Informative error should be shown if Oauth2 profile does not have email id registered. Fixes #6590 2021-07-07 17:58:49 +05:30
Khushboo Vashi 36086722b3 RESQL testcase fixes for Triggers. 2021-07-07 17:56:30 +05:30
Rahul Shirsat 8edd5946e5 1) Modified some labels and controls.
2) Fixed issue where the same user is showing in SQL query.

3) Added SQL tab in the dialog.

refs #3893
2021-07-07 10:44:02 +05:30
Akshay Joshi a0b2a28ee2 1) Set the default value of the long-running threshold to 2 minutes for warning and 5 minutes for the alert.
2) Use $color-danger for the alert threshold.
2021-07-06 19:52:37 +05:30
Identifier Anonymous 39a845ad31 Remove extra brackets in CREATE script and DDL comparison for trigger node. 2021-07-06 19:07:35 +05:30
Nikhil Mohite 669bdc7e38 Resolved the issue when the user selects the folder 'Select' button is not getting enabled for 'Select folder' dialog.
refs #6536
2021-07-06 19:00:08 +05:30
Pradip Parkale 5d4c073730 Fixed an issue where Schema Diff and Debugger give a blank white panel.
refs #6398
2021-07-06 18:56:21 +05:30
Khushboo Vashi 48ca83f31d Added support for OAuth 2 authentication. Fixes #5940
Initial patch sent by: Florian Sabonchi
2021-07-06 13:22:58 +05:30
Dave Page fff4060b31 Don't use fuzzy matching when updating message catalogs, to avoid issues where the number string substitution placeholders changes, per discussion. 2021-07-05 09:49:56 +01:00
Rahul Shirsat 9fdda038a9 Resolve the log in issue for a user having a non-existing email id
1) Added CHECK_EMAIL_DELIVERABILITY & SECURITY_EMAIL_VALIDATOR_ARGS.
  2) Added test cases for deliverability check.

Fixes #6550
2021-07-05 12:55:40 +05:30
Akshay Joshi ef67409d61 Highlighted long running queries on the dashboards. Fixes #1975 2021-07-01 18:10:55 +05:30
Dave Page d90472014d Remove leading whitespace and replace it with '[...] ' in the Query Tool data grid so cells don't look empty.
Fixes #6427
2021-07-01 09:17:35 +01:00
Dave Page a2b67b933e PEP-8 fix. 2021-06-30 11:04:50 +01:00
Dave Page b98e881d84 Disable email deliverability check that was introduced in flask-security-too by default to maintain backwards compatibility.
Fixes #6550
2021-06-30 10:46:32 +01:00
Dave Page e978621597 Fix typo in filename. 2021-06-28 15:23:18 +01:00
Rahul Shirsat 5fe52b9cfe Added support for Reassign/Drop Owned for login roles. Fixes #3893 2021-06-28 18:55:52 +05:30
Nikhil Mohite 5c6d00d545 Fixed directory selection issue with the folder dialog. Fixes #6536 2021-06-28 18:55:52 +05:30
Dave Page 6429a5b31a Clarify when container config envvars may be ignored. 2021-06-28 09:48:24 +01:00
Akshay Joshi e68c8305a2 Added option to provide maximum width of the column when 'Resize by data?’ option in the preferences is set to True. Fixes #6559 2021-06-28 11:51:21 +05:30
Pradip Parkale e095d382b3 Fixed an issue where incorrect column name listed in the properties of Index. Fixes #6557 2021-06-27 19:00:16 +05:30
Akshay Joshi 25ada15546 Temporary comment the logic to check API test cases are fixed for EPAS/PG 9.6 2021-06-25 19:40:52 +05:30
Pradip Parkale 5581f0909a Fixed an issue where Debugger and ERD tool panel give a blank white panel, missing from the last patch.
refs #6398
2021-06-25 11:38:02 +05:30
Pradip Parkale 462b86df8d Remove some configuration from the about dialog. 2021-06-25 11:11:28 +05:30
Nikhil Mohite 6645625e6b Fixed copy/paste issues for PSQL tool terminal. Fixes #6547. 2021-06-24 20:00:52 +05:30
Ashesh Vashi cfb68d73a0 Fixed server mode api test case failure. 2021-06-24 19:41:58 +05:30
Ashesh Vashi 9574f43f87 Refactor the registry class logic and remove duplicate code for the same functionality. 2021-06-24 11:30:11 +05:30
Akshay Joshi a53be65ab0 Fixed Czech translation string for 'Login' keyword. Fixes #6555
Patch sent by: Waclaw
2021-06-24 11:19:26 +05:30
Libor M cc989c5c08 Added missing gettexts and text space improvements. 2021-06-24 11:15:50 +05:30
Nikhil Mohite 313224e6f5 Ensure that Data Output panel can be snapped back after it is detached. Fixes #4189 2021-06-23 15:06:06 +05:30
Nikhil Mohite 2adb29ffc0 Fixed an issue where the New Connection Drop Down has lost default maintenance database, auto-select, and tab-through functionality. Fixes #6505 2021-06-23 12:48:17 +05:30
Pradip Parkale 80ccd62d38 Fixed an issue in the search object when searching in 'all types' or 'subscription' if the user doesn't have access to the subscription. Fixes #6448 2021-06-23 12:39:55 +05:30
Aditya Toshniwal b81ff45d34 Fixed replace keyboard shortcut issue in the query tool on the normal keyboard layout. Fixes #6388 2021-06-23 12:34:01 +05:30
Aditya Toshniwal 81b78dd2b2 Do not block the query editor window when running a query. Fixes #3920 2021-06-23 12:22:24 +05:30
Nikhil Mohite e2302a6c9b Ensure that setting 'Open in new browser tab' should be visible, it should not be based on the value of 'ENABLE_PSQL'. Fixes #6541 2021-06-23 11:59:56 +05:30
Yogesh Mahajan 2486b79450 Fixed feature tests failure issue due to binary path feature. 2021-06-23 11:55:27 +05:30
Pradip Parkale 0b52ef6eb0 Fixed an issue where detaching the query editor panel gives a blank white panel. Fixes #6398 2021-06-23 11:49:40 +05:30
Nikhil Mohite a533620684 Fixed an issue where Execute/Refresh button should not be disabled when we run the empty query. Fixes #6489 2021-06-23 11:49:40 +05:30
Dave Page 09d8d0f362 Fix path on windows. Fixes #6558 2021-06-23 07:04:59 +01:00
Dave Page 4e067835c3 Revert "Fixed API test cases for PG/EPAS 9.6" per Khushboo.
This reverts commit 37278f2cd3.
2021-06-17 13:27:33 +01:00
Khushboo Vashi 37278f2cd3 Fixed API test cases for PG/EPAS 9.6 2021-06-17 16:22:53 +05:30
Akshay Joshi 16d2a3096a 1) Fixed an issue where the binary path is not correctly parsed for version 9.6. Fixes #6534
2) Added the default binary path in the container. 
3) Fixed the typo in the documentation.
2021-06-15 19:49:46 +05:30
Dave Page 083509eb97 Show the full range of options for the default binary path dict. 2021-06-15 14:32:05 +01:00
Dave Page 0c154deeec Fix dict definition. 2021-06-15 14:19:31 +01:00
Akshay Joshi 082c9707c0 Fixed documentation issue 'Definition list ends without a blank line; unexpected unindent.' 2021-06-15 16:45:16 +05:30
Akshay Joshi 15798ee168 Updated DEFAULT_BINARY_PATHS for container. 2021-06-15 16:08:15 +05:30
Dave Page e37b7eae3f Cleanup psql docs. 2021-06-15 11:09:52 +01:00
Akshay Joshi ae2d588f46 Update version for release. 2021-06-14 21:00:26 +05:30
Akshay Joshi 12d93d0805 Update DEPENDENCIES. 2021-06-14 20:59:05 +05:30
Nikhil Mohite 2549688bdf 1) Disable the PSQL feature entirely in server mode by default.
2) Remove the code that attempts to filter out commands.

refs #2341
2021-06-14 20:53:11 +05:30
Akshay Joshi c2ed799113 If the binary path contains '' then show as it is on GUI if the path contains valid utilities. 2021-06-14 19:23:26 +05:30
Nikhil Mohite 71526ac79f Ensure that the calendar control should be disabled in the properties panel for Role. Fixes #6469. 2021-06-14 16:59:04 +05:30
Pradip Parkale 3d685ef96c Updated variable name as per review comments. 2021-06-14 16:42:27 +05:30
Akshay Joshi 2fdde6218a Fixed binary path issue on Windows platform. refs #5370 2021-06-14 15:01:49 +05:30
Nikhil Mohite 09693d14d1 Added check if the Windows version is not supporting the ConPty or WinPty disable the PSQL for that version.
refs #2341
2021-06-14 11:47:40 +05:30
Fred Escallier dcaeb20e29 Update French translation. 2021-06-14 11:47:40 +05:30
fn ln d93ec3bb91 Update Japanese translation. 2021-06-14 11:47:40 +05:30
Libor M f29852f6f0 Update Czech translation. 2021-06-14 11:47:40 +05:30
Domenico Sgarbossa 7d5fc84747 Update Italian translation. 2021-06-14 11:47:40 +05:30
Dave Page 4a3a5174b2 Disable browser password saving in the runtime. Fixes #6473 2021-06-11 15:10:38 +01:00
Pradip Parkale e0d094b2aa Fixed issues related to About dialog:
1) On resizing, the server configuration text area should be resized.
2) Any password should not be visible in the configuration.
3) Configurations are not properly quoted.
4) Added the "Copy" button so that the user can copy the configuration directly.

refs #6231
2021-06-11 19:30:32 +05:30
Pradip Parkale e3190b86ab Fixed an issue where a decimal number is appended for character varying fields while downloading the data in CSV format. Fixes #6520 2021-06-11 19:29:20 +05:30
Akshay Joshi b9b0a573e5 Update message catalogs. 2021-06-11 19:17:40 +05:30
Akshay Joshi 0dbfbd8dfc 1) Fixed Selenoid test cases.
2) Fixed RESQL test case failing on Jenkins.
2021-06-11 15:34:12 +05:30
Aditya Toshniwal 6e42d9113b Fixed user password-related issues.
refs #6225
2021-06-10 22:56:38 +05:30
Khushboo Vashi 460fb7ec29 Fixed an issue where pgAdmin does not open after password reset in server mode. Fixes #6513 2021-06-10 22:55:31 +05:30
Akshay Joshi c86a2b643a 1) Binary path set to the default location in which we install the binaries.
2) Validate path not working if there is a space in the binary path.
3) Handle the case when the path contains '$DIR'. 

refs #5370
2021-06-10 22:49:05 +05:30
Yogesh Mahajan b2042f48cd Added RESQL/MSQL test cases for Table and its child nodes. Fixes #4622 2021-06-09 18:16:50 +05:30
Dave Page d276f37e87 Support non-admin installation on Windows. Fixes #6524 2021-06-09 13:32:48 +01:00
Nikhil Mohite 7c88ee7cff Added a mechanism to detect a corrupt/broken config database file. Fixes #6460 2021-06-08 19:41:47 +05:30
Nikhil Mohite 93ddc4a5ba Ensure that the user should be able to add members in Login/Role group while creating it. Fixes #6466 2021-06-08 19:33:03 +05:30
Nikhil Mohite 9f12747d9b Added PSQL tool support for the Windows platform.
Fixed following issues:
1. If the database name contains escape characters then PSQL unable to connect.
2. If the user terminates the connection by typing the 'exit' command, PSQL
   will show the connection termination msg.

Fixes #2341
2021-06-08 14:58:43 +05:30
Akshay Joshi 5a086a9173 Fixed API test cases failed due to wrong handling of default binary path. 2021-06-08 13:24:17 +05:30
Nikhil Mohite e1067ffe67 Ensure that the Query Tool connection string should not be changed as per the 'Query Tool tab title'. Fixes #6404 2021-06-07 22:07:51 +05:30
Rahul Shirsat d5f537aae4 Added extra check for verifying the rename of the database.
refs #4203
2021-06-07 21:11:28 +05:30
Nikhil Mohite 5b12483416 Fixed an issue where the Foreground Color property of server dialog does not work. Fixes #6482 2021-06-07 21:09:04 +05:30
Akshay Joshi 07eb541806 1) Added logic to set the appropriate default binary path if DEFAULT_BINARY_PATH is
set in the config and the user not updated the preferences.
2) Remove 'gpdb' from DEFAULT_BINARY_PATH.
3) Fixed API test cases. 

refs #5370
2021-06-07 20:36:34 +05:30
Aditya Toshniwal 065a3aa2f5 Updated Flask-Security-Too to the latest v4. Fixes #6225 2021-06-06 13:58:06 +05:30
Akshay Joshi 2aa2d79de2 Fixed Jenkins build, added 'user-agents' in requirements.txt which was missing in the last patch. 2021-06-04 18:49:19 +05:30
Pradip Parkale a0deab901d Fixed OS detail issue for Linux and MacOS Big Sur. Fixes #6231. 2021-06-04 17:57:58 +05:30
Akshay Joshi 4bc4ca1ba9 1) Added browse button to select the binary path in the Preferences. Fixes #1561
2) Added support to set the binary path for the different database server versions. Fixes #5370
2021-06-04 17:55:35 +05:30
Rahul Shirsat ac8e8961ce Added Grant Wizard option under Package node. Fixes #1591 2021-06-04 12:47:37 +05:30
Pradip Parkale 2c51925638 Added OS, Browser, Configuration details in the About dialog. Fixes #6231 2021-06-01 20:18:24 +05:30
Nikhil Mohite e0eac875b6 Disable the PSQL tool for Windows, the 'fcntl' module is not working on Windows. 2021-06-01 20:04:43 +05:30
Rahul Shirsat 9ac08c263b Fixed duplicate SQL issue for tables with more than one partition. Fixes #6478 2021-05-31 12:46:07 +05:30
Rahul Shirsat 658a2de619 Fixed the issue of renaming the database by another user. Fixes #4203 2021-05-31 12:41:09 +05:30
Ashesh Vashi a487a51135 Fixes SonarQube issues. 2021-05-29 12:55:59 +05:30
Yogesh Mahajan 2d58f60a53 Modifies the way to execute feature tests in parallel and it should be configured in Server Mode. 2021-05-27 11:01:25 +05:30
Yogesh Mahajan faa49687be Added support to rotate the pgadmin log file on the basis of Size and Age. Fixes #6395 2021-05-25 20:18:46 +05:30
Nikhil Mohite 3ddf941cd7 Added support to launch PSQL for the connected database server. Fixes #2341 2021-05-25 20:12:57 +05:30
Rahul Shirsat 37dece2cd8 Added window maximize/restore functionality for properties dialog. Fixes #4064 2021-05-24 22:08:23 +05:30
Dave Page 1ead82f9b8 Various fixes to the setup process description. 2021-05-24 17:03:42 +01:00
Libor M 48dbf5a3dc Update Czech translation. 2021-05-18 13:42:49 +05:30
Akshay Joshi 0a95550fc0 Hardcoded 'itsdangerous' version to <=1.1.0, as the latest version not working correctly for pgAdmin. 2021-05-18 13:41:14 +05:30
Akshay Joshi 1c2b312d49 Update version for release. 2021-05-17 19:15:27 +05:30
Akshay Joshi 62e08d2b7e Update Dependencies. 2021-05-17 19:09:29 +05:30
Aditya Toshniwal f34adaca41 Fixed column sizing issue when there are no rows in a table.
refs #5954
2021-05-17 17:55:13 +05:30
Identifier Anonymous aaf5d64fe0 Update Japanese translation. 2021-05-17 13:13:23 +05:30
Fred Escallier 3f5fb4b61c Update French translation. 2021-05-17 13:12:05 +05:30
Domenico Sgarbossa f9254126e5 Update Italian translation. 2021-05-17 13:10:38 +05:30
Pradip Parkale 4676d7ef02 Fixed an issue where the Help message not displaying correctly on Login/Group role. Fixes #6414 2021-05-17 13:08:38 +05:30
Akshay Joshi 42b8dbb58f Update message catalog. 2021-05-14 17:38:30 +05:30
Aditya Toshniwal b7c0914f33 Fixed 'No password supplied' error occurring on auto-detected servers. 2021-05-14 15:14:18 +05:30
Aditya Toshniwal c8a2057410 Fixed JS audit warnings 2021-05-14 13:24:45 +05:30
Akshay Joshi 64e42bebe2 Update the correct redmine numbers, wrongly added in the last commit. 2021-05-14 12:42:06 +05:30
Khushboo Vashi 7275ce906e 1) Fixed an issue where the user is not warned if Kerberos ticket expiration
is less than 30 min while initiating a global backup. Fixes #6444

2) Ensure that proper identification should be there when the server is
   connected using Kerberos or without Kerberos. Fixes #6445
2021-05-14 12:33:01 +05:30
Pradip Parkale 7ed97eeec4 Fixed an issue where file dialog showing incorrect files for the selected file types. Fixes #6443 2021-05-14 12:12:17 +05:30
Pradip Parkale 0bb40de1c4 Ensure that the user should not be able to add duplicate panels. Fixes #6399 2021-05-12 15:19:41 +05:30
Akshay Joshi bd7808a104 Fixed an issue where the filter 'Include/Exclude By Selection' not working for null values. Fixes #6392 2021-05-11 19:12:43 +05:30
Akshay Joshi 4842d589a6 Added missing validation for data type. Fixes #6407 2021-05-11 18:21:53 +05:30
Akshay Joshi 11c541adc6 Update document and screenshot for 'Resize by data?' option. 2021-05-11 17:55:22 +05:30
Dave Page c746cfddfe Fix width of table row. 2021-05-11 11:47:38 +01:00
Dave Page 2b7f8d8298 Improve some strings. 2021-05-11 11:31:14 +01:00
huangj.fnst@fujitsu.com fe6f9aae61 Fix a number of typos. 2021-05-11 11:16:38 +01:00
Dave Page 8bc07c45f5 Cleanup the install-node target so it just calls yarn. 2021-05-11 09:44:48 +01:00
Aditya Toshniwal 058afad9eb Added support for cache bust webpack chunk files. Fixes #5477 2021-05-11 13:48:53 +05:30
Akshay Joshi 1e6eca1787 Ensure that pgAdmin4 shut down completely on the Quit command. Fixes #6420 2021-05-10 15:28:45 +05:30
Khushboo Vashi 89b0028684 Update Kerberos docs for phase 2. 2021-05-10 10:20:47 +01:00
Akshay Joshi d80087f6d5 Added support to set auto width of columns by content size in the data output window. Fixes #5954 2021-05-07 17:18:50 +05:30
Yogesh Mahajan b0df4d3604 Added support for the creation of Nested Table and Varying Array Type for Advanced Server. Fixes #6407 2021-05-07 12:39:54 +05:30
Dave Page c32ff3a7ee Expect the yum repo metadata to be GPG signed. 2021-05-06 15:27:22 +01:00
Murtuza Zabuawala 4c55044440 Remove duplicate code and avoid DOM search operation.
refs #6355
2021-05-06 10:53:32 +05:30
Akshay Joshi b13627398b Fixed API test cases 2021-05-05 13:12:20 +05:30
Khushboo Vashi b30ec71098 Ensure that while connecting to the server using SSPI login, it should not prompt for the password. Fixes #5776 2021-05-05 11:40:48 +05:30
Dave Page 649ca2eeac Make the error messages on exit show something useful. 2021-05-04 14:12:13 +01:00
Murtuza Zabuawala 98546e1876 Update require.js library to the latest version. 2021-05-04 17:48:13 +05:30
Akshay Joshi 7e79814cb0 Added 'IF NOT EXISTS' clause while creating tables and partition tables which is convenient while using the ERD tool. Fixes #6397 2021-05-04 15:59:34 +05:30
Akshay Joshi ac403d0dfa Fixed an issue where the current debug line is not visible in the 'Dark' theme. Fixes #6409 2021-05-04 12:34:03 +05:30
Khushboo Vashi 72f3730c34 Added support to connect PostgreSQL servers via Kerberos authentication. Fixes #6158 2021-05-03 16:10:45 +05:30
Akshay Joshi aa9a4c30d3 Fixed an issue where duplicate columns are visible in the browser tree, which is owned by two sequences. Fixes #6413 2021-05-03 14:53:21 +05:30
Pradip Parkale 3a2145e5fa Fixed an issue where query editor is not being closed if the user clicks on the 'Don't Save' button. Fixes #6417 2021-05-03 12:52:28 +05:30
Pradip Parkale 333a22496c Fixed an issue where drag and drop object is not correct in codemirror for properties dialog. Fixes #4436 2021-04-29 13:19:36 +05:30
Rahul Shirsat 488dc1849d Fixed an issue where data is displayed in the wrong order when executing the query repeatedly. Fixes #5555 2021-04-29 13:13:52 +05:30
Akshay Joshi e718be72e3 Added comment column in the properties panel for View and Materialized View collection node. Fixes #6416 2021-04-28 18:44:28 +05:30
Pradip Parkale 9dd1bae3c7 Ensure that pgAdmin should not allow opening external files that are dragged into it. Fixes #6355 2021-04-28 11:59:45 +05:30
Cyril Jouve 718ac02806 Fixed ModuleNotFoundError when running setup.py from outside of the root. Fixes #6408 2021-04-27 12:54:57 +05:30
Pradip Parkale 7bab200e4d Added more checks so that it will pick the correct shared server.
refs #6385
2021-04-27 11:58:47 +05:30
Rahul Shirsat f5ef022ef5 Fixed an issue where indexes showing TABLESPACE pg_default for partition SQL, which should not be shown.
refs #6329
2021-04-27 11:54:56 +05:30
Pradip Parkale 5a302684f7 Fixed an issue where long float values cause the rendering issue on the UI side.
It's a regression of the original commit for 6341.

refs #6341
2021-04-26 17:16:48 +05:30
Akshay Joshi 7d6f077cf8 Fixed an issue where schema diff does not create DROP DEFAULT statement for columns. Fixes #6377 2021-04-26 16:41:20 +05:30
Rahul Shirsat b853bda2a2 Fixed an issue where the wrong SQL is showing for the child partition tables. Fixes #6329 2021-04-26 14:32:34 +05:30
Pradip Parkale abdd3190fe Fixed some SonarQube issues. 2021-04-22 17:40:41 +05:30
Pradip Parkale 5894001eb2 Fixed an issue where CSV download quotes the numeric columns. Fixes #6341 2021-04-22 17:35:51 +05:30
Pradip Parkale 8ae8fea6d2 Ensure that Backup and Restore should work on shared servers as some cases were failing due to initial changes.
Fixes #6385
2021-04-22 17:29:04 +05:30
Akshay Joshi 81e077da5e Update version for release. 2021-04-19 17:10:57 +05:30
Yogesh Mahajan dc65cbb08c Fixed an issue where foreign data wrapper properties are not visible if the host option contains two host addresses. Fixes #6379 2021-04-19 11:08:21 +05:30
Identifier Anonymous 8596f15ae7 Update Japanese translation. 2021-04-19 10:49:27 +05:30
Fred Escallier a302269bb4 Update French translation. 2021-04-19 10:47:07 +05:30
Domenico Sgarbossa d7491ca14d Update Italian translation. 2021-04-19 10:44:05 +05:30
Libor M 700a2e8df1 Update Czech translation. 2021-04-19 10:42:24 +05:30
Akshay Joshi e5b2ec7e2f Update message catalogs. 2021-04-16 18:26:56 +05:30
Aditya Toshniwal 2b1910c1c1 Better fix for the black screen issues, reverted the old fix.
refs #6334
2021-04-16 18:23:29 +05:30
Aditya Toshniwal d046a2800d Fixed build errors which are occurring after updating sass-resources-loader package. 2021-04-15 16:42:25 +05:30
Akshay Joshi b4d44541bb Fixed SQL panel black screen issue when detaching it in runtime. Fixes #6334 2021-04-15 16:40:35 +05:30
Pradip Parkale cb7bcaf939 Ensure that Backup and Restore should work on shared servers. Fixes #6385 2021-04-14 12:11:55 +05:30
Yogesh Mahajan 4ee40e348c Fixed an issue where a long time is taken to launch pgAdmin in debug mode for feature tests. 2021-04-14 11:56:38 +05:30
Rahul Shirsat f07463024c Fixed flickering issue of the input box on check constraints. Fixes #6107 2021-04-12 12:34:36 +05:30
Yogesh Mahajan 9853d8bfd6 Fixed an issue while selecting the row which was deleted just before the selection operation. Fixes #6306 2021-04-12 11:45:04 +05:30
Pradip Parkale 0ed47fcd2b Fixed an issue where the Save button is enabled by default when open the table's properties dialog on PG 9.5. Fixes #6367 2021-04-12 11:36:16 +05:30
Nidhi Bhammar 098ab9e428 Updated docs and screenshots to cover the Notifications tab on the Query Tool. Fixes #4001 2021-04-12 11:28:48 +05:30
Rahul Shirsat 49095ccba6 1) Fixed an issue where shortcut keys are not working with manage macro. Fixes #5908
2) Fixed an issue where the cursor shifts its focus to the wrong window for all the query tool related model dialogs. Fixes #6161
2021-04-09 12:41:13 +05:30
Akshay Joshi 1f4affcb1e Fixed an issue where a connection warning should be displayed when the user
clicks on explain or explain analyze and the database server is disconnected
from the browser tree. Fixes #6376
2021-04-08 18:49:31 +05:30
Khushboo Vashi 437f0df0f3 Ensure that the strings in the LDAP auth module are translatable. Fixes #6274 2021-04-08 18:15:34 +05:30
Yogesh Mahajan 14dcb70b95 Ensure that the user should not be to change the connection when a long query is running. Fixes #6082 2021-04-08 18:09:13 +05:30
Aditya Toshniwal c88a63edf8 Included JSX files in the linter check. 2021-04-08 17:56:18 +05:30
Pradip Parkale ffdd58ffb4 Fixed some SonarQube issues. 2021-04-08 12:27:03 +05:30
Pradip Parkale 3a797b1efa Ensure that the file format for the storage manager should be 'All files' and for other dialogs, it should remember the last selected format. Fixes #6325 2021-04-08 12:23:57 +05:30
Akshay Joshi 8aea86613e Fixed an issue where users are unable to see data of the partition table using the View/Edit data option. Fixes #6375. 2021-04-07 16:25:21 +05:30
Akshay Joshi 7f59463e3b Corrected the syntax for 'CREATE TRIGGER', use 'EXECUTE FUNCTION' instead of 'EXECUTE PROCEDURE' from v11 onwards. Fixes #6220 2021-04-07 12:01:37 +05:30
Rahul Shirsat 585ba81492 Fixed sizing issue of help dialog for Query Tool and ERD Tool when open in the new browser tab. Fixes #6333 2021-04-06 15:26:25 +05:30
Akshay Joshi c1ba645dce 'xdg-util' has been added to the server mode instead of desktop mode in the previous patch, corrected it.
refs #6338
2021-04-02 14:01:17 +05:30
Fahar Abbas 811ac6eb6c Added missing dependency 'xdg-utils' for the desktop packages in RPM and Debian. Fixes #6338 2021-04-02 13:53:05 +05:30
Yogesh Mahajan 53f5562468 Fixed an issue where correct error not thrown while importing servers and JSON file has incorrect/insufficient keys. Fixes #6076 2021-04-02 08:58:43 +05:30
Akshay Joshi c84df9cc0f Ensure that while comparing domains check function dependencies should be considered in schema diff. Fixes #6327 2021-04-01 16:31:12 +05:30
Akshay Joshi e5d97e72e4 Fixed PEP8 issue. 2021-04-01 14:08:06 +05:30
Yogesh Mahajan fe236316de Rename the video and log file created by Selenium tests. 2021-04-01 13:07:28 +05:30
Yogesh Mahajan 27bb7d8c7a Fixed feature tests. 2021-04-01 12:16:33 +05:30
Pradip Parkale 566f03beca Ensure that the query tool tab should be closed after server disconnection when auto-commit/auto-rollback is set to false. Fixes #5519 2021-04-01 11:58:59 +05:30
Akshay Joshi 07f2df7e66 Fixed cannot unpack non-iterable response object error when selecting any partition. Fixes #6344 2021-03-31 12:08:01 +05:30
Akshay Joshi fb0d8c348a Remove the alertify error message as no need to show it when the user presses
the keyboard shortcut to open the View/Edit data on unsupported nodes.

refs #6206
2021-03-30 16:21:22 +05:30
Rahul Shirsat f0c86741a4 Improve code coverage and API test cases for Server module. Fixes #5319 2021-03-30 11:12:33 +05:30
Akshay Joshi a29890368c Fixed an issue where the procedure creation is failed when providing the Volatility option. Fixes #6293 2021-03-30 10:58:32 +05:30
Dave Page 9c69c1a277 Mark the Apache HTTPD config file as such in the web DEB and RPM packages. Fixes #6356 2021-03-29 10:35:50 +01:00
Nikhil Mohite be31fb08f1 Fix following scroll bar issues:
1) Stop overwriting the text in the scroll bar area.
2) Make scroll bars functional.
2021-03-23 19:17:01 +05:30
Akshay Joshi 1321a623bd Update version for release. 2021-03-22 18:05:13 +05:30
Fred Escallier fde8d17e8d Update French translation. 2021-03-22 18:02:01 +05:30
Identifier Anonymous c43185ce3f Update Japanese translation. 2021-03-22 17:59:01 +05:30
Domenico Sgarbossa 3d80ec1f47 Update Italian translation. 2021-03-22 17:57:23 +05:30
Libor M 86ba622455 Update Czech translation. 2021-03-22 17:53:41 +05:30
Akshay Joshi 2872b5c5d3 1) Ensure that the zoom level should be set for the newly opened window.
2) Ensure that if the zoom level is changed on the main window then it should
   be applicable for all the opened windows.

refs #6271
2021-03-22 17:50:26 +05:30
Akshay Joshi 723d97971d 1) Ensure that SQL formatter should not add extra tabs and format the SQL correctly. Fixes #5869
2) Ensure that SQL formatter should not use tab size if 'Use spaces?' set to false. Fixes #6233
2021-03-22 14:47:19 +05:30
Akshay Joshi 7d758d401e Update message catalogs. 2021-03-19 16:23:39 +05:30
Nikhil Mohite 15b8d4711e Hide the checkbox on the role property tab for 'Members of' and 'Members'.
refs #5404
2021-03-19 15:48:05 +05:30
Akshay Joshi 3f63f65674 Ensure that the view/edit data panel should not be opened for unsupported nodes using the keyboard shortcut. Fixes #6206 2021-03-19 15:38:40 +05:30
Pradip Parkale 24dc7f4a91 Fixed some issues reported by SonarQube. 2021-03-19 11:56:12 +05:30
Rahul Shirsat f5cc1d1c7e Fixed cognitive complexity reported by SonarQube. 2021-03-19 11:51:45 +05:30
Khushboo Vashi b973d6055d Ensure that toggle buttons are accessible by most screen readers. Fixes #6317 2021-03-19 11:44:57 +05:30
Dave Page ded65340fe Ensure the Python interpreter used by the runtime ignores user site-packages. Fixes #6269
Significant debugging by Peter Buckner.
2021-03-17 15:20:20 +00:00
Akshay Joshi 4bb71c56ad Fixed an issue where the top menu disappears when entering into the full screen for minimum screen resolution. Fixes #6322 2021-03-17 18:47:25 +05:30
Pradip Parkale ff06a18155 1) Fixed an issue where the incorrect values visible in the dependents tab for publication. Fixes #6307
2) Ensure that the primary key should be visible properly in the table dialog. Fixes #6316
2021-03-16 11:43:27 +05:30
Nikhil Mohite 9395ce3fda Fixed an issue where copy/paste rows in view data paste the wrong value for boolean type. Fixes #6312 2021-03-16 11:29:47 +05:30
Dave Page 60dbb81883 Improve the shebang in the venv, so they work from any directory. 2021-03-15 15:27:17 +00:00
Dave Page d4348bd726 Fixup shebangs in the venv scripts so they at least work if you're in the same directory. 2021-03-15 13:47:55 +00:00
Aditya Toshniwal 3d7ecd16aa Upgrade the React version from 16 to 17 and also update other dependent libraries. 2021-03-15 15:47:21 +05:30
Akshay Joshi 49a59f8929 Added zoom scaling options with keyboard shortcuts in runtime. Fixes #6271 2021-03-15 14:26:11 +05:30
Dave Page bf6ee28dae Cleanup naming/title consistency 2021-03-12 16:04:09 +00:00
Dave Page 80032e9658 Make the container distribution a multi-arch build with x86_64 and Arm64 support. Fixes #6212 2021-03-12 15:54:30 +00:00
Dave Page 7780cbfb83 Cleanup some code warnings. 2021-03-12 15:20:57 +00:00
Dave Page 47e9ef070e Include the environment in the runtime log. 2021-03-12 15:07:08 +00:00
Dave Page ec199e5e49 String tidy-up. 2021-03-12 14:52:41 +00:00
Nikhil Mohite 8031961205 Fixed alignment issue under preferences for the German language. Fixes #4014 2021-03-12 13:33:04 +05:30
Nikhil Mohite 7bad4ca535 Show the login roles that are members of a group role be shown when examining a group role. Fixes #5404 2021-03-12 13:11:09 +05:30
Nikhil Mohite 68132e2a8f Fixed an issue where adding/updating records fails if the table name contains percent sign.
refs #4438
2021-03-12 11:59:45 +05:30
Pradip Parkale 408df750be Fixed color issue on the statistics tab for collection node in the safari browser. Fixes #4020 2021-03-12 11:49:58 +05:30
Rahul Shirsat 03d3b8c03c 1) Fixed an issue where % displayed twice in explain analyze for query and table. Fixes #4847
2) Rename text 'table' with 'relation' in the statistic tab for explain analyze. Fixes #4849
2021-03-12 11:40:17 +05:30
Rahul Shirsat 9d8360641f Use schema qualification while accessing the catalog objects.
refs #3976
2021-03-12 11:17:25 +05:30
Pradip Parkale d6ee715d83 Ensure that autovacuum and analyze scale factors should be editable with more than two decimals. Fixes #4784 2021-03-09 18:48:32 +05:30
Akshay Joshi 351d86e149 Fixed string index out of range error where the dependent tab is in focus and selecting any publication or table. Fixes #6292 2021-03-09 18:43:04 +05:30
Akshay Joshi 0f62fecca2 Fixed an issue where the dependent tab throwing an error when selecting any login/group role. Fixes #6294 2021-03-09 14:32:16 +05:30
Chethana Kumar 6ffb82fb6d Make the 'Save Data Changes' icon to be more intuitive. Fixes #6176 2021-03-09 13:58:17 +05:30
Rahul Shirsat a2be30d257 Use schema qualification while accessing the catalog objects. Fixes #3976 2021-03-09 13:18:45 +05:30
Nikhil Mohite 8cf7c41ad9 Fixed an issue where adding/updating records fails if the table name contains percent sign. Fixes #4438. 2021-03-09 12:40:59 +05:30
Dave Page 5e40f9904d Make 'kerberos' an optional feature in the Python wheel, to avoid the need to install MIT Kerberos on the system by default. Tidy up the Python versioning a little whilst passing. Fixes #6268 2021-03-08 11:33:08 +00:00
Dave Page 059dad747d Ensure our venv uses the correct python interpreter, even if the user has set a different version using update-alternatives or similar. Partially fixes #6279 2021-03-08 11:17:55 +00:00
Dave Page 7d3903463c Fixup hash bangs in the venv. Partially fixes #6279 2021-03-05 10:15:45 +00:00
Dave Page 04a24680a6 Ensure that the venv activation scripts have the correct path in them on Linux. Partially fixes #6279 2021-03-05 09:58:30 +00:00
Nikhil Mohite d70dea5072 Ensure that the template database should be visible while creating the database. Fixes #6286 2021-03-04 17:48:52 +05:30
Nikhil Mohite 778e0cd402 Ensure that cell content being autoselected when editing the cell data. Fixes #5810 2021-03-04 13:53:23 +05:30
Nikhil Mohite 9317fe21b2 Fixed an issue where the user is not able to change the connection in Query Tool when any SQL file is opened. Fixes #6272 2021-03-04 13:17:31 +05:30
Nikhil Mohite 8be3517c6d Fixed an issue where hanging symlinks in a directory cause select file dialog to break. Fixes #5119 2021-03-04 12:48:56 +05:30
Dave Page ed6ddbb8de Fix README name. 2021-03-03 16:58:35 +00:00
Dave Page 77949ac4f7 Improve the web setup script for Linux to make the platform detection more robust and overrideable. Fixes #6228 2021-03-03 09:06:37 +00:00
Akshay Joshi 8c7417b735 Fixed regressions from the last commit. 2021-03-03 11:46:47 +05:30
Akshay Joshi 008bc6da28 Fixed some SonarQube issues. 2021-03-02 14:53:05 +05:30
Alessandro De Maria faa66f1636 Added '--replace' option in Import server to replace the list of servers with the newly imported one. Fixes #6270 2021-03-01 18:00:06 +05:30
Nikhil Mohite cb5d7190c4 Fixed SonarQube issues. 2021-03-01 18:00:06 +05:30
Dave Page 6cf3913c8e Clarify docs around configuration. 2021-03-01 10:47:50 +00:00
Huangj 9225493a93 Fixed an issue where schema diff showing wrong SQL when comparing triggers with different when clause. Fixes #6281. 2021-03-01 13:20:43 +05:30
Pradip Parkale 4267207c7f 1) Fixed an issue where the user is unable to create a subscription if the host/IP address for connection is 127.0.0.1. Fixes #6253
2) Ensure that proper error message should be shown on the properties and statistics tab in case of insufficient privileges for a subscription. Fixes #6259
3) Fixed an issue where the 'Create Slot' option is disabled in case of the same IP/host provided but the port is different. Fixes #6260
2021-03-01 12:08:33 +05:30
Dave Page cafd2af96d Ensure PGADMIN_DEFAULT_EMAIL looks sane when initialising a container deployment. Fixes #6227 2021-02-26 16:57:09 +00:00
Dave Page 544483ae1f Remove the "launch now" option in the Windows installer, as UAC could cause it to run as an elevated user. Fixes #5628
While we're passing, fix a couple of InnoSetup build warnings and remove some unnecessary code.
2021-02-26 16:24:39 +00:00
Dave Page e8114b5dc6 Allow underscores in the Windows installation path. Fixes #5467 2021-02-26 12:27:39 +00:00
Rahul Shirsat 87b9549ff4 Fixed encoding issue when database encoding set to SQL_ASCII and name of the column is in ASCII character. Fixes #6018 2021-02-26 13:23:07 +05:30
Rahul Shirsat 5a5a9314f3 Fixed an issue where the Save button is enabled for functions/procedures by default when open the properties dialog. Fixes #5073 2021-02-26 13:15:29 +05:30
Nikhil Mohite 4fc36a9053 Fixed an issue where the properties tab for collection nodes is unresponsive after switching the tabs. Fixes #4959 2021-02-26 12:50:30 +05:30
Nikhil Mohite 8279e7e01c Ensure that the user should be able to kill the session from Dashboard if the user has a 'pg_signal_backend' role. Fixes #6159 2021-02-26 12:50:30 +05:30
Fred Escallier f77fceb1b2 Update French translation. 2021-02-26 12:50:30 +05:30
Dave Page 4ea2246333 Remove the executable bit form images. 2021-02-25 09:12:16 +00:00
Dave Page 832b8fc038 Ensure we can build the node modules on ARM. 2021-02-23 16:12:55 +00:00
Akshay Joshi 2d537b6909 Updated release note 2021-02-22 16:47:16 +05:30
Nidhi Bhammar ea33ab308e Runtime docs. Fixes #6195 2021-02-22 10:47:13 +00:00
Aditya Toshniwal e0639602e6 Fixed ERD API test case failing for PG13 2021-02-22 15:01:01 +05:30
Akshay Joshi 296c23784f Fixed an issue where the python server is not closed when the user quits the
application from the top menu bar on OSX.

Python server will not be closed if the user quits the application from Dock,
for this we have updated the issue https://github.com/nwjs/nw.js/issues/7365

refs #6244
2021-02-22 14:58:04 +05:30
Nikhil Mohite 3132fa175a Added missing updated shared server owner name in the 'sharedserver' table
while the user changing the ownership of the shared server.

refs #6143
2021-02-22 14:49:34 +05:30
Libor M 20637bcacc Update Czech translation. 2021-02-22 11:13:06 +05:30
Identifier Anonymous a01ee87749 Update Japanese translation. 2021-02-22 11:11:16 +05:30
Domenico Sgarbossa 4c86079654 Update Italian translation. 2021-02-22 11:08:15 +05:30
Pradip Parkale 291e645d77 1) Updated documentation for SSL support in Subscription dialog.
2) Fixed API test cases.

refs #6201
2021-02-22 11:02:16 +05:30
Akshay Joshi 8e467788a3 Update message catalogs. 2021-02-19 16:05:11 +05:30
Akshay Joshi 71e40a7299 Update Dependencies. 2021-02-19 16:01:00 +05:30
Nikhil Mohite d9847ed1f3 Fixed an issue where the user is not able to use the query tool when
any other long-running operation is in progress.

refs #5793
2021-02-19 15:57:55 +05:30
Akshay Joshi db95414cf1 Fixed an issue where 'sys.executable' returns the path of 'httpd.exe' instead of the python interpreter on Windows with WSGI. 2021-02-19 15:45:00 +05:30
Dave Page df7de2ef71 Ensure RPMs & DEBs depend on matching versions of each other. Fixes #6250 2021-02-19 10:09:41 +00:00
Pradip Parkale 731ba32e81 1) Added SSL support for creating a subscription. Fixes #6201
2) Fixed an issue where the user is not able to create the subscription. Fixes #6230
3) Fixed a couple of issues raised during testing of logical replication.
2021-02-19 14:56:45 +05:30
Aditya Toshniwal 32197a8405 Fix explain plan and geometry viewer issue. It's a regression of SonarQube fixes. Fixes #6239 2021-02-19 14:29:43 +05:30
Akshay Joshi 2570f7d75c Fixed an issue where the user can't change the connection timeout setting if the fixed port number is enabled. Fixes #6249 2021-02-19 14:24:16 +05:30
Nikhil Mohite f65eb546b7 Fixed codemirror black screen issue on OSX. 2021-02-19 11:14:49 +05:30
Dave Page aeb42b1059 A little code tidying. 2021-02-18 16:13:45 +00:00
Dave Page 0d3cd2d466 Update supported platforms list. 2021-02-18 13:18:43 +00:00
Akshay Joshi 76217ffa8f Fixed ERDTables API test case. 2021-02-18 14:23:30 +05:30
Nidhi Bhammar b27a884bda Documentation of Logical Replication. Fixes #6145 2021-02-18 11:37:56 +05:30
Dave Page 85d1459372 The source location for cacert.pem has changed. 2021-02-17 15:43:02 +00:00
Pradip Parkale e5a91d30bf Fixed API test cases. 2021-02-15 18:29:49 +05:30
Akshay Joshi 3fc0cc3e92 Fixed SonarQube issues 2021-02-15 17:31:20 +05:30
Pradip Parkale 44cc7a308a Added publication and subscription support in Schema Diff. Fixes #6153 2021-02-15 16:05:40 +05:30
Aditya Toshniwal c1e80ac38a Fixed an issue where the ERD image is not properly downloaded. Fixes #6197 2021-02-15 15:24:57 +05:30
Nidhi Bhammar be090552f8 Documentation of Quick Search support. Fixes #6196 2021-02-15 14:56:50 +05:30
Dave Page e54ccb1302 Fix library path rewriting to avoid an issue with Cryptogrpahy's Rust module as described at https://github.com/PyO3/setuptools-rust/issues/106 2021-02-10 13:28:16 +00:00
Rahul Shirsat 2036e9d9a8 Fixed an issue where the user is unable to update column-level privileges from the security tab. Fixes #6117 2021-02-10 17:56:26 +05:30
Nikhil Mohite 1b850ff616 Fixed an issue where strikeout is getting removed on scrolling of index column of the table.
refs #6157
2021-02-10 17:40:54 +05:30
Aditya Toshniwal a5a83da045 Fixed an issue where preview images for the themes are not visible.
refs #6207
2021-02-10 17:40:54 +05:30
Dave Page 751b6c28b5 libtool is required for the container appbuild now. 2021-02-10 10:21:12 +00:00
Yogesh Mahajan 4c660f2155 Fixed an issue where roles are not deleted after API test execution. 2021-02-10 13:50:16 +05:30
Aditya Toshniwal 701f21186b Remove 'imagemin-gifsicle' package which is used to compress gif images. The latest version of imagemin-gifsicle requires the binaries to be built from the source. 2021-02-10 13:46:42 +05:30
Aditya Toshniwal 1317e4254b Updated the JS dependencies to the latest
1) Migrate from webpack 4 to webpack 5. This had a lot of breaking changes,
   so updated multiple webpack plugins and changed the config accordingly.
2) Replaced iconfont-webpack-plugin with a more maintained webfonts-loader.
3) Replaced deprecated babel-eslint with @babel/eslint-parser.
4) Replaced optimize-css-assets-webpack-plugin with a more maintained css-minimizer-webpack-plugin.
5) Updated all other JS packages and made the required code changes.

Fixes #6207
2021-02-10 12:47:52 +05:30
Dave Page 589663d7d9 Fix filenames. 2021-02-09 16:15:13 +00:00
Dave Page 884d9db54b A bunch of size optimisation for the container.
The new Rust requirement for the Cryptography module bloated it significantly.
2021-02-09 13:12:26 +00:00
Aditya Toshniwal 617440e1db Ensure that ajax request for Dashboard, Statistics, Dependencies, and Dependents
should not be raised until the panel will be in focus.

refs #5091
2021-02-09 15:31:26 +05:30
Akshay Joshi 5372467569 Use 'sys.executable' to get the absolute path of the executable binary for the Python interpreter instead of existing complex logic. 2021-02-09 15:27:12 +05:30
Yogesh Mahajan 9089750e21 Fixed feature test failures. 2021-02-08 16:43:34 +05:30
Dave Page 2f9a29f663 Handle the new Rust dependency in the Python Cryptography module. 2021-02-08 11:13:29 +00:00
Dave Page 447a1c9dd7 Update Docker container build to handle the new Rust requirement in thePython Cryptography module. 2021-02-08 11:00:41 +00:00
Dave Page 530eb3972b Convert READMEs to lightly formatted markdown, so they display nicely on Github etc. 2021-02-05 16:18:50 +00:00
Dave Page 5d098fe4b0 Remove a few files from the appbundle that aren't required. 2021-02-05 12:51:27 +00:00
Akshay Joshi 3a50c17110 Ensure that the pgAdmin server should not be closed if the user clicks on the Cancel button of the 'Leave site' message box. 2021-02-05 14:41:23 +05:30
Nikhil Mohite 85b40ee4f0 Fixed an issue where the user unable to change the background color for a server. Fixes #6178 2021-02-05 14:15:37 +05:30
Nikhil Mohite 9e85fb3de3 Fixed an issue where strike-through is not visible for rows selected for deletion after scrolling. Fixes #6157 2021-02-05 13:57:35 +05:30
Aditya Toshniwal 181bec62ce Fixed API test cases by making the connection id unique for ERD. 2021-02-04 16:14:55 +05:30
Akshay Joshi 9c7691c891 Fixed an issue where utility(Backup, Maintenance, ...) jobs are failing when the log level is set to DEBUG. Fixes #6208 2021-02-04 14:50:26 +05:30
Nikhil Mohite 14036b7aeb Fixed an issue where the focus is not properly set on the filter text editor after closing the error dialog. Fixes #5809 2021-02-04 11:45:16 +05:30
Nikhil Mohite 02c3863e8c Fixed an issue where shared server entries not getting deleted from SQLite database if the user gets deleted. Fixes #6143 2021-02-04 11:31:39 +05:30
Dave Page 6683522491 Try to make the NWJS download a little more reliable. 2021-02-03 13:00:25 +00:00
Aditya Toshniwal ee679e39e5 Use unique database name in ERD API test cases. 2021-02-03 16:49:17 +05:30
Dave Page db1eb75298 Don't include unnecessary doc files in the build. 2021-02-03 11:17:43 +00:00
Dave Page cb3801a5e8 Upgrade pip in a windows compatible way. 2021-02-03 10:47:48 +00:00
Aditya Toshniwal 73b6b95fbc Make Statistics, Dependencies, Dependants tabs closable and the user can add them back using the 'Add panel' option. Fixes #5091 2021-02-03 12:46:32 +05:30
Aditya Toshniwal 18f055fa5e 1) Ensure that all the python packages will take the latest until a major version.
2) Removed few packages which were dependencies of some other package.
2021-02-03 12:29:57 +05:30
Pramod Ahire 9e90350e44 Fixed jasmine test cases and added some missing messages for disabled menus. 2021-02-03 12:15:37 +05:30
Dave Page 65d9f88c63 Wait up to 30 minutes for notarisation - it can be very slow! 2021-02-02 16:59:58 +00:00
Akshay Joshi eca8e706dd Fixed SearchObjectsApiSearch test cases failed for EPAS 9.5 and 9.6 2021-02-02 19:47:06 +05:30
Dave Page b41557b54b Instead of rotating logs, don't write them to the container in the first place.
This is inline with container best practices (logs go to the container console).

Fixes #6170
2021-02-02 13:45:49 +00:00
Dave Page 0ccf2dad22 Use unzip to properly unpack nwjs. 2021-02-02 12:17:14 +00:00
Dave Page 2097d37f76 Wait longer for notarisation results. 2021-02-02 11:44:52 +00:00
Dave Page 0ca4426dd0 Move the macOS notarization into the build system and out of Jenkins. 2021-02-02 11:20:18 +00:00
Dave Page bc3c857b35 Ensure libatomic is installed. Fixes #6198 2021-02-02 09:40:08 +00:00
Pramod Ahire b948f43dda Added Quick Search functionality for menu items and help articles. Fixes #6148 2021-02-02 14:47:58 +05:30
Khushboo Vashi f7214b7cfe Fixed dependency tab loading issue when database name having special characters.
refs #6087
2021-02-02 11:49:51 +05:30
Aditya Toshniwal 75f887f5dc Ensure that ERD throws a warning before closing unsaved changes if open in a new tab. Fixes #6193 2021-02-02 11:47:10 +05:30
Dave Page e10dd6a80f Rotate the logfile in the container distribution. Fixes #6170 2021-02-01 17:35:23 +00:00
Dave Page 960433dd90 Use the latest Gunicorn. 2021-02-01 17:29:06 +00:00
Dave Page 32e3da7857 Make sure pgAdmin can find the root certificates for upgrade checks. 2021-02-01 17:26:39 +00:00
Dave Page 2a4ba132ad Remove the PG 9.5 utilities, as it'll be out of support by the next release. 2021-02-01 17:20:24 +00:00
Dave Page 6e7ca8c4b0 Remove some unnecessary files from the doc build to save space. 2021-02-01 16:55:03 +00:00
Dave Page 7dc6181d1e Ensure the bundle identifier matches what's in Info.plist. 2021-02-01 15:19:10 +00:00
Dave Page 921c0ac71a Make sure the doc builder has the dependencies it needs. 2021-02-01 10:52:41 +00:00
Dave Page ad656a9d41 Use the same retry logic we use on Linux for grabbing nwjs. 2021-02-01 10:48:52 +00:00
Dave Page 56cc1f0aaf Default to Python 3.9.1 2021-02-01 10:02:19 +00:00
Pradip Parkale bf56a6723b Added support for Logical Replication. Fixes #5912 2021-02-01 15:12:43 +05:30
Akshay Joshi 179bac3fd0 Fixed API test cases failed due to SonarQube fixes. 2021-01-31 18:19:14 +05:30
Dave Page 08df09af96 Limit the upgrade check to run once per day. Fixes #6187 2021-01-29 16:01:35 +00:00
Dave Page 3c1dc18656 Fix typo 2021-01-29 15:40:23 +00:00
Dave Page 12276b6033 Fix typo 2021-01-29 15:34:51 +00:00
Dave Page a12a02cc14 We need python3 to be the default for building. 2021-01-29 10:31:29 +00:00
Dave Page 740d411524 Use Python3 to create the Python env. 2021-01-29 10:19:09 +00:00
Akshay Joshi 2e68c6ff75 Fixed Definition list ends without a blank line; unexpected unindent. 2021-01-29 14:56:18 +05:30
Akshay Joshi 102ffd141c Implemented runtime using NWjs to open pgAdmin4 in a standalone window
instead of the system tray and web browser. Used NWjs to get rid of QT
and C++. Fixes #5967

Use cheroot as the default production server for pgAdmin4. Fixes #5017
2021-01-29 13:38:27 +05:30
Aditya Toshniwal a0271c7656 Fixed an issue while downloading ERD images in Safari and Firefox. Fixes #6177 2021-01-29 12:19:24 +05:30
Akshay Joshi 358af42c50 Fixed an issue where the dependencies tab showing multiple owners for the objects having shared dependencies. Fixes #6087 2021-01-29 12:10:21 +05:30
Aditya Toshniwal 48e257e5af 1) Fixed an issue where Zoom to fit button only works if the diagram is larger than the canvas. Fixes #6163
2) Ensure that the diagram should not vanish entirely if zooming out too far in ERD. Fixes #6164
3) Fixed an issue where Generate SQL displayed twice in the ERD tool. Fixes #6179
4) Updated missing documentation for the 'Download Image' option in ERD. Fixes #6180
2021-01-29 11:54:50 +05:30
Nikhil Mohite 36f76f5e2c Fixed autocomplete issue where it is not showing any suggestions if the schema name contains escape characters. Fixes #6045. 2021-01-29 11:45:38 +05:30
Rahul Shirsat ab642344d4 Ensure that username should be visible in the 'Connect to Server' popup when service and user name both specified. Fixes #5871 2021-01-29 11:32:27 +05:30
Rahul Shirsat e230787f21 Fixed SonarQube issues. 2021-01-29 11:06:59 +05:30
Akshay Joshi b563040cf3 Ensure that the Flask-Security-Too version should be less than 4.0.0 2021-01-27 16:39:19 +05:30
Dave Page addcf2c6e2 Fix typo 2021-01-27 10:02:28 +00:00
Aditya Toshniwal 3f563d8cbf 1) Fixed an issue where the Save button is disabled due to the existing table check in ERD.
2) Fix warnings given by webpack.
2021-01-25 19:44:24 +05:30
Khushboo Vashi 88c0968cab Some minor updates to Kerberos documentation. 2021-01-25 19:32:53 +05:30
Akshay Joshi e5407ab2bd Update version for release. 2021-01-25 17:32:56 +05:30
Aditya Toshniwal 13db981445 Fixed following issues in ERD:
1) After opening an existing project, the first table is already selected but the edit, clone, delete buttons are disabled.
 2) ERD project title gets changed when 2 ERD projects are open & anyone of it edited.
 3) Closing the ERD tab does not ask for a confirmation pop-up.
 4) Shortcut for 'Show more/Fewer details' is missing.
 5) Deleting the primary key does not delete associated links.
 6) The long table & schema name are getting out of the box.
 7) The long table name in the notes pop-up needs re-alignment.
 8) The same table name present in ERD/canvas is allowed in Add Table dialogue. Added validation in the dialog.
 9) Download image option is added, but it is not perfect yet. Image icons (table, schema, etc.) are not showing up.
 10) Rename panel option should be disabled by default. It should be enabled for the tools which implement rename functionality.
 11) The Toolbar is not visible in Safari for the ERD tool.

refs #1802
2021-01-25 17:32:56 +05:30
Dave Page 446c2a19a5 Fix Windows build. 2021-01-25 09:09:36 +00:00
Identifier Anonymous 0e03712a85 Update Japanese translation. 2021-01-25 12:45:25 +05:30
Fred Escallier b18001ce57 Update French translation. 2021-01-25 12:43:14 +05:30
Domenico Sgarbossa f46cab6862 Update Italian translation. 2021-01-25 12:40:26 +05:30
Libor M 20c9082b8d Update Czech translation. 2021-01-25 12:38:15 +05:30
Nidhi Bhammar e20f26c500 Documentation of ERD Diagram support. Fixes #6152 2021-01-25 12:18:47 +05:30
Nidhi Bhammar 048c90a695 Documentation of Kerberos support. Fixes #6147 2021-01-25 12:11:08 +05:30
Akshay Joshi dca9745e97 Update message catalogs. 2021-01-22 20:04:45 +05:30
Khushboo Vashi 45fa74ae46 Updated Windows installer script for Kerberos support. 2021-01-21 16:29:03 +05:30
Akshay Joshi f92b0961ee Revert "Fixed an issue where shared server entries not getting deleted from SQLite database if the user gets deleted. Fixes #6143"
This reverts commit 57ed02a9aa.
2021-01-21 15:23:03 +05:30
Nikhil Mohite 57ed02a9aa Fixed an issue where shared server entries not getting deleted from SQLite database if the user gets deleted. Fixes #6143 2021-01-21 14:23:02 +05:30
Akshay Joshi 3e09f1bf40 Ensure that the current value of the sequence should be ignored while comparing using schema diff. Fixes #6144 2021-01-21 14:18:06 +05:30
Dave Page 91ca746c27 Fix menu text (the Query tool option doesn't open a dialogue, so should not have ...). 2021-01-20 15:52:34 +00:00
Dave Page a2f626046a Fix labels. 2021-01-20 15:47:41 +00:00
Dave Page 32cdfa2969 Include PostgreSQL 13 utilities in the container. Fixes #6162 2021-01-20 13:17:27 +00:00
Khushboo Vashi c71315f8cd 1) Added RPM/DEB dependency for Kerberos to the server package.
2) Handle the OSError while importing the gssapi, it fixes the Windows error.

refs #5457
2021-01-20 18:09:07 +05:30
Aditya Toshniwal 57a2559f11 1) Fixes the broken explain GUI test case.
2) Displays a tooltip "Click for details..." on hover over explain plan nodes.

refs #5488
2021-01-20 17:49:23 +05:30
Dave Page 850afd7402 Add a container option (PGADMIN_DISABLE_POSTFIX) to disable the Postfix server. 2021-01-20 11:50:05 +00:00
Dave Page ddf7f04c94 Update instructions to include KfW build. 2021-01-20 11:37:12 +00:00
Khushboo Vashi 9bee91b6f6 1) Fixed an issue where the Save button is enabled by default in Macro. Fixes #5905
2) Remove extra line after Manage Macros menu while clearing all macros. Fixes #5906
3) Ensure that 'Clear All Rows' should not work if there is no existing macro available and the user does not specify any value. Fixes #5907
4) Fixed an issue where the server is disconnected error message displayed if the user creates Macro with invalid SQL. Fixes #5929
2021-01-20 13:52:00 +05:30
Rahul Shirsat b3ca172f3a Fixed an issue of deleting records when the user tries to delete multiple records. Fixes #6098 2021-01-20 12:39:12 +05:30
Akshay Joshi 9fa29457a4 Update copyright notice for ERD and Kerberos files. 2021-01-19 16:22:53 +05:30
Akshay Joshi 459c6ab796 1) Handle the version conflict exception in dependency inventory.
2) Update Dependencies.
2021-01-19 16:18:09 +05:30
Nikhil Mohite da9f9017a9 Fixed cognitive complexity reported by SonarQube. 2021-01-19 13:34:14 +05:30
Nikhil Mohite 94d2ad9584 Fixed API test cases for Kerberose. 2021-01-19 13:28:55 +05:30
Aditya Toshniwal 9229156cf6 One more attempt to fix jasmine test cases of ERD Tool. 2021-01-18 17:14:19 +05:30
Aditya Toshniwal 02f9b72d3e Fixed jasmine test cases of ERD Tool. 2021-01-18 16:39:58 +05:30
Khushboo Vashi c0ef0a893d 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-18 16:32:10 +05:30
Huang Jun a60cfd3cc3 Fixed an issue while checking the major version of servers in schema diff. 2021-01-18 14:40:07 +05:30
Nikhil Mohite d4a3e4d92c Fixed issues reported by SonarQube. 2021-01-18 13:02:19 +05:30
Aditya Toshniwal 5afa4f1995 Remove few dependencies which are not required for ERD Tool. 2021-01-18 12:53:58 +05:30
Aditya Toshniwal 0c8226ff39 Added ERD Diagram support with basic table fields, primary key, foreign key, and DDL SQL generation. Fixes #1802 2021-01-16 17:06:50 +05:30
Nikhil Mohite 065bda37b4 Added informative message when there is no difference found for schema diff. Fixes #6122 2021-01-15 14:03:22 +05:30
Nikhil Mohite a2edf317a9 Ensure that the user should be able to specify an older date for the account expiration of the role/user. Fixes #6120 2021-01-15 11:38:08 +05:30
Akshay Joshi f86f58dc56 Revert "Ensure that the account expiration date for role/user can’t be older than the current date. Fixes #6120"
This reverts commit 9a47e574e3.
2021-01-14 14:47:52 +05:30
Akshay Joshi f0debdd513 Revert "1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457"
This reverts commit 6ead597b43.
2021-01-14 14:46:59 +05:30
Khushboo Vashi 6ead597b43 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-14 13:46:48 +05:30
Nikhil Mohite 9a47e574e3 Ensure that the account expiration date for role/user can’t be older than the current date. Fixes #6120 2021-01-14 12:09:03 +05:30
Dave Page 0bd77937de Timestamp servers are few and far between now :-/ 2021-01-13 15:02:54 +00:00
Dave Page 6a43c3d90b Use a working timestamp server. 2021-01-13 11:40:11 +00:00
Akshay Joshi 9dd357a9ee Fixed syntax error in print function 2021-01-13 16:03:28 +05:30
Nikhil Mohite 1a756efe82 Fixed an issue where Non-admin user is unable to view shared server created using service. Fixes #6075 2021-01-13 12:18:16 +05:30
Rahul Shirsat 18e4b30634 Reverting fix for #4892, updated the RM with the workaround. 2021-01-13 11:05:46 +05:30
Aditya Toshniwal 6589f82e77 Improve the explain plan details by showing popup instead of tooltip on clicking of the specified node. Fixes #5488 2021-01-12 16:43:30 +05:30
Huang, Jun 3f089f31a3 Fixed an issue where target connection is wrong while checking version compatibility in schema diff. 2021-01-12 15:09:57 +05:30
Nikhil Mohite 0fcfe63092 Fixed an issue on refreshing files in Query Tool. Fixes #6069 2021-01-11 17:40:13 +05:30
Rahul Shirsat d55555c544 Fixed an issue where sequences are not created. Fixes #6128
refs #6084
2021-01-11 17:29:08 +05:30
Akshay Joshi 90004119af Ensure that verbose logs should be visible for Utility(Backup, Maintenance) jobs. Fixes #6140 2021-01-11 16:35:44 +05:30
Nikhil Mohite f8497d4e7a Fixed an issue where the database list in the new connection window is not visible. Fixes #6121 2021-01-11 13:03:15 +05:30
Akshay Joshi eb3cd689a1 1) Update release date.
2) Update copyright notice.
2021-01-07 17:05:56 +05:30
Dave Page 3687472201 The qt5-default package has been deprecated from Debian Bullseye. 2021-01-07 11:14:46 +00:00
Akshay Joshi b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +05:30
Aditya Toshniwal 5198a881b7 Added 'Count Rows' option to the partition sub tables. Fixes #5282 2021-01-04 15:25:05 +05:30
Aditya Toshniwal 233736897d Added 'CREATE TABLE' SQL missed in the last patch for #5571
refs #5571
2021-01-04 15:06:28 +05:30
Nikhil Mohite cd5243ac6d Fixed RESQL test cases for schema 2020-12-31 13:54:19 +05:30
Yogesh Mahajan d1f5511566 Improve code coverage and API test cases for pgAgent. Fixes #5338 2020-12-31 13:52:14 +05:30
Nikhil Mohite 6fce58f2ad Updated Flask-BabelEx to the latest. Fixes #5997 2020-12-31 13:48:35 +05:30
Nikhil Mohite 26bbc0e877 Fixed RESQL test cases for Column. 2020-12-30 12:25:07 +05:30
Akshay Joshi 98b7603ebd Close query tool connection for API test cases. 2020-12-25 18:32:01 +05:30
Aditya Toshniwal f9087475d4 Fixed RESQL test cases for exclusion constraints.
refs #5571
2020-12-24 14:03:07 +05:30
Nikhil Mohite dbb4a46d46 Fixed accessibility issues in various dialogs. Fixes #6077 2020-12-24 13:26:25 +05:30
Akshay Joshi 3012778def Updated deployment documentation, refer correctly to uWSGI where Gunicorn had been referenced. Fixes #6096
Patch By: Thomas Levine
2020-12-24 13:20:08 +05:30
Rahul Shirsat 4c9853f10d Fixed an issue where pressing the back button will show another instance of the main page inside of the Query Tool tab. Fixes #4892 2020-12-24 13:13:57 +05:30
Aditya Toshniwal 5448de2d3f Added support for expression in exclusion constraints. Fixes #5571 2020-12-24 12:50:57 +05:30
Nikhil Mohite a92595012f Fixed extra parentheses issue around joins for Views. Fixes #6061 2020-12-23 13:02:16 +05:30
Nikhil Mohite c933771016 Fixed accessibility issues in schema diff module. Fixes #6065 2020-12-23 12:57:16 +05:30
Rahul Shirsat ed5fc20ee2 Fixed TypeError exception in schema diff when selected any identical object. Fixes #6084 2020-12-21 15:06:01 +05:30
Nikhil Mohite a0ff0e30fb Fixed Debugger API test cases.
refs #5343
2020-12-17 18:59:44 +05:30
Rahul Shirsat 3def9792be Added appropriate help message and a placeholder for letting users know about the account password expiry for Login/Group Role. Fixes #5973 2020-12-17 12:02:32 +05:30
Nikhil Mohite a7b8d77ed7 Fixed an issue where the state of the Save File icon does not match the dirty editor indicator. Fixes #6046 2020-12-17 11:37:03 +05:30
Rahul Shirsat cb0a914099 Ensure that the 'template1' database should not be visible after pg_upgrade. Fixes #5875 2020-12-16 11:37:19 +05:30
Akshay Joshi 21333490ef 1. Added check to skip debugger test case if the plugin is not installed.
2. Added code to delete the existing "pldbgapi" extension and create a new extension.
3. Updated a few test cases that are falling on specific servers.
4. Fixed test cases for pgAgent.

Fixed by: Nikhil & Yogesh
2020-12-16 11:25:16 +05:30
Akshay Joshi 5f5818ba78 Updated mimetype from 'text/javascript' to 'application/javascript' as 'text/javascript' is obsolete. Fixes #6079 2020-12-14 12:34:19 +05:30
Akshay Joshi c4d9ef9210 Added connected pgAdmin user and connection name in the log file. Fixes #6052
Patch By: Nico T
2020-12-14 12:24:06 +05:30
Nikhil Mohite 52780079f3 Fixed an issue where the dirty indicator stays active even if all changes were undone. Fixes #6047 2020-12-14 12:02:02 +05:30
Rahul Shirsat 6475a70514 Ensure that the macro query result should be download properly. Fixes #5965 2020-12-14 11:58:53 +05:30
Akshay Joshi 296d22ad83 Updated version of 'sqlparse' as pgcli updated and tested it. 2020-12-14 11:39:50 +05:30
Nikhil Mohite c79614786f Ensure that the rename panel should be disabled when the SQL file opened in the query tool. Fixes #6058 2020-12-10 18:13:04 +05:30
Nikhil Mohite c7ae5024d5 Added random function name generation logic for the debugger test cases. 2020-12-09 13:36:52 +05:30
Akshay Joshi f403e61b66 Fixed Windows issue with the combination of Python 3.8, bcrypt 3.1.7, and Cryptography 3.0 2020-12-09 13:03:28 +05:30
Akshay Joshi 86fb879a0e No success by lowering down the Cryptography version, so reverting back to the last changes. 2020-12-08 19:13:04 +05:30
Akshay Joshi ab5632d5eb One more attempt to fix Windows build by lower down the version of Cryptography. 2020-12-08 18:17:09 +05:30
Akshay Joshi eee23aa642 Fixed DLL load failed while importing bcrypt. Fixes #6072 2020-12-08 14:40:37 +05:30
Akshay Joshi bb25e85834 Update version for release. 2020-12-07 15:51:22 +05:30
Rahul Shirsat 375e2e0d13 Fixed minor issue of the add-folder icon in the file manager. 2020-12-07 15:48:11 +05:30
Nikhil Mohite 9450065850 1. Resolved the issues related to the database connection.
2. Updated the create "pldbgapi" extension for the debugger.

refs #5343
2020-12-07 15:44:56 +05:30
Fred Escallier 98ce8a298a Update French translation. 2020-12-07 10:53:02 +05:30
Identifier Anonymous 7286d13d19 Update Japanese translation. 2020-12-06 19:24:45 +05:30
Domenico Sgarbossa 530cc19f58 Update Italian translation. 2020-12-06 19:20:15 +05:30
Libor M bfa26be7f0 Update Czech translation. 2020-12-06 19:17:51 +05:30
Aditya Toshniwal ca4db8871e Ensure that code coverage should cover class and function declarations. Fixes #6062 2020-12-06 19:16:17 +05:30
Akshay Joshi 146da066b0 Update message catalogs. 2020-12-04 17:59:59 +05:30
Nikhil Mohite 12dc2c418d Fixed documentation issue where JSON is not valid. Fixes #5982 2020-12-03 10:46:36 +05:30
Nikhil Mohite 1c5cb63aff Fixed an issue where shared servers import is failing. Fixes #6022 2020-12-03 10:40:52 +05:30
Nikhil Mohite 794bd50ed1 Improve code coverage and API test cases for Debugger. Fixes #5343 2020-12-03 10:31:24 +05:30
Yogesh Mahajan 26b3bc3f74 Fixed an issue where an illegal argument is showing for trigger SQL when a trigger is created for View. Fixes #6003 2020-12-02 10:55:23 +05:30
Akshay Joshi 64e6570f00 Fixed an issue where schema diff doesn't show the result of compare if source schema has tables with RLS. Fixes #5998 2020-12-01 13:46:19 +05:30
Yogesh Mahajan 783b7516a7 Fixed false error is shown while adding a new foreign key from the table dialog when a foreign key already exists with Auto FK Index set to true. Fixes #5886 2020-12-01 11:35:01 +05:30
Nikhil Mohite abd0748a77 Ensure that dirty indicator (*) should not be visible when renaming the tabs. Fixes #5991 2020-12-01 11:28:10 +05:30
Nikhil Mohite fb51ef569e Fixed an issue where escape character is shown when the server/database name has some special characters. Fixes #5992 2020-12-01 11:19:07 +05:30
Yogesh Mahajan b54cf2edca Improve code coverage and API test cases for Foreign Tables. Fixes #5328 2020-11-26 11:52:06 +05:30
Aditya Toshniwal 55e50144f3 Update the cryptography python package for Python 3.5 and above. Fixes #6033 2020-11-26 11:43:08 +05:30
Akshay Joshi a2f4628590 Explicitly set the mime-types so that a corrupted windows registry will not affect pgAdmin 4 to be load properly. 2020-11-23 11:46:09 +05:30
Yogesh Mahajan ce14696165 Improve code coverage and API test cases for Views and Materialized Views. Fixes #5337 2020-11-20 10:04:30 +05:30
Khushboo Vashi 29c3c0cf7f Fixed BatchProcessTest cases failing on Jenkins. 2020-11-19 18:09:35 +05:30
Rahul Shirsat 3e2a1c4eca Ensure that folder rename should work properly in Storage Manager. Fixes #5943 2020-11-19 10:33:05 +05:30
Nikhil Mohite 17ce84dd0a Fixed an issue where dynamic tab title has not applied the first time for debugger panel. Fixes #5978 2020-11-19 10:25:20 +05:30
Murtuza Zabuawala 5839e7cda8 Added validation in schema diff which will not allow the user to compare the same objects. 2020-11-12 18:08:40 +05:30
Nikhil Mohite ebf5e871e0 Fixed an issue where the debugger's custom tab title not applied when opened in the new browser tab. Fixes #5974 2020-11-12 17:59:13 +05:30
Nikhil Mohite 5370bb4515 Added the appropriate server icon based on the server type in the new connection dialog. Fixes #5983 2020-11-12 17:52:54 +05:30
Rahul Shirsat be386e77f2 1) Fixed an issue where the process watcher dialog throws an error for
the database server which is already removed. Fixes #5985
2) Fixed cognitive complexity reported by SonarQube.
2020-11-12 17:47:21 +05:30
Nikhil Mohite a026f339c3 Fixed cognitive complexity reported by SonarQube. 2020-11-12 17:20:58 +05:30
Akshay Joshi 552a1bfaa6 Update version for release. 2020-11-09 14:35:55 +05:30
Akshay Joshi 6089dcd09a Fixed 'positional format placeholders are unbalanced' error in translation. 2020-11-09 13:12:24 +05:30
Nikhil Mohite 64964f82cf Ensure that Grant Wizard should include foreign tables. Fixes #5959 2020-11-09 12:44:00 +05:30
navnath gadakh 3a38f6b147 Added ALLOWED_HOSTS support.
refs #5919
2020-11-09 12:35:19 +05:30
Akshay Joshi 1dca4313f7 Fixed an issue where Query Tool/View Data panel closed event is not registered for changes.
It's a regression of #4231.

refs #4231
2020-11-08 19:14:08 +05:30
Ma Yanhong f664b71565 Update Chinese translation. 2020-11-08 16:43:34 +05:30
Fred Escallier b12690703f Update French translation. 2020-11-08 16:35:43 +05:30
Identifier Anonymous 8a96e8a673 Update Japanese translation. 2020-11-08 16:33:23 +05:30
Libor M 31b0791ab9 Update Czech translation. 2020-11-08 16:31:24 +05:30
Domenico Sgarbossa 4486f4d3ab Update Italian translation. 2020-11-08 16:30:02 +05:30
Akshay Joshi 719b6e8c37 Update Dependencies. 2020-11-06 16:41:13 +05:30
Akshay Joshi 18bc7a6eaf Update message catalogs. 2020-11-06 16:38:40 +05:30
Akshay Joshi 9e2127b2a5 Removed ALLOWED_HOSTS support as it requires 'netaddr' which doesn't support Python 3.5 2020-11-05 12:43:11 +05:30
Nikhil Mohite 2793747d3c 1) Added support for dynamic tab size. Fixes #4231
2) Fixed an issue where a long file name is not visible on the process watcher dialog. Fixes #5950
2020-11-04 17:45:28 +05:30
Nidhi Bhammar 749ba4a25c Documentation of Storage Manager. Fixes #5938 2020-11-04 17:31:21 +05:30
Akshay Joshi e4823e9099 Fixed PEP8 2020-10-31 17:04:01 +05:30
Pradip Parkale 91c5ff4a90 Fixed feature test failure. 2020-10-31 17:00:05 +05:30
Pradip Parkale 25fcdab9db Fixed an issue where a mismatch in the value of 'Estimated row' for functions. Fixes #5914 2020-10-30 15:09:40 +05:30
Khushboo Vashi 14a5d05b80 Ensure that non-superuser should be able to debug the function. Fixes #5760 2020-10-30 15:03:18 +05:30
Rahul Shirsat 183c83f0d2 Fixed an issue where the validation error message is shown twice. Fixes #5736 2020-10-30 14:59:22 +05:30
Akshay Joshi df31fe7dc4 Updated schema diff script generation message as we have removed the Beta keyword. 2020-10-29 14:32:37 +05:30
Nidhi Bhammar 1126ee77ec Updated documentation for pgAgent. 2020-10-28 12:33:56 +05:30
Nikhil Mohite 6c723a7e43 Fixed an issue where connection to the server is on wait state if a different user is provided. Fixes #5953 2020-10-28 12:32:22 +05:30
Akshay Joshi 71a8c0f317 One more attempt to fix Jasmin test cases. 2020-10-27 18:05:30 +05:30
Akshay Joshi b76bb58378 Added support to compare schemas and databases in schema diff. Fixes #5891 2020-10-27 16:36:10 +05:30
Akshay Joshi 5284a1c66b Fixed API test cases. 2020-10-27 11:15:45 +05:30
Nikhil Mohite b5f9fffadd Fixed the following issues:
RM-4232:
1. If the user adds a percentage (other than for placeholders) then it is stripped off.
2. Backslash is getting removed in the connection string if we provide the backslash(\) in placeholders or the database name contains it.
3. If the user added only spaces( )in placeholders it is not getting reset to default values.

RM-4230:
1. Rename panel option is not working in the debugger.
2. Added Rename panel for schema diff.

Fixes #4232 #4230
2020-10-27 11:03:00 +05:30
Murtuza Zabuawala 892fb83907 Remove commented code. 2020-10-27 10:53:18 +05:30
Libor M 7648bd9646 Added missing gettext. 2020-10-27 10:51:35 +05:30
Nikhil Mohite c86a3d64fc Added support to rename query tool and debugger tabs. Fixes #4230
Fixed an issue where non-closeable tabs are getting closed. Fixes #5923
2020-10-23 17:16:31 +05:30
Rahul Shirsat c2ad97d0ab Added support to download utility files at the client-side. Fixes #3318 2020-10-23 16:14:55 +05:30
Pradip Parkale 7573fac29f Ensure that query history should be listed by date/time in descending order. Fixes #5842 2020-10-23 15:06:56 +05:30
Khushboo Vashi 9b4317fb25 Fixed Jasmine test cases. 2020-10-21 22:14:10 +05:30
Nikhil Mohite 275d13d40f Following issues have been resolved for the new connection feature:
1. Show servers with server groups in the dropdown.
  2. Highlighted current selected connection in the new connection dropdown.
  3. Notify the user before changing the connection.

refs #3794
2020-10-21 17:14:59 +05:30
Ganesh Jaybhay 08c4deba5a Added following security enhancements:
1) Added ALLOWED_HOSTS list to limit the host address.
  2) Added CSP and HSTS security header.
  3) Hide the webserver/ development framework version.

Fixes #5919
2020-10-20 17:14:45 +05:30
Pradip Parkale 3413a42af4 Ensure that some fields should be disabled for the trigger in edit mode. Fixes #4639
Fixed illegal argument issue in the trigger for EPAS servers. Fixes #5799
2020-10-20 16:18:34 +05:30
Pradip Parkale 7b9504bdfb Fixed an issue where the suffix for Toast table size is not visible in the Statistics tab. Fixes #5895 2020-10-20 15:57:32 +05:30
Nikhil Mohite 18cad32bd4 Added tab title placeholder for Query Tool, View/Edit Data, and Debugger. Fixes #4232 2020-10-20 15:41:54 +05:30
Aditya Toshniwal 38b90f7b00 Ensure that search object functionality works with case insensitive string. Fixes #5858 2020-10-15 16:17:54 +05:30
Khushboo Vashi 6addd207af Ensure that macros should be run on the older version of Safari and Chrome. Fixes #5911 2020-10-15 15:59:53 +05:30
Libor M 98817a718f Update Czech translation. 2020-10-15 15:52:30 +05:30
Akshay Joshi 9898e114f1 Update version for release. 2020-10-12 18:03:27 +05:30
Aditya Toshniwal 67242862c4 Fixed an issue where extensions are getting added multiple times when the user uses the "Save As" option.
refs #4855
2020-10-12 18:01:53 +05:30
Nikhil Mohite 2b7e3ce64e Fixed an issue on a new connection when the server is disconnected and we are trying to connect it using the new connection model. 2020-10-12 17:14:42 +05:30
Khushboo Vashi 49b139bb75 Added escape and unescape for the strings used in query tool and new connection support. Fixes #5899. 2020-10-12 16:20:33 +05:30
Nidhi Bhammar b11a0d50e6 Fixed documentation review comments for Macro support.
refs #5857
2020-10-12 16:13:34 +05:30
Domenico Sgarbossa 33e9b74388 Update Italian translation. 2020-10-12 14:09:17 +05:30
Fred Escallier cc282b3585 Update French translation. 2020-10-12 14:07:45 +05:30
Identifier Anonymous 92f9ad48a8 Update Japanese translation. 2020-10-12 14:05:44 +05:30
Pradip Parkale 1bb510cdd4 Fixed following issues in the function module:
1) The volatility option is not reflecting. It stays volatile always when creating the function.
2) Set "Returns as set" to true and enter estimated rows like 12. Now set returns as set to false and save.
   It gives ERROR: ROWS is not applicable when the function does not return a set.
   Need to clear estimated rows when returns as set is false.
3) If estimated rows are added and support function is selected then SQL looks ugly.

Fixes #5843
2020-10-12 14:01:04 +05:30
Nikhil Mohite fa267805c9 Fixed fg_color and bg_color issue for connection string on query tool.
refs #3794
2020-10-12 13:51:48 +05:30
Akshay Joshi 556278dbc5 Added support to view trigger function under the respective trigger node. Fixes #2519 2020-10-12 13:49:54 +05:30
Pradip Parkale 365ec0ba9f Fixed an issue where 'Rows X' column values were not visible properly for Explain Analyze in Dark theme. Fixes #5853. 2020-10-09 18:17:27 +05:30
Akshay Joshi 4587cf73c2 Update Dependencies. 2020-10-09 18:03:47 +05:30
Akshay Joshi 65aba21c14 Update message catalogs. 2020-10-09 18:00:25 +05:30
Akshay Joshi 0bf6e81faa Fixed linter error. 2020-10-09 12:09:23 +05:30
Khushboo Vashi f4d6290b50 Update the macro help link. 2020-10-09 11:52:46 +05:30
Aditya Toshniwal ca8dc42d14 Updated the packages and yarn.lock file. 2020-10-09 11:49:03 +05:30
Aditya Toshniwal a4e746c5a4 Ensure that '.sql' extension is added when saving a file with SQL format.
refs #4855
2020-10-09 11:46:32 +05:30
Nikhil Mohite 1c796720be Fixed the following issues for RM 3794:
1. Updated connection success message. (Added database name in the success message.)
2. Resolve issue of the mouse pointer and dropdown will show below the connection string only.
3. Added loader for both new connections and load existing connections.
4. Removed async: false for update connection.

refs #3794
2020-10-08 11:38:05 +05:30
Murtuza Zabuawala 483eeeca39 Added gettext and escape around Macro name and label. Fixes #5894 2020-10-08 11:23:45 +05:30
Akshay Joshi f27527a614 Fixed API test cases failed for PG 9.5 due to change in the order of ACL. 2020-10-07 08:41:21 +05:30
Nidhi Bhammar 609904cfb3 Added documentation for Macro support. Fixes #5857 2020-10-06 17:35:04 +05:30
Pradip Parkale 82e912ffad Fixed 'can't execute an empty query' message if the user change the option of Auto FK Index. Fixes #5835 2020-10-06 17:20:43 +05:30
Akshay Joshi 6c4049f29a Added RESQL/MSQL test cases for Functions. Fixes #5395
Initial patch sent by Nikhil Mohite.
2020-10-06 17:13:41 +05:30
Akshay Joshi 9466278be2 Fixed invalid literal issue when fetching dependencies for Materialized View. Fixed #5882 2020-10-05 17:53:47 +05:30
Pradip Parkale e4029cca04 Ensure that the user should be able to change the start value of the existing sequence. Fixes #5855 2020-10-05 16:38:16 +05:30
Akshay Joshi bcb2f833cd Fixed PEP8 2020-10-05 15:09:39 +05:30
Akshay Joshi a0a15fa643 Fixed feature tests for autocomplete. 2020-10-05 15:08:09 +05:30
Khushboo Vashi c28509ac28 Fixed an issue where the user is unable to change the macro name. Fixes #5885 2020-10-05 14:40:21 +05:30
Akshay Joshi 542be2b2d4 Fixed issues where the 'pg_pltemplate' system catalog is removed from PG 13 and it gives error while creating the language. 2020-10-05 14:35:48 +05:30
Pradip Parkale 9a77d4dc1a Allow users to modify the option settings of the procedure.
refs #5843
2020-10-05 09:02:27 +05:30
Akshay Joshi 558d25fabc Updated 'sqlparse' and 'pytz' module to the latest version. 2020-10-01 16:02:30 +05:30
Nikhil Mohite be7bb81a19 Allow user to change the database connection from an open query tool tab. Fixes #3794 2020-10-01 13:29:46 +05:30
Khushboo Vashi 228d4bb321 Fixed SQLAlchemy operation error with the boolean value as true/false for Python version < 3.7 2020-10-01 13:29:46 +05:30
Pradip Parkale 656e239e55 Fixed API test cases introduce in the commit for #5867.
refs #5867
2020-10-01 13:29:46 +05:30
Akshay Joshi 300de05a20 Merged the latest code of 'pgcli' used for the autocomplete feature. Fixes #5497 2020-10-01 13:29:46 +05:30
Dave Page 3f817494f8 Use PostgreSQL 13 libs. 2020-09-30 09:49:59 +01:00
Pradip Parkale b097cec45e Fixed an issue where some properties are not being updated correctly for the shared server. Fixes #5867 2020-09-30 12:29:59 +05:30
Akshay Joshi a707d818f5 Removed (Beta) keyword from Schema Diff and High Contrast theme. 2020-09-29 18:27:28 +05:30
Akshay Joshi 1c70a43b91 Fixed code smells 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-09-29 15:08:14 +05:30
Aditya Toshniwal c7c199210d Fixed an issue where file extension is stripped on renaming a file. Fixes #4855 2020-09-29 11:03:38 +05:30
Aditya Toshniwal 3e7cdcdf90 Ensure that 'ctrl + a' shortcut does not move the cursor in SQL editor. Fixes #5131 2020-09-29 10:56:57 +05:30
Aditya Toshniwal 1fc06b8d57 Added useful message when the explain plan is not used and empty. Fixes #4806 2020-09-28 17:51:59 +05:30
Azad Salahli 43f1953aa7 Fixed incorrect import in setup.py 2020-09-28 17:47:38 +05:30
Khushboo Vashi 4616a74029 Added Macro support. Fixes #1402 2020-09-28 15:26:45 +05:30
Akshay Joshi 952197f130 Added support to ignore the owner while comparing objects in the Schema Diff tool. Fixes #5200. 2020-09-28 15:22:46 +05:30
Akshay Joshi 68588fbb44 Fixed an issue where schema diff is showing identical table as different due to default vacuum settings. Fixes #5826 2020-09-24 13:24:25 +05:30
Pradip Parkale c1d04747a1 Ensure that the 'Remove Server' option should be visible in the context menu. Fixes #5861 2020-09-24 10:58:30 +05:30
Pradip Parkale f8611416ec Added the 'PARALLEL UNSAFE' option to the missing SQL files.
refs #5843
2020-09-24 10:47:42 +05:30
Pradip Parkale 2e55b1f660 Fixed an issue where the 'PARALLEL UNSAFE' option is missing from reverse engineering SQL of function/procedure node. Fixes #5843. 2020-09-23 13:21:50 +05:30
Aditya Toshniwal f3462e36a4 Fixed cognitive complexity issues reported by SonarQube. 2020-09-23 11:59:14 +05:30
Nikhil Mohite 43d97b0e6f Improve code coverage and API test cases for Functions. Fixes #5330 2020-09-22 14:43:46 +05:30
Pradip Parkale 458036ad6b Fixed an issue where the server is not able to connect using the service. Fixes #5841 2020-09-22 13:14:40 +05:30
Pradip Parkale 1ee9cddceb Ensure that the import/export feature should work with SSH Tunnel. Fixes #5739 2020-09-22 09:40:59 +05:30
Aditya Toshniwal ed3c692b1f Fixed an issue where the query tool is not fetching more than 1000 rows for the table does not have any primary key. Fixes #5845 2020-09-21 15:36:19 +05:30
Ganesh Jaybhay b0475566ca Fixed reverse engineering SQL where parenthesis is not properly arranged for View/MView definition. Fixes #5830 2020-09-21 11:05:56 +05:30
Akshay Joshi 3489f94ca7 Ensure that multiple extensions can be dropped from the properties tab. Fixes #5839. 2020-09-21 10:09:41 +05:30
Aditya Toshniwal 553be14000 Fixed an issue where a column is renamed and then removed, then the drop SQL query takes the wrong column name. Fixes #5807. 2020-09-21 09:40:45 +05:30
Aditya Toshniwal  a25e808e06 Remove maximum length on the password field in the server dialog. Fixes #5802 2020-09-17 20:21:00 +05:30
Aditya Toshniwal  bf183bdcff Change the explain plan SVG colors based on the theme. Fixed some minor color issues in the analysis tab. 2020-09-17 20:17:54 +05:30
Aditya Toshniwal  95a5b1e459 Some more accessibility fixes.
refs #5732
2020-09-17 20:16:38 +05:30
Murtuza Zabuawala  9e69e13468 Fixed typo in 'get_storage_directory' function. 2020-09-17 20:15:42 +05:30
Fred Escallier ae4924995a Update French translation. 2020-09-17 20:13:15 +05:30
Akshay Joshi 55b5080c77 Fixed and improve API test cases for the schema diff tool. Fixes #5417 2020-09-17 20:10:01 +05:30
Pradip Parkale 593d86d3f2 Ensure that the 'Remove Server Group' option is available in the context menu. Fixes #5834 2020-09-15 13:19:00 +05:30
Pradip Parkale 8e132eab08 Fixed some accessibility issues. Fixes #5732 2020-09-15 13:03:18 +05:30
Akshay Joshi 324e3e74be Fixed an issue where custom sequences are not visible when show system objects are set to false. Fixes #5833 2020-09-15 12:58:43 +05:30
Akshay Joshi 7dca844cbe Update version for release. 2020-09-14 17:53:54 +05:30
Rahul Shirsat 8029d9e65e 1) Fixed internal server error when clicking on the open new query tool button
from the View/Edit Data window. Fixes #5831
2) Fixed schema diff panel title issue on new tab.
2020-09-14 17:42:59 +05:30
Domenico Sgarbossa cea41cb4a9 Update Italian translation. 2020-09-14 16:17:00 +05:30
Akshay Joshi 5eb1c57320 1) Correct the reverse engineering SQL of the collation node for database server version < 10.
2) Added 'rngcollation' and 'attnum' in the ignore list of Types node and fixed an issue occurs due to SonarQube fix.
2020-09-14 16:12:20 +05:30
Akshay Joshi 5462aeab11 Update Dependencies. 2020-09-13 19:14:56 +05:30
Libor M a850852847 Update Czech translation. 2020-09-13 19:01:21 +05:30
Identifier Anonymous 291ee5366c Update Japanese translation. 2020-09-13 18:58:22 +05:30
Libor M a1b48d2c64 Modify babel config for javascript files. 2020-09-13 18:54:35 +05:30
Akshay Joshi 913e92a96e Update message catalogs. 2020-09-11 20:00:07 +05:30
Aditya Toshniwal b82e6dbdb8 1) Added email id validation on the login page.
2) Added validation for the file manager.
2020-09-11 19:55:19 +05:30
Nidhi Bhammar 6ded547a0d Added documentation for shared server support. Fixes #5792 2020-09-11 19:12:08 +05:30
Akshay Joshi a7d40e238e Ensure that the 'CREATE SCHEMA' statement should be present in the generated script if the schema is not present in the target database. Fixes #5816 2020-09-11 19:06:56 +05:30
Akshay Joshi ed1bd74301 Ensure that a valid error message should be displayed for an incorrect user or password. 2020-09-11 11:26:47 +05:30
Akshay Joshi 1bd0a0edf5 Remove illegal argument from trigger function in trigger DDL statement. Fixes #5779 2020-09-10 17:27:01 +05:30
Rahul Shirsat 7fac72cac5 Fixed an issue where alert message should get displayed on active browser window.
refs #4059
2020-09-10 12:09:56 +05:30
Aditya Toshniwal d0310b669e Fixed an issue where clicking on the 'Generate script' button shows a forever spinner due to pop up blocker. Fixes #5815 2020-09-09 20:10:56 +05:30
Rahul Shirsat 62e6848dc8 1) Added tooltip & keyboard shortcut for the query tool button.
2) Fixed TypeError issue.

refs #4059
2020-09-09 19:32:33 +05:30
Akshay Joshi 1bc1ef7f17 Fixed an issue where vacuum options not consider in Schema Diff. It's a regression. 2020-09-09 15:34:50 +05:30
Akshay Joshi ffb829e80c Fixed an issue while refreshing Resource Group. Fixes #5820 2020-09-09 14:34:14 +05:30
Aditya Toshniwal 796a8a013a 1) Changing the state of the react directly is not recommended, so avoid changing it directly.
2) Fixed API test cases.
2020-09-09 13:08:58 +05:30
Aditya Toshniwal 535739c0c7 Fixed cognitive complexity issues reported by SonarQube. 2020-09-09 11:25:43 +05:30
Nikhil Mohite 72f0e87367 Fixed cognitive complexity issues reported by SonarQube. 2020-09-09 11:20:17 +05:30
Nidhi Bhammar f278490540 Update the description of GIN and GiST indexes in the documentation. Fixes #5734 2020-09-08 12:04:58 +05:30
Akshay Joshi 76b0e3e9f7 Moved logic to check fixed port is in use to ConfigWindow class.
refs #5751
2020-09-08 12:00:24 +05:30
Pradip Parkale 98e86a8160 Fixed an issue where the server icon getting change to the shared server icon in desktop mode.
refs #4979
2020-09-08 10:09:16 +05:30
Pradip Parkale 9e5487d5ad Fixed SQL for Row Level Security which is incorrectly generated. Fixes #5764 2020-09-07 18:40:49 +05:30
Aditya Toshniwal 8c2e965f6e Fixed excessive CPU usage by stopping the indefinite growth of the graph dataset. Fixes #5794 2020-09-07 18:23:04 +05:30
Aditya Toshniwal f8f00b4ecf Fixed an issue in the query tool when columns are having the same name as javascript object internal functions. Fixes #5765. 2020-09-07 18:10:27 +05:30
Pradip Parkale 4da4a05611 Fixed code smell 'Remove duplicates string literals'. 2020-09-07 17:56:02 +05:30
Akshay Joshi 9ae9ccff16 Modified the logic to check Port is in use for runtime. Fixes #5751. 2020-09-03 19:21:54 +05:30
Akshay Joshi eaa90ee8eb Fixed primary key/unique constraint icon issue. 2020-09-03 18:53:40 +05:30
Khushboo Vashi 31bbdd6a12 Fixed code smell 'String literals should not be duplicated'. 2020-09-03 18:35:58 +05:30
Aditya Toshniwal 974d395a48 Fixed cognitive complexity issues reported by SonarQube. 2020-09-03 18:10:57 +05:30
Akshay Joshi a67f6e4f9c Fixed API test cases failed due to commit for #4979. 2020-09-03 14:20:45 +05:30
Akshay Joshi ed0c4037ad Fixed linter error by removing 'debugger;' keyword. 2020-09-03 13:16:08 +05:30
Pradip Parkale b562ab7681 Added shared server support for admin users. Fixes #4979 2020-09-03 12:59:28 +05:30
Yogesh Mahajan 3e35dc95e5 Improve code coverage and API test cases for Tables. Fixes #5774. 2020-09-03 12:35:56 +05:30
Akshay Joshi ddf5b33219 Added exclamation icon to alertify warning messages. 2020-09-02 17:27:26 +05:30
Akshay Joshi 1c9badec9c Rename the menu option 'Search objects' to 'Search Objects...' 2020-09-02 16:44:30 +05:30
Aditya Toshniwal 8f3bdf1cf3 Fixed cognitive complexity issues reported by SonarQube. 2020-09-02 14:39:54 +05:30
Akshay Joshi 3b9e8e47ec Modified 'cryptography' version to less than or equal to 3.0 to fix the
pgAdmin4 launch issue on Windows.

Cryptography's new version may be creating a problem. This is a temporary
fix and will have to investigate the proper fix.
2020-09-01 16:05:41 +05:30
Dave Page b85831fb5f Fix typo 2020-09-01 09:22:10 +01:00
Ganesh Jaybhay fd0ed81f7f Fixed accessibility issues for main panels. 2020-09-01 12:58:23 +05:30
Rahul Shirsat b5c299c5ad Fixed an issue where --load-server does not allow loading connections that use pg_services. Fixes #5746 2020-08-31 17:49:46 +05:30
Cyril Jouve 5a253f9053 Change the following to replace Python 2 code with Python 3:
1) Replace the deprecated unit test method.
2) Wraps filter usage in a list call.
3) Converts the old metaclass syntax to new.
4) Use range instead of xrange method.
5) Change Unicode to str.
6) Several other transformations.
7) Fixed change password test cases.
8) Use simplejson instead of plain JSON.
2020-08-31 16:45:31 +05:30
Aditya Toshniwal 11d5613866 Fixed RESQL test cases for Roles module. 2020-08-28 18:22:25 +05:30
Yogesh Mahajan 3984544bdb Fixed code smell 'String literals should not be duplicated'. 2020-08-28 18:17:27 +05:30
Yogesh Mahajan e226b2fa75 Adjusted the height of jobstep code block to use maximum space. Fixes #5426. 2020-08-28 14:00:49 +05:30
Rahul Shirsat e8b192be3e Added a new button to the query tool toolbar to open a new query tool window. Fixes #4059 2020-08-28 13:53:08 +05:30
Dave Page 8368eed645 Ensure that 'setup-web.sh' should work in Debian 10. Fixes #5775. 2020-08-27 19:21:21 +05:30
Aditya Toshniwal 28b637c99c Fixed RE-SQL test cases failed due to the previous commit.
Introduces a new key - replace_regex_pattern to synchronize the
expected SQL with the backend SQL based on the regex string
2020-08-27 19:08:00 +05:30
Aditya Toshniwal 53a5410337 Fixed cognitive complexity issues and added some more RESQL test cases for roles module. 2020-08-27 13:09:22 +05:30
Chethana Kumar 8222bf6420 Modified the 'Commit' and 'Rollback' query tool button icons. Fixes #5662 2020-08-27 12:58:13 +05:30
Chris Mayo 0998d349ca Fixed an issue where the application ignores the fixed port configuration value. Fixes #5773 2020-08-27 12:49:58 +05:30
Yogesh Mahajan f3bde7b5f1 Ensure that schema names starting with 'pg' should be visible in browser tree when standard_conforming_strings is set to off. Fixes #4216 2020-08-26 18:16:16 +05:30
Yogesh Mahajan 8fcf527632 Improve code coverage and API test cases for Columns and Constraints (Index, Foreign Key, Check, Exclusion). Fixes #5332 2020-08-26 12:35:22 +05:30
Dave Page 4eb17afe4e Warn the user when connecting to a server that is older than pgAdmin supports. Fixes #5772 2020-08-25 17:18:43 +01:00
Nikhil Mohite d2577e32e6 Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 18:13:01 +05:30
Aditya Toshniwal e582ffca38 Fixed regression issue in taking backup of the table. Added some more test cases. 2020-08-25 18:06:38 +05:30
Akshay Joshi 59649ca42c 1) Enable the 'Configure' and 'View log' menu option when the server taking longer than usual time to start.
2) When an error occurs from the backend, the configure window opens and if the user has changed the setting
   of the port, it won't take any effect as we have retrieved the value of the port at the start of the runtime.
3) Added logic to identify the specified fixed port is already in use. Throw the error before starting the pgAdmin server.

Fixes #5751
2020-08-25 18:01:27 +05:30
Akshay Joshi e2ac6187dc Fixed Jenkins build failure due to API test case failed. 2020-08-25 14:14:48 +05:30
Akshay Joshi df9aaf19c2 Fixed string indices must be integers issue for PostgreSQL < 9.3. Fixes #5766 2020-08-25 13:38:24 +05:30
Aditya Toshniwal 275c671576 Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 12:39:14 +05:30
Pradip Parkale 86bbc3a9e8 Ensure that the user should be able to drop the database even if it is connected. Fixes #5722 2020-08-25 12:37:50 +05:30
Nikhil Mohite b3d49c61a5 Fixed incorrect reverse engineering SQL for Foreign key when creating a table. Fixes #5748 2020-08-25 12:31:58 +05:30
Pradip Parkale 7f947f146c Fixed cognitive complexity issues reported by SonarQube. 2020-08-25 12:28:55 +05:30
Romulo Rodriguez e6bd085c15 Simplifies the search of the LDAP user name by adding to the user's search condition directly in the existing search filter. 2020-08-24 12:47:09 +05:30
Akshay Joshi 52d0241a17 Fixed an issue where schema diff is not working when providing the options to Foreign Data Wrapper, Foreign Server, and User Mapping. Fixes #5754 2020-08-24 12:11:09 +05:30
Neel Patel b53de0c31d Updated some more font awesome icons for v5 2020-08-21 14:15:18 +05:30
Nikhil Mohite 19491d79a5 Fixed cognitive complexity issues reported by SonarQube. 2020-08-21 13:52:05 +05:30
Akshay Joshi dd6ae193ff Replace 'fa-clock-o' with 'fa-clock' which is appropriate for font awesome v5 2020-08-21 13:44:29 +05:30
Akshay Joshi fbbbc36221 Fixed code smell 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-08-20 20:26:51 +05:30
Rahul Shirsat 7f3e8596e3 Fixed code smell 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-08-20 18:34:49 +05:30
Akshay Joshi 103b08c9c5 Define constants for preferences label to fix SonarQube issues. 2020-08-20 17:58:37 +05:30
Dave Page 99a7ada58a Cleanup a bunch of duplicated gettext calls. 2020-08-20 10:00:12 +01:00
Nikhil Mohite 6415294782 Improve code coverage and API test cases for Grant Wizard. Fixes #5344 2020-08-20 14:04:24 +05:30
Dave Page 79e6480513 Added SQL Formatter support in Query Tool. Fixes #2042 2020-08-20 13:05:00 +05:30
Khushboo Vashi cc5a7ea334 Fixed code smell 'String literals should not be duplicated'.
Create a constant.py file which contains the common Constants.
2020-08-19 14:16:02 +05:30
Nikhil Mohite 4b56962c1b Fixed cognitive complexity issues reported by SonarQube. 2020-08-19 13:41:53 +05:30
Yogesh Mahajan 0668a52c6b Fixed following SonarQube issues:
1. String literals should not be duplicated.
 2. Cognitive Complexity of functions should not be too high.
2020-08-19 13:22:17 +05:30
Akshay Joshi 89e2f09b84 Ensure that 'bcrypt' version should be less than or equal to 3.1.7 as the new version supports Python 3.6 and above. 2020-08-18 17:59:06 +05:30
Dave Page 0fd9ee06bd Fix typo 2020-08-18 11:15:24 +01:00
Libor M 3f73516f8c Update Czech translation. 2020-08-17 17:53:55 +05:30
Akshay Joshi e3b1ef0b80 Update version for release. 2020-08-17 17:29:19 +05:30
Khushboo Vashi ae18b9a0ac Fixed schema diff issue when selecting any identical node. 2020-08-17 17:26:58 +05:30
Akshay Joshi b0af385ea0 Fixed an issue where the entire logs is in red text when the user runs backup and restore. Fixes #5604 2020-08-17 17:23:30 +05:30
Yogesh Mahajan 0122cf9aac Fixed feature test failure due to updating font-awesome from v4 to v5. 2020-08-17 12:31:19 +05:30
Akshay Joshi 085a4f4abf Update Dependencies. 2020-08-17 11:56:23 +05:30
Fred Escallier ad0bcba99e Update French translation. 2020-08-17 11:31:01 +05:30
Identifier Anonymous 7a05edc42a Update Japanese translation. 2020-08-17 11:27:24 +05:30
Domenico Sgarbossa d2f93d6fad Update Italian translation. 2020-08-17 11:23:32 +05:30
Akshay Joshi 1466e414ec Update message catalogs. 2020-08-14 17:26:42 +05:30
Akshay Joshi 8f61944386 1) Added special handling for the extension to resolve the dependency.
2) Added 'is_sys_obj' to the ignore list of Schema Diff.
3) Font awesome v5 fixes.
2020-08-13 17:48:04 +05:30
Akshay Joshi 63df19ee1c Fixed following schema diff issues:
1) Avoid template databases from the Database drop-down list.
 2) Exclude system schemas while comparing two databases.
 3) Escape group name for XSS.
2020-08-13 14:12:37 +05:30
Nikhil Mohite 93adf6884f Upgrade font awesome from v4 to v5. Fixes #5731 2020-08-13 12:04:00 +05:30
Cyril Jouve 36574b25b6 The 'str' object never has attribute decode in Python3, so remove the dead code. 2020-08-12 18:55:35 +05:30
Akshay Joshi 26506a9727 Fix PEP8 2020-08-12 17:48:08 +05:30
Aditya Toshniwal caeea7940a Fixed errors occurring when saving preferences, regression of SonarQube fixes. 2020-08-12 17:42:53 +05:30
Khushboo Vashi 5b688cf949 Resolve schema diff dependencies by selecting the appropriate node automatically and maintain the order in the generated script. Fixes #5730 2020-08-12 17:36:48 +05:30
Aditya Toshniwal 7dd313f5fc Fixed an issue where debugger doesn't work if the search path is set other than 'public'. Fixes #4123 2020-08-12 14:24:40 +05:30
Yogesh Mahajan 1f70385a4e Fixed an issue where conversion of bytea to the binary string results in an error. Fixes #5567 2020-08-11 15:31:14 +05:30
Aditya Toshniwal 8129df42da Fixed cognitive complexity issues reported by SonarQube. 2020-08-11 15:13:35 +05:30
Akshay Joshi 082b968bbc Fixed following schema diff issues:
1) Wrong SQL generated for the columns having different data type.
  2) Added 'castfunc' in the ignore list.
2020-08-11 14:42:32 +05:30
Rahul Shirsat 2907a79dd7 Added missing comments in reverse engineering SQL for each column of a View. Fixes #3791 2020-08-11 11:30:47 +05:30
Akshay Joshi 46af290b85 Fixed API test cases for packages. 2020-08-10 18:13:00 +05:30
Aditya Toshniwal 26a758a0d6 Fixed an issue where copying and pasting a cell with multiple line data
will result in multiple rows. Fixes #5526

Fixed an old issue where quotes are not escaped when copying the cells.
As per CSV standards, if the string is in double quotes and there are
double quotes inside the string then they should be escaped with extra double-quotes.
2020-08-10 16:53:32 +05:30
Nikhil Mohite 9d006d0ec5 Fixed cognitive complexity issues reported by SonarQube. 2020-08-10 16:30:07 +05:30
Cyril Jouve 7a0bfecfc5 Use Python3 'ipaddress' module to validate the IPv4 and IPv6 addresses. 2020-08-10 15:57:25 +05:30
Rahul Shirsat 604937cf66 Fixed an issue where 'ALTER VIEW' statement is missing when the user sets the default value of a column for View. Fixes #5664 2020-08-10 15:27:57 +05:30
Akshay Joshi 4f74609ecf Modified schema diff tool to compare two databases instead of two schemas. Fixes #5126 2020-08-10 15:13:34 +05:30
Yogesh Mahajan  3672013ddc Fixed an issue where the error message does not have a close button on utility dialogs. Fixes #5670 2020-08-07 17:17:51 +05:30
Nikhil Mohite  9ad7476a34 Corrected DROP SQL syntax for catalog. Fixes #5713 2020-08-07 16:58:38 +05:30
Pramod Ahire 23a12efd29 Added make file target for the coverage of JS files. 2020-08-07 16:36:48 +05:30
Akshay Joshi 518b13c779 Added the 'ORDER BY' clause for the privileges type to fix schema diff issue. Fixes #5689 2020-08-07 16:30:03 +05:30
Dave Page d9c20de31f Clarify some of the differences when running in server mode in the docs. Fixes #5724 2020-08-07 10:07:28 +01:00
Aditya Toshniwal d6400bbcae Replace the generic exception class with a more specific one. 2020-08-07 12:37:00 +05:30
Pramod Ahire 68a5027d15 Added ability to generate code coverage reports for java script files. 2020-08-07 12:27:12 +05:30
Akshay Joshi 48ec4085d2 Update the sshtunnel version to v0.1.5.
refs #4361
2020-08-06 17:17:27 +05:30
Aditya Toshniwal e494b1520d Fixed an issue where ajax call continues to fire even after disconnect the database server. Fixes #5716 2020-08-06 16:52:16 +05:30
Akshay Joshi aac0da4cbc Fixed ssh tunnel hang issue when the user tries to disconnect the server. Fixes #4361 2020-08-06 16:16:37 +05:30
Yogesh Mahajan  48737e6a02 Fixed code smell 'String literals should not be duplicated' reported by SonarQube. 2020-08-06 12:42:19 +05:30
Nikhil Mohite  1122e06f48 Fixed cognitive complexity issues reported by SonarQube. 2020-08-06 12:38:35 +05:30
Yogesh Mahajan e3dfe03a2a Fixed an issue where the user is not able to insert the data if the table and columns name contains special characters. Fixes #4387 2020-08-06 12:30:10 +05:30
Nikhil Mohite 6a406f466d Fixed cognitive complexity issues reported by SonarQube. 2020-08-05 13:00:44 +05:30
Aditya Toshniwal aa679e06b2 Replace the generic exception class with a more specific one to fix SonarQube issues. 2020-08-05 12:41:28 +05:30
Murtuza Zabuawala d2621282dc Change the scope of '.dashboard-graph-body' CSS class to prevent it from affecting other places. 2020-08-05 12:30:09 +05:30
Akshay Joshi 5ce2773658 Ensure that the Dictionaries drop-down shows all the dictionaries in the FTS configuration dialog. Fixes #5429 2020-08-04 15:48:20 +05:30
Yogesh Mahajan 43e127de31 Ensure that the original file format should be retained when saving the same file in SQL editor. Fixes #3767 2020-08-03 13:18:04 +05:30
Akshay Joshi 87d08de3a0 Corrected the syntax as per jinja standards. refs #5632 2020-08-03 13:08:29 +05:30
Aditya Toshniwal 536593bf8a Fixed following SonarQube issues:
- Remove this assignment to the local variable, the value is never used.
  - Rename local variables to match the regular expression
  - Add logic to this except clause or eliminate it and rethrow the exception automatically.
  - Rename fields to match the regular expression
  - Extract this nested conditional expression into an independent statement.
  - Change this default value to "None" and initialize this parameter inside the function/method.
  - Update this function so that its implementation is not identical to __repr__
  - Refactor this method to not always return the same value
  - Reraise this exception to stop the application as the user expects
  - Add missing parameters _w _PY3. This method overrides simplejson.decoder.JSONDecoder.decode.
  - Remove this redundant continue.
  - Remove this unused function declaration
  - Remove this identity check; it will always be False.
2020-08-03 12:59:51 +05:30
Nikhil Mohite eb2c554601 Fixed cognitive complexity issues reported by SonarQube. 2020-08-03 12:46:34 +05:30
Satish V 318d712c4f Improve code coverage and API test cases for Schemas. Fixes #5327 2020-08-03 12:38:38 +05:30
Shubham Agarwal 32d904058a Fixed SonarQube issues. 2020-08-03 11:44:27 +05:30
Aditya Toshniwal 56cf64ad22 Fixed following SonarQube issues:
- Refactor functions to not always return the same value.
  - Rename "cls" to "self" or add the missing "self" parameter.
  - Remove useless assignment to variables.
2020-07-30 14:04:22 +05:30
Akshay Joshi dd7eb54e90 Fixed an issue when comparing the table with a trigger throwing error in schema diff. Fixes #5710 2020-07-30 13:57:00 +05:30
Nikhil Mohite 89fa85d650 Fixed cognitive complexity issues reported by SonarQube. 2020-07-29 18:29:04 +05:30
Akshay Joshi 099fea15ae Fixed code smells in runtime code reported by SonarQube. 2020-07-29 18:26:41 +05:30
Rahul Shirsat 74fd5dfe96 Ensure that the user will be able to modify the start value of the Identity column. Fixes #5632 2020-07-29 16:22:11 +05:30
Satish V 287a6628ed Improve code coverage and API test cases for Types. Fixes #5336 2020-07-29 15:41:04 +05:30
Akshay Joshi 510dd5c047 1) Fixed pgAdmin hang issue when the user clicks on 'View Log' menu option.
2) Fixed some code smell in runtime code.
2020-07-29 15:31:38 +05:30
Aditya Toshniwal f715373218 Replace charting library Flotr2 with ChartJS using React. Fixes #3904 2020-07-29 14:49:22 +05:30
Dave Page 5820b9521e Make sure the version check is compatible with older versions of Qt 2020-07-29 09:36:27 +01:00
Dave Page 6fc6ec1cda Correct TLS certificate filename in the container deployment docs. Fixes #5708 2020-07-29 09:26:12 +01:00
Aditya Toshniwal a0893fe43b Fixed code smell 'variable shadows a builtin' reported by SonarQube. 2020-07-28 16:20:26 +05:30
Dave Page 46ba0310fa Make the runtime configuration dialog non-modal. Fixes #5490
Major refactoring of the runtime code, Specifically:
  - Move the bulk of the core code from main() into a new Runtime class.
  - Break up the mass of code that was main() into a number of relatively simple functions.
  - Make the Configuration dialog synchronous so the Log dialog can be properly viewed.
  - Enable/disable menu options at the right time.
  - Remove support for Qt < 5.0.
  - Remove the application name constant and hardcode the name to simplify the code.
  - Improve log messages.
  - Replace the sdbm hashing with Qt's MD5 hashing.
2020-07-28 16:13:05 +05:30
Akshay Joshi ed0dc62b69 Fixed incorrect import statement for urlopen.
refs #5700
2020-07-27 17:33:44 +05:30
Akshay Joshi fb0bc65ced Fixed following SonarQube issues:
1) Define a constant instead of duplicating this literal.
  2) Reduce cognitive complexity (Patch by Aditya)
2020-07-27 16:31:03 +05:30
Dave Page f57558fdb2 Add a --yes command line option to setup-web.sh to allow non-interactive use. Fixes #5610. 2020-07-27 06:29:01 -04:00
Cyril Jouve f93cfe8c4c Remove old Python 2 compatibility code. Fixes #5700 2020-07-27 11:03:13 +01:00
Akshay Joshi 7a22cff28c Fixed 'cannot unpack non-iterable Response object' issue. 2020-07-24 14:59:50 +05:30
Yogesh Mahajan 043025d1eb Fixed an issue where the user is not able to save the new row if the table is empty. Fixes #4810 2020-07-24 14:30:22 +05:30
Satish V 4cf8c2f300 Improve code coverage and API test cases for Foreign Servers and User Mappings. Fixes #5324 2020-07-24 14:14:13 +05:30
Rahul Shirsat 937877e841 Ensure that RLS Policy node should be searchable using search object. Fixes #5646 2020-07-24 13:47:39 +05:30
Yogesh Mahajan dd27e08a98 Fixed code smell 'Unused local variables should be removed'. 2020-07-24 12:15:29 +05:30
Nikhil Mohite 1fbf298d30 Fixed cognitive complexity issues reported by SonarQube. 2020-07-24 12:03:05 +05:30
Aditya Toshniwal 505a3ac960 1) Fixed cognitive complexity issues reported by SonarQube.
2) Fixed code smell 'Add a nested comment explaining why this method is
   empty, or complete the implementation'.
2020-07-24 11:46:30 +05:30
Dave Page 310450cfa7 Fix typo. 2020-07-22 10:11:04 +01:00
Nikhil Mohite 5f619ae40a Ensure that data output color is readable on row selection. Fixes #5687 2020-07-21 18:54:06 +05:30
Pradip Parkale 28a4359020 Fixed issue where the user was not able to update policy if the policy is created with space. Fixes #5686 2020-07-21 18:14:49 +05:30
Akshay Joshi f177d54f21 Fixed AttributeError while creating the server group. Fixes #5688 2020-07-21 18:02:51 +05:30
Libor M 851c15b2d6 Update Czech translation. 2020-07-21 17:23:13 +05:30
Akshay Joshi c0e30c93e5 Update version for release. 2020-07-20 16:18:36 +05:30
Khushboo Vashi 645517d22d Added support for LDAP anonymous binding. Fixes #5650 2020-07-20 15:30:06 +05:30
Nikhil Mohite 3983e2c13c Fix the following issues for High Contrast Theme:
1) Schema diff compare button icon is not visible on hover.
  2) Schema diff for identical section text is not readable due to the same color as the background.
  3) Removed extra variables used for set text color for explain - Analysis section (Issue related dark theme.). 
  4) Issue related to the disabled toggle button.

refs #5653
2020-07-20 15:12:46 +05:30
Identifier Anonymous f29db1a9cd Update Japanese translation. 2020-07-20 12:08:50 +05:30
Fred Escallier c723b4584c Update French translation. 2020-07-20 12:04:47 +05:30
Domenico Sgarbossa b75c09d7c0 Update Italian translation. 2020-07-20 12:02:46 +05:30
Yogesh Mahajan 225c3e8f7e Fixed feature tests 2020-07-20 11:59:28 +05:30
Nikhil Mohite 7edcca9b07 Added High Contrast theme support. Fixes #5653
Fixed text color issue in explain analyze for the Dark theme. Fixes #5677
2020-07-20 11:51:21 +05:30
Dave Page 9174db2024 Fix typo. 2020-07-18 07:30:06 +01:00
Dave Page 69e2ec806b Fix PEP-8 issue. 2020-07-17 18:03:31 +01:00
Dave Page 04ce8b2c71 Include LICENSE and DEPENDENCIES [inventory] files in official packages. Fixes #5577
Whilst passing, rename libraries.txt to DEPENDENCIES and update the list of static packages.
2020-07-17 17:06:16 +01:00
Akshay Joshi 2bfb7c20c8 Update message catalogs. 2020-07-17 18:02:50 +05:30
Dave Page fb2178e5d3 Support configuration files that are external to the application installation. Fixes #5235 2020-07-17 17:54:12 +05:30
Nikhil Mohite 4e2c4b0498 Fixed cognitive complexity issues reported by SonarQube. 2020-07-17 15:31:04 +05:30
Dave Page 13d2f9131d Replace the runtime themes with ones that don't have sizing issues. Fixes #5554 2020-07-17 15:31:04 +05:30
Satish V 64cdd509b0 Fixed save button enable issue when focusing in and out of numeric input field. Fixes #5137 2020-07-17 15:31:04 +05:30
Aditya Toshniwal bd15d2d0f7 Fixed CSRF errors when pgAdmin opened in an iframe on safari browser. Fixes #5675 2020-07-17 15:31:04 +05:30
Dave Page 64f5253bd3 Fix typo 2020-07-17 09:20:17 +01:00
Aditya Toshniwal 9d0f3ce90b Fixed code smell 'potential hiding of variables declared in an outer scope'. 2020-07-16 19:53:39 +05:30
Akshay Joshi 703faf3b15 Fixed following SoanrQube issues
1) Rename field "node_type" to prevent any misunderstanding/clash with field "NODE_TYPE" defined.
  2) Define a constant instead of duplicating this literal.

Solution:
  1) Rename the field "NODE_TYPE" and "COLLECTION_LABEL" to "_NODE_TYPE" and "_COLLECTION_LABEL"
  2) Declare the constant in PGChildNodeView for SQL files.
2020-07-16 19:39:55 +05:30
Akshay Joshi 5d8c79da38 Added docstrings for some newly created functions. 2020-07-15 18:07:54 +05:30
Satish V 522ddad72b Fixed code smell 'Variables should not be shadowed'. 2020-07-15 15:03:47 +05:30
Akshay Joshi 11c4877859 Fixed an issue where difference DDL is showing the wrong SQL when changing the policy owner. Fixes #5647 2020-07-15 14:52:14 +05:30
Akshay Joshi 2469032f15 Fixed an issue where fetching the schema throws an error if the database
is not connected in Schema Diff. Fixes #5673

Maintenance Database is selected by default in Schema Diff.
2020-07-15 13:07:28 +05:30
Khushboo Vashi bd9dc97b4f Fixed code smell 'Functions, methods, and lambdas should not have too many parameters' reported by SonarQube. 2020-07-14 19:23:50 +05:30
Rahul Shirsat d6893f9d8a Fixed reverse engineered SQL for partitions when storage parameters are specified. Fixes #5569. 2020-07-14 19:16:33 +05:30
Akshay Joshi 4f34bc0f0e Added missing dependencies/dependent and corrected some wrongly identified. Fixes #5666 2020-07-14 18:34:50 +05:30
Satish V a91e4d8a7f Improve code coverage and API test cases for Foreign Data Wrapper. Fixes #5323. 2020-07-14 15:58:22 +05:30
Aditya Toshniwal 161c9b0fc7 Fixed code smell 'Variables should not be shadowed'.
Fixed all the duplicate CSS blocks issues raised by SonarQube.
2020-07-14 15:45:01 +05:30
Nikhil Mohite 0013a3b047 Fixed cognitive complexity issues reported by SonarQube. 2020-07-14 15:33:54 +05:30
Ashesh Vashi 1889c256e1 Fixed a typo in the psycopg2 driver in fetching result with
'execute_scalar' while attempting to reconnect.
2020-07-13 22:45:01 +05:30
Dave Page 9113932066 Tweak the OpenSSL build instructions. 2020-07-13 13:36:56 +01:00
Akshay Joshi d3eaac8609 Reverted fix for #5569 due to a couple of issues. 2020-07-11 20:32:57 +05:30
Dave Page e6edf40048 Refactor server request code by removing some duplicated code in the runtime and improves some of the debug logs. 2020-07-11 16:59:26 +05:30
Dave Page dd38fed6e0 Use ISO8601 date format in the runtime startup log. 2020-07-11 16:47:36 +05:30
Dave Page 5ac656c638 Refactor config loading/saving for the runtime config dialog to avoid code duplication. 2020-07-11 16:41:31 +05:30
Dave Page 6855ac1d5e Use QStandardPaths::AppLocalDataLocation in the runtime to determine where to store runtime logs. Fixes #5414 2020-07-11 16:32:08 +05:30
Rahul Shirsat 29175d7ec4 Fixed reverse engineered SQL for partitions when storage parameters are specified. Fixes #5569 2020-07-11 16:23:31 +05:30
Yogesh Jain 92858e40bf Ensure that closing the alert box on the login page will close multiple alert boxes if opened. 2020-07-10 11:49:49 +05:30
Rahul Shirsat e8b81db977 Fixed cognitive complexity issues reported by SonarQube. 2020-07-10 11:44:33 +05:30
Nikhil Mohite 7420673a0f Improve code coverage and API test cases for FTS Configuration, FTS Parser, FTS Dictionaries, and FTS Template. Fixes #5329. 2020-07-10 11:40:08 +05:30
Aditya Toshniwal 357a9179b1 Fixed convention related issues reported by SonarQube. 2020-07-09 18:55:33 +05:30
Yogesh Mahajan 2cefa9afca Fixed code smell 'Variables should not be shadowed'. 2020-07-09 18:44:58 +05:30
Nikhil Mohite e1168f8de0 Fixed code smell to reduce cognitive complexity. 2020-07-09 18:41:13 +05:30
Satish V 290cf8271b Fixed code smell 'Variables should not be shadowed'. 2020-07-09 18:35:04 +05:30
Pradip Parkale 916182f80f Fixed code smell for variable naming convention. 2020-07-09 18:28:08 +05:30
Murtuza Zabuawala 2db9242f5c Fixed accessibility issue where few dialogs are not rendering properly
when we zoomed in browser window 200% and screen resolution is low.

Fixes #5662
2020-07-09 18:18:37 +05:30
Yogesh Mahajan 3c08e618bd Fixed an issue where CSV download quotes numeric columns. Fixes #5463 2020-07-09 18:11:46 +05:30
Pradip Parkale c58fda0a70 Ensure that create RLS Policy menu should not be visible for catalog objects. Fixes #5633 2020-07-09 18:04:32 +05:30
Akshay Joshi b4c25bdc0a Fixed code smell 'Functions, methods, and lambdas should not have too many parameters' reported by SonarQube. 2020-07-07 19:39:06 +05:30
Pradip Parkale 36a2c073bd Added support for permissive/restricted policy type while creating RLS Policy. Fixes #5622 2020-07-07 17:55:05 +05:30
Yogesh Mahajan 776bec0d82 Fixed following SoanrQube issues:
1) Variables should not be shadowed.
  2) Variables and functions should not be redeclared.
2020-07-07 16:25:46 +05:30
Satish V ab2dc60097 Fixed the SoanrQube code smell 'Variables should not be shadowed'. 2020-07-07 16:18:18 +05:30
Nikhil Mohite aee6bac5ef Fixed cognitive complexity code smell reported by SonarQube. 2020-07-07 15:19:47 +05:30
Khushboo Vashi 58b4c45d0c Added support for LDAP authentication with different DN by setting the dedicated user for the LDAP connection. Fixes #5484 2020-07-06 19:35:55 +05:30
Pramod Ahire a6ce78a8c0 Fixed SonarQube issues in css/scss files. 2020-07-06 19:11:43 +05:30
Satish V 2ebf203412 Fixed issue of error message not getting displayed when filename is empty for backup, restore, and import/export. Fixes #3814. 2020-07-06 19:04:26 +05:30
Aditya Toshniwal 45a03dd663 Fixed 'convention' related code smell reported by SonarQube. 2020-07-06 11:48:23 +05:30
Satish V fcf720a5d8 Fixed code smell 'Variable should not be shadowed' 2020-07-06 11:31:36 +05:30
Murtuza Zabuawala cb1cdd1b23 Modified EPAS templates to support schema restriction. 2020-07-03 18:42:17 +05:30
Akshay Joshi 0d92059155 Fixed code smells having rule 'Functions, methods and lambdas should not have too many parameters'. 2020-07-03 18:37:37 +05:30
Yogesh Mahajan 80ab596992 Fixed the SoanrQube code smell 'Variables should not be shadowed'. 2020-07-03 14:33:30 +05:30
Khushboo Vashi b5f0190799 Fixed the SonarQube Code smells having Rule 'Functions, methods and lambdas should not have too many parameters'. 2020-07-03 14:24:54 +05:30
Aditya Toshniwal 3d5a2046c4 Fixed jasmin test cases failed due to last commit. 2020-07-03 12:57:53 +05:30
Aditya Toshniwal 341c3aded6 Fixed dark theme-related CSS and modify the color codes. Fixes #5287
Fixed backgrid row hover issue where on hover background color is set for edit and delete cell only. Fixes #5470
2020-07-03 11:47:40 +05:30
Aditya Toshniwal dd4dc19add Fixed issue where dialog sizes snapping to the default widths. 2020-07-03 11:26:06 +05:30
Nikhil Mohite 1ab257d512 Fixed Cognitive Complexity code smell reproted by SonarQube. 2020-07-03 11:15:41 +05:30
Nikhil Mohite 2ec8051303 Remove the duplicate code for tab indent and add the logic into codemirror. 2020-07-03 10:47:39 +05:30
Akshay Joshi ec30e6ace7 Comment out the 'yarn audit' command to fix the vulnerability found in the 'lodash' package. No fix is currently available. 2020-07-02 16:21:56 +05:30
Aditya Toshniwal ced296939f Fixed an issue where the user is able to edit properties when some of the collection nodes are selected. Fixes #5629 2020-07-02 16:21:56 +05:30
Yogesh Mahajan 1802f8a3f8 Ensure that the referenced table should be displayed on foreign key constraints. Fixes #5530 2020-07-02 16:21:56 +05:30
Pradip Parkale 8b10315e2a Added hints for 'Using' and 'With check' options of RLS Policy node. 2020-07-02 16:21:56 +05:30
Dave Page e0fa4a6cb2 Fix typo. Fixes #5517 2020-07-02 09:32:31 +01:00
Ashesh Vashi 1366dd1fcd Show horizontal scrollbar when needed in the menubar in the lower
resolution, when navbar button is visible.

Added appropriate CSS in the .navbar-collapse class to show scrollbar
in screen resolution (992px widith)
2020-07-02 11:21:23 +05:30
Akshay Joshi 0850db2a9b Fixed database connection issue, regression of SonarQube fixes. 2020-07-01 17:32:22 +05:30
Akshay Joshi a881e4e3f8 Fix PEP8 2020-07-01 15:33:51 +05:30
Nikhil Mohite 192a446131 Fixed API test cases failing due to updating the server manager instance. 2020-07-01 15:29:59 +05:30
Pradip Parkale b30c590866 Fixed SonarQube code smell 'Rename function and variable name to match the regular expression'. 2020-07-01 13:50:51 +05:30
Yogesh Mahajan 6dd3ca31be Fixed SonarQube code smell 'Variables should not be shadowed'. 2020-07-01 13:43:00 +05:30
Nikhil Mohite c2e875d54b Fixed tab indent issue on a selection of lines is deleting the content when 'use spaces == true' in the preferences. Fixes #4235 2020-07-01 13:34:48 +05:30
Pradip Parkale 979f806161 1) Added RLS Policy support in Schema Diff. Fixes #5601
2) Fixed 'cant execute empty query' issue when remove the value of
   'USING' or 'WITH CHECK' option of RLS Policy. Fixes #5631
2020-07-01 12:44:28 +05:30
Ashesh Vashi 3102a8d24b Fix the dialog size when zoom level is changed of the browser.
The screen.width & screen.height does not reflect the values of the
height and width respectively when zoom level is changed for the
browser. It is better to review the calculated height and width based
on the window.innerHeight and window.innerWidth and re-evaluate them.
2020-07-01 11:49:43 +05:30
Ashesh Vashi 21d57b1f10 Do not let browser autocomplete the password field while connecting a
database server.

Set the autocomplete attribute of the password field to 'new-password'
to let browser know, we require a new password for the password, and do
not autocomplete it.
2020-07-01 11:26:52 +05:30
Nikhil Mohite c873218c32 Added support for schema level restriction. Fixes #5583
Allow user to edit the connection properties when the database server
is already connected.
2020-06-30 19:15:23 +05:30
Satish V 4c05287677 Fixed SonarQube code smell 'Variables should not be shadowed'. 2020-06-30 17:26:18 +05:30
Nikhil Mohite 6713bc068b Fixed SonarQube code smells 'Refactor this function to reduce its Cognitive Complexity'. 2020-06-30 17:06:55 +05:30
Akshay Joshi 46d26cd029 Remove extra brackets from reverse engineering SQL of RLS Policy. Fixes #5621 2020-06-30 16:11:02 +05:30
Zhang Jie 88db5ec4d5 Remove extra brackets from reverse engineering SQL of trigger. 2020-06-30 16:07:55 +05:30
Akshay Joshi 102d6e7a9a Fixed an issue where panels get disappeared. Regression of SonarQube fix. 2020-06-29 14:05:07 +05:30
Rahul Shirsat 7add777b21 Add proper indentation to the code while generating functions, procedures, and trigger functions. Fixes #3851 2020-06-29 12:36:28 +05:30
Paresh More 2db518c9c6 Fixed an issue where installation of pgadmin4 not working on 32-bit Windows. Fixes #5630 2020-06-29 10:22:04 +05:30
Akshay Joshi b91f6f0f5c Fixed an issue where the semicolon is misplaced in RLS Policy SQL.
Fixed one regression issue introduced by renaming the method 'gc' to 'gc_timeout'.
2020-06-26 19:24:54 +05:30
Nikhil Mohite 115657a465 Fixed following SonarQube issues:
1) Refactor function to reduce its Cognitive Complexity.
 2) Rename variable to match the regular expression ^[_a-z][a-z0-9_]*$.
2020-06-26 15:03:50 +05:30
Satish V 8e28e0a32b Improve code coverage and API test cases for Domain and Domain Constraints. Fixes #5326 2020-06-26 14:15:09 +05:30
Satish V 830ac1cc91 Fixed following SonarQube issues:
1. Method/Field names should comply with a naming convention.
 2. Conditionals should start on new lines
2020-06-26 13:32:45 +05:30
Pradip Parkale 5206dafb35 Fixed code smells having rule 'Rename class name to match the regular expression'. 2020-06-26 13:23:23 +05:30
Khushboo Vashi c7a16a4bd5 Fixed code smells having rule 'Nested blocks of code should not be left empty'. 2020-06-26 13:18:27 +05:30
Yogesh Mahajan 707ff450b5 Fixed following SonarQube issues:
1. Boolean checks should not be inverted.
2. The comma operator should not be used.
3. Arguments to built-in functions should match documented types.
4. Redundant pairs of parentheses should be removed.
5. A conditionally executed single line should be denoted by indentation, 
6. A while loop should be used instead of a 'for' loop.
2020-06-26 13:12:07 +05:30
Diego Augusto Molina 6a63279396 Ensure that the OWNER should be quoted for foreign tables, procedures, and trigger functions. 2020-06-26 12:28:36 +05:30
Aditya Toshniwal d3b3d07f2e Fixed SonarQube issues with the tag unused. All the unused variables, assignments, code comments are fixed. 2020-06-25 11:09:43 +05:30
Satish V a1fd9ea3ce Fixed issue related to extra semicolons and function naming convention reported by SonarQube. 2020-06-24 16:16:12 +05:30
Nikhil Mohite db9d684524 Fixed 'Rename local variable to match the regular expression' issue reported by SonarQube. 2020-06-24 16:08:14 +05:30
Akshay Joshi 15c621b1d8 Fixed following SonarQube issues:
1) TypeError can be thrown as <variable_name> might be null or undefined here.
2) Unexpected duplicate "white-space".
3) Unexpected missing generic font family.
4) Unexpected shorthand "padding" after "padding-left".
2020-06-24 15:57:01 +05:30
Yogesh Mahajan cdf1c7a2a6 Fixed parallel test execution failure by handling slowness when multiple sessions are logged in concurrently. 2020-06-23 18:43:54 +05:30
Akshay Joshi d265ed9729 Fixed an issue while creating RLS Policy with the name having space. Fixes #5620 2020-06-23 14:28:21 +05:30
Akshay Joshi 18b3cc2683 Initialize pointer variables with Q_NULLPTR. 2020-06-23 14:23:28 +05:30
Murtuza Zabuawala c064eb0795 Fix an issue where RLS Policy dialog help is not working. 2020-06-23 14:13:08 +05:30
Akshay Joshi c2268c82ee Update version for release. 2020-06-22 17:42:46 +05:30
Yogesh Mahajan caebdcfa91 Ensure that the query tool should display the proper error message while terminating the active session. Fixes #3591 2020-06-22 17:09:10 +05:30
Pradip Parkale 6012f49919 Added policy event 'ALL' in events drop-down list. 2020-06-22 17:09:10 +05:30
Yogesh Mahajan d2f4a62bf3 Documentation of Row Level Security Policies. Fixes #5581 2020-06-22 17:09:10 +05:30
Paresh More 9d25973a77 Disallow installation of the 32 and 64 bit builds at the same time on Windows. 2020-06-22 12:15:32 +01:00
Yogesh Mahajan 34fbe756e8 1) Fixes parallel test execution failures.
2) Added capability to pass browser-name via command line for parallel execution.
2020-06-22 13:05:13 +05:30
Satish V daad16ea93 Fixed issue related to reducing the if-else statement to single return expression. Reported by SonarQube. 2020-06-22 12:58:48 +05:30
Aditya Toshniwal 6620f9263d Fixed issues reported by SonarQube with tag 'bad-practice'. 2020-06-22 12:18:59 +05:30
Identifier Anonymous 9e40995ab0 Update Japanese translation. 2020-06-22 11:58:15 +05:30
Domenico Sgarbossa ecdd95d15a Update Italian translation. 2020-06-22 11:55:32 +05:30
Aditya Toshniwal d6b22f1f4c Fixed an issue where the search object is unable to locate inherited tables and constraint filters are not working. Fixes #5492 2020-06-22 11:53:00 +05:30
Akshay Joshi 7ce7808093 Update message catalogs. 2020-06-19 18:01:32 +05:30
Akshay Joshi 2395075b7c Update library inventory. 2020-06-19 18:00:00 +05:30
Akshay Joshi bc24e3643f More code cleanup for SonarQube. 2020-06-18 16:20:34 +01:00
Yogesh Mahajan 6d3f13076f Fixed 'Comma operator should not be used' issue reported by SonarQube. 2020-06-18 16:17:55 +05:30
Satish V 905be1d894 Replace if-then-else statement by a single return statement, issue reported by SonarQube. 2020-06-18 15:51:01 +05:30
Aditya Toshniwal a278e8b1e6 Fixed the master password issue, introduced in the last commit. 2020-06-18 15:38:38 +05:30
Aditya Toshniwal f0490a54b7 Fixed redundant tagged issue reported by SonarQube. 2020-06-18 11:14:56 +05:30
Akshay Joshi 5ed1e1e5b6 Fixed some sonarqube issues. 2020-06-17 19:30:56 +05:30
Aditya Toshniwal df05efd7d9 Fixed vulnerabilities and few design suspicions where two conditional structures are having the same implementation. 2020-06-17 17:15:09 +05:30
Yogesh Mahajan 7c12ade161 Fixed issue related to shadowing variables reported by SonarQube. 2020-06-17 17:08:23 +05:30
Akshay Joshi cb268075c2 1) Added option to ignore the whitespaces while comparing objects in schema diff. Fixes #5468
2) Added server group name while selecting servers in schema diff. Fixes #5500
3) Fixed an issue where two identical tables showing different by schema diff tool. Fixes #5584
2020-06-17 16:27:51 +05:30
Dave Page 9f5e8962b5 Correct function naming. 2020-06-17 11:54:33 +01:00
Dave Page 6525f25a22 Correct URL and versions. 2020-06-17 11:51:11 +01:00
Dave Page aa15d2a7e2 Cleanup some variable naming. 2020-06-17 11:34:03 +01:00
Dave Page 1ca9912987 Cleanup some duplicated styles. 2020-06-17 11:31:07 +01:00
Satish V d43518cb3c Fixed following issues reported by SonarQube:
1) Replace this if-then-else statement by a single return statement. (clumsy)
2) 'switch' statements should have at least 3 'case' clauses. (bad practice)
2020-06-16 15:00:51 +05:30
Akshay Joshi cf64e2c97c Fixed runtime issues reported by SonarQube. 2020-06-16 14:53:40 +05:30
Aditya Toshniwal 3e00fe2b0f Fixed vulnerabilities and few design suspicions where two conditional structures are having the same implementation. Reported by SonarQube 2020-06-16 11:14:57 +05:30
Yogesh Mahajan 2ae5c0ec4f Fixed an issue where select all checkbox only selects the first 50 tables. Fixes #4226 2020-06-16 11:05:10 +05:30
Yogesh Mahajan 697f4aec95 Fixed issue related to shadowing variables reported by SonarQube. 2020-06-16 10:47:40 +05:30
Nikhil Mohite 023a1f222f Remove duplicate properties in CSS and few js standard fixes reported by SonarQube. 2020-06-15 17:15:15 +05:30
Akshay Joshi a21e6448ce Fixed RESQL test cases, regression of RLS policy. 2020-06-15 17:10:25 +05:30
Satish V eb1b17b636 Fix 'expressions evaluated to true/false always' issue reported by SonarQube. 2020-06-15 16:50:07 +05:30
Mishika Singh 38cd3327f3 Ensure that pgadmin should be able to connect to the server which has password more than 1000 characters. Fixes #5592 2020-06-15 16:50:07 +05:30
Khushboo Vashi 8ab358ccec Fix following issues reported by SonarQube:
1) Properties of variables with "null" or "undefined" values should not be accessed
2) Variables should not be self-assigned
3) "in" should not be used with primitive types
2020-06-15 16:50:07 +05:30
Aditya Toshniwal 641f7bbe9d Some clumsy coding related fixes reported by SonarQube. 2020-06-15 16:50:07 +05:30
Akshay Joshi a23fad0ba8 Tidy up some code to keep SonarQube happy. 2020-06-15 12:12:19 +01:00
Pradip Parkale 18277543b6 Added support of Row Security Policies. Fixes #5516 2020-06-15 15:44:59 +05:30
Dave Page bfa0b87791 Make sure we have the wheel package in the venv as it may be needed to build other dependencies. 2020-06-12 11:42:42 +01:00
Aditya Toshniwal 8c20f0c0d2 Some clumsy coding related fixes reported by SonarQube. 2020-06-12 15:24:17 +05:30
Satish V ee1ea47e88 Fixed issue 'expects 4 arguments, but 5 were provided' reported by SonarQube. 2020-06-12 15:15:07 +05:30
Satish V 82c4a4a03e Improve code coverage and API test cases for Collations. Fixes #5325 2020-06-11 11:12:41 +05:30
Dave Page 21efe6f902 Remove blank line at EOF. 2020-06-10 17:03:08 +01:00
Dave Page 5c60dcd501 Remove blank line at EOF. 2020-06-10 17:02:39 +01:00
Dave Page 85e89c869a Cleanup some code smells identified by SonarQube. 2020-06-10 16:42:59 +01:00
Dave Page 1485ff338f Don't use the venv to create the venv on Windows as it doesn't allow python.exe to be relocated on Windows. Use the tried and tested virtualenv instead. Fixes #5595 2020-06-09 16:28:36 +01:00
Akshay Joshi ac4b5ab7fa 1) Correct the typo 'pythonw.exe' should be 'python.exe' for Windows if 'pythonw.exe' not found.
2) Added logging to identify the interpreter command for Windows.
2020-06-09 19:05:20 +05:30
Aditya Toshniwal eb971a0320 Update Codemirror version to the latest which allows us to set screen reader labels on Codemirror editor.
refs #5197
2020-06-08 12:26:12 +05:30
Yogesh Mahajan 92d9c41da7 Fixed connection and version number detection issue when the database server is upgraded. Fixes #5507 2020-06-04 18:18:11 +05:30
Dave Page ba91e3fc1f Fix a couple of typos. 2020-06-04 10:43:05 +01:00
Satish V 726ecd79e6 Fixed import statements.
refs #3669
2020-06-03 12:49:05 +05:30
Satish V d22e276586 Ensure that proper error should be displayed for the deleted node. Fixes #3669 2020-06-03 11:26:26 +05:30
Dave Page 3d0319dba7 Include the libpq5 deb in the Debian/Ubuntu repos. 2020-06-02 13:23:12 +01:00
Dave Page 4a0efc0e86 Fix message. 2020-06-02 13:19:46 +01:00
Dave Page 445abf1e31 Quieten pushd/popd 2020-06-02 13:14:02 +01:00
Dave Page 7f58552f60 Include the PostgreSQL repo so we get the latest libpq 2020-06-02 12:33:57 +01:00
Dave Page 2549085872 We need yum-utils. Fix the rpmmacros message whilst passing. 2020-06-02 11:54:36 +01:00
Dave Page 9e67a0b0e7 Include postgresql-libs in our Yum repos. 2020-06-02 11:30:07 +01:00
Akshay Joshi a1a232a1f1 The 'pwd' module is not available on Windows, so replacing it with the 'getpass' module.
refs #5576
2020-06-02 14:09:44 +05:30
Nagesh Dhope c932213abd Disabled the Stop process button after clicking it and added a message 'Terminating the process...' to notify the user. Fixes #3787 2020-06-02 11:23:52 +05:30
Dave Page a0c19252df Improve error messaging if the storage and log directories cannot be created. Fixes #5576 2020-06-02 11:11:53 +05:30
Dave Page 67c978b7a4 Don't use virtualenv to create the venv on Windows. 2020-06-01 10:32:41 +01:00
Dave Page f4750f0096 Ignore venv directories in the tree. 2020-06-01 10:31:34 +01:00
Dave Page 676fec8694 Cleanup Windows build scripts and ensure Windows x64 builds will work. Fixes #5574 2020-06-01 09:52:24 +01:00
Dave Page 60a0b66414 Conflict with postgresql-libs 9.2 and below as there won't be a suitable libpq.
Per discussion with Devrim.
2020-06-01 09:42:18 +01:00
Aditya Toshniwal 1050c9857a Fixed an issue when dumping servers from a desktop pgAdmin app by providing an option '--sqlite-path'. Fixes #5521 2020-06-01 11:22:38 +05:30
Dave Page b21b03495d Tell Yum where the GPG public key is, and fix the arch and version variables, per Devrim. 2020-05-29 14:04:51 +01:00
Yogesh Mahajan 4632a7faba Fixed an issue where pgadmin detects the wrong browser version of the Microsoft Edge. Fixes #5465 2020-05-29 13:07:02 +05:30
Dave Page ccb39bea1a Require postgresql >= 9.5, and don't bother with Recommends. Per discussion with Devrim. 2020-05-28 16:26:44 +01:00
Dave Page bda62cb1f1 Don't try to import the signing key. YUM/RPM will do that for us, per Devrim. 2020-05-28 16:04:14 +01:00
Yogesh Mahajan 09b76b306c Fixed typo in exception keyword. Fixes #5539 2020-05-28 18:11:41 +05:30
Yogesh Mahajan e10f1274dc Ensure that the query tool panel gets closed when clicking on the 'Don't Save' button. Fixes #5416 2020-05-28 16:39:26 +05:30
Dave Page 9468c16233 Update hint test to use a modern Python version. 2020-05-27 11:36:03 +01:00
Dave Page 65fb0f901c Message clarification and improvement. 2020-05-26 15:02:59 +01:00
Akshay Joshi 1347c89d61 Update version for release. 2020-05-25 17:11:12 +05:30
Akshay Joshi b1cbcc7ef6 Fixed data truncation issue when updating the data of type character with length. Fixes #5481 2020-05-25 17:05:47 +05:30
Domenico Sgarbossa 22c3a2649b Update Italian translation. 2020-05-25 11:24:37 +05:30
Identifier Anonymous 2bb0b25688 Update Japanese translation. 2020-05-25 11:13:37 +05:30
Libor M 2aefc6361e Update Czech translation. 2020-05-25 11:09:52 +05:30
Dave Page 83cb01b8cd Update dependencies in the Docker container and remove PG 9.4 utilities from the Docker container as it's now out of support.
Fixes #5552.
Fixes #5553.
2020-05-22 17:02:12 +01:00
Akshay Joshi d42b712ee4 Update message catalogs 2020-05-22 19:13:13 +05:30
Dave Page fec458dd6a Add repo build information to the Debian README. 2020-05-22 11:58:24 +01:00
Akshay Joshi 9b8902dfb8 Fixed the SQL help issue for EDB Postgres Advanced Server. Fixes #4099 2020-05-22 14:11:58 +05:30
Dave Page 4a8037fc6a Test commit 2020-05-22 09:12:54 +01:00
Yogesh Mahajan d927a517aa Fixed feature test failures on the selenium grid for concurrent execution. 2020-05-21 19:44:28 +05:30
Dave Page 96939ba985 Add information to the Redhat README about signing RPMs, creating a repository and creating repo RPMs. 2020-05-21 12:47:41 +01:00
Dave Page 414b074bad Tidy up the web setup script output. 2020-05-19 14:27:23 +01:00
Yogesh Jain 7b1cac6914 Fixed an issue where clicking on Select All button, not selecting all the options in pgAgent job scheduler. Fixes #5496 2020-05-19 13:54:21 +05:30
Dave Page 4aaacfd5b0 Add the public key for our packages for the RPM build. 2020-05-18 15:43:17 +01:00
Dave Page 52187306ce Create the dist/ directory if needed. 2020-05-18 15:37:18 +01:00
Dave Page 0e799b16b0 Only try to run make clean if there is a Makefile present. 2020-05-18 11:18:03 +01:00
Dave Page 569d05df4e Remove obsolete file. 2020-05-18 11:17:07 +01:00
Dave Page eac5fe5157 Cleanup and refactor the macOS build scripts. Fixes #5525 2020-05-18 10:22:59 +01:00
Dave Page 5337514c63 Allow the base directory for the repo to be overridden from the environment. 2020-05-18 10:22:28 +01:00
Khushboo Vashi d1bdb178e2 Fixed an issue where if LDAP_SEARCH_BASE_DN is not set then, the value for LDAP_BASE_DN will be considered. Fixes #5487 2020-05-18 12:35:34 +05:30
Yogesh Mahajan 9f445dc052 Improve code coverage and API test cases for Indexes. Fixes #5333 2020-05-18 12:29:33 +05:30
Aditya Toshniwal d58c33dec0 Search object UI improvements. Fixes #5493 2020-05-18 11:29:12 +05:30
Khushboo Vashi 0f56c25893 Changed the user identity from email to username in the log file.
refs #5452
2020-05-18 11:01:20 +05:30
Dave Page 762784d2b5 Add a script for generating a repo RPM. 2020-05-15 11:22:28 +01:00
Pradip Parkale 6d6cd19b37 Improve code coverage and API test cases for Triggers and Compound Triggers. Fixes #5335 2020-05-15 12:50:50 +05:30
Akshay Joshi c0451cd454 Added connected pgAdmin user and connection name in the log file. Fixes #5452
Patch By: Nico T
2020-05-13 17:43:21 +05:30
Akshay Joshi 0620fafb6c Fixed PEP8 issues discovered after pycodestyle gets upgraded. 2020-05-13 17:14:32 +05:30
Khushboo Vashi a9a1a975a6 Added compatibility for Flask-Security-Too version 3.2 2020-05-13 16:02:38 +05:30
Akshay Joshi 8a06a836f4 Ensure that pgAdmin4 should be compiled with older OSX SDK's. 2020-05-12 17:22:22 +05:30
Yogesh Jain dba5761ad0 Fixed an issue where clicking on the cross button of the alert box on the login page is not working. Fixes #4033 2020-05-12 17:22:22 +05:30
Yogesh Mahajan 8ec1d4c9eb Fixed feature tests failure on chrome caused due to selenium grid implementation changes. 2020-05-12 17:22:22 +05:30
Akshay Joshi 46e9924ebb Fixed Unicode decode error 'utf-8' codec can't decode byte. Fixes #5510
It's a regression of commit id: 04d6d4e2ccc129baa698471ce0680ccabe2282be
2020-05-12 17:22:22 +05:30
Dave Page 12a7ce54d9 Ubuntu 20.04 needs python3-wheel to be explicitly installed. 2020-05-11 15:08:40 +01:00
Akshay Joshi 9d08776824 Ensure that maintenance job should be worked properly for indexes under a materialized view. Fixes #4223. 2020-05-11 16:47:36 +05:30
Akshay Joshi 073d90c4a6 Fixed internal server error when clicking on Triggers -> 'Enable All' for partitions. Fixes #5052 2020-05-11 15:18:39 +05:30
Dave Page 7d4ddc3910 Clarify and correct the docs on enabling the pl/debugger plugin on the server per Jakob Egger. Fixes #5503 2020-05-11 09:05:15 +01:00
Yogesh Mahajan 1294c089a8 Implement Selenium Grid to run multiple tests across different browsers, operating systems, and machines in parallel. Fixes #5255 2020-05-11 12:11:31 +05:30
Aditya Toshniwal b64896f558 Fixed generated SQL issue for auto vacuum options. Fixes #5398
Fixed some more issues:

 1) pgAdmin allows only true or false values for autovacuum_enabled,
    and there is no way to reset it individually without disabling a custom auto vacuum.
    To fix this, the control is changed from the switch to three state buttons.
 2) Setting any vacuum options to zero made the option disappear from the SQL.
 3) Right-click on a table with vacuum options set and create a new table.
 4) The parameters tab will have the options prefilled.
 5) Changed the UI a bit to remove unnecessary space around. Added "Autovacuum" before enabled.
    The SQL generated was appending a ".0" to decimal vacuum options. Changed to remove the leading ".0".
2020-05-08 14:30:30 +05:30
Ashesh Vashi e73e2d2502 Fixed the errors, and warnings reported by pylama.
TODO::
- Don't use unicode in Python 3 for removing the support of Python 2 (
  psycopg2 driver - __init__.py, server_manager.py).
- Merge the lastest pgcli (version: 3.0.0) for SQL autocompletion.
2020-05-08 14:13:38 +05:30
Satish V 9338bdcb3a Fixed an issue where the newly added table is not alphabetically added to the tree. Fixes #5434
Fixed an issue when renaming the column not added in the proper order. Fixes #5450
2020-05-08 12:52:03 +05:30
Khushboo Vashi d68e6bd892 Remove Python2 modules.
refs #5443
2020-05-08 12:28:21 +05:30
Pradip Parkale 057a2b2312 Improve code coverage and API test cases for the Rules module. Fixes #5334 2020-05-07 16:27:58 +05:30
Dave Page 46d186a49f Show the startup log as well as the server log in the runtime's log viewer. Fixes #5489 2020-05-07 11:01:02 +01:00
Dave Page 7164c677de UI layout tweaks. 2020-05-07 10:39:28 +01:00
Akshay Joshi 6ad46e1860 Fixed invalid literal issue when removing the connection limit for the existing role. Fixes #5001 2020-05-07 13:14:45 +05:30
Akshay Joshi a662d866af Ensure that 'With OID' option should be disabled while taking backup of database server version 12 and above. Fixes #4840 2020-05-07 11:56:43 +05:30
Akshay Joshi a0940fd145 Typecast the object to 'text' before using it in length() function, so that correct length function gets called. 2020-05-06 17:34:18 +05:30
Nagesh Dhope f61448eea2 Fixed an issue where the background job creation fails if there is only a version-specific python binary available in PATH. Fixes #5480 2020-05-06 12:38:06 +05:30
Akshay Joshi 943495de31 Fixed list sorting issue in the schema diff tool. Fixes #5440
Fixed an issue while comparing the two identical schemas using the schema diff tool. Fixes #5449
2020-05-06 11:25:43 +05:30
Aditya Toshniwal 059f1e38cc Refactor pgAdmin4.py so it can be imported and is a lot more readable. Fixes #5455 2020-05-04 15:28:44 +01:00
Aditya Toshniwal 370094274c Fixed post-login redirect location when running in server mode under a non-default root. Fixes #5473 2020-05-04 15:00:45 +01:00
Dave Page 04d6d4e2cc Remove support for Python 2. Fixes #5443 2020-05-04 14:58:49 +01:00
Dave Page cf31d0187b Remove support for building the macOS appbundle with Python 2.7. Refs #5443 2020-05-04 14:56:28 +01:00
Akshay Joshi f1963401d6 Raise an exception under Python < 3.4 for WSGI mode.
refs #5443
2020-05-04 15:06:45 +05:30
Dave Page 94bd1f1680 Cleanup Python detection in the runtime project file. Fixes #5444 2020-05-04 10:20:51 +01:00
Dave Page 908e156113 Correct ipv4 "all interfaces" address in the container docs, per Frank Limpert. Fixes #5466 2020-05-04 09:25:05 +01:00
Ganesh Jaybhay 5fe7813f9f Fixed an issue where select2 hover is inconsistent for the SSL field in create server dialog. Fixes #5469 2020-05-04 13:19:13 +05:30
Satish V d61b8eb1b3 Gracefully informed the user that the database is already connected when they click on 'Connect Database...'. Fixes #3694 2020-05-04 13:08:56 +05:30
Murtuza Zabuawala 0fc2afb829 Add Reverse Engineered and Modified SQL tests for Column and Type. 2020-05-04 12:48:24 +05:30
Yogesh Jain cc2e3ece7a Ensure that file browse home button should point to /Users/akshayjoshi rather than /. Fixes #4279 2020-05-04 12:40:19 +05:30
Khushboo Vashi 5656f756e6 Ensure that the dependencies tab shows correct information for Synonyms. Fixes #5422 2020-05-04 12:23:18 +05:30
Dave Page 9bdf900b25 Rename README 2020-05-01 15:18:29 +01:00
Dave Page 0ec60a6f85 Minor cleanup and modernisation. 2020-05-01 15:14:46 +01:00
Dave Page 70e24ba059 Rename the README and fix it up to match modern reality. 2020-05-01 15:14:04 +01:00
Akshay Joshi ad80217593 Remove Python2 references from the source code.
refs #5443

Initial patch: Neel Patel
2020-04-30 17:22:48 +05:30
Dave Page 7dd00a1494 Raise an exception under Python < 3.4.
It also cleans up the README to remove references to Python 2
and removes Python 2-isms from the main config.

refs #5443
2020-04-30 14:17:00 +05:30
Dave Page 109051e1d5 Remove Python 2 support from the desktop runtime
refs #5443
2020-04-30 13:04:09 +05:30
Dave Page 86afec860f Remove Python 2 support from the Python tests.
refs #5443
2020-04-30 12:56:45 +05:30
Dave Page 393741fd9d Remove Python 2.7 support from the wheel package.
refs #5443
2020-04-30 12:51:58 +05:30
Dave Page e8a4b46ba1 Another attempt at fixing the 'do we need the --embed flag for Python' problem.
This change looks at the output from python-config --help (which may go
to stderr or stdout), and if it includes --embed, adds it to the later
call to get the libs string.
2020-04-29 16:19:54 +01:00
Dave Page 97be3d8179 Don't rely on python-config sending the help message to stderr, as older versions seem to use stdout. 2020-04-29 15:49:16 +01:00
Dave Page 505956d1fa OK, another attempt at this as it fails on non-Linux non-Python 3.8. 2020-04-29 14:29:47 +01:00
Dave Page f7ef86dced Sigh. Remove extraneous closing bracket. It's always a bracket. 2020-04-29 14:04:32 +01:00
Dave Page 3138f36e05 Fix the runtime build with Python 3.8 on Linux 2020-04-29 13:55:53 +01:00
3986 changed files with 250858 additions and 103051 deletions

No files matched your search

+8
View File
@@ -0,0 +1,8 @@
.git
web/node_modules
web/*.log
web/regression
web/**/tests/
.DS_Store
web/pgadmin/messages.pot
web/pgadmin/translations/??/LC_MESSAGES/messages.po
+10 -1
View File
@@ -19,11 +19,12 @@
/redhat-build
/src-build
/win-build
/win-temp
_build
/build-*
pgadmin4.log
pkg/win32/installer.iss
pkg/mac/codesign.conf
pkg/mac/codesign.confx
pkg/mac/framework.conf
runtime/.qmake.cache
runtime/.qmake.stash
@@ -41,6 +42,7 @@ web/config_local.py
web/pgadmin/misc/themes/pgadmin.themes.json
web/geckodriver.log
web/regression/test_config.json
web/regression/.coveragerc
node_modules/
web/pgAdmin/static/js/generated
web/pgadmin/static/js/generated
@@ -48,3 +50,10 @@ web/yarn-error.log
/web/cacert.pem
auditjs.html
auditpy.txt
/venv/
.scannerwork/
web/coverage/
web/.coverage
web/regression/.coverage
web/regression/covhtml/
web/regression/htmlcov/
+419
View File
@@ -0,0 +1,419 @@
pgAdmin 4 Dependency Inventory
==============================
pgAdmin 4 is built on Python, Javascript and NW.js (node-webkit), and is
dependent on various third party libraries. These are automatically compiled
from the system, requirements.txt and packages.json and listed below.
Runtime Dependencies
====================
Name Version Licence URL
---- ------- ------- ---
Python 3.6+ PSF https://www.python.org/
nw 0.50.2 MIT git://github.com/nwjs/npm-installer.git
axios 0.21.0 MIT https://github.com/axios/axios.git
bootstrap 4.5.3 MIT git+https://github.com/twbs/bootstrap.git
follow-redirects 1.13.1 MIT git@github.com:follow-redirects/follow-redirects.git
5 dependencies listed.
Python Dependencies
===================
Name Version Licence URL
---- ------- ------- ---
Flask 1.1.4 BSD-3-Clause https://palletsprojects.com/p/flask/
Flask-Gravatar 0.5.0 BSD https://github.com/zzzsochi/Flask-Gravatar/
Flask-Login 0.5.0 MIT https://github.com/maxcountryman/flask-login
Flask-Mail 0.9.1 BSD https://github.com/rduplain/flask-mail
Flask-Migrate 2.7.0 MIT http://github.com/miguelgrinberg/flask-migrate/
Flask-SQLAlchemy 2.5.1 BSD-3-Clause https://github.com/pallets/flask-sqlalchemy
Flask-WTF 0.14.3 BSD https://github.com/lepture/flask-wtf
Flask-Compress 1.9.0 MIT https://github.com/colour-science/flask-compress
passlib 1.7.4 BSD https://passlib.readthedocs.io
pytz 2021.1 MIT http://pythonhosted.org/pytz
simplejson 3.17.2 MIT License https://github.com/simplejson/simplejson
six 1.16.0 MIT https://github.com/benjaminp/six
speaklater3 1.4 UNKNOWN https://github.com/ThomasWaldmann/speaklater
sqlparse 0.4.1 BSD-3-Clause https://github.com/andialbrecht/sqlparse
WTForms 2.3.3 BSD-3-Clause https://wtforms.readthedocs.io/
Flask-Paranoid 0.2.0 MIT http://github.com/miguelgrinberg/flask-paranoid/
psutil 5.8.0 BSD https://github.com/giampaolo/psutil
psycopg2 2.8.6 LGPL with exceptions https://psycopg.org/
python-dateutil 2.8.1 Dual License https://dateutil.readthedocs.io
SQLAlchemy 1.3.24 MIT http://www.sqlalchemy.org
itsdangerous 1.1.0 BSD https://palletsprojects.com/p/itsdangerous/
Flask-Security-Too 4.0.1 MIT https://github.com/Flask-Middleware/flask-security
bcrypt 3.2.0 Apache License, Version 2.0 https://github.com/pyca/bcrypt/
cryptography 3.4.7 BSD or Apache License, Version 2.0 https://github.com/pyca/cryptography
sshtunnel 0.4.0 MIT https://github.com/pahaz/sshtunnel
ldap3 2.9 LGPL v3 https://github.com/cannatag/ldap3
Flask-BabelEx 0.9.4 BSD http://github.com/mrjoes/flask-babelex
gssapi 1.6.12 LICENSE.txt https://github.com/pythongssapi/python-gssapi
Flask-SocketIO 5.0.3 MIT http://github.com/miguelgrinberg/Flask-SocketIO/
eventlet 0.31.0 UNKNOWN http://eventlet.net
httpagentparser 1.9.1 http://www.opensource.org/licenses/mit-license.php http://shon.github.com/httpagentparser
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
pywinpty 1.1.1 Unknown Unknown
Authlib 0.15.4 BSD-3-Clause https://authlib.org/
requests 2.25.1 Apache 2.0 https://requests.readthedocs.io
NOTE: This report was generated using Python 3.9. Full information may not be
shown for Python modules that are not required with this version.
35 dependencies listed.
Javascript Dependencies
=======================
Name Version Licence URL
---- ------- ------- ---
@babel/code-frame 7.12.13 MIT https://github.com/babel/babel.git
@babel/compat-data 7.14.0 MIT https://github.com/babel/babel.git
@babel/core 7.14.3 MIT https://github.com/babel/babel.git
@babel/generator 7.14.3 MIT https://github.com/babel/babel.git
@babel/helper-annotate-as-pure 7.12.13 MIT https://github.com/babel/babel.git
@babel/helper-compilation-targets 7.13.16 MIT https://github.com/babel/babel.git
@babel/helper-create-class-features-plugin 7.14.3 MIT https://github.com/babel/babel.git
@babel/helper-function-name 7.14.2 MIT https://github.com/babel/babel.git
@babel/helper-get-function-arity 7.12.13 MIT https://github.com/babel/babel.git
@babel/helper-member-expression-to-functions 7.13.12 MIT https://github.com/babel/babel.git
@babel/helper-module-imports 7.13.12 MIT https://github.com/babel/babel.git
@babel/helper-module-transforms 7.14.2 MIT https://github.com/babel/babel.git
@babel/helper-optimise-call-expression 7.12.13 MIT https://github.com/babel/babel.git
@babel/helper-plugin-utils 7.13.0 MIT https://github.com/babel/babel.git
@babel/helper-replace-supers 7.14.3 MIT https://github.com/babel/babel.git
@babel/helper-simple-access 7.13.12 MIT https://github.com/babel/babel.git
@babel/helper-split-export-declaration 7.12.13 MIT https://github.com/babel/babel.git
@babel/helper-validator-identifier 7.14.0 MIT https://github.com/babel/babel.git
@babel/helper-validator-option 7.12.17 MIT https://github.com/babel/babel.git
@babel/helpers 7.14.0 MIT https://github.com/babel/babel.git
@babel/highlight 7.14.0 MIT https://github.com/babel/babel.git
@babel/parser 7.14.3 MIT https://github.com/babel/babel.git
@babel/plugin-proposal-class-properties 7.13.0 MIT https://github.com/babel/babel.git
@babel/plugin-syntax-jsx 7.12.13 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-display-name 7.14.2 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-jsx 7.14.3 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-jsx-development 7.12.17 MIT https://github.com/babel/babel.git
@babel/plugin-transform-react-pure-annotations 7.12.1 MIT https://github.com/babel/babel.git
@babel/preset-react 7.13.13 MIT https://github.com/babel/babel.git
@babel/template 7.12.13 MIT https://github.com/babel/babel.git
@babel/traverse 7.14.2 MIT https://github.com/babel/babel.git
@babel/types 7.14.2 MIT https://github.com/babel/babel.git
@istanbuljs/schema 0.1.3 MIT git+https://github.com/istanbuljs/schema.git
@popperjs/core 2.9.2 MIT https://github.com/popperjs/popper-core.git
@projectstorm/geometry 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-canvas-core 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-core 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-defaults 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-routing 6.5.2 MIT https://github.com/projectstorm/react-diagrams.git
@simonwep/pickr 1.8.1 MIT https://github.com/Simonwep/pickr.git
@tippyjs/react 4.2.5 MIT git+https://github.com/atomiks/tippyjs-react.git
@types/component-emitter 1.2.10 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/json-schema 7.0.7 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/node 15.6.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/parse-json 4.0.0 MIT https://www.github.com/DefinitelyTyped/DefinitelyTyped.git
acitree 4.5.0-rc.7 MIT https://github.com/imsurinder90/jquery-aciTree.git
ajv 6.12.6 MIT https://github.com/ajv-validator/ajv.git
ajv 5.5.2 MIT https://github.com/epoberezkin/ajv.git
ajv-keywords 3.5.2 MIT git+https://github.com/epoberezkin/ajv-keywords.git
alertifyjs 1.7.1 MIT git@github.com:MohammadYounes/AlertifyJS.git
alphanum-sort 1.0.2 MIT https://github.com/TrySound/alphanum-sort.git
ansi-regex 2.1.1 MIT https://github.com/chalk/ansi-regex.git
ansi-styles 3.2.1 MIT https://github.com/chalk/ansi-styles.git
ansi-styles 4.3.0 MIT https://github.com/chalk/ansi-styles.git
ansi-styles 2.2.1 MIT https://github.com/chalk/ansi-styles.git
axios 0.21.1 MIT https://github.com/axios/axios.git
babel-code-frame 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-code-frame
babel-generator 6.26.1 MIT https://github.com/babel/babel/tree/master/packages/babel-generator
babel-messages 6.23.0 MIT https://github.com/babel/babel/tree/master/packages/babel-messages
babel-runtime 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-runtime
babel-template 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-template
babel-traverse 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-traverse
babel-types 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-types
babelify 10.0.0 MIT https://github.com/babel/babelify.git
babylon 6.18.0 MIT https://github.com/babel/babylon
backbone 1.4.0 MIT https://github.com/jashkenas/backbone.git
backbone 1.2.3 MIT https://github.com/jashkenas/backbone.git
backbone 1.3.3 MIT https://github.com/jashkenas/backbone.git
backform 0.2.0 MIT https://github.com/AmiliaApp/backform
backgrid 0.3.8 MIT http://github.com/cloudflare/backgrid
backgrid-filter 0.3.7 MIT git://github.com/wyuenho/backgrid-text-cell.git
backgrid-select-all 0.3.5 MIT git://github.com/wyuenho/backgrid-select-all.git
backo2 1.0.2 MIT https://github.com/mokesmokes/backo.git
balanced-match 1.0.2 MIT git://github.com/juliangruber/balanced-match.git
base64-arraybuffer 0.2.0 MIT https://github.com/niklasvh/base64-arraybuffer
base64-arraybuffer 0.1.4 MIT https://github.com/niklasvh/base64-arraybuffer
big.js 5.2.2 MIT https://github.com/MikeMcl/big.js.git
bignumber.js 9.0.1 MIT https://github.com/MikeMcl/bignumber.js.git
bignumber.js 7.2.1 MIT https://github.com/MikeMcl/bignumber.js.git
bootstrap 4.6.0 MIT git+https://github.com/twbs/bootstrap.git
bootstrap4-toggle 3.6.1 MIT https://github.com/gitbrent/bootstrap4-toggle.git
brace-expansion 1.1.11 MIT git://github.com/juliangruber/brace-expansion.git
browserslist 4.16.6 MIT https://github.com/browserslist/browserslist.git
callsites 3.1.0 MIT https://github.com/sindresorhus/callsites.git
caniuse-api 3.0.0 MIT https://github.com/nyalab/caniuse-api.git
chalk 2.4.2 MIT https://github.com/chalk/chalk.git
chalk 4.1.1 MIT https://github.com/chalk/chalk.git
chalk 1.1.3 MIT https://github.com/chalk/chalk.git
chart.js 2.9.4 MIT https://github.com/chartjs/Chart.js.git
chartjs-color 2.4.1 MIT https://github.com/chartjs/chartjs-color.git
chartjs-color-string 0.6.0 MIT https://github.com/chartjs/chartjs-color-string.git
closest 0.0.1 MIT https://github.com/ForbesLindesay/closest.git
co 4.6.0 MIT https://github.com/tj/co.git
codemirror 5.61.1 MIT https://github.com/codemirror/CodeMirror.git
color-convert 1.9.3 MIT https://github.com/Qix-/color-convert.git
color-convert 2.0.1 MIT https://github.com/Qix-/color-convert.git
color-name 1.1.3 MIT git@github.com:dfcreative/color-name.git
color-name 1.1.4 MIT git@github.com:colorjs/color-name.git
colord 2.0.0 MIT https://github.com/omgovich/colord.git
colorette 1.2.2 MIT https://github.com/jorgebucaran/colorette.git
commander 7.2.0 MIT https://github.com/tj/commander.js.git
component-emitter 1.3.0 MIT https://github.com/component/emitter.git
concat-map 0.0.1 MIT git://github.com/substack/node-concat-map.git
convert-source-map 1.7.0 MIT git://github.com/thlorenz/convert-source-map.git
core-js 3.13.0 MIT https://github.com/zloirock/core-js.git
core-js 2.6.12 MIT https://github.com/zloirock/core-js.git
cosmiconfig 7.0.0 MIT git+https://github.com/davidtheclark/cosmiconfig.git
css-color-names 1.0.1 MIT git://github.com/bahamas10/css-color-names.git
css-color-names 0.0.4 MIT git://github.com/bahamas10/css-color-names.git
css-line-break 1.1.1 MIT git+ssh://git@github.com/niklasvh/css-line-break.git
css-loader 5.2.6 MIT https://github.com/webpack-contrib/css-loader.git
css-tree 1.1.3 MIT https://github.com/csstree/csstree.git
cssesc 3.0.0 MIT https://github.com/mathiasbynens/cssesc.git
cssnano 5.0.4 MIT https://github.com/cssnano/cssnano.git
cssnano-preset-default 5.1.1 MIT https://github.com/cssnano/cssnano.git
cssnano-utils 2.0.1 MIT https://github.com/cssnano/cssnano.git
csso 4.2.0 MIT https://github.com/css/csso.git
dagre 0.8.5 MIT https://github.com/dagrejs/dagre.git
debug 4.3.1 MIT git://github.com/visionmedia/debug.git
debug 2.6.9 MIT git://github.com/visionmedia/debug.git
detect-indent 4.0.0 MIT https://github.com/sindresorhus/detect-indent.git
dom-serializer 1.3.2 MIT git://github.com/cheeriojs/dom-renderer.git
dropzone 5.9.2 MIT https://github.com/dropzone/dropzone.git
emojis-list 3.0.0 MIT git+https://github.com/kikobeats/emojis-list.git
engine.io-client 5.1.1 MIT https://github.com/socketio/engine.io-client.git
engine.io-parser 4.0.2 MIT git@github.com:socketio/engine.io-parser.git
error-ex 1.3.2 MIT https://github.com/qix-/node-error-ex.git
escalade 3.1.1 MIT https://github.com/lukeed/escalade.git
escape-string-regexp 1.0.5 MIT https://github.com/sindresorhus/escape-string-regexp.git
fast-deep-equal 3.1.3 MIT git+https://github.com/epoberezkin/fast-deep-equal.git
fast-deep-equal 1.1.0 MIT git+https://github.com/epoberezkin/fast-deep-equal.git
fast-json-stable-stringify 2.1.0 MIT git://github.com/epoberezkin/fast-json-stable-stringify.git
follow-redirects 1.14.1 MIT git@github.com:follow-redirects/follow-redirects.git
gensync 1.0.0-beta.2 MIT https://github.com/loganfsmyth/gensync.git
globals 11.12.0 MIT https://github.com/sindresorhus/globals.git
globals 9.18.0 MIT https://github.com/sindresorhus/globals.git
graphlib 2.1.8 MIT https://github.com/dagrejs/graphlib.git
has-ansi 2.0.0 MIT https://github.com/sindresorhus/has-ansi.git
has-cors 1.1.0 MIT git://github.com/component/has-cors.git
has-flag 3.0.0 MIT https://github.com/sindresorhus/has-flag.git
has-flag 4.0.0 MIT https://github.com/sindresorhus/has-flag.git
hex-color-regex 1.1.0 MIT https://github.com/regexps/hex-color-regex.git
hsl-regex 1.0.0 MIT https://github.com/regexps/hsl-regex.git
hsla-regex 1.0.0 MIT https://github.com/regexps/hsla-regex.git
html-escaper 2.0.2 MIT https://github.com/WebReflection/html-escaper.git
html2canvas 1.0.0-rc.7 MIT git@github.com:niklasvh/html2canvas.git
immutability-helper 3.1.1 MIT git+https://github.com/kolodny/immutability-helper.git
import-fresh 3.3.0 MIT https://github.com/sindresorhus/import-fresh.git
imports-loader 2.0.0 MIT https://github.com/webpack-contrib/imports-loader.git
invariant 2.2.4 MIT https://github.com/zertosh/invariant
ip-address 7.1.0 MIT git://github.com/beaugunderson/ip-address.git
is-absolute-url 3.0.3 MIT https://github.com/sindresorhus/is-absolute-url.git
is-any-array 1.0.0 MIT https://github.com/cheminfo-js/is-any-array.git
is-arrayish 0.2.1 MIT https://github.com/qix-/node-is-arrayish.git
is-color-stop 1.1.0 MIT git+https://github.com/pigcan/is-color-stop.git
is-finite 1.1.0 MIT https://github.com/sindresorhus/is-finite.git
istanbul-instrumenter-loader 3.0.1 MIT https://github.com/webpack-contrib/istanbul-instrumenter-loader.git
javascript-natural-sort 0.7.1 MIT https://github.com/Bill4Time/javascript-natural-sort.git
jquery 3.6.0 MIT https://github.com/jquery/jquery.git
jquery-contextmenu 2.9.2 MIT git://github.com/swisnl/jQuery-contextMenu.git
jquery-ui 1.12.1 MIT git://github.com/jquery/jquery-ui.git
js-tokens 4.0.0 MIT https://github.com/lydell/js-tokens.git
js-tokens 3.0.2 MIT https://github.com/lydell/js-tokens.git
jsbn 1.1.0 MIT https://github.com/andyperlitch/jsbn.git
jsesc 2.5.2 MIT https://github.com/mathiasbynens/jsesc.git
jsesc 1.3.0 MIT https://github.com/mathiasbynens/jsesc.git
json-bignumber 1.0.2 MIT git@github.com:wbuss/JSONBigNumber.git
json-parse-even-better-errors 2.3.1 MIT https://github.com/npm/json-parse-even-better-errors
json-schema-traverse 0.4.1 MIT git+https://github.com/epoberezkin/json-schema-traverse.git
json-schema-traverse 0.3.1 MIT git+https://github.com/epoberezkin/json-schema-traverse.git
json-source-map 0.6.1 MIT git+https://github.com/epoberezkin/json-source-map.git
json5 2.2.0 MIT git+https://github.com/json5/json5.git
json5 1.0.1 MIT git+https://github.com/json5/json5.git
karma-coverage 2.0.3 MIT git://github.com/karma-runner/karma-coverage.git
lines-and-columns 1.1.6 MIT https://github.com/eventualbuddha/lines-and-columns.git
loader-utils 2.0.0 MIT https://github.com/webpack/loader-utils.git
loader-utils 1.4.0 MIT https://github.com/webpack/loader-utils.git
lodash 4.17.21 MIT https://github.com/lodash/lodash.git
lodash.memoize 4.1.2 MIT https://github.com/lodash/lodash.git
lodash.uniq 4.5.0 MIT https://github.com/lodash/lodash.git
loose-envify 1.4.0 MIT git://github.com/zertosh/loose-envify.git
lunr 0.7.2 MIT https://github.com/olivernn/lunr.js.git
make-dir 3.1.0 MIT https://github.com/sindresorhus/make-dir.git
matches-selector 0.0.1 MIT https://github.com/ForbesLindesay/matches-selector.git
minimist 1.2.5 MIT git://github.com/substack/minimist.git
ml-array-max 1.2.3 MIT git+https://github.com/mljs/array.git
ml-array-min 1.2.2 MIT git+https://github.com/mljs/array.git
ml-array-rescale 1.3.5 MIT git+https://github.com/mljs/array.git
ml-matrix 6.8.0 MIT https://github.com/mljs/matrix.git
mobius1-selectr 2.4.13 MIT git+https://github.com/Mobius1/Selectr.git
moment 2.29.1 MIT https://github.com/moment/moment.git
moment 2.24.0 MIT https://github.com/moment/moment.git
moment-timezone 0.5.33 MIT https://github.com/moment/moment-timezone.git
ms 2.1.2 MIT https://github.com/zeit/ms.git
ms 2.0.0 MIT https://github.com/zeit/ms.git
nanoid 3.1.23 MIT https://github.com/ai/nanoid.git
nanopop 2.1.0 MIT https://github.com/Simonwep/nanopop.git
node-releases 1.1.72 MIT git+https://github.com/chicoxyzzy/node-releases.git
normalize-url 4.5.1 MIT https://github.com/sindresorhus/normalize-url.git
object-assign 4.1.1 MIT https://github.com/sindresorhus/object-assign.git
parent-module 1.0.1 MIT https://github.com/sindresorhus/parent-module.git
parse-json 5.2.0 MIT https://github.com/sindresorhus/parse-json.git
parseqs 0.0.6 MIT https://github.com/get/querystring.git
parseuri 0.0.6 MIT https://github.com/get/parseuri.git
path-type 4.0.0 MIT https://github.com/sindresorhus/path-type.git
pathfinding 0.4.18 MIT git://github.com/qiao/PathFinding.js.git
performance-now 2.1.0 MIT git://github.com/braveg1rl/performance-now.git
picomodal 3.0.0 MIT https://github.com/Nycto/PicoModal.git
popper.js 1.16.1 MIT git+https://github.com/FezVrasta/popper.js.git
postcss 8.3.0 MIT https://github.com/postcss/postcss.git
postcss-calc 8.0.0 MIT https://github.com/postcss/postcss-calc.git
postcss-colormin 5.1.1 MIT https://github.com/cssnano/cssnano.git
postcss-convert-values 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-discard-comments 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-discard-duplicates 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-discard-empty 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-discard-overridden 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-merge-longhand 5.0.2 MIT https://github.com/cssnano/cssnano.git
postcss-merge-rules 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-minify-font-values 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-minify-gradients 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-minify-params 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-minify-selectors 5.1.0 MIT https://github.com/cssnano/cssnano.git
postcss-modules-local-by-default 4.0.0 MIT https://github.com/css-modules/postcss-modules-local-by-default.git
postcss-normalize-charset 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-display-values 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-positions 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-repeat-style 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-string 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-timing-functions 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-unicode 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-url 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-normalize-whitespace 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-ordered-values 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-reduce-initial 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-reduce-transforms 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-selector-parser 6.0.6 MIT https://github.com/postcss/postcss-selector-parser.git
postcss-svgo 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-unique-selectors 5.0.1 MIT https://github.com/cssnano/cssnano.git
postcss-value-parser 4.1.0 MIT https://github.com/TrySound/postcss-value-parser.git
punycode 2.1.1 MIT https://github.com/bestiejs/punycode.js.git
raf 3.4.1 MIT git://github.com/chrisdickinson/raf.git
react 17.0.2 MIT https://github.com/facebook/react.git
react-dom 17.0.2 MIT https://github.com/facebook/react.git
regenerator-runtime 0.11.1 MIT https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime
repeating 2.0.1 MIT https://github.com/sindresorhus/repeating.git
resolve-from 4.0.0 MIT https://github.com/sindresorhus/resolve-from.git
rgb-regex 1.0.1 MIT https://github.com/regexps/rgb-regex.git
rgba-regex 1.0.0 MIT https://github.com/johnotander/rgba-regex.git
safe-buffer 5.1.2 MIT git://github.com/feross/safe-buffer.git
scheduler 0.20.2 MIT https://github.com/facebook/react.git
schema-utils 3.0.0 MIT https://github.com/webpack/schema-utils.git
schema-utils 0.3.0 MIT git+https://github.com/webpack-contrib/schema-utils.git
select2 4.0.13 MIT git://github.com/select2/select2.git
shim-loader 1.0.1 MIT https://github.com/zinserjan/shim-loader
slickgrid 2.3.16 MIT git+https://github.com/6pac/SlickGrid.git
snapsvg-cjs 0.0.6 MIT git+https://github.com/geelen/Snap.svg-cjs.git
socket.io-client 4.1.2 MIT https://github.com/socketio/socket.io-client.git
socket.io-parser 4.0.4 MIT https://github.com/socketio/socket.io-parser.git
source-list-map 1.1.2 MIT https://github.com/webpack/source-list-map.git
split.js 1.6.4 MIT https://github.com/nathancahill/split
stable 0.1.8 MIT https://github.com/Two-Screen/stable.git
strip-ansi 3.0.1 MIT https://github.com/chalk/strip-ansi.git
strip-comments 2.0.1 MIT https://github.com/jonschlinkert/strip-comments.git
stylehacks 5.0.1 MIT https://github.com/cssnano/cssnano.git
supports-color 5.5.0 MIT https://github.com/chalk/supports-color.git
supports-color 7.2.0 MIT https://github.com/chalk/supports-color.git
supports-color 2.0.0 MIT https://github.com/chalk/supports-color.git
svgo 2.3.0 MIT git://github.com/svg/svgo.git
tempusdominus-bootstrap-4 5.39.0 MIT https://github.com/tempusdominus/bootstrap-4.git
tempusdominus-core 5.19.0 MIT https://github.com/tempusdominus/core.git
timsort 0.3.0 MIT https://github.com/mziccard/node-timsort.git
tippy.js 6.3.1 MIT git+https://github.com/atomiks/tippyjs.git
to-fast-properties 2.0.0 MIT https://github.com/sindresorhus/to-fast-properties.git
to-fast-properties 1.0.3 MIT https://github.com/sindresorhus/to-fast-properties.git
trim-right 1.0.1 MIT https://github.com/sindresorhus/trim-right.git
underscore 1.13.1 MIT git://github.com/jashkenas/underscore.git
uniqs 2.0.0 MIT git://github.com/fgnass/uniqs.git
util-deprecate 1.0.2 MIT git://github.com/TooTallNate/util-deprecate.git
vendors 1.0.4 MIT https://github.com/wooorm/vendors.git
webpack-sources 0.2.3 MIT git+https://github.com/webpack/webpack-sources.git
wkx 0.5.0 MIT http://github.com/cschwarz/wkx.git
ws 7.4.6 MIT https://github.com/websockets/ws.git
xterm 4.12.0 MIT https://github.com/xtermjs/xterm.js
xterm-addon-fit 0.5.0 MIT https://github.com/xtermjs/xterm.js
xterm-addon-search 0.8.0 MIT https://github.com/xtermjs/xterm.js
xterm-addon-web-links 0.4.0 MIT https://github.com/xtermjs/xterm.js
yeast 0.1.2 MIT https://github.com/unshiftio/yeast.git
@fortawesome/fontawesome-free 5.15.3 (CC-BY-4.0 AND OFL-1.1 AND MIT) https://github.com/FortAwesome/Font-Awesome
@sphinxxxx/color-conversion 2.2.2 ISC git+https://github.com/Sphinxxxx/color-conversion.git
@trysound/sax 0.1.1 ISC git://github.com/svg/sax.git
boolbase 1.0.0 ISC https://github.com/fb55/boolbase
css-declaration-sorter 6.0.3 ISC https://github.com/Siilwyn/css-declaration-sorter.git
electron-to-chromium 1.3.740 ISC https://github.com/kilian/electron-to-chromium/
icss-utils 5.1.0 ISC git+https://github.com/css-modules/icss-utils.git
is-resolvable 1.1.0 ISC https://github.com/shinnn/is-resolvable.git
jsonrepair 2.2.1 ISC https://github.com/josdejong/jsonrepair.git
lru-cache 6.0.0 ISC git://github.com/isaacs/node-lru-cache.git
minimatch 3.0.4 ISC git://github.com/isaacs/minimatch.git
postcss-modules-extract-imports 3.0.0 ISC https://github.com/css-modules/postcss-modules-extract-imports.git
postcss-modules-scope 3.0.0 ISC https://github.com/css-modules/postcss-modules-scope.git
postcss-modules-values 4.0.0 ISC git+https://github.com/css-modules/postcss-modules-values.git
semver 7.3.5 ISC https://github.com/npm/node-semver
semver 5.7.1 ISC https://github.com/npm/node-semver
semver 6.3.0 ISC https://github.com/npm/node-semver
vanilla-picker 2.11.2 ISC https://github.com/Sphinxxxx/vanilla-picker.git
yallist 4.0.0 ISC git+https://github.com/isaacs/yallist.git
yaml 1.10.2 ISC https://github.com/eemeli/yaml.git
ace-builds 1.4.12 BSD-3-Clause https://github.com/ajaxorg/ace-builds.git
istanbul-lib-coverage 1.2.1 BSD-3-Clause git@github.com:istanbuljs/istanbuljs.git
istanbul-lib-coverage 3.0.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-instrument 1.10.2 BSD-3-Clause git@github.com:istanbuljs/istanbuljs.git
istanbul-lib-instrument 4.0.3 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-report 3.0.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-lib-source-maps 4.0.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
istanbul-reports 3.0.2 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
source-map 0.5.7 BSD-3-Clause http://github.com/mozilla/source-map.git
source-map 0.6.1 BSD-3-Clause http://github.com/mozilla/source-map.git
source-map-js 0.6.2 BSD-3-Clause http://github.com/7rulnik/source-map.git
sprintf-js 1.1.2 BSD-3-Clause https://github.com/alexei/sprintf.js.git
bootstrap-datepicker 1.9.0 Apache-2.0 https://github.com/uxsolutions/bootstrap-datepicker.git
eve 0.5.4 Apache-2.0 git@github.com:adobe-webplatform/eve.git
jmespath 0.15.0 Apache-2.0 git://github.com/jmespath/jmespath.js
jsoneditor 9.5.3 Apache-2.0 https://github.com/josdejong/jsoneditor.git
paths-js 0.4.11 Apache-2.0 https://github.com/andreaferretti/paths-js.git
snapsvg 0.5.1 Apache-2.0 git@github.com:adobe-webplatform/Snap.svg.git
caniuse-lite 1.0.30001230 CC-BY-4.0 https://github.com/browserslist/caniuse-lite.git
css-select 3.1.2 BSD-2-Clause git://github.com/fb55/css-select.git
css-what 4.0.0 BSD-2-Clause https://github.com/fb55/css-what
domelementtype 2.2.0 BSD-2-Clause git://github.com/fb55/domelementtype.git
domhandler 4.2.0 BSD-2-Clause git://github.com/fb55/domhandler.git
domutils 2.6.0 BSD-2-Clause git://github.com/fb55/domutils.git
entities 2.2.0 BSD-2-Clause git://github.com/fb55/entities.git
esutils 2.0.3 BSD-2-Clause http://github.com/estools/esutils.git
leaflet 1.7.1 BSD-2-Clause git://github.com/Leaflet/Leaflet.git
nth-check 2.0.0 BSD-2-Clause https://github.com/fb55/nth-check
uri-js 4.4.1 BSD-2-Clause http://github.com/garycourt/uri-js
FileSaver 0.10.0 UNKNOWN Unknown
heap 0.2.5 UNKNOWN git://github.com/qiao/heap.js.git
mdn-data 2.0.14 CC0-1.0 https://github.com/mdn/data.git
mousetrap 1.6.5 Apache-2.0 WITH LLVM-exception git://github.com/ccampbell/mousetrap.git
precond 0.2.3 MIT* https://github.com/MathieuTurcotte/node-precond.git
webcabin-docker 2.2.5 MIT* Unknown
tablesorter 2.31.3 (MIT OR GPL-2.0) git://github.com/Mottie/tablesorter.git
345 dependencies listed.
+74 -79
View File
@@ -12,19 +12,22 @@
# and clean up the web/ source code
#########################################################################
FROM node:10-alpine AS app-builder
FROM alpine:3.13 AS app-builder
RUN apk add --no-cache \
autoconf \
automake \
bash \
g++ \
git \
libc6-compat \
libjpeg-turbo-dev \
libpng-dev \
libtool \
make \
nasm \
git \
nodejs \
yarn \
zlib-dev
# Create the /pgadmin4 directory and copy the source into it. Explicitly
@@ -41,17 +44,8 @@ RUN rm -rf /pgadmin4/web/*.log \
WORKDIR /pgadmin4/web
# Build the JS vendor code in the app-builder, and then remove the vendor source.
RUN npm install && \
npm audit fix && \
rm -f yarn.lock && \
yarn import && \
# Commented the below line to avoid vulnerability in decompress package and
# audit only dependencies folder. Refer https://www.npmjs.com/advisories/1217.
# Pull request is already been send https://github.com/kevva/decompress/pull/73,
# once fixed we will uncomment it.
# yarn audit && \
yarn audit --groups dependencies && \
rm -f package-lock.json && \
RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
yarn install && \
yarn run bundle && \
rm -rf node_modules \
yarn.lock \
@@ -62,28 +56,39 @@ RUN npm install && \
karma.conf.js \
./pgadmin/static/js/generated/.cache
#########################################################################
# Next, create the base environment for Python
#########################################################################
FROM alpine:3.13 as env-builder
# Install dependencies
COPY requirements.txt /
RUN apk add --no-cache \
make \
python3 \
py3-pip && \
apk add --no-cache --virtual build-deps \
build-base \
openssl-dev \
libffi-dev \
postgresql-dev \
krb5-dev \
rust \
cargo \
python3-dev && \
python3 -m venv --system-site-packages --without-pip /venv && \
/venv/bin/python3 -m pip install --no-cache-dir -r requirements.txt && \
apk del --no-cache build-deps
#########################################################################
# Now, create a documentation build container for the Sphinx docs
#########################################################################
FROM python:3.7-alpine3.10 as docs-builder
FROM env-builder as docs-builder
# Install only dependencies absolutely required for documentation building
RUN apk add --no-cache \
make \
build-base \
openssl-dev \
libffi-dev && \
pip install --no-cache-dir \
sphinx \
flask_security_too \
flask_paranoid \
python-dateutil \
flask_sqlalchemy \
flask_gravatar \
flask_migrate \
simplejson \
cryptography
# Install Sphinx
RUN /venv/bin/python3 -m pip install --no-cache-dir sphinx
# Copy the docs from the local tree. Explicitly remove any existing builds that
# may be present
@@ -92,32 +97,26 @@ COPY web /pgadmin4/web
RUN rm -rf /pgadmin4/docs/en_US/_build
# Build the docs
RUN LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 make -C /pgadmin4/docs/en_US -f Makefile.sphinx html
RUN LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 /venv/bin/sphinx-build /pgadmin4/docs/en_US /pgadmin4/docs/en_US/_build/html
# Cleanup unwanted files
RUN rm -rf /pgadmin4/docs/en_US/_build/html/.doctrees
RUN rm -rf /pgadmin4/docs/en_US/_build/html/_sources
RUN rm -rf /pgadmin4/docs/en_US/_build/html/_static/*.png
#########################################################################
# Create additional builders to get all of the PostgreSQL utilities
#########################################################################
FROM postgres:9.4-alpine as pg94-builder
FROM postgres:9.5-alpine as pg95-builder
FROM postgres:9.6-alpine as pg96-builder
FROM postgres:10-alpine as pg10-builder
FROM postgres:11-alpine as pg11-builder
FROM postgres:12-alpine as pg12-builder
FROM postgres:13-alpine as pg13-builder
FROM alpine:3.10 as tool-builder
FROM alpine:3.13 as tool-builder
# Copy the PG binaries
COPY --from=pg94-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-9.4/
COPY --from=pg94-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-9.4/
COPY --from=pg94-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-9.4/
COPY --from=pg94-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-9.4/
COPY --from=pg95-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-9.5/
COPY --from=pg95-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-9.5/
COPY --from=pg95-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-9.5/
COPY --from=pg95-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-9.5/
COPY --from=pg96-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-9.6/
COPY --from=pg96-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-9.6/
COPY --from=pg96-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-9.6/
@@ -138,12 +137,21 @@ COPY --from=pg12-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-12/
COPY --from=pg12-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-12/
COPY --from=pg12-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-12/
COPY --from=pg13-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-13/
COPY --from=pg13-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-13/
COPY --from=pg13-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-13/
COPY --from=pg13-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-13/
#########################################################################
# Assemble everything into the final container.
#########################################################################
FROM python:3.7-alpine3.10
FROM alpine:3.13
# Copy in the Python packages
COPY --from=env-builder /venv /venv
# Copy in the tools
COPY --from=tool-builder /usr/local/pgsql /usr/local/
WORKDIR /pgadmin4
@@ -152,49 +160,36 @@ ENV PYTHONPATH=/pgadmin4
# Copy in the code and docs
COPY --from=app-builder /pgadmin4/web /pgadmin4
COPY --from=docs-builder /pgadmin4/docs/en_US/_build/html/ /pgadmin4/docs
COPY requirements.txt /pgadmin4/requirements.txt
# Install build-dependencies, build & install C extensions and purge deps in
# one RUN step
RUN apk add --no-cache --virtual \
build-deps \
build-base \
postgresql-dev \
libffi-dev \
linux-headers && \
apk add \
postfix \
postgresql-client \
postgresql-libs \
shadow \
sudo \
libcap && \
pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt && \
pip install --no-cache-dir gunicorn==19.9.0 && \
apk del --no-cache build-deps && \
echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix
# We need the v12 libpq, which is only in the 'edge' build of Alpine at present
COPY --from=pg12-builder /usr/local/lib/libpq.so.5.12 /usr/lib/
RUN ln -sf /usr/lib/libpq.so.5.12 /usr/lib/libpq.so.5
# Copy the runner script
COPY pkg/docker/run_pgadmin.py /pgadmin4
COPY pkg/docker/gunicorn_config.py /pgadmin4
COPY pkg/docker/entrypoint.sh /entrypoint.sh
# Precompile and optimize python code to save time and space on startup
RUN python -O -m compileall -x node_modules /pgadmin4
# License files
COPY LICENSE /pgadmin4/LICENSE
COPY DEPENDENCIES /pgadmin4/DEPENDENCIES
RUN groupadd -g 5050 pgadmin && \
# Install runtime dependencies and configure everything in one RUN step
RUN apk add \
python3 \
py3-pip \
postfix \
postgresql-libs \
krb5-libs \
shadow \
sudo \
libedit \
libcap && \
/venv/bin/python3 -m pip install --no-cache-dir gunicorn && \
find / -type d -name '__pycache__' -exec rm -rf {} + && \
groupadd -g 5050 pgadmin && \
useradd -r -u 5050 -g pgadmin pgadmin && \
mkdir -p /var/lib/pgadmin && \
chown pgadmin:pgadmin /var/lib/pgadmin && \
mkdir -p /var/log/pgadmin && \
chown pgadmin:pgadmin /var/log/pgadmin && \
touch /pgadmin4/config_distro.py && \
chown pgadmin:pgadmin /pgadmin4/config_distro.py && \
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3.7
setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/python3.8 && \
echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix
USER pgadmin
# Finish up
+1 -1
View File
@@ -1,6 +1,6 @@
pgAdmin 4
Copyright (C) 2013 - 2020, The pgAdmin Development Team
Copyright (C) 2013 - 2021, The pgAdmin Development Team
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement is
+194 -220
View File
@@ -2,32 +2,30 @@
SETLOCAL
SET WD=%CD%
SET "PGBUILDPATH=%WD%\win-build"
SET "BUILDROOT=%WD%\win-build"
SET "TMPDIR=%WD%\win-temp"
SET "DISTROOT=%WD%\dist"
SET CMDOPTION=""
IF "%1" == "clean" SET CMDOPTION="VALID"
IF "%1" == "x86" SET CMDOPTION="VALID"
SET CMDOPTIONS=""
IF "%1" == "clean" SET CMDOPTIONS="VALID"
IF "%1" == "" SET CMDOPTIONS="VALID"
IF NOT %CMDOPTION%=="VALID" (
IF NOT %CMDOPTIONS%=="VALID" (
GOTO USAGE
)
SET ARCHITECTURE=%1
IF "%ARCHITECTURE%"=="clean" (
IF "%1" == "clean" (
CALL :CLEAN
EXIT /B %ERRORLEVEL%
)
REM Main build sequence
CALL :SET_ENVIRONMENT
CALL :VALIDATE_ENVIRONMENT || EXIT /B 1
CALL :CLEAN || EXIT /B 1
CALL :CREATE_VIRTUAL_ENV || EXIT /B 1
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
CALL :CREATE_PYTHON_ENV || EXIT /B 1
CALL :CLEANUP_ENV || EXIT /B 1
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
CALL :CREATE_INSTALLER || EXIT /B 1
CALL :SIGN_INSTALLER || EXIT /B 1
@@ -37,9 +35,12 @@ REM Main build sequence Ends
:CLEAN
ECHO Removing build directory...
IF EXIST "%PGBUILDPATH%" RD "%PGBUILDPATH%" /S /Q > nul || EXIT /B 1
IF EXIST "%BUILDROOT%" RD "%BUILDROOT%" /S /Q > nul || EXIT /B 1
ECHO Removing temp build directory...
ECHO Removing tmp directory...
IF EXIST "%TMPDIR%" RD "%TMPDIR%" /S /Q > nul || EXIT /B 1
ECHO Removing installer build directory...
IF EXIST "%WD%\pkg\win32\Output" rd "%WD%\pkg\win32\Output" /S /Q > nul || EXIT /B 1
ECHO Removing installer configuration script...
@@ -50,73 +51,56 @@ REM Main build sequence Ends
:SET_ENVIRONMENT
ECHO Configuring the environment...
IF "%PYTHON_HOME%" == "" SET "PYTHON_HOME=C:\Python27"
IF "%PYTHON_DLL%" == "" SET "PYTHON_DLL=C:\Windows\SysWOW64\python27.dll"
IF "%QTDIR%" == "" SET "QTDIR=C:\Qt\5.9.1\mingw53_32"
IF "%MAKE%" == "" SET "MAKE=mingw32-make.exe"
IF "%PGDIR%" == "" SET "PGDIR=C:\Program Files (x86)\PostgreSQL\10"
IF "%INNOTOOL%" == "" SET "INNOTOOL=C:\Program Files (x86)\Inno Setup 5"
IF "%VCREDIST%" == "" SET "VCREDIST=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\1033\vcredist_x86.exe"
IF "%SIGNTOOL%" == "" SET "SIGNTOOL=C:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin\signtool.exe"
IF "%PGADMIN_PYTHON_DIR%" == "" SET "PGADMIN_PYTHON_DIR=C:\Python38"
IF "%PGADMIN_KRB5_DIR%" == "" SET "PGADMIN_KRB5_DIR=C:\Program Files\MIT\Kerberos"
IF "%PGADMIN_POSTGRES_DIR%" == "" SET "PGADMIN_POSTGRES_DIR=C:\Program Files (x86)\PostgreSQL\12"
IF "%PGADMIN_INNOTOOL_DIR%" == "" SET "PGADMIN_INNOTOOL_DIR=C:\Program Files (x86)\Inno Setup 6"
IF "%PGADMIN_VCREDIST_DIR%" == "" SET "PGADMIN_VCREDIST_DIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012"
IF "%PGADMIN_SIGNTOOL_DIR%" == "" SET "PGADMIN_SIGNTOOL_DIR=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64"
REM Set VCREDISTNAME (the filename)
for /f "delims=" %%i in ("%VCREDIST%") do set "VCREDISTNAME=%%~nxi"
REM Set REDIST_NAME (the filename)
set "VCREDIST_FILE=vcredist_x64.exe"
REM Set additional variables we need
SET "QMAKE=%QTDIR%\bin\qmake.exe"
FOR /F "tokens=4,5 delims=. " %%a IN ('%QMAKE% -v ^| findstr /B /C:"Using Qt version "') DO SET QT_VERSION=%%a.%%b
SET "VIRTUALENV=venv"
SET "TARGET_DIR=%WD%\dist"
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_MAJOR=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\config.py') DO SET APP_MINOR=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\config.py') DO SET APP_VERSION_SUFFIX=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_MAJOR=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\config.py') DO SET APP_MINOR=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\config.py') DO SET APP_VERSION_SUFFIX=%%a
REM remove single quote from the string
SET APP_VERSION_SUFFIX=%APP_VERSION_SUFFIX:'=%
SET APP_NAME=""
FOR /F "tokens=2* DELims='" %%a IN ('findstr /C:"APP_NAME =" web\config.py') DO SET APP_NAME=%%a
FOR /f "tokens=1 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "print('%APP_NAME%'.lower().replace(' ', ''))"') DO SET APP_SHORTNAME=%%G
FOR /F "tokens=2* DELims='" %%a IN ('findstr /C:"APP_NAME =" web\config.py') DO SET APP_NAME=%%a
FOR /f "tokens=1 DELims=." %%G IN ('%PGADMIN_PYTHON_DIR%/python.exe -c "print('%APP_NAME%'.lower().replace(' ', ''))"') DO SET APP_SHORTNAME=%%G
SET APP_VERSION=%APP_MAJOR%.%APP_MINOR%
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%APP_VERSION_SUFFIX%-%ARCHITECTURE%.exe
IF "%APP_VERSION_SUFFIX%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%ARCHITECTURE%.exe
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%APP_VERSION_SUFFIX%-x64.exe
IF "%APP_VERSION_SUFFIX%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-x64.exe
REM get Python version for the runtime build ex. 2.7.1 will be 27
FOR /f "tokens=1 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MAJOR=%%G
FOR /f "tokens=2 DELims=." %%G IN ('%PYTHON_HOME%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MINOR=%%G
SET "PYTHON_VERSION=%PYTHON_MAJOR%%PYTHON_MINOR%"
REM get Python version for the runtime build ex. 3.9.2 will be 39
FOR /f "tokens=1 DELims=." %%G IN ('%PGADMIN_PYTHON_DIR%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MAJOR=%%G
FOR /f "tokens=2 DELims=." %%G IN ('%PGADMIN_PYTHON_DIR%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_MINOR=%%G
FOR /f "tokens=3 DELims=." %%G IN ('%PGADMIN_PYTHON_DIR%/python.exe -c "import sys; print(sys.version.split(' ')[0])"') DO SET PYTHON_REVISION=%%G
EXIT /B 0
:VALIDATE_ENVIRONMENT
ECHO ****************************************************************
ECHO S U M M A R Y
ECHO * Build summary
ECHO ****************************************************************
ECHO Build path: %PGBUILDPATH%
ECHO Output directory: %TARGET_DIR%
ECHO Build path: %BUILDROOT%
ECHO Output directory: %DISTROOT%
ECHO Installer name: %INSTALLERNAME%
ECHO.
ECHO Python home: %PYTHON_HOME%
ECHO Python DLL: %PYTHON_DLL%
ECHO Python version: %PYTHON_VERSION%
ECHO Python major version: %PYTHON_MAJOR%
ECHO Python minor version: %PYTHON_MINOR%
ECHO Python directory: %PGADMIN_PYTHON_DIR%
ECHO Python version: %PYTHON_MAJOR%.%PYTHON_MINOR%.%PYTHON_REVISION%
ECHO.
ECHO Qt home: %QTDIR%
ECHO qmake executable: %QMAKE%
ECHO Qt version: %QT_VERSION%
ECHO KRB5 directory: %PGADMIN_KRB5_DIR%
ECHO PostgreSQL directory: %PGADMIN_POSTGRES_DIR%
ECHO.
ECHO PostgreSQL home: %PGDIR%
ECHO VC++ redist directory: %PGADMIN_VCREDIST_DIR%
ECHO VC++ redist file: %VCREDIST_FILE%
ECHO InnoTool directory: %PGADMIN_INNOTOOL_DIR%
ECHO signtool directory: %PGADMIN_SIGNTOOL_DIR%
ECHO.
ECHO VC++ redistributable: %VCREDIST%
ECHO VC++ redistributable file: %VCREDISTNAME%
ECHO.
ECHO innotool executable: %INNOTOOL%
ECHO signtool executable: %SIGNTOOL%
ECHO.
ECHO App major version: %APP_MAJOR%
ECHO App minor version: %APP_MINOR%
ECHO App version: %APP_VERSION%
ECHO App version suffix: %APP_VERSION_SUFFIX%
ECHO App short name: %APP_SHORTNAME%
@@ -124,238 +108,236 @@ REM Main build sequence Ends
ECHO ****************************************************************
ECHO Checking the environment...
IF NOT EXIST "%INNOTOOL%" (
ECHO !INNOTOOL! does not exist
ECHO Please install Innotool and set the INNOTOOL environment variable.
IF NOT EXIST "%PGADMIN_INNOTOOL_DIR%" (
ECHO !PGADMIN_INNOTOOL_DIR! does not exist
ECHO Please install InnoTool and set the PGADMIN_INNOTOOL_DIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%VCREDIST%" (
ECHO !VCREDIST! does not exist
ECHO Please install Microsoft Visual studio and set the VCREDIST environment variable.
IF NOT EXIST "%PGADMIN_VCREDIST_DIR%" (
ECHO !PGADMIN_VCREDIST_DIR! does not exist
ECHO Please install Microsoft Visual studio and set the PGADMIN_VCREDIST_DIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%QTDIR%" (
ECHO !QTDIR! does not exist.
ECHO Please install Qt and set the QTDIR environment variable.
IF NOT EXIST "%PGADMIN_KRB5_DIR%" (
ECHO !PGADMIN_KRB5_DIR! does not exist.
ECHO Please install MIT Kerberos for Windows and set the PGADMIN_KRB5_DIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%QMAKE%" (
ECHO !QMAKE! does not exist.
ECHO Please install Qt and set the QTDIR environment variable.
IF NOT EXIST "%PGADMIN_PYTHON_DIR%" (
ECHO !PGADMIN_PYTHON_DIR! does not exist.
ECHO Please install Python and set the PGADMIN_PYTHON_DIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%PYTHON_HOME%" (
ECHO !PYTHON_HOME! does not exist.
ECHO Please install Python and set the PYTHON_HOME environment variable.
IF NOT EXIST "%PGADMIN_POSTGRES_DIR%" (
ECHO !PGADMIN_POSTGRES_DIR! does not exist.
ECHO Please install PostgreSQL and set the PGADMIN_POSTGRES_DIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%PYTHON_DLL%" (
ECHO !PYTHON_DLL! does not exist.
ECHO Please install Python and set the PYTHON_DLL environment variable.
EXIT /B 1
)
IF NOT EXIST "%PGDIR%" (
ECHO !PGDIR! does not exist.
ECHO Please install PostgreSQL and set the PGDIR environment variable.
EXIT /B 1
)
IF NOT EXIST "%PYTHON_HOME%\Scripts\virtualenv.exe" (
ECHO !PYTHON_HOME!\Scripts\virtualenv.exe does not exist.
IF NOT EXIST "%PGADMIN_PYTHON_DIR%\Scripts\virtualenv.exe" (
ECHO !PGADMIN_PYTHON_DIR!\Scripts\virtualenv.exe does not exist.
ECHO Please install the virtualenv package in Python.
EXIT /B 1
)
SET "PATH=%PGDIR%\bin;%PATH%"
SET "PATH=%PGADMIN_POSTGRES_DIR%\bin;%PATH%"
EXIT /B 0
:CREATE_VIRTUAL_ENV
ECHO Creating virtual environment...
IF NOT EXIST "%PGBUILDPATH%" MKDIR "%PGBUILDPATH%"
CD "%PGBUILDPATH%"
"%PYTHON_HOME%\Scripts\virtualenv.exe" "%VIRTUALENV%"
IF NOT EXIST "%TMPDIR%" MKDIR "%TMPDIR%"
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\DLLs" "%PGBUILDPATH%\%VIRTUALENV%\DLLs" > nul || EXIT /B 1
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\Lib" "%PGBUILDPATH%\%VIRTUALENV%\Lib" > nul || EXIT /B 1
CD "%TMPDIR%"
ECHO Activating virtual environment - %PGBUILDPATH%\%VIRTUALENV%...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate" || EXIT /B 1
REM Note that we must use virtualenv.exe here, as the venv module doesn't allow python.exe to relocate.
"%PGADMIN_PYTHON_DIR%\Scripts\virtualenv.exe" venv
XCOPY /S /I /E /H /Y "%PGADMIN_PYTHON_DIR%\DLLs" "%TMPDIR%\venv\DLLs" > nul || EXIT /B 1
XCOPY /S /I /E /H /Y "%PGADMIN_PYTHON_DIR%\Lib" "%TMPDIR%\venv\Lib" > nul || EXIT /B 1
ECHO Activating virtual environment - %TMPDIR%\venv...
CALL "%TMPDIR%\venv\Scripts\activate" || EXIT /B 1
ECHO Installing dependencies...
CALL pip install -r "%WD%\requirements.txt" || EXIT /B 1
CALL pip install sphinx || EXIT /B 1
REM If we're using VC++, and this is Python 3.6+, we need to remove the hack
REM above or it will break qmake. Sigh.
IF "%MAKE%" == "nmake" (
IF %PYTHON_VERSION% GEQ 36 SET CL=
)
CALL python -m pip install --upgrade pip || EXIT /B 1
CALL pip install --only-binary=cryptography -r "%WD%\requirements.txt" || EXIT /B 1
CD %WD%
EXIT /B 0
:CREATE_PYTHON_ENV
ECHO Staging Python...
MKDIR "%BUILDROOT%\python\Lib" || EXIT /B 1
ECHO Downloading embedded Python...
REM Get the python embeddable and extract it to %BUILDROOT%\python
CD "%TMPDIR%
%PGADMIN_PYTHON_DIR%\python -c "import sys; from urllib.request import urlretrieve; urlretrieve('https://www.python.org/ftp/python/' + sys.version.split(' ')[0] + '/python-' + sys.version.split(' ')[0] + '-embed-amd64.zip', 'python-embedded.zip')" || EXIT /B 1
%PGADMIN_PYTHON_DIR%\python -c "import zipfile; z = zipfile.ZipFile('python-embedded.zip', 'r'); z.extractall('../win-build/python/')" || EXIT /B 1
ECHO Copying site-packages...
XCOPY /S /I /E /H /Y "%TMPDIR%\venv\Lib\site-packages" "%BUILDROOT%\python\Lib\site-packages" > nul || EXIT /B 1
REM NOTE: There is intentionally no space after "site" in the line below, to prevent Python barfing if there's one in the file
ECHO import site>> "%BUILDROOT%\python\python%PYTHON_MAJOR%%PYTHON_MINOR%._pth"
ECHO Staging Kerberos components...
COPY "%PGADMIN_KRB5_DIR%\bin\kinit.exe" "%BUILDROOT%\python" > nul || EXIT /B 1
COPY "%PGADMIN_KRB5_DIR%\bin\krb5_64.dll" "%BUILDROOT%\python" > nul || EXIT /B 1
COPY "%PGADMIN_KRB5_DIR%\bin\comerr64.dll" "%BUILDROOT%\python" > nul || EXIT /B 1
COPY "%PGADMIN_KRB5_DIR%\bin\k5sprt64.dll" "%BUILDROOT%\python" > nul || EXIT /B 1
COPY "%PGADMIN_KRB5_DIR%\bin\gssapi64.dll" "%BUILDROOT%\python" > nul || EXIT /B 1
ECHO Cleaning up unnecessary .pyc and .pyo files...
FOR /R "%BUILDROOT%\python" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
ECHO Removing tests...
FOR /R "%BUILDROOT%\python\Lib" %%f in (test tests) do RD /Q /S "%%f" 1> nul 2>&1
EXIT /B 0
:CREATE_RUNTIME_ENV
MKDIR "%PGBUILDPATH%\runtime"
CD "%WD%\web"
ECHO Installing javascript dependencies...
CALL yarn install || EXIT /B 1
ECHO Bundling javascript...
CALL yarn run bundle || EXIT /B 1
IF NOT EXIST "%BUILDROOT%" MKDIR "%BUILDROOT%"
MKDIR "%BUILDROOT%\runtime"
ECHO Removing webpack caches...
RD /Q /S "%WD%\web\pgadmin\static\js\generated\.cache" 1> nul 2>&1
ECHO Copying web directory...
XCOPY /S /I /E /H /Y "%WD%\web" "%PGBUILDPATH%\web" > nul || EXIT /B 1
XCOPY /S /I /E /H /Y "%WD%\web" "%BUILDROOT%\web" > nul || EXIT /B 1
ECHO Installing javascript dependencies...
CD "%BUILDROOT%\web"
CALL yarn install || EXIT /B 1
ECHO Bundling javascript...
CALL yarn run bundle || EXIT /B 1
ECHO Cleaning up unnecessary .pyc and .pyo files...
FOR /R "%PGBUILDPATH%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
FOR /R "%BUILDROOT%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
ECHO Removing tests, Python caches and node modules...
FOR /R "%PGBUILDPATH%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f" 1> nul 2>&1
FOR /R "%BUILDROOT%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f" 1> nul 2>&1
ECHO Removing the test framework...
RD /Q /S "%PGBUILDPATH%\web\regression" 1> nul 2>&1
RD /Q /S "%BUILDROOT%\web\regression" 1> nul 2>&1
ECHO Removing tools...
RD /Q /S "%PGBUILDPATH%\web\tools" 1> nul 2>&1
RD /Q /S "%BUILDROOT%\web\tools" 1> nul 2>&1
ECHO Removing any existing configurations...
DEL /q "%PGBUILDPATH%\web\pgadmin4.db" 1> nul 2>&1
DEL /q "%PGBUILDPATH%\web\config_local.py" 1> nul 2>&1
DEL /q "%BUILDROOT%\web\pgadmin4.db" 1> nul 2>&1
DEL /q "%BUILDROOT%\web\config_local.py" 1> nul 2>&1
ECHO Staging license files...
COPY "%WD%\LICENSE" "%BUILDROOT%\" > nul || EXIT /B 1
COPY "%WD%\DEPENDENCIES" "%BUILDROOT%\" > nul || EXIT /B 1
ECHO Creating config_distro.py
ECHO SERVER_MODE = False > "%PGBUILDPATH%\web\config_distro.py"
ECHO HELP_PATH = '../../../docs/en_US/html/' >> "%PGBUILDPATH%\web\config_distro.py"
ECHO DEFAULT_BINARY_PATHS = { >> "%PGBUILDPATH%\web\config_distro.py"
ECHO 'pg': '$DIR/../runtime', >> "%PGBUILDPATH%\web\config_distro.py"
ECHO 'ppas': '' >> "%PGBUILDPATH%\web\config_distro.py"
ECHO } >> "%PGBUILDPATH%\web\config_distro.py"
ECHO SERVER_MODE = False > "%BUILDROOT%\web\config_distro.py"
ECHO HELP_PATH = '../../../docs/en_US/html/' >> "%BUILDROOT%\web\config_distro.py"
ECHO DEFAULT_BINARY_PATHS = { >> "%BUILDROOT%\web\config_distro.py"
ECHO 'pg': '$DIR/../runtime', >> "%BUILDROOT%\web\config_distro.py"
ECHO 'ppas': '' >> "%BUILDROOT%\web\config_distro.py"
ECHO } >> "%BUILDROOT%\web\config_distro.py"
ECHO Building docs...
MKDIR "%PGBUILDPATH%\docs\en_US\html"
CALL pip install sphinx || EXIT /B 1
MKDIR "%BUILDROOT%\docs\en_US\html"
CD "%WD%\docs\en_US"
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\python.exe" build_code_snippet.py || EXIT /B 1
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%PGBUILDPATH%\docs\en_US\html" || EXIT /B 1
CALL "%TMPDIR%\venv\Scripts\python.exe" build_code_snippet.py || EXIT /B 1
CALL "%TMPDIR%\venv\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%BUILDROOT%\docs\en_US\html" || EXIT /B 1
ECHO Removing Sphinx
CALL pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer
REM Remove unnecessary doc files
DEL /q "%BUILDROOT%\docs\en_US\html\_static\*.png" 1> nul 2>&1
RD /Q /S "%BUILDROOT%\docs\en_US\html\_sources" 1> nul 2>&1
ECHO Assembling runtime environment...
CD "%WD%\runtime"
ECHO Staging runtime components...
XCOPY /S /I /E /H /Y "%WD%\runtime\assets" "%BUILDROOT%\runtime\assets" > nul || EXIT /B 1
XCOPY /S /I /E /H /Y "%WD%\runtime\src" "%BUILDROOT%\runtime\src" > nul || EXIT /B 1
ECHO Running qmake...
CALL "%QMAKE%" || EXIT /B 1
COPY "%WD%\runtime\package.json" "%BUILDROOT%\runtime\" > nul || EXIT /B 1
CD "%BUILDROOT%\runtime\"
CALL yarn install --production=true || EXIT /B 1
ECHO Cleaning the build directory...
CALL %MAKE% clean || EXIT /B 1
ECHO Downloading NWjs to %TMPDIR%...
REM Get a fresh copy of nwjs.
REM NOTE: The nw download servers seem to be very unreliable, so at the moment we're using wget which retries
ECHO Running make...
CALL %MAKE% || EXIT /B 1
REM YARN
REM CALL yarn --cwd "%TMPDIR%" add nw || EXIT /B
REM YARN END
ECHO Staging pgAdmin4.exe...
COPY "%WD%\runtime\release\pgAdmin4.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
REM WGET
FOR /f "tokens=2 delims='" %%i IN ('yarn info nw ^| findstr "latest: "') DO SET "NW_VERSION=%%i"
:GET_NW
wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
ECHO Staging Qt components...
COPY "%QTDIR%\bin\Qt5Core.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%QTDIR%\bin\Qt5Gui.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%QTDIR%\bin\Qt5Widgets.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%QTDIR%\bin\Qt5Network.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%QTDIR%\bin\Qt5Svg.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%QTDIR%\bin\libgcc_s_dw2-1.dll" COPY "%QTDIR%\bin\libgcc_s_dw2-1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%QTDIR%\bin\libstdc++-6.dll" COPY "%QTDIR%\bin\libstdc++-6.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%QTDIR%\bin\libwinpthread-1.dll" COPY "%QTDIR%\bin\libwinpthread-1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
MKDIR "%PGBUILDPATH%\runtime\platforms" > nul || EXIT /B 1
COPY "%QTDIR%\plugins\platforms\qwindows.dll" "%PGBUILDPATH%\runtime\platforms" > nul || EXIT /B 1
MKDIR "%PGBUILDPATH%\runtime\imageformats" > nul || EXIT /B 1
COPY "%QTDIR%\plugins\imageformats\qsvg.dll" "%PGBUILDPATH%\runtime\imageformats" > nul || EXIT /B 1
ECHO [Paths] > "%PGBUILDPATH%\runtime\qt.conf"
ECHO Plugins=plugins >> "%PGBUILDPATH%\runtime\qt.conf"
tar -C "%TMPDIR%" -xvf "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip" || EXIT /B 1
REM WGET END
REM YARN
REM XCOPY /S /I /E /H /Y "%TMPDIR%\node_modules\nw\nwjs\*" "%BUILDROOT%\runtime" > nul || EXIT /B 1
REM YARN END
REM WGET
XCOPY /S /I /E /H /Y "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64\*" "%BUILDROOT%\runtime" > nul || EXIT /B 1
REM WGET END
MOVE "%BUILDROOT%\runtime\nw.exe" "%BUILDROOT%\runtime\pgAdmin4.exe"
ECHO Replacing executable icon...
CALL yarn --cwd "%TMPDIR%" add winresourcer || EXIT /B
"%TMPDIR%\node_modules\winresourcer\bin\Resourcer.exe" -op:upd -src:"%BUILDROOT%\runtime\pgAdmin4.exe" -type:Icongroup -name:IDR_MAINFRAME -file:"%WD%\pkg\win32\Resources\pgAdmin4.ico"
ECHO Staging PostgreSQL components...
COPY "%PGDIR%\bin\libpq.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%PGDIR%\bin\libcrypto-1_1.dll" (
REM OpenSSL 1.1.1
COPY "%PGDIR%\bin\libcrypto-1_1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGDIR%\bin\libssl-1_1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
) ELSE (
REM OpenSSL 1.0.2
COPY "%PGDIR%\bin\ssleay32.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGDIR%\bin\libeay32.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
)
IF EXIST "%PGDIR%\bin\libintl-*.dll" COPY "%PGDIR%\bin\libintl-*.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%PGDIR%\bin\libiconv-*.dll" COPY "%PGDIR%\bin\libiconv-*.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%PGDIR%\bin\zlib.dll" COPY "%PGDIR%\bin\zlib.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
IF EXIST "%PGDIR%\bin\zlib1.dll" COPY "%PGDIR%\bin\zlib1.dll" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGDIR%\bin\pg_dump.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGDIR%\bin\pg_dumpall.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1L%
COPY "%PGDIR%\bin\pg_restore.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGDIR%\bin\psql.exe" "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libpq.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libcrypto-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\libssl-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" "%BUILDROOT%\runtime" > nul
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" "%BUILDROOT%\runtime" > nul
COPY "%PGADMIN_POSTGRES_DIR%\bin\zlib.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_dump.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_dumpall.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1L%
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_restore.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1
COPY "%PGADMIN_POSTGRES_DIR%\bin\psql.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1
ECHO Staging VC++ runtime...
MKDIR "%PGBUILDPATH%\installer" || EXIT /B 1
COPY "%VCREDIST%" "%PGBUILDPATH%\installer" > nul || EXIT /B 1
MKDIR "%BUILDROOT%\installer" || EXIT /B 1
COPY "%PGADMIN_VCREDIST_DIR%\%VCREDIST_FILE%" "%BUILDROOT%\installer" > nul || EXIT /B 1
CD %WD%
EXIT /B 0
:CREATE_PYTHON_ENV
ECHO Staging Python...
COPY %PYTHON_DLL% "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY %PYTHON_HOME%\python.exe "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
COPY %PYTHON_HOME%\pythonw.exe "%PGBUILDPATH%\runtime" > nul || EXIT /B 1
ECHO Cleaning up unnecessary .pyc and .pyo files...
FOR /R "%PGBUILDPATH%\%VIRTUALENV%" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
ECHO Removing tests...
FOR /R "%PGBUILDPATH%\%VIRTUALENV%\Lib" %%f in (test tests) do RD /Q /S "%%f" 1> nul 2>&1
ECHO Removing TCL...
RD /Q /S "%PGBUILDPATH%\%VIRTUALENV%\tcl" 1> nul 2>&1
EXIT /B 0
:CREATE_INSTALLER
ECHO Preparing for creation of windows installer...
IF NOT EXIST "%TARGET_DIR%" MKDIR "%TARGET_DIR%"
IF NOT EXIST "%DISTROOT%" MKDIR "%DISTROOT%"
ECHO Copying icon file...
COPY "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%PGBUILDPATH%" > nul || EXIT /B 1
COPY "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%BUILDROOT%" > nul || EXIT /B 1
CD "%WD%\pkg\win32"
ECHO Processing installer configuration script...
CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in" "-o" "%WD%\pkg\win32\installer.iss.in_stage1" "-s" MYAPP_NAME -r """%APP_NAME%"""
CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage1" "-o" "%WD%\pkg\win32\installer.iss.in_stage2" "-s" MYAPP_FULLVERSION -r """%APP_VERSION%"""
CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage2" "-o" "%WD%\pkg\win32\installer.iss.in_stage3" "-s" MYAPP_VERSION -r """v%APP_MAJOR%"""
SET ARCMODE=
IF "%ARCHITECTURE%"=="amd64" (
set ARCMODE="x64"
)
CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage3" "-o" "%WD%\pkg\win32\installer.iss.in_stage4" "-s" MYAPP_ARCHITECTURESMODE -r """%ARCMODE%"""
CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage4" "-o" "%WD%\pkg\win32\installer.iss" "-s" MYAPP_VCDIST -r """%VCREDISTNAME%"""
CALL "%PGADMIN_PYTHON_DIR%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in" "-o" "%WD%\pkg\win32\installer.iss.in_stage1" "-s" MYAPP_FULLVERSION -r """%APP_VERSION%"""
CALL "%PGADMIN_PYTHON_DIR%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage1" "-o" "%WD%\pkg\win32\installer.iss.in_stage2" "-s" MYAPP_VERSION -r """v%APP_MAJOR%"""
CALL "%PGADMIN_PYTHON_DIR%\python" "%WD%\pkg\win32\replace.py" "-i" "%WD%\pkg\win32\installer.iss.in_stage2" "-o" "%WD%\pkg\win32\installer.iss" "-s" MYAPP_VCDIST -r """%PGADMIN_VCREDIST_DIRNAME%\%VCREDIST_FILE%"""
ECHO Cleaning up...
DEL /s "%WD%\pkg\win32\installer.iss.in_stage*" > nul
ECHO Creating windows installer using INNO tool...
CALL "%INNOTOOL%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss" || EXIT /B 1
CALL "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss" || EXIT /B 1
ECHO Renaming installer...
MOVE "%WD%\pkg\win32\Output\Setup.exe" "%TARGET_DIR%\%INSTALLERNAME%" > nul || EXIT /B 1
MOVE "%WD%\pkg\win32\Output\pgadmin4-setup.exe" "%DISTROOT%\%INSTALLERNAME%" > nul || EXIT /B 1
ECHO Location - %TARGET_DIR%\%INSTALLERNAME%
ECHO Location - %DISTROOT%\%INSTALLERNAME%
ECHO Installer generated successfully.
CD %WD%
@@ -364,7 +346,7 @@ REM Main build sequence Ends
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
CALL "%SIGNTOOL%" sign /t http://timestamp.verisign.com/scripts/timstamp.dll "%TARGET_DIR%\%INSTALLERNAME%"
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" sign /t http://time.certum.pl "%DISTROOT%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 (
ECHO.
ECHO ************************************************************
@@ -376,17 +358,9 @@ REM Main build sequence Ends
EXIT /B 0
:CLEANUP_ENV
ECHO Cleaning the build environment...
RD "%PGBUILDPATH%\%VIRTUALENV%\Include" /S /Q 1> nul 2>&1
DEL /s "%PGBUILDPATH%\%VIRTUALENV%\pip-selfcheck.json" 1> nul 2>&1
EXIT /B 0
:USAGE
ECHO Invalid command line options.
ECHO Usage: "Make.bat <x86 | clean>"
ECHO Usage: "Make.bat [clean]"
ECHO.
EXIT /B 1
+6 -14
View File
@@ -20,22 +20,11 @@ APP_REVISION := $(shell grep ^APP_REVISION web/config.py | awk -F"=" '{print $$N
# Include only platform-independent builds in all
all: docs pip src runtime
appbundle: docs
appbundle:
./pkg/mac/build.sh
install-node:
cd web && npm install
cd web && npm audit fix
rm -f web/yarn.lock
cd web && yarn import
# Commented the below line to avoid vulnerability in decompress package and
# audit only dependencies folder. Refer https://www.npmjs.com/advisories/1217.
# Pull request is already been send https://github.com/kevva/decompress/pull/73,
# once fixed we will uncomment it.
# cd web && yarn audit
cd web && yarn audit --groups dependencies
rm -f package-lock.json
rm -f web/package-lock.json
cd web && yarn install
bundle:
cd web && yarn run bundle
@@ -84,6 +73,9 @@ check-feature: install-node bundle
check-js: install-node linter
cd web && yarn run karma start --single-run
check-js-coverage:
cd web && yarn run test:karma-coverage
runtime-debug:
cd runtime && qmake CONFIG+=debug && make
@@ -150,7 +142,7 @@ msg-extract:
cd web && pybabel extract -F babel.cfg -o pgadmin/messages.pot pgadmin
msg-update:
cd web && pybabel update -i pgadmin/messages.pot -d pgadmin/translations
cd web && pybabel update --no-fuzzy-matching -i pgadmin/messages.pot -d pgadmin/translations
.PHONY: docs
-366
View File
@@ -1,366 +0,0 @@
pgAdmin 4
=========
pgAdmin 4 is a rewrite of the popular pgAdmin3 management tool for the
PostgreSQL (http://www.postgresql.org) database.
In the following documentation and examples, "$PGADMIN4_SRC/" is used to denote
the top-level directory of a copy of the pgAdmin source tree, either from a
tarball or a git checkout.
Architecture
------------
pgAdmin 4 is written as a web application in Python, using jQuery and Bootstrap
for the client side processing and UI. On the server side, Flask is being
utilised.
Although developed using web technologies, pgAdmin 4 can be deployed either on
a web server using a browser, or standalone on a workstation. The runtime/
subdirectory contains a QT based runtime application intended to allow this -
it is essentially a Python application server that runs in the system tray
and allows the user to connect to the application using their web browser.
Building the Runtime
--------------------
To build the runtime, the following packages must be installed:
- QT 4.6 or above (Use the VC++ build on Windows, not MinGW).
- Python 2.7 or 3.4+
Assuming both qmake and python-config are in the path:
$ cd $PGADMIN4_SRC/runtime
$ qmake
Project MESSAGE: Building for QT5+...
Project MESSAGE: Building for Linux/Mac...
Project MESSAGE: Using /usr/bin/python-config
Project MESSAGE: Python2 detected.
$ make
...
To build the runtime in debug mode, use the option below with qmake
$ qmake CONFIG+=debug
To build the runtime in release mode, use the option below with qmake
$ qmake CONFIG+=release
By default, the runtime application will be built in release mode.
On Linux, an executable called 'pgAdmin4' will be built, and on Mac OS X, an
app bundle called pgAdmin4.app will be created.
To build the runtime on a Windows system, export PYTHON_HOME and PYTHON_VERSION
variables in the System environment. Specify the PYTHON_VERSION with the major
and minor number. Do not specify micro level version.
For example, given a Python version of A.B.C; A - Major number, B - Minor
number, C - Micro level (Bug fix releases).
If Python version is 2.7.12 than specify PYTHON_VERSION=27
e.g. PYTHON_HOME=C:\Python27\
PYTHON_VERSION=27
You can also use Qt Creator to build, develop and debug the runtime. Simply
open the $PGADMIN4_SRC/runtime/pgAdmin4.pro project file in Qt Creator and
configure the project with a supported version of Qt when prompted.
Create Database Migrations
--------------------------
In order to make changes to the SQLite DB, navigate to the 'web' directory:
(pgadmin4) $ cd $PGADMIN4_SRC/web
Create a migration file with the following command:
(pgadmin4) $ FLASK_APP=pgAdmin4.py flask db revision
This will create a file in: $PGADMIN4_SRC/web/migrations/versions/ .
Add any changes to the 'upgrade' function.
Increment the SCHEMA_VERSION in $PGADMIN4_SRC/web/pgadmin/model/__init__.py file.
There is no need to increment the SETTINGS_SCHEMA_VERSION.
Configuring the Python Environment
----------------------------------
In order to run the Python code, a suitable runtime environment is required.
Python versions - Python 2.7 or 3.4+ are currently supported. It is
recommended that a Python Virtual Environment is setup for this purpose,
rather than using the system Python environment. On Linux and Mac systems, the
process is fairly simple - adapt as required for your distribution:
1) Install the virtualenv packages into the system Python environment
$ sudo pip install virtualenv virtualenvwrapper
2) Source the virtualenv wrapper tools script. You may want to add this command
to your ~/.bash_profile file for future convenience:
$ source /usr/local/bin/virtualenvwrapper.sh
3) Create a virtual environment:
$ mkvirtualenv pgadmin4
To make use of the virtual environment in the future, use the following
command to re-activate it:
$ workon pgadmin4
4) Ensure that a PostgreSQL installation's bin/ directory is in the path (so
pg_config can be found for building psycopg2), and install the required
packages:
(pgadmin4) $ PATH=$PATH:/usr/local/pgsql/bin pip install -r $PGADMIN4_SRC/requirements.txt
If you are planning to run the regression tests, you also need to install
additional requirements from web/regression/requirements.txt:
(pgadmin4) $ pip install -r $PGADMIN4_SRC/web/regression/requirements.txt
5) Create a local configuration file for pgAdmin. Edit
$PGADMIN4_SRC/web/config_local.py and add any desired configuration options
(use the config.py file as a reference - any settings duplicated in
config_local.py will override those in config.py). A typical development
configuration may look like:
from config import *
# Debug mode
DEBUG = True
# App mode
SERVER_MODE = True
# Enable the test module
MODULE_BLACKLIST.remove('test')
# Log
CONSOLE_LOG_LEVEL = DEBUG
FILE_LOG_LEVEL = DEBUG
DEFAULT_SERVER = '127.0.0.1'
UPGRADE_CHECK_ENABLED = True
# Use a different config DB for each server mode.
if SERVER_MODE == False:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-desktop.db'
)
else:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-server.db'
)
This configuration allows easy switching between server and desktop modes
for testing.
6) The initial setup of the configuration database is interactive in server
mode, and non-interactive in desktop mode. You can run it either by
running:
(pgadmin4) $ python $PGADMIN4_SRC/web/setup.py
or by starting pgAdmin 4:
(pgadmin4) $ python $PGADMIN4_SRC/web/pgAdmin4.py
Whilst it is possible to automatically run setup in desktop mode by running
the runtime, that will not work in server mode as the runtime doesn't allow
command line interaction with the setup program.
At this point you will be able to run pgAdmin 4 from the command line in either
server or desktop mode, and access it from a web browser using the URL shown in
the terminal once pgAdmin has started up.
Setup of an environment on Windows is somewhat more complicated unfortunately,
largely due to the lack of a native compiler toolset. Thankfully, Microsoft
supply a free compiler specifically for Python 2.7 users. Download and install
it from:
https://www.microsoft.com/en-gb/download/details.aspx?id=44266
A blog detailing the setup of Virtual Environments on Windows can be found
here:
http://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/
Once a virtual environment has been created and enabled, setup can continue
from step 4 above.
Building the Web Assets
-----------------------
pgAdmin is dependent on a number of third party Javascript libraries. These,
along with it's own Javascript code, SCSS/CSS code and images must be
compiled into a "bundle" which is transferred to the browser for execution
and rendering. This is far more efficient than simply requesting each
asset as it's needed by the client.
To create the bundle, you will need the 'yarn' package management tool to be
installed. Then, you can run the following commands on a *nix system to
download the required packages and build the bundle:
(pgadmin4) $ cd $PGADMIN4_SRC
(pgadmin4) $ make install-node
(pgadmin4) $ make bundle
On Windows systems (where "make" is not available, the following commands
can be used:
C:\> cd $PGADMIN4_SRC\web
C:\$PGADMIN4_SRC\web> yarn install
C:\$PGADMIN4_SRC\web> yarn run bundle
Creating pgAdmin themes
-----------------------
To create a pgAdmin theme, you need to create a directory under
web/pgadmin/static/scss/resources.
Copy the sample file _theme.variables.scss.sample to the new directory and
rename it to _theme.variables.scss. Change the desired hexadecimal values of
the colors and bundle pgAdmin. You can also add a preview image in the theme
directory with the name as <dir name>_preview.png. It is recommended that the
preview image should not be larger in size as it may take time to load on slow
networks. Run the yarn run bundle and you're good to go. No other changes are
required, pgAdmin bundle will read the directory and create other required
entries to make them available in preferences.
The name of the theme is derived from the directory name. Underscores (_) and
hyphens (-) will be replaced with spaces and the result will be camel cased.
Configuring the Runtime
-----------------------
The pgAdmin 4 Runtime maintains it's own Python Path to avoid conflicts with
packages or other issues in the system Python installation. It will also search
a number of known locations for the pgAdmin4.py file needed to run pgAdmin
(including relative locations in a source code tree), however you can specify
an alternate path if needed.
If either a working environment or pgAdmin4.py cannot be found at startup, the
runtime will prompt for the locations. Alternatively, you can click the try
icon and select the Configuration option to open the configuration dialogue.
On a Linux/Mac system, the Python Path will typically consist of a single path
to the virtual environment's site-packages directory, e.g.
/Users/<USERNAME>/.virtualenvs/pgadmin4/lib/python2.7/site-packages
On Windows, multiple paths are likely to be required, e.g.
C:\Users\dpage\.virtualenvs\pgadmin4\Lib\site-packages;C:\Users\dpage\.virtualenvs\pgadmin4\Lib;C:\Users\dpage\.virtualenvs\pgadmin4\Lib\lib-tk;C:\Users\dpage\.virtualenvs\pgadmin4\DLLs
If you wish to specify a specific copy of the Python code to run, you can set
the Application Path to a directory containing pgAdmin4.py, e.g.
/Users/<USERNAME>/git/pgadmin4-test/web/
Building the documentation
--------------------------
In order to build the docs, an additional Python package is required in the
virtual environment. This can be installed with the pip package manager:
$ workon pgadmin4
(pgadmin4) $ pip install Sphinx
The docs can then be built using the Makefile in $PGADMIN4_SRC, e.g.
(pgadmin4) $ make docs
The output can be found in $PGADMIN4_SRC/docs/en_US/_build/html/index.html
Building packages
-----------------
Most packages can be built using the Makefile in $PGADMIN4_SRC, provided all
the setup and configuration above has been completed.
To build a source tarball:
(pgadmin4) $ make src
To build a PIP Wheel, activate either a Python 2 or Python 3 virtual
environment as desired, configured with all the required packages, and then
run:
(pgadmin4) $ make pip
On a Mac, build an application bundle in a disk image (DMG file) with:
(pgadmin4) $ make appbundle
Configure the framework.conf to match the QT and Python versions the app is
being built with:
$ cp $PGADMIN4_SRC/pkg/mac/framework.conf.in $PGADMIN4_SRC/pkg/mac/framework.conf
$ vi $PGADMIN4_SRC/pkg/mac/framework.conf
If you have an Apple code signing certificate, both the app bundle and disk
image can be automatically signed by configuring signing:
$ cp $PGADMIN4_SRC/pkg/mac/codesign.conf.in $PGADMIN4_SRC/pkg/mac/codesign.conf
$ vi $PGADMIN4_SRC/pkg/mac/codesign.conf
Edit the file as appropriate, ensuring the various version numbers are correct
and that the appropriate developer ID is specified.
On Windows, the InnoSetup tool is required to create an installer. Download the
Unicode version from:
http://www.jrsoftware.org/isdl.php
A number of environment variables may need to be set to enable the build script
to function. The defaults will usually work on a typical 64 bit system with
Qt 5.5.1, Python 2.7 and Visual Studio 2013. The examples below are for a
similar 32 bit system:
INNOTOOL=C:\Program Files\Inno Setup 5
PGDIR=C:\Program Files\PostgreSQL\10
PYTHON_DLL=C:\Windows\System32\Python27.dll
PYTHON_HOME=C:\Python27
PYTHON_VERSION=27
QTDIR=C:\Qt\5.9\msvc2013
VCDIR=C:\Program Files\Microsoft Visual Studio 12.0\VC
To build the installer:
C:\$PGADMIN4_SRC> make x86
If you have a code signing certificate, this will automatically be used if
found in the Windows Certificate Store to sign the installer.
Support
-------
See https://www.pgadmin.org/support/ for support options.
Project info
------------
The source code repository can be found here:
http://git.postgresql.org/gitweb/?p=pgadmin4.git;a=summary
A Redmine project for pgAdmin 4 can be found at the address below. A PostgreSQL
community account is required to access this site. Please note that at present
only project developers can log bug and feature requests:
https://redmine.postgresql.org/projects/pgadmin4
If you wish to discuss pgAdmin 4, or contribute to the project, please use the
pgAdmin Hackers mailing list:
pgadmin-hackers@postgresql.org
--
Dave Page
pgAdmin Project Lead
+251
View File
@@ -0,0 +1,251 @@
# pgAdmin 4
pgAdmin 4 is a rewrite of the popular pgAdmin3 management tool for the
PostgreSQL (http://www.postgresql.org) database.
In the following documentation and examples, *$PGADMIN4_SRC/* is used to denote
the top-level directory of a copy of the pgAdmin source tree, either from a
tarball or a git checkout.
## Architecture
pgAdmin 4 is written as a web application in Python, using jQuery and Bootstrap
for the client side processing and UI. On the server side, Flask is being
utilised.
Although developed using web technologies, pgAdmin 4 can be deployed either on
a web server using a browser, or standalone on a workstation. The runtime/
subdirectory contains an NWjs based runtime application intended to allow this,
which will execute the Python server and display the UI.
## Building the Runtime
To build the runtime, the following packages must be installed:
* NodeJS 12+
* Yarn
Change into the runtime directory, and run *yarn install*. This will install the
dependencies required.
In order to use the runtime in a development environment, you'll need to copy
*dev_config.json.in* file to *dev_config.json*, and edit the paths to the Python
executable and *pgAdmin.py* file, otherwise the runtime will use the default
paths it would expect to find in the standard package for your platform.
You can then execute the runtime by running something like:
node_modules/nw/nwjs/nw .
or on macOS:
node_modules/nw/nwjs/nwjs.app/Contents/MacOS/nwjs .
# Create Database Migrations
In order to make changes to the SQLite DB, navigate to the 'web' directory:
(pgadmin4) $ cd $PGADMIN4_SRC/web
Create a migration file with the following command:
(pgadmin4) $ FLASK_APP=pgAdmin4.py flask db revision
This will create a file in: $PGADMIN4_SRC/web/migrations/versions/ .
Add any changes to the 'upgrade' function.
Increment the SCHEMA_VERSION in $PGADMIN4_SRC/web/pgadmin/model/__init__.py file.
There is no need to increment the SETTINGS_SCHEMA_VERSION.
# Configuring the Python Environment
In order to run the Python code, a suitable runtime environment is required.
Python version 3.6 and later are currently supported. It is recommended that a
Python Virtual Environment is setup for this purpose, rather than using the
system Python environment. On Linux and Mac systems, the process is fairly
simple - adapt as required for your distribution:
1. Install the virtualenv packages into the system Python environment
$ sudo pip install virtualenv virtualenvwrapper
2. Source the virtualenv wrapper tools script. You may want to add this command
to your ~/.bash_profile file for future convenience:
$ source /usr/local/bin/virtualenvwrapper.sh
3. Create a virtual environment:
$ mkvirtualenv pgadmin4
To make use of the virtual environment in the future, use the following
command to re-activate it:
$ workon pgadmin4
4. Ensure that a PostgreSQL installation's bin/ directory is in the path (so
pg_config can be found for building psycopg2), and install the required
packages:
(pgadmin4) $ PATH=$PATH:/usr/local/pgsql/bin pip install -r $PGADMIN4_SRC/requirements.txt
If you are planning to run the regression tests, you also need to install
additional requirements from web/regression/requirements.txt:
(pgadmin4) $ pip install -r $PGADMIN4_SRC/web/regression/requirements.txt
5. Create a local configuration file for pgAdmin. Edit
$PGADMIN4_SRC/web/config_local.py and add any desired configuration options
(use the config.py file as a reference - any settings duplicated in
config_local.py will override those in config.py). A typical development
configuration may look like:
```python
from config import *
# Debug mode
DEBUG = True
# App mode
SERVER_MODE = True
# Enable the test module
MODULE_BLACKLIST.remove('test')
# Log
CONSOLE_LOG_LEVEL = DEBUG
FILE_LOG_LEVEL = DEBUG
DEFAULT_SERVER = '127.0.0.1'
UPGRADE_CHECK_ENABLED = True
# Use a different config DB for each server mode.
if SERVER_MODE == False:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-desktop.db'
)
else:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-server.db'
)
```
This configuration allows easy switching between server and desktop modes
for testing.
6. The initial setup of the configuration database is interactive in server
mode, and non-interactive in desktop mode. You can run it either by
running:
(pgadmin4) $ python $PGADMIN4_SRC/web/setup.py
or by starting pgAdmin 4:
(pgadmin4) $ python $PGADMIN4_SRC/web/pgAdmin4.py
Whilst it is possible to automatically run setup in desktop mode by running
the runtime, that will not work in server mode as the runtime doesn't allow
command line interaction with the setup program.
At this point you will be able to run pgAdmin 4 from the command line in either
server or desktop mode, and access it from a web browser using the URL shown in
the terminal once pgAdmin has started up.
Setup of an environment on Windows is somewhat more complicated unfortunately,
please see *pkg/win32/README.txt* for complete details.
Once a virtual environment has been created and enabled, setup can continue
from step 4 above.
## Building the Web Assets
pgAdmin is dependent on a number of third party Javascript libraries. These,
along with it's own Javascript code, SCSS/CSS code and images must be
compiled into a "bundle" which is transferred to the browser for execution
and rendering. This is far more efficient than simply requesting each
asset as it's needed by the client.
To create the bundle, you will need the 'yarn' package management tool to be
installed. Then, you can run the following commands on a *nix system to
download the required packages and build the bundle:
(pgadmin4) $ cd $PGADMIN4_SRC
(pgadmin4) $ make install-node
(pgadmin4) $ make bundle
On Windows systems (where "make" is not available), the following commands
can be used:
C:\> cd $PGADMIN4_SRC\web
C:\$PGADMIN4_SRC\web> yarn install
C:\$PGADMIN4_SRC\web> yarn run bundle
## Creating pgAdmin themes
To create a pgAdmin theme, you need to create a directory under
*web/pgadmin/static/scss/resources*.
Copy the sample file *_theme.variables.scss.sample* to the new directory and
rename it to *_theme.variables.scss*. Change the desired hexadecimal values of
the colors and bundle pgAdmin. You can also add a preview image in the theme
directory with the name as *\<dir name>_preview.png*. It is recommended that the
preview image should not be larger in size as it may take time to load on slow
networks. Run the *yarn run bundle* and you're good to go. No other changes are
required, pgAdmin bundle will read the directory and create other required
entries to make them available in preferences.
The name of the theme is derived from the directory name. Underscores (_) and
hyphens (-) will be replaced with spaces and the result will be camel cased.
# Building the documentation
In order to build the docs, an additional Python package is required in the
virtual environment. This can be installed with the pip package manager:
$ workon pgadmin4
(pgadmin4) $ pip install Sphinx
The docs can then be built using the Makefile in *$PGADMIN4_SRC*, e.g.
(pgadmin4) $ make docs
The output can be found in *$PGADMIN4_SRC/docs/en_US/_build/html/index.html*
# Building packages
Most packages can be built using the Makefile in $PGADMIN4_SRC, provided all
the setup and configuration above has been completed.
To build a source tarball:
(pgadmin4) $ make src
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
with all the required packages, and then run:
(pgadmin4) $ make pip
To build the macOS AppBundle, please see *pkg/mac/README*.
To build the Windows installer, please see *pkg/win32/README.txt*.
## Support
See https://www.pgadmin.org/support/ for support options.
## Project info
The source code repository can be found here:
http://git.postgresql.org/gitweb/?p=pgadmin4.git;a=summary
A Redmine project for pgAdmin 4 can be found at the address below. A PostgreSQL
community account is required to access this site. Please note that at present
only project developers can log bug and feature requests:
https://redmine.postgresql.org/projects/pgadmin4
If you wish to discuss pgAdmin 4, or contribute to the project, please use the
pgAdmin Hackers mailing list:
pgadmin-hackers@postgresql.org
+7 -6
View File
@@ -4,7 +4,7 @@
`Backup Dialog`:index:
**********************
Using the *pg_dump* utility, *pgAdmin* provides an easy way to create a backup
*pgAdmin* uses the *pg_dump* utility to provide an easy way to create a backup
in a plain-text or archived format. You can then use a client application (like
*psql* or the *Query Tool*) to restore a plain-text backup file, or use the
Postgres *pg_restore* utility to restore an archived backup. The *pg_dump*
@@ -205,14 +205,15 @@ command:
Use the **Stop Process** button to stop the Backup process.
If the backup is successful, a popup window will confirm success. Click *Click
here for details* on the popup window to launch the *Process Watcher*. The
*Process Watcher* logs all the activity associated with the backup and provides
additional information for troubleshooting.
If the backup is successful, a popup window will confirm success. Click *More details* on the popup window to launch the *Process Watcher*. The *Process Watcher* logs all the activity associated with the backup and provides additional information for troubleshooting.
.. image:: images/backup_process_watcher.png
:alt: Backup process watcher
:align: center
If the backup is unsuccessful, you can review the error messages returned by the
backup command on the *Process Watcher*.
backup command on the *Process Watcher*.
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the backup file on the client machine .
.. |sm_icon| image:: images/sm_icon.png
+5 -1
View File
@@ -50,4 +50,8 @@ additional information for troubleshooting.
:align: center
If the backup is unsuccessful, review the error message returned by the
*Process Watcher* to resolve any issue.
*Process Watcher* to resolve any issue.
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the backup file on the client machine .
.. |sm_icon| image:: images/sm_icon.png
+5 -1
View File
@@ -135,4 +135,8 @@ additional information for troubleshooting.
:align: center
If the backup is unsuccessful, review the error message returned by the
*Process Watcher* to resolve any issue.
*Process Watcher* to resolve any issue.
.. note:: If you are running *pgAdmin* in *Server Mode* you can click on the |sm_icon| icon in the process watcher window to open the file location in the Storage Manager. You can use the :ref:`Storage Manager <storage_manager>` to download the backup file on the client machine .
.. |sm_icon| image:: images/sm_icon.png
+2 -6
View File
@@ -1,11 +1,7 @@
import os
import sys
import inspect
if sys.version_info[0] >= 3:
import builtins
else:
import __builtin__ as builtins
import builtins
# Ensure the global server mode is set.
builtins.SERVER_MODE = None
@@ -63,7 +59,7 @@ def print_code(outstream, name, module, info=None):
print_code(
target, "PgAdminModule", PgAdminModule,
"""
PgAdminModule is inherted from Flask.Blueprint module.
PgAdminModule is inherited from Flask.Blueprint module.
This module defines a set of methods, properties and attributes,
that every module should implement.
""")
+11 -10
View File
@@ -7,14 +7,14 @@
The bulk of pgAdmin is a Python web application written using the Flask framework
on the backend, and HTML5 with CSS3, Bootstrap and jQuery on the front end. A
desktop runtime is also included for users that prefer a desktop application to
a web application, which is written in C++ using the QT framework.
a web application, which is written using NWjs (Node Webkit).
Runtime
*******
The runtime is essentially a Python webserver and browser in a box. Found in the
**/runtime** directory in the source tree, it is a relatively simple QT
application that is most easily modified using the **QT Creator** application.
The runtime is based on NWjs which integrates a browser and the Python server
creating a standalone application. The source code can be found in the
**/runtime** directory in the source tree.
Web Application
***************
@@ -29,9 +29,10 @@ Configuration
The core application configuration is found in **config.py**. This file includes
all configurable settings for the application, along with descriptions of their
use. It is essential that various settings are configured prior to deployent on
a web server; these can be overriden in **config_local.py** to avoid modifying
the main configuration file.
use. It is essential that various settings are configured prior to deployment on
a web server; these can be overridden in **config_local.py** or
**config_system.py** (see the :ref:`config.py <config_py>` documentation) to
avoid modifying the main configuration file.
User Settings
=============
@@ -108,7 +109,7 @@ PgAdminModule class. This is responsible for providing hook points to integrate
the module into the rest of the application - for example, a hook might tell
the caller what CSS files need to be included on the rendered page, or what menu
options to include and what they should do. Hook points need not exist if they
are not required. It is the responsiblity of the caller to ensure they are
are not required. It is the responsibility of the caller to ensure they are
present before attempting to utilise them.
Hooks currently implemented are:
@@ -210,6 +211,6 @@ bootstrap for UI look and feel, Backbone for data manipulation of a node,
Backform for generating properties/create dialog for selected node. We have
divided each module in small chunks as much as possible. Not all javascript
modules are required to be loaded (i.e. loading a javascript module for
database will make sense only when a server node is loaded competely.) Please
database will make sense only when a server node is loaded completely.) Please
look at the the javascript files node.js, browser.js, menu.js, panel.js, etc for
better understanding of the code.
better understanding of the code.
+17 -17
View File
@@ -16,46 +16,46 @@ review process for any patches submitted for inclusion in pgAdmin.
bulk updates every year). The start date should always be 2013, and the end year
the current year, e.g.
Copyright (C) 2013 - 2020, The pgAdmin Development Team
Copyright (C) 2013 - 2021, The pgAdmin Development Team
* Ensure there's a blank line immediately following any copyright headers.
* Include PyDoc comments for functions, classes and modules. Node modules should
* Include PyDoc comments for functions, classes and modules. Node modules should
be """Implements the XXXX node""".
* Ensure that any generated SQL does not have any leading or trailing blank lines
and consistently uses 4 space indents for nice formatting.
* Don't special-case any Slony objects. pgAdmin 4 will have no direct knowledge
* Don't special-case any Slony objects. pgAdmin 4 will have no direct knowledge
of Slony, unlike pgAdmin 3.
* If you copy/paste modules, please ensure any comments are properly updated.
* If you copy/paste modules, please ensure any comments are properly updated.
* Read all comments, and ensure they make sense and provide useful commentary on
the code.
* Ensure that field labels both use PostgreSQL parlance, but also are descriptive.
A good example is the "Init" field on an FTS Template - Init is the PG term, but
* Ensure that field labels both use PostgreSQL parlance, but also are descriptive.
A good example is the "Init" field on an FTS Template - Init is the PG term, but
adding the word "Function" after it makes it much more descriptive.
* Re-use code whereever possible, but factor it out into a suitably central
location - don't copy and paste it unless modifications are required!
* Format code nicely to make it readable. Break up logical chunks of code with
blank lines, and comment well to describe what different sections of code are
* Format code nicely to make it readable. Break up logical chunks of code with
blank lines, and comment well to describe what different sections of code are
for or pertain to.
* Ensure that form validation works correctly and is consistent with other
* Ensure that form validation works correctly and is consistent with other
dialogues in the way errors are displayed.
* On dialogues with Schema or Owner fields, pre-set the default values to the
current schema/user as appropriate. In general, if there are common or sensible
default values available, put them in the fields for the user.
* On dialogues with Schema or Owner fields, pre-set the default values to the
current schema/user as appropriate. In general, if there are common or sensible
default values available, put them in the fields for the user.
* 1 patch == 1 feature. If you need to fix/update existing infrastructure in
* 1 patch == 1 feature. If you need to fix/update existing infrastructure in
your patch, it's usually easier if it's in a separate patch. Patches containing
multiple new features or unrelated changes are likely to be rejected.
* Ensure the patch is fully functional, and works! If a patch is being sent as
a work in progress, not intended for commit, clearly state that it's a WIP,
and note what does or does not yet work.
* Ensure the patch is fully functional, and works! If a patch is being sent as
a work in progress, not intended for commit, clearly state that it's a WIP,
and note what does or does not yet work.
+17 -65
View File
@@ -4,7 +4,7 @@
`Coding Standards`:index:
*************************
pgAdmin uses multiple technologies and multiple languages, each of which have
pgAdmin uses multiple technologies and multiple languages, each of which have
their own coding standards.
General
@@ -16,24 +16,24 @@ lines wrapped where appropriate to ensure they can be read on smaller displays
as it's quite wasteful on modern displays). Typically lines should not be longer
than 120 characters.
Comments should be included in all code where required to explain its
Comments should be included in all code where required to explain its
purpose or how it works if not obvious from a quick review of the code itself.
CSS 3
*****
CSS3 is used for styling and layout throughout the application. Extensive use is
made of the Bootstrap Framework to aid in that process, however additional
made of the Bootstrap Framework to aid in that process, however additional
styles must still be created from time to time.
Most custom styling comes from individual modules which may advertise static
stylesheets to be included in the module that is loading them via hooks.
Styling overrides (for example, to alter the Bootstrap look and feel) will
Styling overrides (for example, to alter the Bootstrap look and feel) will
typically be found in the **overrides.css** file in the main static file
directory for the application.
Styling should never be applied inline in HTML, always through an external
Styling should never be applied inline in HTML, always through an external
stylesheet, which should contain comments as appropriate to explain the usage
or purpose for the style.
@@ -48,16 +48,16 @@ Styles should be specified clearly, one per line. For example:
/* Ensure the codemirror editor displays full height gutters when resized */
.CodeMirror, .CodeMirror-gutters {
height: 100% !important;
}
height: 100% !important;
}
All stylesheets must be CSS3 compliant.
HTML 5
******
HTML 5 is used for page structure throughout the application, in most cases
being rendered from templates by the Jinja2 template engine in Flask.
HTML 5 is used for page structure throughout the application, in most cases
being rendered from templates by the Jinja2 template engine in Flask.
All HTML must be HTML 5 compliant.
@@ -109,68 +109,20 @@ names.
.. note:: From version 3.0 onwards, new or refactored code should be written using
ES6 features and conventions.
C++
***
C++ code is used in the desktop runtime for the application, primarily with the
QT framework and an embedded Python interpreter. Note the use of hanging braces,
which may be omitted if on a single statement is present:
.. code-block:: c++
// Ping the application server to see if it's alive
bool PingServer(QUrl url)
{
QNetworkAccessManager manager;
QEventLoop loop;
QNetworkReply *reply;
QVariant redirectUrl;
url.setPath("/utils/ping");
do
{
reply = manager.get(QNetworkRequest(url));
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
redirectUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
url = redirectUrl.toUrl();
if (!redirectUrl.isNull())
delete reply;
} while (!redirectUrl.isNull());
if (reply->error() != QNetworkReply::NoError)
return false;
QString response = reply->readAll();
if (response != "PING")
{
qDebug() << "Failed to connect, server response: " << response;
return false;
}
return true;
}
Python
******
Python is used for the backend web server. All code must be compatible with
Python is used for the backend web server. All code must be compatible with
Python 2.7 and should include PyDoc comments whilst following the official
Python coding standards defined in
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_. An example function along
Python coding standards defined in
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_. An example function along
with the required file header is shown below::
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# Copyright (C) 2013 - 2021, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -185,12 +137,12 @@ with the required file header is shown below::
def get_nodes():
"""Return a JSON document listing the server groups for the user"""
groups = ServerGroup.query.filter_by(user_id=current_user.id)
value = ''
for group in groups:
value += '{"id":%d,"label":"%s","icon":"icon-server-group","inode":true},' \
% (group.id, group.name)
value = value[:-1]
return value
return value
+1 -1
View File
@@ -109,7 +109,7 @@ Click the *Variables* tab to continue.
:alt: Column dialog variables tab
:align: center
Use the *Variables* tab to to specify the number of distinct values that may be
Use the *Variables* tab to specify the number of distinct values that may be
present in the column; this value overrides estimates made by the ANALYZE
command. Click the *Add* icon (+) to add a *Name*/*Value* pair:
+5 -9
View File
@@ -14,11 +14,7 @@
import os
import sys
if sys.version_info[0] >= 3:
import builtins
else:
import __builtin__ as builtins
import builtins
# Ensure the global server mode is set.
builtins.SERVER_MODE = None
@@ -212,8 +208,8 @@ htmlhelp_basename = 'pgadmin4'
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index', 'pgadmin4.tex', u'pgAdmin 4 Documentation',
u'The pgAdmin Development Team', 'manual'),
('index', 'pgadmin4.tex', 'pgAdmin 4 Documentation',
'The pgAdmin Development Team', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -251,6 +247,6 @@ latex_elements = {
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'pgadmin4', u'pgAdmin 4 Documentation',
[u'The pgAdmin Development Team'], 1)
('index', 'pgadmin4', 'pgAdmin 4 Documentation',
['The pgAdmin Development Team'], 1)
]
+28 -5
View File
@@ -5,7 +5,16 @@
***************************
There are multiple configuration files that are read at startup by pgAdmin. These
are as follows:
files are used for configuration options that:
* may be required to be set prior to startup of pgAdmin as they control how
the application will operate.
* system administrators may wish to control across an organisation to enforce
security policies.
* are so rarely or unlikely to be changed that it doesn't
make sense to allow them to be changed through the user interface.
The configuration files are as follows:
* ``config.py``: This is the main configuration file, and should not be modified.
It can be used as a reference for configuration settings, that may be overridden
@@ -23,10 +32,24 @@ are as follows:
and may be created by users in the same directory as ``config.py`` if
needed.
.. note:: If the SERVER_MODE setting is changed in ``config_distro.py`` or ``config_local.py``,
you will most likely need to re-set the LOG_FILE, SQLITE_PATH, SESSION_DB_PATH
and STORAGE_DIR values as well as they will have been set based on the default
configuration or overridden by the runtime.
* ``config_system.py``: This file is read after ``config_local.py`` and is
intended for system administrators to include settings that are configured
system-wide from a secure location that users cannot normally modify and that
is outside of the pgAdmin installation. The location for this file varies
based on the platform, and only needs to be created if desired.
.. csv-table::
:header: "**Platform**", "**File Location**"
Linux,/etc/pgadmin/config_system.py
macOS,/Library/Preferences/pgadmin/config_system.py
Windows,%CommonProgramFiles%\\pgadmin\\config_system.py
.. note:: If the SERVER_MODE setting is changed in ``config_distro.py``,
``config_local.py``, or ``config_system.py`` you will most likely need to
re-set the LOG_FILE, SQLITE_PATH, SESSION_DB_PATH and STORAGE_DIR values
as well as they will have been set based on the default configuration or
overridden by the runtime.
The default ``config.py`` file is shown below for reference:
+38 -8
View File
@@ -17,15 +17,25 @@ maintenance functions to be executed. Multiple versions are included in the
following directories to allow use with different versions of the database
server:
* PostgreSQL 9.4: */usr/local/pgsql-9.4*
* PostgreSQL 9.5: */usr/local/pgsql-9.5*
* PostgreSQL 9.6: */usr/local/pgsql-9.6*
* PostgreSQL 10: */usr/local/pgsql-10*
* PostgreSQL 11: */usr/local/pgsql-11*
* PostgreSQL 12: */usr/local/pgsql-12*
* PostgreSQL 13: */usr/local/pgsql-13*
The most recent version of the utilities is used by default; this may be
changed in the :ref:`preferences`.
The default binary paths set in the container are as follows:
.. code-block:: bash
DEFAULT_BINARY_PATHS = {
'pg-13': '/usr/local/pgsql-13'
'pg-12': '/usr/local/pgsql-12'
'pg-11': '/usr/local/pgsql-11'
'pg-10': '/usr/local/pgsql-10'
'pg-9.6': '/usr/local/pgsql-9.6'
}
this may be changed in the :ref:`preferences`.
Environment Variables
*********************
@@ -42,6 +52,20 @@ to login to pgAdmin. This variable is required and must be set at launch time.
This is the password used when setting up the initial administrator account to
login to pgAdmin. This variable is required and must be set at launch time.
**PGADMIN_DISABLE_POSTFIX**
*Default: <null>*
If left unset, a Postfix server will be started to deliver password reset
emails.
If set to any value, the Postfix server will not be started, and pgAdmin will
need to be configured to use an external mail server using the *PGADMIN_CONFIG_*
options below.
This option is useful if you're running in an environment that prevents the use
of sudo to start Postfix, or if you wish to use an external mail server.
**PGADMIN_ENABLE_TLS**
*Default: <null>*
@@ -52,7 +76,7 @@ connections.
When TLS is enabled, a certificate and key must be provided. Typically these
should be stored on the host file system and mounted from the container. The
expected paths are /certs/server.crt and /certs/server.key
expected paths are /certs/server.cert and /certs/server.key
**PGADMIN_LISTEN_ADDRESS**
@@ -60,7 +84,7 @@ expected paths are /certs/server.crt and /certs/server.key
Specify the local address that the servers listens on. The default should work
for most users - in IPv4-only environments, this may need to be set to
127.0.0.1.
0.0.0.0.
**PGADMIN_LISTEN_PORT**
@@ -91,7 +115,7 @@ Adjust the number of threads the Gunicorn server uses to handle incoming
requests. This should typically be left as-is, except in highly loaded systems
where it may be increased.
**PGADMIN_CONFIG_**
**PGADMIN_CONFIG_***
This is a variable prefix that can be used to override any of the configuration
options in pgAdmin's *config.py* file. Add the *PGADMIN_CONFIG_* prefix to any
@@ -104,6 +128,12 @@ is read after */pgadmin4/config.py* and before */pgadmin4/config_local.py*.
Any settings given will therefore override anything in config.py, but can be
overridden by settings in config_local.py.
Settings are only written to */pgadmin4/config_distro.py* once, typically on
first launch of the container. If */pgadmin4/config_distro.py* contains one or
more lines, then no changes are made; for example, if the container instance is
restarted, or */pgadmin4/config_distro.py* is mapped to a file on persistent
storage (not recommended - use */pgadmin4/config_local.py* instead)!
See :ref:`config_py` for more information on the available configuration settings.
Mapped Files and Directories
@@ -319,7 +349,7 @@ adjusted as appropriate to the specific deployment:
listen 443;
server_name _;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate /etc/nginx/server.cert;
ssl_certificate_key /etc/nginx/server.key;
ssl on;
+13
View File
@@ -97,6 +97,19 @@ Follow these steps to add additional parameter value definitions; to discard a
parameter, click the trash icon to the left of the row and confirm deletion in
the *Delete Row* popup.
Click the *Advanced* tab to continue.
.. image:: images/database_advanced.png
:alt: Database dialog advanced tab
:align: center
Use the *Advanced* tab to set advanced parameters for the database.
* Use *Schema restriction* field to provide a SQL restriction that will be used
against the pg_namespace table to limit the schemas that you see.
For example, you might enter: *public* so that only *public* are shown in
the pgAdmin browser.Separate entries with a comma or tab as you type.
Click the *SQL* tab to continue.
Your entries in the *Database* dialog generate a SQL command (see an example
+2 -2
View File
@@ -16,9 +16,9 @@ superuser privileges to use the debugger.
Before using the debugger, you must modify the *postgresql.conf* file, adding
the server-side debugger components to the the value of the
*shared_preload_libraries* parameter:
*shared_preload_libraries* parameter, for example:
shared_preload_libraries = '$libdir/*other_libraries*/plugin_debugger'
shared_preload_libraries = '$libdir/plugin_debugger'
After modifying the *shared_preload_libraries* parameter, restart the server to
apply the changes.
+85 -31
View File
@@ -8,13 +8,8 @@ pgAdmin may be deployed as a desktop application by configuring the application
to run in desktop mode and then utilising the desktop runtime to host the
program on a supported Windows, Mac OS X or Linux installation.
The desktop runtime is a system-tray application that when launched, runs the
pgAdmin server and launches a web browser to render the user interface. If
additional instances of pgAdmin are launched, a new browser tab will be opened
and be served by the existing instance of the server in order to minimise system
resource utilisation. Clicking the icon in the system tray will present a menu
offering options to open a new pgAdmin window, configure the runtime, view the
server log and shut down the server.
The desktop runtime is a standalone application that when launched, runs the
pgAdmin server and opens a window to render the user interface.
.. note:: Pre-compiled and configured installation packages are available for
a number of platforms. These packages should be used by end-users whereever
@@ -24,7 +19,7 @@ server log and shut down the server.
.. seealso:: For detailed instructions on building and configuring pgAdmin from
scratch, please see the README file in the top level directory of the source code.
For convenience, you can find the latest version of the file
`here <https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob_plain;f=README>`_,
`here <https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob;f=README.md>`_,
but be aware that this may differ from the version included with the source code
for a specific version of pgAdmin.
@@ -38,25 +33,53 @@ settings.
See :ref:`config_py` for more information on configuration settings.
Runtime
*******
Desktop Runtime Standalone Application
======================================
When executed, the runtime will automatically try to execute the pgAdmin Python
application. If execution fails, it will prompt you to adjust the Python Path
to include the directories containing the pgAdmin code as well as any additional
Python dependencies. You can enter a list of paths by separating them with a
semi-colon character, for example:
The Desktop Runtime is based on `NWjs <https://nwjs.io/>`_ which integrates a
browser and the Python server creating a standalone application.
.. code-block:: bash
.. image:: images/runtime_standalone.png
:alt: Runtime Standalone
:align: center
/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/;/Users/dpage/python-libs/
Runtime Menu
------------
The configuration settings are stored using the QSettings class in Qt, which
will use an INI file on Unix systems (~/.config/pgadmin/pgadmin4.conf),
a plist file on Mac OS X (~/Library/Preferences/org.pgadmin.pgadmin4.plist),
and the registry on Windows (HKEY_CURRENT_USER\\Software\\pgadmin\\pgadmin4).
.. image:: images/runtime_menu.png
:alt: Runtime Menu
:align: center
The configuration settings:
Use the *File Menu* to access the *Runtime Menu*:
+-------------------------+---------------------------------------------------------------------------------------------------------+
| Option | Action |
+=========================+=========================================================================================================+
| *Configure...* | Click to open configuration dialog to configure fixed port, port number and connection timeout. |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *View log...* | Click to open the view log dialog to view the pgAdmin 4 logs. |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Enter Full Screen* | Click to enter/exit the full screen mode. Keyboard Shortcuts: OSX (Cmd + Ctrl + F), Other OS (F10). |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Actual Size* | Click to change the window size to it original size. Keyboard Shortcuts: OSX (Cmd + 0), |
| | Other OS (Ctrl + 0). |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Zoom In* | Click to increase the zoom level. Keyboard Shortcuts: OSX (Cmd + +), Other OS (Ctrl + +). |
+-------------------------+---------------------------------------------------------------------------------------------------------+
| *Zoom Out* | Click to decrease the zoom level. Keyboard Shortcuts: OSX (Cmd + -), Other OS (Ctrl + -). |
+-------------------------+---------------------------------------------------------------------------------------------------------+
Configuration Dialog
--------------------
Use the *Runtime Menu* to access the *Configuration* dialog:
.. image:: images/runtime_configuration.png
:alt: Runtime Configuration
:align: center
Following are the details of the *Fixed port number?*, *Port Number*, and *Connection
Timeout* configuration parameters:
.. table::
:class: longtable
@@ -65,18 +88,49 @@ The configuration settings:
+--------------------------+--------------------+---------------------------------------------------------------+
| Key | Type | Purpose |
+==========================+====================+===============================================================+
| ApplicationPath | String | The directory containing pgAdmin4.py |
+--------------------------+--------------------+---------------------------------------------------------------+
| BrowserCommand | String | An alternate command to run instead of the default browser. |
+--------------------------+--------------------+---------------------------------------------------------------+
| ConnectionTimeout | Integer | The number of seconds to wait for application server startup. |
+--------------------------+--------------------+---------------------------------------------------------------+
| FixedPort | Boolean | Use a fixed network port number rather than a random one. |
+--------------------------+--------------------+---------------------------------------------------------------+
| OpenTabAtStartup | Boolean | Open a browser tab at startup. |
+--------------------------+--------------------+---------------------------------------------------------------+
| PortNumber | Integer | The port number to use, if using a fixed port. |
+--------------------------+--------------------+---------------------------------------------------------------+
| PythonPath | String | The Python module search path |
| ConnectionTimeout | Integer | The number of seconds to wait for application server startup. |
+--------------------------+--------------------+---------------------------------------------------------------+
Log dialog
----------
Use the *Runtime Menu* to access the *Log* dialog:
.. image:: images/runtime_view_log.png
:alt: Runtime View Log
:align: center
Click on the *Reload* button at the bottom to view the latest logs of pgAdmin 4
Server.
When executed, the runtime will automatically try to execute the pgAdmin Python
application. If execution fails, it will prompt you with error message
displaying a *Configure* button at the bottom. You can configure a fixed port
number to avoid clashes of the default random port number with other
applications and a connection timeout if desired.
.. image:: images/runtime_error.png
:alt: Runtime Error
:align: center
If the error is related to Python Path or pgAdmin Python file then you need to
create a file named 'dev_config.json' and specify the following entries:
.. code-block:: json
{
"pythonPath": "/path/to/python.exe",
"pgadminFile": "/path/to/pgAdmin4.py"
}
Note that the *dev_config.py* file should only be required by developers who are
working outside of a standard installation.
The configuration settings are stored in *runtime_config.json* file, which
will be available on Unix systems (~/.local/share/pgadmin/),
on Mac OS X (~/Library/Preferences/pgadmin),
and on Windows (%APPDATA%/pgadmin).
+2
View File
@@ -15,3 +15,5 @@ PL/SQL code.
query_tool
editgrid
schema_diff
erd_tool
psql_tool
+80
View File
@@ -107,6 +107,86 @@ properties of the geometries directly in map, just click the specific geometry:
- *Internet access:* An internet connection is required for the Geometry Viewer
to function correctly.
**JSON Data Editor**
A built in json editor is provided for *JSON/JSONB Data*.Double clicking on json/jsonb
data type cell in data grid will open JSON Editor.Editor provides different mode to
view and edit json data.
.. image:: images/json_editor_modes.png
:alt: Json Editor
:align: center
*Code Mode*:
Provides way to format & compact json data.Also provides ability to repair json data
by fixing quotes and escape characters, removing comments and JSONP notation and
turn JavaScript objects into JSON.
*Tree Mode*:
Enabled to change, add, move, remove, and duplicate fields and values.Provides ability
to searh & hilight data.
*Form Mode*:
Allows only to edit values in json data there by providing ability to keep data structure
unchanged while editing.
*Preview Mode*:
Provides ability to check data before saving and also shows size of current json data.
Format and compact json data as well.
*Editor Toolbar*
Different options are provided to manipulate json data.
Code/Preview mode:
.. image:: images/json_editor_code_preview_tool_bar.png
:alt: Json Editor Code/Preview mode Tool Bar
:align: center
Tree/Form mode:
.. image:: images/json_editor_tree_form_mode_tool_bar.png
:alt: Json Editor Tree/Form mode Tool Bar
:align: center
.. table::
:class: longtable
:widths: 1 3 2
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| Icon | Behavior | Available in mode |
+======================+========================================================================================+===========================+
| *Format Json* | Click to *Format Json* format json data with proper indentation. | Code, Preview |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Compact Json* | Click to *Compact Json* get compacted json data. | Code, Preview |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Sort* | Click to *Sort* icon to set sorting criteria for the data using file values. | Code, Preview, Tree |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Transform* | Click to *Transform* to filter data using JSME query language. | Code, Preview, Tree |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Undo* | Click to *Undo* to undo last action performed on data . | Code, Preview, Tree, From |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Redo* | Click to *Redo* to repat last action performed on data . | Code, Preview, Tree, From |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Mode* | Click to *Mode* dropdown to change dipaly mode of editor.Different modes avaialble | Code, Tree, From, Preview |
| | are Code, Preview, Tree, From. | |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Expand All* | Click to *Expand All* to expand json data. | Tree, From |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Collapse All* | Click to *Redo* to collapse json data. | Tree, From |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
| *Search Box* | Enter partial/complete string to search in data. | Tree, From |
+----------------------+----------------------------------------------------------------------------------------+---------------------------+
Sort/Filter options dialog
**************************
+235
View File
@@ -0,0 +1,235 @@
.. _erd_tool:
*****************
`ERD Tool`:index:
*****************
The Entity-Relationship Diagram (ERD) tool is a database design tool that provides a graphical representation of database tables, columns, and inter-relationships. ERD can give sufficient information for the database administrator to follow when developing and maintaining the database. The ERD Tool allows you to:
* Design and visualize the database tables and their relationships.
* Add notes to the diagram.
* Auto-align the tables and links for cleaner visualization.
* Save the diagram and open it later to continue working on it.
* Generate ready to run SQL from the database design.
* Generate the database diagram for an existing database.
.. image:: images/erd_tool.png
:alt: ERD tool window
:align: center
You can open multiple copies of the ERD tool in individual tabs simultaneously. To close a copy of the ERD tool, click the *X* in the upper-right hand corner of the tab bar.
Toolbar
*******
The *ERD Tool* toolbar uses context-sensitive icons that provide shortcuts to frequently performed tasks. The option is enabled for the highlighted icon and is disabled for the grayed-out icon.
.. image:: images/erd_tool_toolbar.png
:alt: ERD tool toolbar
:align: center
Hover over an icon on Toolbar to display a tooltip that describes the icon's functionality.
File Options
************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Open File* | Click the *Open File* icon to load a previously saved diagram. | Ctrl + O |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Save* | Click the *Save* icon to perform a quick-save of a previously saved diagram, or to save the | Ctrl + S |
| | diagram to a file. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Save as* | Click the *Save As* to open a new browser dialog and specify a new location to save the diagram. | Ctrl + Shift + |
| | | S |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Export Options
**************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Generate SQL* | Click the *Generate SQL* icon to generate the DDL SQL for the diagram and open a query tool | Option + Ctrl +|
| | with the generated SQL ready for execution. | S |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Download image* | Click the *Download image* icon to save the ERD diagram in a image formate | Option + Ctrl +|
| | | I |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Editing Options
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Add table* | Click this button to add a new table to the diagram. On clicking, this will open a table dialog | Option/Alt + |
| | where you can put the table details. | Ctrl + A |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Edit table* | Click this button to edit a table on the diagram. On clicking, this will open a table dialog | Option/Alt + |
| | where you can change table details. This will enable when a table is selected. | Ctrl + E |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Clone table* | Click this button to clone the complete table structure, name it with a auto generated name and | Option/Alt + |
| | put it in the diagram. | Ctrl + C |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Drop table/link* | You can drop a table or link using this button. You need to select a table or link and click on | Option/Alt + |
| | this button to drop it. | Ctrl + D |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Table Relationship Options
**************************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *1M* | Click this button to open a one-to-many relationship dialog to add a relationship between the | Option/Alt + |
| | two tables. The selected table becomes the referencing table and will have the *many* endpoint of | Ctrl + O |
| | the link. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *MM* | Click this button to open a many-to-many relationship dialog to add a relationship between the | Option/Alt + |
| | two tables. This option will create a new table based on the selected columns for the two relating| Ctrl + M |
| | tables and link them. | |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Utility Options
***************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Add/Edit note* | Click this button to make notes on tables nodes while designing the database. | Option/Alt + |
| | | Ctrl + N |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Auto align* | Click this button to auto align all tables and links to make it look more cleaner. | Option/Alt + |
| | | Ctrl + L |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Show details* | Click this button to toggle the column details visibility. It allows you to show few or more | Option/Alt + |
| | column details. | Shift + D |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Zoom Options
************
.. table::
:class: longtable
:widths: 1 4 1
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| Icon | Behavior | Shortcut |
+======================+===================================================================================================+================+
| *Zoom to fit* | Click this button to zoom in/out automatically and fit all the tables to the view. | Option/Alt + |
| | | Shift + F |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Zoom in* | Click this button to zoom in the diagram. | Option/Alt + |
| | | Shift + "+" |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
| *Zoom out* | Click this button to zoom out the diagram. | Option/Alt + |
| | | Shift + "-" |
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
Table Dialog
************
.. image:: images/erd_table_dialog.png
:alt: ERD tool table dialog
:align: center
The table dialog allows you to:
* Change the table structure details.
* It can be used edit an existing table or add a new one.
* Refer :ref:`table dialog <table_dialog>` for information on different fields.
Table Node
**********
.. image:: images/erd_table_node.png
:alt: ERD tool table node
:align: center
The table node shows table details in a graphical representation:
* The top bar has a *details toggle button* that is used to toggle column details visibility. There is also a *note button* that is visible only if there is some note added. you can click on this button to quickly change the note.
* The first row shows the schema name of the table. Eg. *public* in above image.
* The second row shows the table name. Eg. *users* in above image.
* All other rows below the table name are the columns of the table along with data type. If the column is a primary key then it will have lock key icon eg. id is the primary key in above image. Otherwise, it will have column icon.
* you can click on the node and drag to move on the canvas.
* Upon double click on the table node or by clicking the edit button from the toolbar, the table dialog opens where you can change the table details. Refer :ref:`table dialog <table_dialog>` for information on different fields.
The One to Many Link Dialog
***************************
.. image:: images/erd_1m_dialog.png
:alt: ERD tool 1M dialog
:align: center
The one to many link dialog allows you to:
* Add a foreign key relationship between two tables.
* *Local Table* is the table that references a table and has the *many* end point.
* *Local Column* the column that references.
* *Referenced Table* is the table that is being referred and has the *one* end point.
* *Referenced Column* the column that is being referred.
The Many to Many Link Dialog
****************************
.. image:: images/erd_mm_dialog.png
:alt: ERD tool MM dialog
:align: center
The many to many link dialog allows you to:
* Add a many to many relationship between two tables.
* It creates a relationship tables having columns derived from the two tables and link them to the tables.
* *Left Table* is the first table that is to be linked. It will receive the *one* endpoint of the link with the new relation table.
* *Left Column* the column of the first table, that will always be a primary key.
* *Right Table* is the second table that is to be linked. It will receive the *one* endpoint of the link with the new relation table.
* *Right Column* the column of the second table, that will always be a primary key.
The Table Link
**************
.. image:: images/erd_table_link.png
:alt: ERD tool table link
:align: center
The table link shows relationship between tables:
* The single line endpoint of the link shows the column that is being referred.
* The three line endpoint of the link shows the column that refers.
* If one of the columns that is being referred or that refers is removed from the table then the link will get dropped.
* you can click on the link and drag to move on the canvas.
The Table Notes
***************
.. image:: images/erd_table_note.png
:alt: ERD tool table note
:align: center
* You can use the notes popup to mark some notes while designing the database.
* You open the pop-up using the toolbar note button.
* If some note is added to a table then it will have notes button on the table node. You can click on the button to check/update notes.
+8 -6
View File
@@ -58,13 +58,15 @@ Click the *Columns* tab to continue.
:alt: Exclusion constraint dialog columns tab
:align: center
Use the fields in the *Columns* tab to to specify the column(s) to which the
constraint applies. Use the drop-down listbox next to *Column* to select a
column and click the *Add* icon (+) to provide details of the action on the
column:
Use the fields in the *Columns* tab to specify the column(s) or expression(s)
to which the constraint applies. Use the *Is expression ?* switch to enable
expression text input. Use the drop-down listbox next to *Column*
to select a column. Once the *Column* is selected or the *Expression* is
entered then click the *Add* icon (+) to provide details of the action on the
column/expression:
* The *Column* field is populated with the selection made in the *Column*
drop-down listbox.
* The *Col/Exp* field is populated with the selection made in the *Column*
drop-down listbox or the *Expression* entered.
* If applicable, use the drop-down listbox in the *Operator class* to specify
the operator class that will be used by the index for the column.
* Move the *DESC* switch to *DESC* to specify a descending sort order. The
+1 -1
View File
@@ -49,7 +49,7 @@ Click the *Columns* tab to continue.
:alt: Foreign table dialog columns tab
:align: center
Use the fields in the *Columns* tab to to add columns and their attributes to
Use the fields in the *Columns* tab to add columns and their attributes to
the table. Click the *Add* icon (+) to define a column:
* Use the *Name* field to add a descriptive name for the column.
+4 -1
View File
@@ -35,7 +35,10 @@ Mode is pre-configured for security.
login
user_management
change_user_password
enabling_ldap_authentication
restore_locked_user
ldap
kerberos
oauth2
.. note:: Pre-compiled and configured installation packages are available for
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 299 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 166 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 184 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File
File mode changed.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Executable → Regular
View File
File mode changed.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Loaded 100 of 3986 files, more files were not shown because too many files have changed in this diff. Show more