Compare commits

..
3526 Commits
Author SHA1 Message Date
Akshay Joshi 901e3ede39 Increase the value of --max-old-space-size to fix the Treser Plugin issue. 2022-03-14 09:56:15 +05:30
Akshay Joshi e89f205aa6 Update version for release. 2022-03-11 18:22:53 +05:30
Akshay Joshi dccd4f0bba Ensure that upload paths are children of the storage directory. Fixes #7233 2022-03-11 18:20:16 +05:30
Khushboo Vashi 99c6b171e4 Fixed the default Public IP range in AWS deployment. 2022-03-11 14:33:30 +05:30
Akshay Joshi 0f5d4cd7b7 Fixed an issue where pgAdmin 4 took ~75 seconds to display the 'Starting pgAdmin' text on the splash screen. Fixes #7230 2022-03-10 19:02:11 +05:30
Akshay Joshi e256f734df Fixed a schema diff issue where difference SQL isn't generated when foreign key values for a table differ. Fixes #7220 2022-03-10 14:41:21 +05:30
Akshay Joshi 9ed2506062 Fixed a schema diff issue where string separator '_$PGADMIN$_' is visible for identical user mappings. Fixes #7228 2022-03-10 14:40:38 +05:30
Akshay Joshi adf4634459 Added '--max-old-space-size' to fix any memory consumption issues while bundling the package. 2022-03-07 17:28:04 +05:30
Akshay Joshi 2dbd09530e Update version for release. 2022-03-07 15:40:46 +05:30
Akshay Joshi d8ecbcf293 Update Dependencies. 2022-03-07 15:39:03 +05:30
Yogesh Mahajan 3ad0862c59 Fixed feature test failure. 2022-03-07 15:36:10 +05:30
Nikhil Mohite 1b7dce124b Fixes an issue where the connect server/database menu was not updated correctly. Fixes #7186 2022-03-07 15:28:28 +05:30
Akshay Joshi 24c0816042 Fixed an issue where the parent partition table was not displayed during autocomplete. Fixes #7105 2022-03-07 14:06:40 +05:30
Domenico Sgarbossa 9d6098ddf2 Update Italian translation. 2022-03-07 10:59:21 +05:30
Libor M 4d6b019949 Update Czech translation. 2022-03-07 10:57:36 +05:30
Akshay Joshi cee65fbf9a Update message catalog. 2022-03-04 19:09:38 +05:30
Aditya Toshniwal f9707a8bf5 Allow users to scroll and enter input when there is a validation error. Fixes #7172 2022-03-04 17:25:36 +05:30
Akshay Joshi 1af431dcc2 Fixed a schema diff issue in which user mappings were not compared correctly. Fixes #6956 2022-03-04 17:21:30 +05:30
Akshay Joshi 4033bf3748 Fixed typo in User Management 2022-03-04 11:40:28 +05:30
Yogesh Mahajan 0f5a97fa6e AWS cloud deployment issues fixed:
1) A console error was logged for db version 9.6.1 due to an update to boto3
 2) Unmask Access Key Field.
 3) Update the supported database version list to include Postgres 10 and above.

refs #7177
2022-03-04 11:13:06 +05:30
Aparna Patil 8eeb12b600 Include the package priority in Debian/Ubuntu packages 2022-03-03 12:22:52 +00:00
Khushboo Vashi 69069e9af3 The following issues related to cloud deployment have been resolved:
- Masking the credentials input fields
- The loading symbol doesn't work while reloading the options in the select control
- Reduce the wizard opening timeout
- urllib library upgrade impacts host IP fetch

refs #7177
2022-03-02 19:04:15 +05:30
Dave Page 83660ec9ed Update EPAS server icon. 2022-03-02 13:30:59 +00:00
Akshay Joshi 6b9ae466c2 Fixed audit issues 2022-03-02 12:13:59 +05:30
Aditya Toshniwal 5ce3c4a5c8 Ensure that Flask-Security-Too is using the latest version. Fixes #7202 2022-03-02 10:56:02 +05:30
Dave Page f8df935404 Disable RPATH checking, as it will fail with some of the paths in the Python virtualenv, in particular Pillow.libs. 2022-03-01 13:55:00 +00:00
Khushboo Vashi ffc1c6c3b7 Fixed following issues related to cloud deployment:
1) The Mumbai region issue has been resolved
2) Display name of regions has been modified appropriately
3) The password field has been validated the same way as AWS
4) Added support for a list of IP addresses in the public IP address range field.
2022-02-28 18:19:18 +05:30
Akshay Joshi dd4849070a Upgraded Pillow module to the latest version if Python version is greater than 3.6 2022-02-23 17:59:37 +05:30
Aditya Toshniwal 44b2f49839 Enhances the modal provider to make it more reusable. 2022-02-23 14:27:48 +05:30
Akshay Joshi 0cd67b15cb Update the release date in the release notes. Fixes #7191 2022-02-19 10:29:02 +05:30
Khushboo Vashi 448ede53c6 Fixed following issues related to cloud deployment:
1) No options are shown in the instance type.
  2) No options for the last 2 types.
  3) Unable to change Storage config - size and iops
  4) Unable to create an instance when pgAdmin is installed using the installer in Desktop mode
  5) Can not create cloud instance with the temporary credentials.
  6) Mapped region display name (hardcoded) with region code.
2022-02-18 14:37:05 +05:30
Akshay Joshi cbd29cf45b Change the hostname validation to check only for leading and trailing spaces.
refs #7181
2022-02-18 11:39:11 +05:30
Chethana Kumar 3414de9ab2 Updated splash screen 2022-02-17 12:36:44 +00:00
Akshay Joshi 30dc805cf6 Fix audit issue 2022-02-16 18:10:55 +05:30
Yogesh Mahajan ce8e6b47c1 Fixed feature tests. 2022-02-16 18:03:42 +05:30
Charlet, Christoph aca97d9f57 Fixed an issue where pgadmin cannot connect to LDAP when STARTTLS is required before bind. Fixes #6991 2022-02-16 18:01:39 +05:30
Yogesh Mahajan b539637426 Fixed an issue where a warning is flashed every time for an email address when
authentication sources are internal and ldap. Fixes #6999
2022-02-16 13:34:24 +05:30
Akshay Joshi b1221d5517 Ensure that the user should be able to add new server with unix socket connection. Fixes #7181 2022-02-16 13:20:40 +05:30
Akshay Joshi 5a8c916bc0 Added comments column for the functions collection node. Fixes #7152 2022-02-16 12:22:52 +05:30
Akshay Joshi 677221cd9c Rename the menu 'Disconnect Database' to 'Disconnect from database'. Fixes #7180 2022-02-15 18:34:31 +05:30
Akshay Joshi d2efee5943 Use Robocopy only to copy web directories, and XCOPY for all other operations. 2022-02-15 16:11:22 +05:30
Akshay Joshi 0010935707 Ensure Robocopy exit codes are handled properly. 2022-02-15 12:56:59 +05:30
Akshay Joshi 6fb4df67a9 Remove __pycache__ to fix 'venv/bin/__pycache__: not a regular file' error. 2022-02-14 18:23:52 +05:30
Khushboo Vashi 0fa4609220 1) Fixed API test cases for Utilities.
2) Try to fix Jenkins build for __pycache__.
2022-02-14 17:26:27 +05:30
Akshay Joshi 1cdbb9a643 Fixed an issue where the User Management dialog is not opening. Fixes #7173 2022-02-14 15:17:48 +05:30
Akshay Joshi e90b3dad01 Fix an insufficient memory issue by replacing the XCOPY with the ROBOCOPY command for Windows. 2022-02-14 13:23:25 +05:30
Khushboo Vashi e61a1045f5 Added capability to deploy PostgreSQL servers on Amazon RDS. Fixes #7177 2022-02-14 12:13:48 +05:30
Akshay Joshi b89e306df0 Updated supported platform in README 2022-02-11 17:34:24 +05:30
Akshay Joshi f002b11106 Uncomment the incorrectly commented code in the previous commit. 2022-02-11 10:56:13 +05:30
Aditya Toshniwal bc4e8a3c82 Implemented utilities in React to make porting easier for pgAdmin tools. 2022-02-11 10:36:24 +05:30
Yogesh Mahajan 76a4dee451 Fixed the schema diff issue where tables have different column positions and a column has a default value. Fixes #7124 2022-02-11 10:21:43 +05:30
Aditya Toshniwal f62c20d0b9 Fixed one wcDocker issue. 2022-02-07 21:18:12 +05:30
Akshay Joshi ccd28101d6 Update version for release. 2022-02-07 16:19:33 +05:30
Akshay Joshi 4ca60e07b2 Update Dependencies. 2022-02-07 16:17:20 +05:30
Akshay Joshi 6d1926bb63 Rename the menu 'Disconnect Server' to 'Disconnect from server'. Fixes #7163 2022-02-07 16:12:30 +05:30
Yogesh Mahajan 1141aeb524 1) Fixes the incorrect title shown for the error message in restore/backup.
2) Doc updates for webserver authentication.
3) Cleanup task for API tests.
2022-02-07 11:51:27 +05:30
Identifier Anonymous 9fec812366 Update Japanese translation. 2022-02-07 11:35:17 +05:30
Fred Escallier a811841735 Update French translation. 2022-02-07 11:33:28 +05:30
Domenico Sgarbossa a2307c230a Update Italian translation. 2022-02-07 11:31:33 +05:30
Libor M 7b5fd9bfea Update Czech translation. 2022-02-07 11:28:33 +05:30
Khushboo Vashi a7ee4e5909 Acquire a lock regardless of the authentication sources while getting the database server connection. 2022-02-07 11:25:08 +05:30
Akshay Joshi 9cc2985d13 Update message catalog. 2022-02-04 16:35:33 +05:30
Akshay Joshi 19beb62f81 Added support to open SQL help, Dialog help, and online help in an external web browser. Fixes #7139 2022-02-04 16:05:30 +05:30
Aditya Toshniwal 28be10a1b5 Ensure that layout should not be reset if a query tool is opened and pgAdmin is restaretd. Fixes #7154 2022-02-04 15:20:55 +05:30
Rahul Shirsat 444a364a8d Fixed an issue when uploading a CSV throwing an error in the Desktop mode. Fixes #7150 2022-02-04 15:10:13 +05:30
Nikhil Mohite 4a195e7ef6 Fixed value error in the restore dialog. Fixes #7151 2022-02-03 17:44:54 +05:30
Akshay Joshi ad64491a98 Fixed debugger issue introduce due to SonarQube fixes. 2022-02-03 11:32:15 +05:30
Pradip Parkale 7a2716bf77 Fixed issues related to porting of dependent, dependencies, and statistics panel.
refs #7016
2022-02-03 11:13:39 +05:30
Nikhil Mohite 64c419e6f8 Fixed Jasmine test cases.
refs #7110
2022-02-02 17:55:14 +05:30
Dave Page 23aac4f580 Update default Python version 2022-02-02 10:59:39 +00:00
Nikhil Mohite b4b658c59d Ensure that cursor should be focused on the first options of the Utility dialogs. Fixes #7110 2022-02-02 14:48:35 +05:30
Rahul Shirsat 4d727015fd Fixed an issue where the query tool is displaying an incorrect label. Fixes #7136 2022-02-02 14:45:31 +05:30
Akshay Joshi 78f0c9c4a5 Ensure that owner should be ignored while comparing extensions. Fixes #7145 2022-02-02 11:25:07 +05:30
Akshay Joshi c2d9219add Added JSON as a supported type in Storage Manager. 2022-02-01 16:18:32 +05:30
Akshay Joshi fddcbbff67 Fixed event trigger comparing issue in Schema Diff tool. Fixes #7146 2022-02-01 14:14:18 +05:30
Akshay Joshi aa5b1d50b9 Fixed issues introduce by SonarQube fixes. 2022-02-01 14:11:18 +05:30
Akshay Joshi 21359c6c74 Reverting patch for the upgrade of Pillow module. 2022-01-31 20:35:56 +05:30
Yogesh Mahajan c38bf04f51 Correct documentation for 'Add named restore point'. Fixes #7086 2022-01-31 20:24:15 +05:30
Akshay Joshi 5f9ea22941 Fixed audit issues. 2022-01-31 20:20:53 +05:30
Murtuza Zabuawala 00e13b0811 Upgrade the Pillow module to the latest. 2022-01-31 20:10:00 +05:30
Akshay Joshi b9e533e31a Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-31 20:04:04 +05:30
Aditya Toshniwal bc0b25d995 1) Fixed an issue where a warning message was shown after database creation/modification. Fixes #7142.
2) Added error boundary to schema view which will improve the exception stack trace details.
3) Fixed Jasmine test cases.
2022-01-31 13:41:22 +05:30
Akshay Joshi 1a89c1f85f Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-28 17:20:34 +05:30
Nikhil Mohite 37d82d457c Fixed an issue where the F2 Function key removes browser panel contents. Fixes #7126 2022-01-28 10:55:23 +05:30
Khushboo Vashi 8f7b30075e Fixed SonarQube issues. 2022-01-27 17:22:19 +05:30
Yogesh Mahajan 47479e5e5c Fixed issue of duplicate values shown in Column>Columns to Import/Export dropdown when a value(values) is unselected.
refs #7017
2022-01-27 17:20:05 +05:30
Yogesh Mahajan 8fd3ddc4ae Make the size blank for all the directories in the file select dialog. Fixes #7109 2022-01-27 12:11:09 +05:30
Rahul Shirsat deab1bfaba Ensure that JSON files should be downloaded properly from the storage manager. Fixes #7118 2022-01-25 20:17:50 +05:30
Nikhil Mohite 04729f63b8 Fixed an issue where restore generates incorrect options for the schema. Fixes #7123 2022-01-25 20:14:10 +05:30
Akshay Joshi 0ce3434631 Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-25 20:10:31 +05:30
Pradip Parkale 094129e2be Port Dependent, dependencies, statistics panel to React. Fixes #7016 2022-01-24 14:13:02 +05:30
Akshay Joshi 3e86ed5d21 Added validation for Hostname in the server dialog. Fixes #7127 2022-01-24 12:04:35 +05:30
Nikhil Mohite 41bcce09ce Remove the support of the 'Move object to another tablespace' feature. 2022-01-21 19:39:21 +05:30
Akshay Joshi 343c3ee49c Fixed following code smells reported by SonarQube:
1) Remove this redundant jump.
 2) Remove this commented out code.
 3) Variables should not be shadowed.
2022-01-21 18:54:23 +05:30
Dave Page 12d6271b13 Quote string 2022-01-21 13:23:13 +00:00
Dave Page c65f60771a Enforce the minimum Windows version that the installer will run on. Fixes #7135 2022-01-21 12:59:01 +00:00
Yogesh Mahajan c983aae881 Port Import/Export dialog to React. Fixes #7017. 2022-01-21 11:48:52 +05:30
Akshay Joshi 1013d7ccdd Fixed code smell reported by SonarQube. 2022-01-20 16:58:21 +05:30
Nikhil Mohite d945c6f843 Fixed an issue where connections keep open to (closed) connections on the initial connection to the database server. Fixes #7035 2022-01-19 15:02:05 +05:30
Akshay Joshi dabe64a8df Fixed enable/disable menu issue introduced by SonarQube fix. 2022-01-19 12:16:57 +05:30
Aditya Toshniwal fbc3b1a318 Added support for grouping in input select boxes and allow setting default selected options. 2022-01-18 18:44:55 +05:30
Akshay Joshi 6adc1bfd42 Fixed context menu issue. 2022-01-18 18:43:34 +05:30
Nikhil Mohite e7e4d5cf0a Fixed feature test cases for maintenance dialog. 2022-01-18 14:51:02 +05:30
Akshay Joshi 9f836f5433 Fixed following code smells reported by SonarQube:
1) Immediately return this expression instead of assigning it to the temporary variable.
 2) Extract this nested ternary operation into an independent statement.
 3) Expected a `for-of` loop instead of a `for` loop with this simple iteration.
2022-01-18 14:49:54 +05:30
Akshay Joshi e3807ec3d6 Fixed following code smells reported by SonarQube:
1) Boolean checks should not be inverted.
 2) Review this redundant assignment.
 3) Extract this nested ternary operation into an independent statement.
 4) Unexpected empty function.
 5) Immediately return this expression instead of assigning it to the temporary variable.
2022-01-17 13:56:01 +05:30
Nikhil Mohite 40fa1aff6b Added flag in runtime to disable GPU hardware acceleration. Fixes #6916 2022-01-13 13:01:40 +05:30
Nikhil Mohite 4787de6968 CSS changes in the browser tree.
refs #7085
2022-01-13 12:52:55 +05:30
Akshay Joshi 3f7e921cce Fixed code smell 'Unexpected empty arrow function' reported by SonarQube. 2022-01-12 18:59:21 +05:30
Akshay Joshi 4e414f57e6 Fixed code smell 'Default parameters should be last' reported by SonarQube. 2022-01-12 18:40:18 +05:30
Akshay Joshi c98fb887cc Fixed code smell 'Unexpected empty arrow function' reported by SonarQube. 2022-01-12 17:32:20 +05:30
Nikhil Mohite d2457f2a1d Ensure that Partitioned tables should be visible correctly when creating multiple partition levels. Fixes #7085 2022-01-12 16:29:13 +05:30
Akshay Joshi e38c38cd58 Fixed following SonarQube code smells:
1) Remove this useless assignment to a variable.
2) Remove the unused local variable.
2022-01-12 14:53:19 +05:30
Nikhil Mohite 374c5e952f Fixed an issue where the Browser tree gets disappears when scrolling sequences. Fixes #7100 2022-01-11 18:03:11 +05:30
Libor M 38e5ded821 Update Czech translation. 2022-01-11 17:40:49 +05:30
Akshay Joshi 85a1855928 Update Dependencies. 2022-01-10 16:24:40 +05:30
Akshay Joshi 44a5a3f2fc Update version for release. 2022-01-10 16:20:11 +05:30
Akshay Joshi 7fe1d89891 Fixed import/export servers issue reported during testing. 2022-01-10 16:16:10 +05:30
Nikhil Mohite e43a87da09 Fixed SonarQube issue. 2022-01-10 12:10:20 +05:30
Akshay Joshi 55dc06de15 Fixed API test case for Import/Export Servers. 2022-01-09 14:47:32 +05:30
Identifier Anonymous f61d22d58d Update Japanese translation. 2022-01-09 12:54:51 +05:30
Domenico Sgarbossa fd92974902 Update Italian translation. 2022-01-09 12:53:42 +05:30
Akshay Joshi ec64910e0c Update message catalog. 2022-01-07 21:36:04 +05:30
Akshay Joshi 4ecd05e33b 1) Fixed import/export servers issue in server mode.
2) Fixed an issue where files are not showing as per the selected format in
   the file dialog when opened the first time.
2022-01-07 21:29:17 +05:30
Nikhil Mohite af6ff20020 Fixed SonarQube issues. 2022-01-07 19:58:19 +05:30
Nikhil Mohite ad862f4084 Port Maintenance dialog to React. Fixes #7019 2022-01-07 12:07:49 +05:30
Rahul Shirsat 65a6c18263 Updated screenshots and descriptions for Backup and Restore dialog. 2022-01-07 11:35:40 +05:30
Akshay Joshi 7cc76c7d2d Fixed import/export server issues reported while testing. 2022-01-06 20:01:25 +05:30
Rahul Shirsat 6528d086ba Fixed review comments:
1. Split the restore options/backup options into 2 tabs
2. Restore icon changes
3. feature tests issues
4. restore help link broken
5. Comment section not visible

refs #7018
2022-01-06 16:46:44 +05:30
Akshay Joshi f56b4030f1 Fixed a schema diff issue where generated script adds unwanted line endings for Functions/Procedures/Trigger Functions. Fixes #7102 2022-01-06 13:08:50 +05:30
Akshay Joshi 8b13f158ab Fixed review comments for Import/Export Servers.
refs #4803
2022-01-05 14:02:49 +05:30
Dave Page 920c27bb31 Add trademark notice. 2022-01-04 15:33:10 +00:00
Akshay Joshi 964eddf952 Corrected wrong import statement. 2022-01-04 15:27:06 +05:30
Akshay Joshi 2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Akshay Joshi 9dd957a2aa Added support to import/export server groups and servers from GUI. Fixes #4803 2022-01-04 12:27:17 +05:30
Pradip Parkale c1ad7d81f4 Fixed an issue where destroy method is not present for the browser tree after React porting. 2022-01-03 17:47:22 +05:30
Akshay Joshi a4ef5ea48b Fixed an issue where SubPlans may overlap other nodes & make them inaccessible in Graphical EXPLAIN View.
Patch sent by:  Robert Frunzke

Fixes #7093
2021-12-31 14:49:42 +05:30
Yogesh Mahajan 44ab4648a8 Fixed an issue in SQL generation for PostgreSQL-14 functions. Fixes #7081 2021-12-31 14:30:53 +05:30
Nikhil Mohite 19016c3733 Ensure that help should be visible properly for Procedures. Fixes #7075 2021-12-31 14:21:38 +05:30
Nikhil Mohite e18ce2c9e3 Updates CSS and structure in Wizard, also fixed css issues in GrantWizard. 2021-12-31 14:16:50 +05:30
Yogesh Mahajan 0ceb2e2767 Ensure that Truncate and Reset statistics should work. Fixes #7096 2021-12-30 12:19:33 +05:30
Nikhil Mohite 191e2b6242 Fixed an issue where an operation error message pop up showing the database object's name incorrectly. Fixes #7078 2021-12-28 13:49:04 +05:30
Rahul Shirsat 603d91be0e Port Restore dialog to React. Fixes #7018 2021-12-28 13:45:59 +05:30
Akshay Joshi 262dcdcf54 Added postion relative to show error message properly. 2021-12-24 17:37:59 +05:30
Akshay Joshi 74be3a9f52 Fixed linter error. 2021-12-24 16:52:32 +05:30
Aditya Toshniwal 5c65766ece Added a common table MUI style object which can be used on any table.
Added a few more styling improvements.
2021-12-24 16:15:38 +05:30
Nikhil Mohite bae8a2bd5d Fixed an issue where Explain Analyze shows negative exclusive time. Fixes #7003 2021-12-24 16:11:58 +05:30
Yogesh Mahajan 6d0ed91d31 Fixed an issue where the Owner is not displayed in the reverse engineering SQL for Procedures. Fixes #7077 2021-12-24 16:09:51 +05:30
Nikhil Mohite 45179ccb8c Change logic for grant wizard, wizard component, and updated CSS. 2021-12-22 18:26:21 +05:30
Akshay Joshi ebee7a5b72 Fixed linter errors. 2021-12-22 14:44:57 +05:30
Akshay Joshi ae73f13812 Added beforeNext and beforeBack method in Wizard. 2021-12-22 14:25:08 +05:30
Yogesh Mahajan e302a6199a Fixed QueryToolJourneyTest feature test. 2021-12-21 18:10:48 +05:30
Nikhil Mohite e5e9981836 Fixed an issue where Columns with default value not showing when adding a new row. Fixes #7034 2021-12-21 18:09:20 +05:30
Nikhil Mohite 461c0abce1 Fixed an issue where Tablespace is created though an error is shown on the dialog. Fixes #6745 2021-12-21 18:07:17 +05:30
Akshay Joshi 02b83146be 1) Added spacing for message and loading spinner.
2) Rename the GrantWizard Dialog.
3) Return the activeStep from disableNextStep function.
2021-12-21 18:00:07 +05:30
Pradip Parkale 9754b0fe14 Fixed an issue where Columns with default value not showing when adding a new row. Fixes #7034 2021-12-17 10:48:24 +05:30
Akshay Joshi 92a997b16a Rearrange tools menu on the basis of usability and form groups of similar sub-menus. 2021-12-16 18:29:44 +05:30
Akshay Joshi 8cfdfd898d Updated testtools version to work with Python 3.10 2021-12-16 17:36:13 +05:30
Akshay Joshi 448b4c07c1 Update psycopg2 and pywinpty 2021-12-16 15:53:58 +05:30
Dave Page 6d026b3e28 Update to gssapi 1.7.x 2021-12-16 10:20:04 +00:00
Fred Escallier 3a9a635419 Update French translation. 2021-12-15 14:51:19 +05:30
Aditya Toshniwal 6875d00e44 Fixed an issue where confirmation pop-up is hidden behind Reassign/Drop Owned Dialog. Fixes #7071 2021-12-14 16:42:06 +05:30
Akshay Joshi 83e646c7d4 Reverting patch for #7003, showing Nan in time fields. 2021-12-14 16:30:59 +05:30
Akshay Joshi d0d194b60d Update version for release. 2021-12-13 17:20:43 +05:30
Dave Page c8109beaa7 Fix a couple of places missed in the mod_wsgi update. 2021-12-13 10:29:01 +00:00
Dave Page 42d2a18b91 Fix a couple of places missed in the mod_wsgi update. 2021-12-13 10:28:13 +00:00
Dave Page 1e59ec74e1 Bump mod_wsgi version. 2021-12-13 10:03:37 +00:00
Aditya Toshniwal 701e6f86f5 Ensure that statue message should not hide the last line of messages when running a long query. Fixes #7020 2021-12-13 13:10:56 +05:30
Akshay Joshi da5545ff57 Added support to disable the auto-discovery of the database servers. Fixes #7039 2021-12-13 13:07:37 +05:30
Libor M fea44c07c7 Update Czech translation. 2021-12-13 11:22:11 +05:30
Identifier Anonymous e539bc2ae7 Update Japanese translation. 2021-12-13 11:20:25 +05:30
Domenico Sgarbossa 9bdca4b409 Update Italian translation. 2021-12-13 11:17:37 +05:30
Pradip Parkale 40027dd502 Remove some unwanted code.
refs #6840
2021-12-13 11:13:34 +05:30
Akshay Joshi bd545fd5b2 1) Fixed schema diff owner related issue. Fixes #6877
2) Fixed schema diff related some issues. Fixes #6957
2021-12-11 22:10:28 +05:30
Akshay Joshi 441a3d4533 Update Dependencies. 2021-12-10 19:55:31 +05:30
Akshay Joshi 3f939dfc11 Update message catalogs. 2021-12-10 19:49:27 +05:30
zhangjie2@fujitsu.com 837925a47c Fixed typos in the Documentation. 2021-12-10 19:46:45 +05:30
Nikhil Mohite 4dc7f24b5f Fixed linter error 2021-12-09 20:26:44 +05:30
Nikhil Mohite 9ec8d05a64 1) Ensure that the Owner should not be disabled while creating the procedure. Fixes #7064
2) Fixed an issue where Explain Analyze shows negative exclusive time. Fixes #7003
2021-12-09 16:59:43 +05:30
Akshay Joshi 4ee9a95360 Remove the hardcoded version of NWjs from build scripts. 2021-12-09 10:39:21 +05:30
Akshay Joshi 3a87e05f80 Updated NWjs version to 0.59.0 2021-12-08 19:17:15 +05:30
Akshay Joshi f24348b2b0 Fixed an issue where notifier not working when opening query tool in a new
window and then open it in the new tab.
2021-12-08 18:15:13 +05:30
Rahul Shirsat 91a288c2bb Correct the SQL definition for function/procedure with the Atomic keyword in PG14. Fixes #7029 2021-12-08 12:31:59 +05:30
Akshay Joshi fd53e4f5f9 Replace Alertify alert and confirm with React-based model dialog. Fixes #7053 2021-12-07 18:52:40 +05:30
Akshay Joshi e327066523 Fixed RESQL test cases for EPAS-14 2021-12-07 11:48:27 +05:30
Dave Page 2121adb7fb PEP-8. Sigh. 2021-12-06 17:06:26 +00:00
Dave Page 18c2faf7a9 Update Python version compatibility and PyPi description. 2021-12-06 16:44:50 +00:00
Yogesh Mahajan 48dc4bacc4 Fixed Kerberos authentication issue which is broken due to 2FA.
refs #6543
2021-12-06 20:14:39 +05:30
Nikhil Mohite 950809ee55 Increase the width of the scrollbars. Fixes #6978 2021-12-06 20:11:30 +05:30
Pradip Parkale c7a49490a2 Fixed an issue where tooltip data are not displaying on downloaded graphical explain plan. Fixes #6840 2021-12-06 20:07:11 +05:30
Akshay Joshi f8cb62180e Fixed API test cases for StartRunningQueryTest. 2021-12-03 13:19:31 +05:30
Aditya Toshniwal dfdaf7f6d1 Implemented React based modal provider to create models on the fly.
Also, use this to replace Alertify alert and confirm dialog.
2021-12-03 12:50:24 +05:30
Akshay Joshi 9c0c046a38 Fixed unhashable type issue while opening the about dialog. Fixes #7048 2021-12-03 12:31:59 +05:30
Akshay Joshi 5ae1036a24 Corrected the down_version in migration file. 2021-12-02 18:35:08 +05:30
Ashesh Vashi 36c9eb3dfd Added support for Two-factor authentication for improving security. Fixes #6543 2021-12-02 16:47:18 +05:30
Pradip Parkale fe096116be Change the logic to rename the table in the SQLite database to fix the migration issue.
refs #7031
2021-12-02 16:25:59 +05:30
Ganesh Jaybhay e30cbe2579 Fixed some accessibility issues:
1) Focus is not visible while navigating through top navbar menu items(File, Object, Tools)
2) In preference dialog wherever access key is used for a shortcut declaration, unable to get out of the textbox.
3) Focus is not visible for the links on the dashboard

Fixes #7046
2021-12-02 16:24:55 +05:30
Akshay Joshi c6424e3897 Replaced alertifyjs notifiers with React-based notistack. Fixes #7004 2021-12-02 16:05:52 +05:30
Akshay Joshi 0f9b9b9dcf Added 'eslint-plugin-react-hooks' to identify the linter errors related to react hooks. 2021-12-01 17:43:20 +05:30
Pradip Parkale 6b613fdf36 Fixed an issue where SQLite database definition is wrong because the USER_ID FK
references the table user_old which is not available.

Fixes #7031
2021-12-01 17:24:41 +05:30
Aditya Toshniwal 9d804d2857 Update the dropzone version to 5.9.3 and Flask-SQLAlchemy to 2.5.*. Fixes #7044 2021-12-01 17:23:46 +05:30
Dave Page b14285cdbf Remove mention of 9.6 utilities. 2021-11-30 11:58:02 +00:00
Dave Page 1438eb6364 Update to the latest Alpine release
Add libldap, which is now required for libpq, and remove 9.6 support.
2021-11-30 11:56:41 +00:00
Talha Bin Rizwan 976faa5e2f Add "section" to the Debian package control files. Fixes #7040 2021-11-29 13:47:11 +00:00
Akshay Joshi 2c02e6fc23 Ensure that the user should be allowed to set the schema of an extension while creating it. Fixes #6963 2021-11-29 15:27:44 +05:30
Nikhil Mohite 61b440261f Ensure that sort order should be maintained when renaming a server group. Fixes #6955 2021-11-29 12:04:04 +05:30
Akshay Joshi fbd10ef4b6 Fixed an issue where reverse engineering SQL is wrong for Aggregate. Fixes #7024 2021-11-29 12:00:38 +05:30
Yogesh Mahajan abe5303448 Fixed an issue where the error is thrown while creating a new server using
Add New Server from the dashboard while tree item is not selected.

Fixes #7015
2021-11-28 13:32:30 +05:30
Nikhil Mohite bef692d431 Fixed an issue where On-demand rows throw an error when any row cell is edited
and saved it then scroll to get more rows.

Fixes #7005
2021-11-28 13:26:40 +05:30
Dave Page 7c18ddfe7d Include GSSAPI support in the PostgreSQL libraries and utilities on macOS. Refs #6872 2021-11-26 15:05:40 +00:00
Akshay Joshi 9a0d92469b Use .__ne__ instead of 'is not None' statement to fix the API test cases. 2021-11-24 18:54:25 +05:30
Akshay Joshi bce7e8346d Fixed API test case after upgrading Flask to v2. 2021-11-24 17:58:29 +05:30
Nikhil Mohite 3dcee71a92 Resolved issue if the binary path is not present/correct, then show error notification to add/correct the binary path.
refs #6984
2021-11-24 17:28:04 +05:30
Akshay Joshi d644b4f94e 1) Replace Flask-BabelEx with Flask-Babel. Fixes #6088
2) Upgrade Flask to version 2. Fixes #7010
2021-11-24 17:22:57 +05:30
Nikhil Mohite 3a30f27153 1. Updated notification message for the reset layout.
2. Added notification type in alertify which was missing.

refs #6988
2021-11-24 10:58:15 +05:30
Yogesh Mahajan 19984d6563 Fixed feature test failures due to React porting of backup dialog. 2021-11-23 17:36:10 +05:30
Dave Page 43176a8c6f Don't generate build-id links in RPMs. Fixes #7013
We don't ship debuginfo RPMs so they're of no use, and can cause conflicts.
2021-11-23 10:57:20 +00:00
Dave Page 849a1b1a89 Fix an RPM build issue that could lead to a conflict with python3 at installation. Fixes #7013. 2021-11-23 09:16:47 +00:00
Yogesh Mahajan b921a55c46 Adds flexibility to wait for launching pgAdmin in feature test. 2021-11-22 18:05:30 +05:30
Dave Page b0abc4048e Fix an RPM build issue that could lead to a conflict with python3 at installation. Fixes #7013. 2021-11-22 11:33:20 +00:00
Dave Page a55ac2fdd1 Fix an RPM build issue that could lead to a conflict with python3 at installation. Fixes #7103. 2021-11-22 11:32:04 +00:00
Nikhil Mohite 3afeb8ca46 Port Backup Global, Backup Server, and Backup object dialog in React. Fixes #6984 2021-11-22 11:20:44 +05:30
Akshay Joshi a701e8c766 Fixed an issue where the Change Password menu option is missing for internal
authentication source when more than one authentication source is defined.

Fixes #6989
2021-11-22 11:02:26 +05:30
Yogesh Mahajan 246bb01736 Fixed feature test cases. 2021-11-18 17:13:32 +05:30
Nikhil Mohite cc91e5da94 Fixed an issue where properties of the database should not be visible after removing the database.
Fixes #6964
2021-11-18 12:36:39 +05:30
Rahul Shirsat 5b99646798 Ensure that Python 3.10 and the latest eventlet dependency should not break the application. Fixes #7006 2021-11-18 12:29:24 +05:30
Pradip Parkale a5b79564ff Fixed an issue where the user can't debug function with timestamp parameter. Fixes #6986 2021-11-18 12:25:21 +05:30
Nikhil Mohite 3d5d507f4b Fixed an issue where referenced table drop-down should be disabled in
foreign key -> columns after one row is added.

Fixes #6906
2021-11-18 12:22:14 +05:30
Fred Escallier e1020aefdd Update French translation. 2021-11-18 12:01:06 +05:30
Khushboo Vashi cc38bc132e Fixed scroll issue in the browser tree when navigating using the keyboard. 2021-11-15 18:26:16 +05:30
Akshay Joshi 053519aef6 Update version for release. 2021-11-15 16:38:10 +05:30
Nikhil Mohite 1408bad8ba Fixed an issue where reset layout message showing when the user opens the query tool.
refs #6988
2021-11-15 16:34:25 +05:30
Pradip Parkale 33cc2a7514 Fixed an issue where SQL for index shows the same column multiple times. Fixes #6981 2021-11-15 16:31:40 +05:30
Domenico Sgarbossa d6a754e850 Update Italian translation. 2021-11-15 12:56:58 +05:30
Libor M fc05ef49ce Update Czech translation. 2021-11-15 12:54:06 +05:30
Identifier Anonymous b36a290b54 Update Japanese translation. 2021-11-15 12:52:09 +05:30
Akshay Joshi 0ca7dbccf6 Ensure that the Binary path for PG14 should be visible in the preferences. Fixes #6972 2021-11-15 12:44:33 +05:30
Khushboo Vashi e67bad3461 Ensure that the user should be able to navigate browser tree objects using arrow keys from keyboard. Fixes #6896 2021-11-15 11:17:42 +05:30
Yogesh Mahajan e2e5a8208c 1) Fixed an issue where JSON editor preview colours have inappropriate contrast in dark mode. Fixes #6944
2) Fixed JSON Editor scrolling issue in code mode. Fixes #6945
2021-11-15 10:58:17 +05:30
Akshay Joshi a47cbbe26c Update Dependencies. 2021-11-12 20:02:51 +05:30
Akshay Joshi 59707fc8af Update message catalogs. 2021-11-12 20:01:25 +05:30
Akshay Joshi 25ace94d10 Fixed API test cases for search object. 2021-11-12 19:58:29 +05:30
Akshay Joshi ca4d5d0ca4 Added operators and aggregates in search objects. Fixes #6974 2021-11-12 17:45:08 +05:30
Aditya Toshniwal 600690a789 Fixed JS audit issues. 2021-11-12 14:19:09 +05:30
Yogesh Mahajan 77931d2315 Uses selenium 4.0.0a6 which works with python 3.6 2021-11-12 11:56:44 +05:30
Nikhil Mohite 8bf178b0a3 Reset the layout if pgAdmin4 detects the layout is in an inconsistent state. Fixes #6988 2021-11-12 11:50:37 +05:30
Pradip Parkale d4bf7164f9 Ensure that inherit table icon should be visible properly in the tree view. Fixes #6845 2021-11-11 12:55:38 +05:30
Nikhil Mohite 7468ca36ae Fixed SQL syntax error if select "Custom auto-vacuum" option and not set Autovacuum option to Yes or No. Fixes #6925 2021-11-11 12:36:19 +05:30
Rahul Shirsat 572b5a126a Ensure that internal authentication when combined with other authentication providers, the order of internal source should not matter while picking up the provider. Fixes #6832 2021-11-11 12:29:30 +05:30
Akshay Joshi 36e5708464 Correct the release notes. 2021-11-10 15:44:03 +05:30
Khushboo Vashi d4697e8f1c Ensure that users should be able to modify the REMOTE_USER environment
variable as per their environment by introducing the new config parameter
WEBSERVER_REMOTE_USER.

Fixes #6953
2021-11-10 15:38:41 +05:30
Yogesh Mahajan 9479f0e632 Fixed feature test cases after react porting. 2021-11-10 11:50:20 +05:30
Khushboo Vashi aff84103d9 Fixed an issue where database nodes are not getting loaded behind a reverse
proxy with SSL. Fixes #6905
2021-11-10 11:47:40 +05:30
Pradip Parkale a61a9e5b8f Fixed an issue where older server group name displayed in the confirmation
pop-up when the user removes server group. Fixes #6939
2021-11-10 11:17:51 +05:30
Pradip Parkale eb8168285e Cover more scenarios for the pgAdmin freezing issue. Fixes #5427 2021-11-10 11:11:24 +05:30
Aditya Toshniwal 1ed4d0f95e Fixed an issue where textarea should be allowed to resize and have more than 255 chars. Fixes #6976 2021-11-07 10:51:54 +05:30
Aditya Toshniwal 31849ea95f Ensure that changing themes should work on Windows when system high contrast
mode is enabled. Fixes #6954
2021-11-07 10:46:49 +05:30
Dave Page d7f5e13cdd Revert changes to support Python 3.10. Too many things broke, needs more thought :-( 2021-11-03 14:50:05 +00:00
Dave Page 33aeacd8d1 Only include the dnspython library for Python 3.10. 2021-11-03 13:20:09 +00:00
Dave Page f3bf068066 Fix dependencies to work with Python 3.10.
Patch by me, legwork by Aditya.
2021-11-03 13:12:11 +00:00
Akshay Joshi 719f8c8fd2 Fixed API test case for DataTypeReader 2021-10-29 17:37:02 +05:30
Pradip Parkale fa8b3edda5 Fixed an issue where user details are not shown when the non-admin user tries
to connect to the shared server. Fixes #6940
2021-10-29 16:26:11 +05:30
Nikhil Mohite f71e2e8040 Fixed an issue where pgAdmin is not opening properly. Fixes #6809 2021-10-29 16:17:36 +05:30
Akshay Joshi 39992a817d Added support of Aggregate and Operator node in view-only mode. Fixes #3834 2021-10-29 16:14:33 +05:30
Akshay Joshi 7b85253465 Corrected some menu lables. 2021-10-27 11:05:23 +05:30
Pradip Parkale 35b1e1d0d2 Fixed pgAdmin freezing issue by providing the error message for the operation
that can't perform due to lock on the particular table. Fixes #5427
2021-10-27 10:51:52 +05:30
Rahul Shirsat 711ea3bfa1 Fixed an issue where properties panel is not updated when any object is added from the browser tree. Fixes #6859 2021-10-27 10:31:49 +05:30
Rahul Shirsat 8eb6f8061d Ensure that dialog should be opened when clicking on Reassign/Drop owned menu. Fixes #6949 2021-10-25 11:47:28 +05:30
Akshay Joshi 2c4ed4d115 Reverted the last patch to pin mozjpeg as it didn't work. 2021-10-21 17:06:04 +05:30
Aditya Toshniwal fc233ed993 Pin mozjpeg to 7.1.0 as the latest version will require zlib to be re-compiled. 2021-10-21 16:18:06 +05:30
Aditya Toshniwal 1d8810775c Fixed JS audit issues wherever possible and ignores devDependencies from packages.json 2021-10-21 15:08:24 +05:30
Aditya Toshniwal d28e249673 Ignore flask-security-too irrelevant vulnerability. 2021-10-21 11:14:27 +05:30
Pradip Parkale c7cd57db91 Ensure that columns should be merged if the newly added column is present in the parent table. Fixes #6780 2021-10-21 10:59:52 +05:30
Akshay Joshi d2a7f7fffe Fixed API test cases for PG 14 2021-10-20 18:39:42 +05:30
Rahul Shirsat 27b6e07e21 Fixed object delete issue from the properties tab for the collection nodes. Fixes #6858 2021-10-19 17:21:46 +05:30
Aditya Toshniwal a2f5e6ad8f Fixed an issue where the wrong SQL is generated when deleting and renaming table columns together. Fixes #6935 2021-10-19 17:13:12 +05:30
Akshay Joshi ea0d3eb812 Fixed an issue where a blank string is stored instead of NULL in create mode in server dialog. Fixes #6915 2021-10-19 17:01:50 +05:30
Aditya Toshniwal 9de1489322 Ensure that only the table node should be allowed to drop on the ERD tool. Fixes #6929 2021-10-19 12:01:43 +05:30
Khushboo Vashi 9e3165c0ff 1) Ensure that the master password should be prompt when MASTER_PASSWORD_REQUIRED
is set to True and AUTHENTICATION_SOURCES is the webserver. Fixes #6928
2) Fixed an issue where the existing server group is disappeared on rename it. Fixes #6930
2021-10-19 11:56:44 +05:30
Akshay Joshi 0f92f54452 Update version for release. 2021-10-18 16:10:37 +05:30
Akshay Joshi b8072bd630 Fixed an issue where the blank string is stored instead of NULL in the server table of SQLite database. Fixes #6915 2021-10-18 15:50:42 +05:30
Aditya Toshniwal c13b1b60e3 Fixed the issue where all FKs are removed if one of the multiple FKs on the same column is removed.
refs #6891
2021-10-16 12:57:30 +05:30
Khushboo Vashi a908ef7c61 Fixed browser tree sort order regression issue. Fixes #6912 2021-10-16 12:54:44 +05:30
Khushboo Vashi 5b411caabe Fixed an issue where each click to refresh the collection node, the number of objects decreasing by tens or more. Fixes #6908 2021-10-16 12:50:51 +05:30
Aditya Toshniwal 7f3c3fa6f9 Added support to allow tables to be dragged to ERD Tool. Fixes #6241 2021-10-16 12:43:39 +05:30
Nikhil Mohite 476d7c5fc9 Fixed background colour issue in the browser tree. Fixes #6890 2021-10-16 12:40:57 +05:30
Rahul Shirsat 1377244e52 Fixed the issue of editing triggers for advanced servers. Fixes #6802 2021-10-16 12:36:25 +05:30
Pradip Parkale 173cb60691 Added support to enable/disable rules. Fixes #6794 2021-10-14 11:44:03 +05:30
Khushboo Vashi 2aac87569b Fixed an issue where the users are unable to load the databases behind an HTTP reverse proxy. Fixes #6905 2021-10-14 11:35:11 +05:30
Nikhil Mohite fa21e25cb2 Ensure that the Dashboard should get updated after connecting to the server. Fixes #6876 2021-10-14 11:24:43 +05:30
huangj.fnst@fujitsu.com 8a21d9b500 Fixed some typos in the documentation and comments. 2021-10-14 11:13:16 +05:30
Aditya Toshniwal 8b7b63868f Added support for composite foreign keys in the ERD tool. Fixes #6891 2021-10-13 14:28:55 +05:30
Nikhil Mohite 96ce298789 Port columns node under the Catalog Objects in React. 2021-10-13 12:59:08 +05:30
Yogesh Mahajan 6c692df118 Changed the label 'Inherits Tables?' to 'Is inherited?' as it misleading in the properties panel. Fixes #6776 2021-10-13 11:41:21 +05:30
Aditya Toshniwal 9ace229152 Fixed an issue where exclusion constraint cannot be created from table dialog
if the access method name is changed once. Fixes #6900
2021-10-13 11:35:19 +05:30
Nikhil Mohite 5b9383c880 Fixed an issue where the user is unable to create an index with concurrently keyword. Fixes #6790 2021-10-12 18:19:40 +05:30
Khushboo Vashi 9fd9ca2673 Added support for indent guides in the browser tree. Fixes #4596 2021-10-12 17:53:38 +05:30
Akshay Joshi 72e5d4b426 Updated yarn.lock file 2021-10-12 16:47:47 +05:30
Khushboo Vashi ac6c6fbf97 Fixed an issue where the browser tree doesn't show all contents on changing resolution. Fixes #6881 2021-10-12 15:02:46 +05:30
Khushboo Vashi a726635290 1) Added support for authentication via the web server (REMOTE_USER). Fixes #6657
2) Fixed OAuth2 integration redirect issue. Fixes #6719

Initial patch for 6657 sent by: Tom Schreiber
2021-10-12 14:52:30 +05:30
Khushboo Vashi ca40add29b Ensure that columns should be displayed in the order of creation instead of alphabetical order in the browser tree. Fixes #6882 2021-10-12 14:37:06 +05:30
Rahul Shirsat 2ced82c7b3 Ensure that query highlighting color in the query tool should be less intensive. Fixes #6754 2021-10-12 14:30:29 +05:30
Aditya Toshniwal d81960a6eb Fixed API Test Case for ERD 2021-10-12 14:26:01 +05:30
Akshay Joshi f23b0702f2 Fixed PEP8. 2021-10-11 18:07:26 +05:30
Aditya Toshniwal a92c1b43a2 1) Added support for advanced table fields like the foreign key, primary key in the ERD tool. Fixes #6081
2) Added index creation when generating SQL in the ERD tool. Fixes #6529
2021-10-11 17:42:14 +05:30
Khushboo Vashi 9796f50362 Fixed an issue where the tree is not scrolling to the object selected from the search result. Fixes #6828 2021-10-07 17:23:21 +05:30
Nikhil Mohite d65930a8a6 Remove an extra blank line at the start of the SQL for function, procedure, and trigger function. Fixes #6797 2021-10-07 17:11:48 +05:30
Aditya Toshniwal a92bad7909 Fixed indexes not loading in Primary constraint and Unique constraint dialog for partition.
refs #6868
2021-10-06 17:49:50 +05:30
Akshay Joshi 5467b5e085 Added missing description of the RM. 2021-10-06 17:05:28 +05:30
Nikhil Mohite ca32828281 Fixed an issue where Execute button of the query tool gets disabled once we change anything in the data grid. Fixes #6798 2021-10-06 16:59:38 +05:30
Aditya Toshniwal 7787def660 The nodes index, RLS policy, rules, triggers are failing to save for partitions.
refs #6868
2021-10-06 16:51:46 +05:30
Aditya Toshniwal dce5038ffd 1. Unable to create trigger for partition table. Fixes #6867.
2. Unable to create index, RLS policy, rules, triggers for partition. Fixes #6868.
2021-10-06 14:54:01 +05:30
Akshay Joshi 1ed6272e7b Ensure that SQL help should work for EPAS servers. Fixes #6834 2021-10-06 14:54:01 +05:30
Dave Page ab424b27d1 Fix operator 2021-10-05 13:50:14 +01:00
Khushboo Vashi a693014371 1) Table Dialogue does not close on addition/deletion of partition. Fixes #6863
2) Nodes are loaded multiple times in server mode on 'Reset Layout'. Fixes #6861
2021-10-05 17:33:50 +05:30
Rahul Shirsat bfb65e82aa Fixed dialog crash issue when added security label and changing the type to shell. Fixes #6744 2021-10-05 17:24:16 +05:30
Pradip Parkale 4bbc811aed 1) 'Only Table' should be disabled unless the table value is changed. Fixes #6862.
2) 'ALTER' statement should not be generated every time a user updates the password in edit mode. Fixes #6835
3) Connection timeout and sslmode value is getting updated after subscription update. Fixes #6835.
2021-10-05 17:19:22 +05:30
Dave Page d2d819529d Ensure we have the latest version of libpq in the container. 2021-10-05 12:45:55 +01:00
Nikhil Mohite ea706be7fc Fixed the issue related to the privilege checkbox color in disabled mode. 2021-10-05 14:38:00 +05:30
Aditya Toshniwal 400896c563 1. Operators dropdown disabled. Fixes #6771.
2. Vacuum options value is not considered for M-SQL when creating. Fixes #6781.
2021-10-05 14:13:15 +05:30
Fred Escallier d4280c896d Update French translation. 2021-10-05 14:11:32 +05:30
Akshay Joshi 02edea9bd7 Update version for release. 2021-10-04 19:40:31 +05:30
Rahul Shirsat 2932ef770d Fixed an issue where adding security privileges and change type to shell crash the dialog. Fixes #6744 2021-10-04 19:34:41 +05:30
Aditya Toshniwal 7eaa3179ad Fixed an issue where the index is not loaded in the Unique Constraint dialog. Fixes #6857 2021-10-04 19:28:27 +05:30
Nikhil Mohite 40b8da8223 Fixed theme related issues after react porting. 2021-10-04 18:00:09 +05:30
Dave Page 17ad46fe9d Fix Python version 2021-10-04 12:37:32 +01:00
Khushboo Vashi 8faec3e0e9 Fixed loading issue of Partitions collection node. Fixes #6844 2021-10-04 16:15:49 +05:30
Akshay Joshi 7d5668141d Updated PostgreSQL version from 13 to 14, to get the latest utility files. 2021-10-04 16:12:45 +05:30
Aditya Toshniwal e77f933fe7 Foreign key issues in edit mode:
1. Couple of foreign key issues in edit mode. Fixes #6837
2. Table "Of type" related issues. Fixes #6825
2021-10-04 14:14:27 +05:30
Pradip Parkale 69109a19db Ensure that the user should be able to edit the publication in the subscription dialog. Fixes #6835 2021-10-04 14:11:57 +05:30
Khushboo Vashi 1ec1db1ecb Fixed an issue where label is not visible on hover, while hover on icon or expand arrow. refs #6847 2021-10-04 13:15:19 +05:30
Aditya Toshniwal 038fd6ce21 Fixed Dark theme UI related issues. Fixes #6846 2021-10-04 12:41:48 +05:30
Khushboo Vashi 65af8bcc5a Fixed an issue where the label is not visible when hovering on any tree node in the High Contrast theme. Fixes #6847 2021-10-04 12:35:08 +05:30
Identifier Anonymous 1dfc5f4c0c Update Japanese translation. 2021-10-04 10:51:46 +05:30
Libor M c05a8663cc Update Czech translation. 2021-10-03 12:16:38 +05:30
Domenico Sgarbossa 235b6d285c Update Italian translation. 2021-10-03 12:15:20 +05:30
Khushboo Vashi 44e1a405f0 1) Newly added server/server group is not visible in the tree unless pgAdmin is refreshed. Fixes #6839
2) Internal server error displayed if disconnect the server. Fixes #6852
2021-10-03 12:12:02 +05:30
Akshay Joshi aaa8ab3856 Update message catalogs. 2021-10-01 18:37:01 +05:30
Nikhil Mohite 5f9bb1c160 Correct the implementation of query details should be scrollable as per design.
Fixes #3827
2021-10-01 13:01:24 +05:30
Aditya Toshniwal 357a020828 Table node related fixes:
1. File select control sets the value for all other to last selected file. Fixes #6814
2. Vacuum parameters-related issues. Fixes #6777
3. Exclusion removes all columns if one row is removed. Fixes #6771
2021-10-01 12:57:04 +05:30
Khushboo Vashi 5e0c113c7b Properties panel is not updated when any object is added/deleted from the browser tree. Fixes #6833 2021-09-30 18:21:43 +05:30
Pradip Parkale 8056e7e3e3 1) System procedure should not be visible in the properties tab for function.
2) The estimated cost option should be editable in edit mode for Procedure.
3) Should give an error when language is not specified.

Fixes #6838 #6841
2021-09-30 16:27:02 +05:30
Nikhil Mohite 1a25fdffbb Ensure that the 'When' field should be read-only in the properties panel. Fixes #6836 2021-09-30 16:25:27 +05:30
Rahul Shirsat 1632e5287a Fixed some additional issues for the Type node.
refs #6744
2021-09-30 15:16:21 +05:30
Aditya Toshniwal 381f5edbd5 Few more stability improvements to date time picker.
refs #6816
2021-09-30 15:00:32 +05:30
Akshay Joshi 031167fbea Use the correct way to update the state variable using depChange method. 2021-09-30 10:57:39 +05:30
Nikhil Mohite 3da85f415d Fixed an issue while saving grant wizard data with user-defined functions. Fixes #6826 2021-09-30 10:56:51 +05:30
Akshay Joshi 8ac38a076b Fixed linter error. 2021-09-29 20:17:54 +05:30
Nikhil Mohite c80ea7ae89 1) Fixed accessibility issues for Trigger functions. Fixes #6803
2) Fixed incorrect privileges value in Materialize View. Fixes #6781
2021-09-29 19:56:30 +05:30
Akshay Joshi 1b6ab6b3bb 1) Fixed pgAgent related issues. Fixes #6827
2) Added helpMessageMode parameter to hide help messages from properties panel.
2021-09-29 19:48:43 +05:30
Khushboo Vashi aa8854db53 1) Browser panel turns blank on connecting disconnected database & server has multiple databases. Fixes #6817
2) The object is not selected/properties panel is not updated when the user moves to object with arrow keys. Fixes #6821
3) Object gets deselected after editing. Fixes #6824
2021-09-29 17:18:55 +05:30
Aditya Toshniwal c57fc74e18 Fixed Jasmine test cases. 2021-09-29 16:36:49 +05:30
Aditya Toshniwal 28892bb07f Remove redundant empty option for Exclusion constraint access method name, Of type, and Like relations. Fixes #6825 2021-09-29 15:23:48 +05:30
Akshay Joshi 82935ad3be Fixed API test caes for Domain node. 2021-09-29 15:20:50 +05:30
Aditya Toshniwal 332351efaf 1. Date time control not working on firefox.
2. Replace moment with date-fns in date time control as date-fns is more maintained.

Fixes #6816
2021-09-29 13:43:05 +05:30
Pradip Parkale d753719891 1) Ensure the edit dialog should not allow clearing owner in the Language node. Fixes #6815
2) Fixed an issue where the Language node is disabled for the functions for
   EPAS/PG 9.6 and 10. Fixes #6823
2021-09-29 13:40:10 +05:30
Rahul Shirsat 77d0409c5b Fixed an issue where the user was not able to expand the server's on Windows. Fixes #6822 2021-09-29 13:35:54 +05:30
Akshay Joshi 7d07770244 Reverting 'Two-factor authentication' support as it cause OSX and docker build failures.
This reverts commit 787a441343.
2021-09-29 13:24:18 +05:30
Khushboo Vashi 24399daefe 1) Browser panel turns blank on connecting/disconnecting the database when the
server has multiple databases. Fixes #6817
2) Use a hand pointer instead of an arrow. Fixes #6820
2021-09-28 17:50:54 +05:30
Aditya Toshniwal 08706ba6b2 1. Make Unlogged switch in table as read only.
2. Fix a console warning when saving node data.

Fixes #6778
2021-09-28 17:48:09 +05:30
Ashesh Vashi 787a441343 Added support for Two-factor authentication for improving security. Fixes #6543 2021-09-28 17:47:00 +05:30
Nikhil Mohite c4db223a64 Added appropriate 'IF EXISTS', 'CASCADE', 'IF NOT EXISTS' clause for the remaining nodes.
refs #5741
2021-09-28 16:05:46 +05:30
Khushboo Vashi 31c7f3eaba Fixed an error in browser tree when adding any node. 2021-09-28 15:08:59 +05:30
Aditya Toshniwal be69470d55 Server and Database node fixes:
1. Unable to change shared server switch.
2. DB restriction and schema restriction have an empty option.
3. File select input control does not allow manual text input.
4. In the Parameters tab if the value is a switch control, then an empty value error should not come.
5. Values for parameters should be reset on changing parameters.
6. Added a new key - helpMessageMode which can have a value similar to mode. It will show the help message if the mode is supported.

Fixes #6814
2021-09-28 15:05:32 +05:30
Khushboo Vashi 7b6101bc6d Fixed 'Save' button issue where dialog is not getting closed. 2021-09-28 15:04:37 +05:30
Akshay Joshi 1569be7866 Fixed keyerror issue in schema diff for 'attnum' and 'edit_types' parameter. Fixes #6755 2021-09-28 15:03:28 +05:30
Akshay Joshi 2265ffc0a7 Handler and Validator should not allow selecting the empty options. Fixes #6810 2021-09-28 11:34:45 +05:30
Pradip Parkale d616cb88aa 1. Syntax error displayed If the table is not available and the user tries to use the blank option. Fixes #6793
2. Not able to add Parameters for Functions and Procedures.
3. For the procedure, the Volatility option should be disabled in some cases. Fixes #6799
2021-09-28 10:37:47 +05:30
Rahul Shirsat 15ecf5d821 Fixed an issue for sort and null controls for the Index node. Fixes #6791 2021-09-28 10:32:00 +05:30
Aditya Toshniwal dc8ab7cd2a 1. Switch control and CodeMirror control UI improvements for read-only and disabled states.
2. If a form input value changes to null, pass it as an empty string in URL params.
3. Use server_type instead of type from the server info.
2021-09-28 10:24:25 +05:30
Nikhil Mohite 48a5143485 Fixed an issue where SQL is not getting generated for Foreign table options. Fixes #6813 2021-09-28 10:21:25 +05:30
Akshay Joshi f6a9af0aa4 Hardcoded the version of NWjs to 0.55.0 in the build scripts, as the latest version cause some problems. 2021-09-28 10:07:59 +05:30
Khushboo Vashi 483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
zhangjie2@fujitsu.com d983225683 Correct the variable names in the error messages for the Domain node. 2021-09-27 15:09:17 +05:30
Rahul Shirsat d8d88b948a Fixed an issue where Schema icon is not visible in the drop-down of General tab. Fixes #6806 2021-09-27 13:36:13 +05:30
Akshay Joshi 31339737a6 Updated screenshots for server group and server dialog. 2021-09-27 12:29:39 +05:30
Akshay Joshi 2494c7d3ed Update the nw version in yarn.lock file. 2021-09-27 12:13:41 +05:30
Nikhil Mohite 2320370fd2 1) Fixed an issue where for constraint trigger only After event should be displayed,
also fixed the Incorrect values for Constraint trigger, Deferrable, Deferred. Fixes #6803
2) Fixed an issue where the user was unable to create the trigger for views. Fixes #6804
2021-09-27 11:31:52 +05:30
Nikhil Mohite 9d2f3b5ee9 Ensure that RLS names should not be editable in the collection node of properties tab. Fixes #6759 2021-09-27 10:57:08 +05:30
Akshay Joshi 294bf27985 Updated all the screenshots and documentation for the nodes. 2021-09-26 22:03:11 +05:30
Akshay Joshi 3d8754cd3c Updated some screenshots and documentation for the nodes. 2021-09-24 21:01:56 +05:30
Aditya Toshniwal 0228d16990 Partition related fixes:
1. When attaching a partition, tables were not loading in the dropdown.
2. When adding a sub partition in a partition, collations were not loading in dropdown.
3. Fix some grid column widths in table node.

Fixes #6783
2021-09-24 16:28:55 +05:30
Akshay Joshi c32a325c11 Fixed html help for foreign server dialog. 2021-09-24 13:32:13 +05:30
Aditya Toshniwal d28f8bc7ee Fixed exclusion constraint issues:
1. Incorrect error message.
2. Properties panel Column Section data missing
3. Operator class value is missing

Fixes #6771
2021-09-23 19:28:35 +05:30
Nikhil Mohite a6dce27ffa Fixed an issue where options are missing in the trigger function's Security tab. Fixes #6792 2021-09-23 19:23:08 +05:30
Pradip Parkale 6d08d9aa9f Fixed Cast node related issues. Fixes #6741 2021-09-23 19:19:34 +05:30
Akshay Joshi 8125320093 Fixed linter error. 2021-09-23 17:12:34 +05:30
Akshay Joshi ecaaa8a1b5 Fixed scrollbar issue and used flex layout in grant wizard. 2021-09-23 16:59:59 +05:30
Akshay Joshi b9bc628189 1. Placeholder should be inside the controlProps. Change the placeholder from 'Select...' to 'Select an item...'
2. Updated grant wizard screenshot and documentation.
3. Remove '(Beta)' from ERD Tool and PSQL Tool.
2021-09-23 16:17:39 +05:30
Aditya Toshniwal 0e6794f2f5 Fixed issue where modified SQL not loading Unique Constraint dialog. Fixes #6772 2021-09-23 14:47:31 +05:30
Aditya Toshniwal 9179b7464b Fixed following issues after React Porting:
1. Unique constraint should not allow changing values for deferrable, deferred, included columns.
2. Primary keys should not allow changing values for deferrable, deferred, included columns.
3. Foreign keys should not allow changing match type. The referenced table name is empty.
4. Exclude - Column/Expression has incorrect values.
5. Save should not be enabled when Custom auto-vacuum is enabled but none of the parameters are edited.

Fixes #6777
2021-09-23 14:46:10 +05:30
Nikhil Mohite 15a494c189 Fixed review comments for Grant Wizard.
refs #6687
2021-09-23 14:40:38 +05:30
Aditya Toshniwal 19f0181756 Pin @material-ui/lab to 4.0.0-alpha.58, to fix build on Windows x64 2021-09-23 13:15:53 +05:30
Aditya Toshniwal 8d681d68d7 Pin material-ui to 4.11 as later versions have some problems. Test cases are also failing on the latest material-ui version. 2021-09-23 12:12:14 +05:30
Akshay Joshi 25c98f8054 Fixed API test case. 2021-09-23 12:09:24 +05:30
Aditya Toshniwal 78c8fbbe00 Fixed an issue where the Properties panel was not loaded for catalog tables. Fixes #6778 2021-09-23 10:42:50 +05:30
Nikhil Mohite f192be3667 Added flag to check before adding 'IF NOT EXISTS' and 'OR REPLACE' clause to the SQL. While creating any object the respective clause should not be added. 2021-09-22 19:14:19 +05:30
Nikhil Mohite 05ce3445b5 Fixed incorrect privileges value in Materialize View. Fixes #6781 2021-09-22 18:46:43 +05:30
Aditya Toshniwal a1aa080956 Fixed an issue where unable to change the column properties from edit dialog. Fixes #6766 2021-09-22 18:23:40 +05:30
Aditya Toshniwal a8c8ea69e3 Foreign Key fixes:
1. Auto FK related fixes.
2. Properties tab not showing columns.
3. Toggle button is editable even if set to read-only.
4. Dropdown placeholder should be blank for read-only/disabled.
5. Input control help text color on a dark theme.

Fixes #6770
2021-09-22 18:18:09 +05:30
Aditya Toshniwal fc86faf51e Changed the layout for tables from block layout to flex layout to fix the width of the columns as per the dialog size. 2021-09-22 18:11:50 +05:30
Akshay Joshi f538546c4d Fixed validation issue in Synonyms dialog. Fixes #6767 2021-09-22 13:34:11 +05:30
Akshay Joshi 71d7b14320 Remove unused files. 2021-09-22 13:12:46 +05:30
Pradip Parkale 7330b3520f Fixed jasmine test cases. 2021-09-21 17:42:18 +05:30
Akshay Joshi 6b100b60f8 Remove word break for dialog labels. 2021-09-21 17:15:53 +05:30
Aditya Toshniwal 08009f8edc 1) Make default values column read-only for inherited columns when creating table.
2) Default values not populated for inherited columns. The existing issue, API changed.
3) Options are not populated for Name in Column > Variable tab.
4) The empty check error message is changed from Label cannot be empty to Label in Collection cannot be empty for collections.

Fixes #6763
2021-09-21 16:56:29 +05:30
Akshay Joshi b60bd73f88 Fixed an issue where Refresh view options are not working for materialized view. Fixes #6736. 2021-09-21 16:48:10 +05:30
Aditya Toshniwal af230c812b Synchronises the column's primary key flag and primary key constraint. Fixes #6762 2021-09-21 15:27:48 +05:30
Aditya Toshniwal 5f104b0e0e Fixed an issue where ERD table dialog is failing to open after React Porting 2021-09-21 15:11:17 +05:30
Akshay Joshi 9bf0d0ace0 Set the nwjs version to '0.55.0' to fixed the blank screen issue, caused by the latest version on Windows 2016/2019 server. 2021-09-21 14:58:16 +05:30
Akshay Joshi 56a17f7c8e Fixed RESQL test cases for Partition table using COLLATE. 2021-09-20 20:10:24 +05:30
Akshay Joshi 522a92586a Added PG/EPAS 14 binary path entry in the preferences dialog. 2021-09-20 14:59:05 +05:30
Rahul Shirsat c142296f3f Fixed following issues for Type dialog:
1. Enum Type - Unable to delete rows for Enum type in Create Type dialogue.
2. Range Type - Loading icons are shown in different drop-down tabs.

Fixes #6744
2021-09-20 13:12:23 +05:30
Nikhil Mohite d27b4831d6 Fixed the issue where password field is showing as plain text. 2021-09-20 13:05:58 +05:30
Nikhil Mohite 7aa213a5ce 1) Port Grant Wizard to react. Fixes #6687
2) Fixed an issue where grant wizard is unresponsive if the database size is huge. Fixes #2097
2021-09-20 13:02:41 +05:30
Nikhil Mohite 44e770aa0b Updated query error row selection color as per dark theme style guide. Fixes #6723 2021-09-17 21:04:49 +05:30
Nikhil Mohite 99c99a9ce9 Ensure that in the Query History tab, query details should be scrollable. Fixes #3827 2021-09-17 21:01:24 +05:30
Rahul Shirsat 346ee6ba5f Fixed an issue where privileges not shown in catalog nodes for Properties tab. Fixes #6743 2021-09-17 20:50:29 +05:30
Aditya Toshniwal 32e97b6422 Fixed the CSS issue causing extra space at the bottom of maintenance backup dialog. 2021-09-17 20:47:03 +05:30
Rahul Shirsat f1c04096e5 Fixed an issue where the last message is not visible in the Debugger. Fixes #6713 2021-09-17 20:44:57 +05:30
Pradip Parkale 89d40d38d9 Fixed jasmine test cases. 2021-09-15 11:42:23 +05:30
Akshay Joshi 460c66ab3f Fixed an issue where the drop cascade button enables for Databases. Fixes #6724 2021-09-10 18:27:16 +05:30
Akshay Joshi 15c99ec9e7 Changed APP_SUFFIX and APP_VERSION_INT for testing upgrade scenario. 2021-09-10 12:01:05 +05:30
Akshay Joshi 4a0a4941af Correct the message in the release note. 2021-09-09 16:30:31 +05:30
Pradip Parkale dbf78bf214 Added support to create the Partitioned table should be created using COLLATE and opclass. Fixes #2546 2021-09-09 16:26:23 +05:30
Yogesh Mahajan 02ed2289e6 Fixed errors thrown for empty CSS files.
refs #6705
2021-09-09 16:10:09 +05:30
Rahul Shirsat 55e7e481d4 Fixed an issue where collapse and expand arrows mismatch in case of nested IF. Fixes #6712 2021-09-09 16:04:59 +05:30
Aditya Toshniwal f874276d0f Added some missing propTypes. 2021-09-09 15:57:17 +05:30
Akshay Joshi 1585e6b424 Fixed theme issue in server mode. 2021-09-09 14:10:37 +05:30
Akshay Joshi 103393fee6 Update release note for 6.0 2021-09-09 13:24:55 +05:30
Akshay Joshi eeff75ba20 Remove GPDB support completely. Fixes #6692 2021-09-09 13:09:53 +05:30
Aditya Toshniwal f7b8969c72 Stability and bug fixes for the react schema view framework. 2021-09-09 13:09:53 +05:30
Aditya Toshniwal 74cec6594e Port the partitions node. 2021-09-09 13:09:52 +05:30
Aditya Toshniwal af27af8d42 Integer and Numeric inputs fixes. 2021-09-09 13:09:44 +05:30
Aditya Toshniwal 73e1cbc0b9 Change the parse changes logic to get changes at any level of depth. 2021-09-09 13:09:42 +05:30
Aditya Toshniwal d62fba024b - Focus on first tab and first element on reset. - Move formErr to state context. 2021-09-09 13:09:42 +05:30
Aditya Toshniwal ae49b556ce - Properties tab should refresh if node is updated. - Error should be hierarchical and not just id based. 2021-09-09 13:09:41 +05:30
Aditya Toshniwal 2a76027cce - Fix codemirror cursor issue. - Fix foreign table jasmine test cases. 2021-09-09 13:09:30 +05:30
Pradip Parkale c8026873b4 Fixed code coverage and RESQL test cases for Cast, Publication and Subscription. 2021-09-09 13:08:11 +05:30
Akshay Joshi 7ffe71d12f Added support for OWNED BY clause for sequences. Fixes #4211 2021-09-09 13:07:53 +05:30
Aditya Toshniwal c02705c53c - Fix all the jasmine test case failures. - Show default value column in Table->Columns grid. Fixes #4353. 2021-09-09 13:06:24 +05:30
Pradip Parkale 2074534b72 Port Procedure and Function node to react. Fixes #6632 #6677 2021-09-09 13:06:24 +05:30
Aditya Toshniwal 27e446a0b0 Fixed following: - Dropdown selected menu color - CodeMirror render on properties tab - Placeholders on select control - Codemirror borders 2021-09-09 13:06:24 +05:30
Nikhil Mohite c35c72c551 Improve Foreign Table code coverage. 2021-09-09 13:06:24 +05:30
Akshay Joshi 4bfffa3806 Port FTS Configurations node to react. Fixes #6638 2021-09-09 13:06:24 +05:30
Nikhil Mohite 42eac6f846 Port Foreign Table node to react. Fixes #6678. 2021-09-09 13:06:24 +05:30
Aditya Toshniwal 261cec1d20 Port Table, Column, Primary key, Foreign key, Check constraint, Unique constraint, Exclusion constraint. 2021-09-09 13:05:57 +05:30
Rahul Shirsat 725d9b4bbf Port package and it’s child node to React. Fixes #6675 2021-09-09 13:04:42 +05:30
Akshay Joshi b7105093e2 1) Port Compound Trigger node to react. Fixes #6674 2) Remove 'inSchema' method and create a generic method 'inCatalog'. 2021-09-09 13:03:54 +05:30
Aditya Toshniwal 9274df0f11 - Fix Jasmine test cases failing in framework. - More stability fixes and enhancements. 2021-09-09 13:03:54 +05:30
Nikhil Mohite 351cb3e6ca Port Triggers node to react. Fixes #6672 2021-09-09 13:03:54 +05:30
Aditya Toshniwal bb5e2b98e9 Stability and bug fixes in schemaview react framework. 2021-09-09 13:03:54 +05:30
Rahul Shirsat e3992527fb Port Index node to react. Fixes #6661 2021-09-09 13:03:54 +05:30
Akshay Joshi 1b7a77f5cb Port pgAgent and it's child nodes to react. Fixes #6645 2021-09-09 13:03:54 +05:30
Aditya Toshniwal 1ce6c2aee1 Add the plain string component forgot last time. 2021-09-09 13:03:54 +05:30
Aditya Toshniwal 314fcabbeb Add plain string control with formatter. 2021-09-09 13:03:54 +05:30
Nikhil Mohite f742c5eb8a Port Role node to react. Fixes #6651 2021-09-09 13:03:54 +05:30
Aditya Toshniwal 0ddd053e88 Framework stability fixes. 2021-09-09 13:03:54 +05:30
Nikhil Mohite 169d8fa480 Port Trigger Functions node to react. Fixes #6665 2021-09-09 13:03:54 +05:30
Aditya Toshniwal 9bfef1f6e5 - Add feature to allow collection header form using CustomControl. - Framework stability and bug fixes. 2021-09-09 13:03:38 +05:30
Rahul Shirsat 08f2121544 Port Schema & Catalog node to react. Fixes #6655 2021-09-09 13:01:53 +05:30
Nikhil Mohite 40879a5784 Port RLS node to react. Fixes #6660 2021-09-09 13:01:53 +05:30
Nikhil Mohite 977d148c40 Port Rule node to react. Fixes #6659 2021-09-09 13:01:52 +05:30
Pradip Parkale 1f430227aa Port Subscriptions node to react. Fixes #6634 2021-09-09 13:01:52 +05:30
Akshay Joshi 8dac933a66 Fixed linter error in DateTimePicker control. 2021-09-09 13:01:18 +05:30
Rahul Shirsat 1e07ef13cf Port Types node to react. Fixes #6602 2021-09-09 13:01:18 +05:30
Akshay Joshi af0a24a5bc Added moment for DateTimePicker control. 2021-09-09 13:00:36 +05:30
Akshay Joshi 56ef085412 Added DateTimePicker control in React. 2021-09-09 13:00:36 +05:30
Aditya Toshniwal bcab0e3754 - Fix jasmine test cases. - Unregister listener when row removed in DataGrid. 2021-09-09 13:00:36 +05:30
Nikhil Mohite 10d8135dcc Port Materialized View node to react. Fixes #6592. 2021-09-09 13:00:36 +05:30
Nikhil Mohite 6021e07761 Revisit all the CREATE and DROP DDL's to add appropriate 'IF EXISTS', 'CASCADE' and 'CREATE OR REPLACE'. Fixes #5741 2021-09-09 13:00:35 +05:30
Aditya Toshniwal f6ac0d5877 Handle null in note. 2021-09-09 13:00:33 +05:30
Aditya Toshniwal 1810d810d8 Few more UI changes for Note. 2021-09-09 13:00:33 +05:30
Aditya Toshniwal 0998ddefa2 Add package and lock files for html-react-parse. 2021-09-09 13:00:33 +05:30
Aditya Toshniwal 82ca5145c2 Add the note control. 2021-09-09 13:00:33 +05:30
Aditya Toshniwal 377fe80046 - Add VaccumSettings schema. - Allow collection to have fixed rows. - Changes in data change comparison and add state utils context. - Fixed jasmine test cases. 2021-09-09 13:00:33 +05:30
Akshay Joshi eb48765a5a 1) Fixed 'Material-UI: You are providing a disabled button child to the Tooltip' 2) Fixed InputToggle value issue. 3) Fixed jasmine test for Language. 4) Remove unused code from the view node. 2021-09-09 13:00:03 +05:30
Aditya Toshniwal 09db3ddd5c Use isFullTab instead of noLabel for full space code field spec. 2021-09-09 13:00:03 +05:30
Akshay Joshi 39765903d4 Port Tablespace node to react. Fixes #6644. 2021-09-09 13:00:03 +05:30
Nikhil Mohite d9cfbf592e Port View node to react. Fixes #6637 2021-09-09 12:59:26 +05:30
Akshay Joshi 6d18842dd3 Port Domain and Domain Constraints node to react. Fixes #6330 2021-09-09 12:59:26 +05:30
Akshay Joshi 438d591d5b Port FTS Dictionaries node to react. Fixes #6636 2021-09-09 12:59:26 +05:30
Pradip Parkale c474ca2c5f Port Publications node to react. Fixes #6610 2021-09-09 12:55:56 +05:30
Akshay Joshi be04bea2b6 Port Resource Group node to react. Fixes #6629 2021-09-09 12:55:56 +05:30
Aditya Toshniwal 5db72a6916 - Some UI changes based on review comments. - Fix the numeric type. 2021-09-09 12:55:56 +05:30
Aditya Toshniwal 453f26817a Check if type is string for nested type changes parsing. 2021-09-09 12:55:55 +05:30
Aditya Toshniwal 51c11a21fa Fieldset changes should be included. Fix linter errors. 2021-09-09 12:54:25 +05:30
Aditya Toshniwal cd9e37bac5 Fix typo in fieldsetview also. 2021-09-09 12:54:25 +05:30
Aditya Toshniwal 3d7450b308 - Fix typo modeSupported. - Add support for collection conditional visibility. 2021-09-09 12:54:25 +05:30
Aditya Toshniwal 48176ea986 Add support for nested-fieldset control. 2021-09-09 12:54:25 +05:30
Pradip Parkale 621426ac55 Port Language node to react. Fixes #6581 2021-09-09 12:52:54 +05:30
Aditya Toshniwal 5d8eeba0dd Fix linter issues in previous commit. 2021-09-09 12:50:32 +05:30
Yogesh Mahajan 6fe83d1f06 Port Collation node to react. Fixes #6584. 2021-09-09 12:50:32 +05:30
Aditya Toshniwal a06f78b2d5 - Introduce deps listener context and move the old code. - Add support for deffered deps change - deferredDepChange. - Changes for canEditRow and canDeleteRow. - Select the tab again on visible if it is rendered when hidden. - It is helpful to show the error footer in SQL tab also. - Fix isEmptyString. 2021-09-09 12:50:32 +05:30
Akshay Joshi 5c1ce23780 Port Synonyms node to react. Fixes #6599 2021-09-09 12:50:32 +05:30
Aditya Toshniwal 47855eae0b Allow node ajax functions to send URL params. 2021-09-09 12:50:32 +05:30
Akshay Joshi 5dd1ada8dd Fixed linter error. 2021-09-09 12:50:32 +05:30
Pradip Parkale c94fc73c11 Port Cast node to react. Fixes #6566. 2021-09-09 12:50:32 +05:30
Akshay Joshi d846ae64ea Port Sequences node to react. Fixes #6598 2021-09-09 12:50:32 +05:30
Rahul Shirsat f16b18371e Port FTS Template, FTS Parsers nodes to react. Fixes #6587. 2021-09-09 12:48:58 +05:30
Akshay Joshi 4b8e655948 Port Foreign Data Wrapper, Foreign Server and User Mapping nodes to react. Fixes #6583 2021-09-09 12:48:24 +05:30
Aditya Toshniwal 79e1b0c5d8 Added field key - optionsReloadBasis to allow options to be re-loaded. Add formatters to select and input control. 2021-09-09 12:44:37 +05:30
Aditya Toshniwal de3f3e6e61 Fix jasmine test case failures in SchemaView. 2021-09-09 12:44:37 +05:30
Nikhil Mohite 793dbc6e7f Port Event Triggers node to react. Fixes #6578 2021-09-09 12:44:37 +05:30
Khushboo Vashi d1e823bf39 Informative error should be shown if Oauth2 profile does not have email id registered. Fixes #6590 2021-09-09 12:44:37 +05:30
Aditya Toshniwal 873deaa92d Changed getNodeListByName to add params obj in parameters. 2021-09-09 12:40:54 +05:30
Nikhil Mohite 78ac1ee69c Port Catalog Object node to react. Fixes #6569 2021-09-09 12:40:54 +05:30
Yogesh Mahajan 5a27961102 Port Extension node to react. Fixes #6582 2021-09-09 12:40:53 +05:30
Khushboo Vashi 3786954a65 Added support for OAuth 2 authentication. Fixes #5940
Initial patch sent by: Florian Sabonchi
2021-09-09 12:40:53 +05:30
Aditya Toshniwal bd5536dbf9 Fix linter errors in previous commit. 2021-09-09 12:27:42 +05:30
Aditya Toshniwal 6b9e8c3039 Fixes for expanded table row form control. 2021-09-09 12:27:42 +05:30
Aditya Toshniwal 9d33b03be9 Few more changes to core schema framework required by other nodes. 2021-09-09 12:22:05 +05:30
Akshay Joshi 351928a1e0 Fixed minor issue with merging 2021-09-09 12:20:59 +05:30
Aditya Toshniwal b20558cb99 Some changes to the core code that will be helpful for other nodes. 2021-09-09 12:20:59 +05:30
Aditya Toshniwal 764677431f Added React framework for the properties dialog and port Server Group, Server, and Database dialogs.
Following changes done for the framework:
 - Framework for creating React based dynamic form view out of a pre-defined UI schema. Previously, it was based on Backform/Backbone.
 - The new framework and components will use MaterialUI as the base. Previously, Bootstrap/Backform/jQuery components were used.
 - The new code uses JSS instead of CSS since material UI and most modern React libraries also use JSS. In the future, this will allow us to change the theme in real-time without refresh.
 - 90% code covered by 80-85 new jasmine test cases.
 - Server group node UI Schema migration to new, with schema test cases.
 - Server node UI Schema migration to new, with schema test cases.
 - Database node UI Schema migration to new, with schema test cases.
 - Few other UI changes.

Fixes #6130
2021-09-09 12:20:59 +05:30
Akshay Joshi a10b0c7786 Revert the minimum window size of the NWjs and set the width and height to 1024x768. 2021-09-06 21:45:40 +05:30
Akshay Joshi a72bae9e2f Update version for release. 2021-09-06 19:23:02 +05:30
Nikhil Mohite f91908f627 Resolve the issue related to the close query tool panel with the save query tool changes.
refs #6710
2021-09-06 19:17:16 +05:30
Aditya Toshniwal c5ad2c03a2 Set the minimum window size of the NWjs desktop app to be 1024x768. 2021-09-06 19:07:28 +05:30
Identifier Anonymous 6decb4cb4a Update Japanese translation. 2021-09-06 10:32:12 +05:30
Domenico Sgarbossa 1ad59057d8 Update Italian translation. 2021-09-06 10:25:36 +05:30
Libor M cfb20048bb Update Czech translation. 2021-09-06 10:24:00 +05:30
Fred Escallier 92539589d8 Update French translation. 2021-09-06 10:22:20 +05:30
Akshay Joshi b8739baef4 Update message catalog. 2021-09-03 20:15:18 +05:30
Akshay Joshi fcfe7fae54 Fixed an issue where whitespace in function bodies was not applied while generating the script using Schema Diff. Fixes #6620 2021-09-02 14:51:50 +05:30
Rahul Shirsat a2c1aa2c4c Make closing tabs to be smarter by focusing on the appropriate tab when the user closed a tab. Fixes #6625 2021-09-02 11:36:10 +05:30
Akshay Joshi a9ff5c799e Ensure that pgAdmin should not fail at login due to a special character in the hostname. Fixes #6704 2021-09-01 15:36:37 +05:30
Aditya Toshniwal 173517985e Avoid a potential conflict with jquery.drag and use addEventListener to bind events. 2021-09-01 15:02:20 +05:30
Nikhil Mohite 87c86beb38 Fixes RESQL test cases. 2021-08-31 16:21:32 +05:30
Nico Rikken d13d2c6dda Introduced OAUTH2_SCOPE variable for the Oauth2 scope configuration. Fixes #6627 2021-08-31 14:36:14 +05:30
Nikhil Mohite 620e3a803d Fixed an issue where Revoke all is not displayed if the user change privilege.
refs #4567
2021-08-31 14:08:56 +05:30
Akshay Joshi 4e0bd557d9 Increase the width of the user management dialog. 2021-08-31 14:06:03 +05:30
Nikhil Mohite 7deda52bd9 Fixed an issue where multiple query tool tabs getting closed for the single close event. Fixes #6710 2021-08-30 16:59:46 +05:30
Nikhil Mohite 22f20a38ec Fixed an issue where the user can not paste the updated table header in safari 12 and 13 browsers. Fixes #4815 2021-08-30 14:46:42 +05:30
Nikhil Mohite b764046587 Fixed an issue where privileges were revoked using SQL query on objects like tables that do not correctly show in SQL tab. Fixes #4567 2021-08-27 12:54:14 +05:30
Aditya Toshniwal d38f520805 Added support for the truncate table with restart identity. Fixes #2538 2021-08-27 12:41:29 +05:30
Aditya Toshniwal 56e2af9efc Fixed test case failures. 2021-08-26 15:01:26 +05:30
Yogesh Mahajan 51d73b1672 Fixed errors related to HTML tags shown in the error message for JSON editor. Fixes #6668 2021-08-26 14:54:51 +05:30
Aditya Toshniwal 092f830c3c Fixed blank screen issue on windows and also made changes to use NWjs manifest for remembering window size. Fixes #6419 2021-08-26 11:19:15 +05:30
Nikhil Mohite b30a42ab9e Ensure that deleting a database should not automatically connect to the next database. Fixes #6685 2021-08-25 17:01:48 +05:30
Aditya Toshniwal c543930ac4 Fixed RESQL test cases. 2021-08-25 16:56:12 +05:30
Aditya Toshniwal c6f9d447f7 Fixed failed test cases. 2021-08-25 11:10:45 +05:30
Nikhil Mohite 737bc6a965 Ensure that the lock panel should not be blocked for larger records. Fixes #6570 2021-08-25 11:05:28 +05:30
Aditya Toshniwal e39838455e Ensure that trigger function SQL should have 'create or replace function' instead of 'create function' only. Fixes #5849 2021-08-24 18:23:32 +05:30
Aditya Toshniwal 94b40775a1 Allow the referenced table to be the same as the local table in one to many relationship for ERD Tool. Fixes #6495 2021-08-24 18:19:03 +05:30
Aditya Toshniwal 7efef73ff7 Added database and server information on the Maintenance process watcher dialog. Fixes #4629 2021-08-24 17:10:16 +05:30
Aditya Toshniwal 8bf1c96065 Fixed the export image issue where relation lines are over the nodes. Fixes #6531 2021-08-24 17:05:23 +05:30
Yogesh Mahajan c7fd1ae535 Enables pgAdmin to retrieve user permissions in case of nested roles which helps to terminate the session for AWS RDS. Fixes #6641 2021-08-24 17:01:06 +05:30
Nikhil Mohite 008a458fe9 Fixed width limitation issue in PSQL tool window. Fixes #6544 2021-08-23 16:23:30 +05:30
Aditya Toshniwal fbc6c30b62 Set PSQLRC and PSQL_HISTORY env vars to apt. user storage path in the server mode. Fixes #6691 2021-08-23 16:19:01 +05:30
Aditya Toshniwal c64eb3507c Make code folding case insensitive in the code mirror. Fixes #4264 2021-08-23 16:16:20 +05:30
Yogesh Mahajan 1b33c52eac Fixed the JSON editor issue of hiding the first record. Fixes #6684 2021-08-20 13:47:31 +05:30
Akshay Joshi accc941818 Fixed no attribute '_asdict' error when connecting the database server. Fixes #6663 2021-08-20 13:47:31 +05:30
Dave Page 0c20466f2c Assume yes to prompts. 2021-08-19 17:09:58 +01:00
Dave Page c4cf6372e3 README cleanup 2021-08-19 13:48:06 +01:00
Akshay Joshi 3e4b5fd0d7 Renamed 'Auto rollback?' to 'Auto rollback on error?'. Fixes #6682 2021-08-19 15:30:58 +05:30
Akshay Joshi 3f3416c13e Fixed UnboundLocalError where local variable 'user_id' referenced before assignment. Fixes #6671 2021-08-19 15:06:16 +05:30
Akshay Joshi 7798584e1c Fixed an issue where columns with sequences get altered unnecessarily with a schema diff tool. Fixes #6564 2021-08-18 19:33:01 +05:30
Akshay Joshi d59063d79f Correct the description in the release note. 2021-08-17 18:15:35 +05:30
Yogesh Mahajan a6edfb498f Partially fixes the data output panel display issue. Fixes #6572 2021-08-17 17:22:08 +05:30
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
Libor M fe264aafa7 Update Czech translation. 2020-04-28 11:04:43 +05:30
Khushboo Vashi 88aebb64f9 Fixed failed to fetch utility error when click on refresh(any option) materialized view. Fixes #5447
It's a regression of #5213
2020-04-28 11:00:23 +05:30
Akshay Joshi 6d1f67f3be Reverting patch to remove Python 2.7 support from wheel package to avoid any issue before 4.21 release. 2020-04-27 21:43:35 +05:30
Akshay Joshi 50a423b142 Update version for release. 2020-04-27 21:23:51 +05:30
Dave Page b716800474 Remove Python 2.7 support from the wheel package. 2020-04-27 21:20:43 +05:30
Aditya Toshniwal b695329d2d Fixed API test cases for backup, restore and maintenance. 2020-04-27 21:17:34 +05:30
Abhilasha Narendra fbee63085c Documentation of LDAP authentication support. Fixes #5348 2020-04-27 20:28:39 +05:30
Aditya Toshniwal 99d1068f70 Fixed an issue where the search object not able to locate pg_toast_* tables in the pg_toast schema. Fixes #5441 2020-04-27 19:51:56 +05:30
Pradip Parkale 18748846ef Fixed the regression where initial changes make the Save button enabled when the table dialog is opened. Fixes #4504 2020-04-27 18:48:44 +05:30
Satish V b80784f5a1 Fixed an issue where the user should not be able to add columns in the creation order after 50 columns.
Regression of the initial patch.

Fixes #5043
2020-04-27 18:01:09 +05:30
Murtuza Zabuawala 76eb3e9b67 Fixed an issue when the user performs refresh on a large size materialized view. Fixes #5213 2020-04-27 17:30:23 +05:30
Khushboo Vashi 0f6abcc7fa Fixed an issue where the user is not able to create a server if login with an LDAP account. Fixes #5439
Improved LDAP error messages.
2020-04-27 15:33:19 +05:30
Fred Escallier ed106e3577 Update French translation. 2020-04-27 13:52:13 +05:30
Domenico Sgarbossa 3c9aed4d6f Update Italian translation. 2020-04-27 13:50:31 +05:30
Yogesh Jain 9daa7c7a7c Added title to the login page. Fixes #5430 2020-04-27 12:38:11 +05:30
Dave Page b7dad25d3e We support Python 3.8 2020-04-24 16:20:25 +01:00
Dave Page 64a26b560b Cleanup build log output by removing unnecessary files in a nicer way. 2020-04-24 15:07:50 +01:00
Dave Page d5bfc726c0 Ignore the pre-compiled resources. 2020-04-24 14:56:46 +01:00
Akshay Joshi 0dcb448f2e Update library inventory. 2020-04-24 18:28:29 +05:30
Akshay Joshi ccafde604e Update message catalogs. 2020-04-24 18:24:00 +05:30
Pradip Parkale ef58d277ca Fixed an issue where like options should be disabled if the relation is not selected while creating a table. Fixes #4504 2020-04-24 18:22:11 +05:30
Akshay Joshi 6642860d51 Remove the 'Beta' word from the Dark Theme. 2020-04-24 16:52:39 +05:30
Aditya Toshniwal aec64aa582 Fixed following issues for 1257:
1. For synonyms, the property is shown as "Public Synonym".
 2. For system procedure, the flag should be True but it is displaying as False.
 3. For both views and materialized views, the property is "System View".
 4. For FTS templates, the property is showing as "System FTS Parser".

Fixes #1257
2020-04-24 16:35:59 +05:30
Akshay Joshi 6de1d3f7de Fixed feature test.
Pass the row height to the function instead of making the
decision onthe basis of whether it is a new row or not.
2020-04-24 13:16:18 +05:30
Aditya Toshniwal 90849fe29b Fixed mouse click issue where it does not select an object in Browser unless the pointer is over the object. Fixes #4180 2020-04-24 11:32:11 +05:30
Nagesh Dhope 17129b259b Reverting patch for RM #3269.
We observed that sometimes the browser is getting hanged and sometimes
the ViewData grid is getting disappear. We suspect its due to the number
of rows to update on the slick grid after fetching next of rows.
2020-04-24 11:13:13 +05:30
Aditya Toshniwal dfb74904ed Ensure all object types have a System XXX? property. Fixes #1257 2020-04-23 17:31:40 +05:30
Akshay Joshi 2b5c90e379 A warning message will be displayed only when the package header is changed for EPAS packages. Fixes #5410 2020-04-23 17:14:01 +05:30
Satish V 2e29f3fd6d Fixed an issue where columns names should be visible in the order of their creation in the browser tree. Fixes #5043 2020-04-23 16:42:42 +05:30
Ashesh Vashi 637c80c38b Recreate the node item in the tree, when 'id' has been changed of the node.
Fixes #5053
2020-04-23 11:11:15 +05:30
navnath gadakh c76732e3e7 Ensure that default sort order should be using the primary key in View/Edit data. Fixes #5157 2020-04-22 18:47:13 +05:30
Neel Patel 870bcbd932 SVG image format plugin is added to render the image file from stylesheet. And also removed the theme components staging files used during windows and Mac bundling. 2020-04-22 18:47:13 +05:30
Khushboo Vashi b0464500ca Ensure that the user should not be able to change the authentication source. Fixes #5419
Ensure error should be handled properly when LDAP user is created with the same name. Fixes #5420
Fixed an issue where an internal user is not created if the authentication source is set to internal and ldap. Fixes #5432
2020-04-22 18:47:13 +05:30
Nagesh Dhope 5e91ed2bb1 Fixed slider jump issue by making an API call to fetch the next batch of rows only after a user stops scrolling down. Fixes #3269 2020-04-22 18:47:13 +05:30
Khushboo Vashi 6e5dbf7beb Added multiple drop/delete functionality for the table constraints. Fixes #3900 2020-04-22 18:47:13 +05:30
Yogesh Jain 553eeb034d Fixed tooltip crop issue for the large complex query with zoom factor. Fixes #5352 2020-04-22 18:47:13 +05:30
Ashesh Vashi 858294f36e Fixed validation errors in view/materialized view javascript to
determine the number columns chagned. It was trying to execute
'replace' and 'includes' function on undefined values instead of
string value.

Also - changed the warning message, and separated the 'Do you want to
continue?' syntax in separate line for better user experience.

Fixes #5053
2020-04-22 17:19:18 +05:30
Akshay Joshi 4c616f32eb 1) Fixed feature test and API test cases.
2) Added logic to exclude RESQL test cases.
2020-04-22 13:57:32 +05:30
Nagesh Dhope b29bc6868c Fixed an issue where [null] and [default] values are not get copied. Part of #3947 2020-04-22 12:08:52 +05:30
Neel Patel 07f72252d7 Added job step and job schedule disable icons to identify it quickly within the browser tree. Fixes #4636
Add Reverse Engineered and Modified SQL tests for pgAgent jobs. Fixes #4623
Fixed modified SQL issue while adding an exception in pgAgent job schedule. Fixes #5356
2020-04-21 17:00:21 +05:30
Akshay Joshi f289dfb762 Fixed following issues for packages:
1) Removing the package header removes the body as well.
  2) Schema is not visible on the properties dialog.
  3) Reverse engineering SQL and Create script not showing schema-qualified packages.

Fixes #5410
2020-04-21 16:49:23 +05:30
Nagesh Dhope 8d4f3c07c7 Fixed an issue where slider jumps up when new rows get loaded while scrolling down in the DataView panel in the query tool. Fixes #3269 2020-04-21 13:29:49 +05:30
Yogesh Jain 7e30a99937 Fixed the rightmost and bottom tooltip crop issues in the explain query plan. Fixes #5352 2020-04-21 13:14:26 +05:30
Pradip Parkale 3d516101a4 Fixed an issue wherein grant wizard the last object is not selectable. Fixes #4545 2020-04-21 13:09:15 +05:30
Neel Patel b0b60da84a Fixed an issue where the checkbox is not visible on Configuration dialog in runtime for the dark theme. Fixes #5402 2020-04-20 19:16:32 +05:30
Aditya Toshniwal 05abb9e430 Ensure that the query tool context menu should work on the collection nodes. Fixes #5415 2020-04-20 18:50:20 +05:30
Aditya Toshniwal dc4571a3c8 Fixed search object issue when the object name contains special characters. Fixes #5401 2020-04-20 18:40:40 +05:30
Aditya Toshniwal 7361470b64 Fixed an issue where the search object module unable to locate the object in the browser tree. Fixes #5396 2020-04-20 18:27:36 +05:30
Amol Vyavahare f282b26883 Fixed an issue when the user creates a temporary table with 'on commit drop as' clause. Fixes #4946 2020-04-20 18:22:34 +05:30
Akshay Joshi 4692b21bcf Fixed an issue where schema diff marks an identical table as different. Fixes #5350
Fixed an issue where schema diff showing changes in the identical domain constraints. Fixes #5315

Ignore the keys from the source and target list and also sort both the lists.
2020-04-20 18:04:16 +05:30
Libor M 36a3d4e53b Some more gettext() usage fixes:
- fixed `%` vs. `.format()`
  - unified texts and usage `%s` vs. `{}`/`{0}`
  - improved text sentences for translate
  - added gettext for next texts
2020-04-20 11:19:09 +05:30
Nagesh Dhope 8bdfa18efb Ensure that if the delimiter is set other than comma then download the file as '.txt' file. Fixes #4573 2020-04-17 17:37:02 +05:30
Yogesh Jain 52d031f2d0 Fixed encoding issue while saving data in encoded charset other than 'utf-8'. Fixes #4684 2020-04-17 16:30:22 +05:30
Akshay Joshi d8ad0b8faf Fixed validation issue in Synonyms node. Fixes #5409 2020-04-17 14:50:38 +05:30
Akshay Joshi c6deb9393c Fixed an issue while removing the package body showing wrong modified SQL. Fixes #5410 2020-04-17 13:06:07 +05:30
Murtuza Zabuawala d35433d0b8 Fixed an issue where the query tool unable to load the file which contains the BOM marker. Fixes #3495 2020-04-17 12:40:09 +05:30
Nagesh Dhope 0ce4f49e08 Fixed copy-paste row issues in View/Edit Data. Fixes #3947
1) Copy table rows across two or more active query tool sessions.
  2) Copied rows can be pasted multiple times without selecting a row in the query tool grid.
  3) Adds an empty row at the end in the query tool grid after pasting rows.
2020-04-16 15:25:39 +05:30
Aditya Toshniwal dc1e32a632 Fixed internal server error when the database server is logged in with non-super user. Fixes #5400 2020-04-16 15:05:17 +05:30
navnath gadakh c0a2f1f24d Ensure that text larger than underlying field size should not be truncated automatically. Fixes #5210 2020-04-16 14:39:31 +05:30
Akshay Joshi 0dd1cb3fc1 Fixed documentation error. 2020-04-16 13:48:26 +05:30
Murtuza Zabuawala eec2cfd5dd Fixed an issue where the Mode cell of argument grid does not appear completely in the Functions dialog. Fixes #5375 2020-04-16 13:16:07 +05:30
Shubham Agarwal d6cab7b421 Ensure the DROP statements in reverse engineered SQL are properly quoted for all objects. Fixes #4440 2020-04-16 13:06:50 +05:30
Libor M 8254e9f030 Some minor gettext and format fixes. 2020-04-16 12:55:19 +05:30
Ganesh Jaybhay 7493649893 Added schema-qualified dictionary names in FTS configuration to avoid confusion of duplicate names. Fixes #4709 2020-04-16 12:47:00 +05:30
Khushboo Vashi 738c421edf Ensure that Constraint Trigger, Deferrable, Deferred option should be disabled when the user selects EDB-SPL function for the trigger. Fixes #4957 2020-04-16 12:38:20 +05:30
Murtuza Zabuawala c41da41efe Fixed python exception error when user tries to download the CSV and there is a connection issue. Fixes #4858 2020-04-15 16:46:03 +05:30
Khushboo Vashi ed0a596286 Added alert message to Reset Layout if any of the panels from Query Tool failed to load. Fixes #5366 2020-04-15 16:23:54 +05:30
Aditya Toshniwal 31a929388b Make changes to use gettext() function correctly. 2020-04-15 16:23:17 +05:30
Aditya Toshniwal 0424f7d962 Fixed following issues for Procedures:
1) Change comments on the procedure with arguments as a procedure can be overloaded.
     Note that on EPAS servers, procedure overloading works only for v11+.
  2) The save button of a procedure dialog is enabled without any change.
  3) Fixed formatting of the reverse-engineered SQL.
  4) On EPAS servers, the parameters set were not displayed in the SQL generated.
     They are visible only if set to edbsql.
  5) Changing the volatility option of any existing procedure was not working.
  6) Changing the parallel option (EPAS v9.6+) was not working.
  7) Added RE-SQL test cases for procedures.

Fixes #4620, Fixes #4873
2020-04-15 13:54:17 +05:30
Shubham Agarwal 8654d6cf43 Fixed an issue where the mode is not shown in the properties dialog of functions/procedures if all the arguments are IN arguments. Fixes #5387 2020-04-15 12:33:54 +05:30
Neel Patel 25553b11ed Correct the build script whereby mistake we have removed the theme components from the source tree while building. 2020-04-15 11:28:18 +05:30
Dave Page 74b3495542 Warn the user if an unsupported, deprecated or unknown browser is detected. Fixes #5399 2020-04-14 21:15:02 +05:30
Neel Patel ee29e64039 Fixed Mac OSX build by adding the prefix in qrc file. 2020-04-14 20:23:32 +05:30
Ashesh Vashi 3a4641889c Using 'is_valid_ipaddress' utility function everywhere 2020-04-14 18:51:48 +05:30
Ashesh Vashi d9c84edf9a A valid ip address can be IPv4/IPv6 2020-04-14 18:45:45 +05:30
Ashesh Vashi a930c6617b Merged adjustanct 'if' statements when allowed.
Also - removed the unused variables.
2020-04-14 18:43:04 +05:30
Ashesh Vashi 6c5883bce0 We don't need to pass gettext for inline CSS transforation 2020-04-14 18:43:04 +05:30
Ashesh Vashi 414e336852 [Authentication] Some of the base class functions are not static
function, but - methods. Hence - 'self' should be used, and not 'cls'.

Also - use a constant for duplicate string literal in LDAP
authentication implementation.
2020-04-14 18:43:04 +05:30
Ashesh Vashi d226ffbd1f [Foreign Key] Removed 1 unexpected arguments; 'get_node_list' expects
5 positional arguments.

Also,
- Using 'gettext' instead of '_'.
- Using constant string for 'foreign_key not found' error message.
2020-04-14 18:40:15 +05:30
Neel Patel 65bc196eba Fix the bundling issue of dark mode runtime support for Windows and Mac. 2020-04-14 15:19:39 +05:30
Ganesh Jaybhay 12530cd973 Ensure index dropdown should have existing indexes while creating unique constraints. Fixes #5007 2020-04-14 14:02:33 +05:30
Khushboo Vashi a0fcb38e68 Fixed syntax error while refreshing the existing synonyms. Fixes #5383 2020-04-14 13:43:56 +05:30
Pradip Parkale a05acb4f99 Fixed tab key navigation for some dialogs. Fixes #5371 2020-04-14 13:32:03 +05:30
Neel Patel 21cb1a0166 Fix the typo in the test configuration json file. 2020-04-14 13:07:27 +05:30
Shubham Agarwal 41521a9b98 Ensure all object names in the title line of the reverse-engineered SQL are not quoted. Fixes #4445 2020-04-14 13:02:58 +05:30
Akshay Joshi 781b766ac4 Fixed an issue where difference SQL is not seen in the schema diff tool for Types. Fixes #5302 2020-04-13 20:24:12 +05:30
Akshay Joshi df11f28593 Fixed an issue where the identical packages and sequences visible as different in the schema diff tool. Fixes #5362 2020-04-13 18:06:20 +05:30
Khushboo Vashi 030741bba5 Modified some logic for the EPAS server as the user can change the view definition without dropping it. Fixes #5053 2020-04-13 16:00:01 +05:30
Dave Page 41be5479af Added dark mode support for the configuration dialog on Windows/macOS runtime. Fixes #4292
Detects dark mode at server start and styles the runtime accordingly.

Patch modified by: Neel Patel
2020-04-13 13:22:00 +05:30
Neel Patel 9c93e93cb4 Make the configuration window in runtime to auto-resize. Fixes #4864 2020-04-13 13:09:26 +05:30
Aditya Toshniwal b427a87724 Fixed an issue where changing the values of columns with JSONB or JSON types to NULL. Fixes #4969 2020-04-13 12:34:32 +05:30
Aditya Toshniwal 077589e08b Fixed an issue where right-clicking a browser object does not apply to the object on which right-click was fired. Fixes #3523
Fixes keyboard navigation on the context menu applied to browser tree.
2020-04-10 17:34:57 +05:30
Murtuza Zabuawala 4de6b93ba8 Ensure that the password prompt should not be visible if the database server is in trust authentication mode. Fixes #2813 2020-04-10 17:03:04 +05:30
Aditya Toshniwal 014ce31589 Fixed user management related issues:
1) Unable to add a user when there are many users. The dialog went blank. Fixed.
 2) The error message did not have a close button. Fixed.
 3) When clicked on the add button, then the cursor will focus on the email box of
    the new row for convenience.
 4) When the dialog opens, the cursor will focus on the search text box.
 5) By default, the "User" role will be selected when adding a new user.
    Also removed an empty option in the roles dropdown.
 6) When the search filter is applied and we try to add an already existing user, the
    validation is done only on the filtered data and not on all the users' data. 

Fixes #5227
2020-04-10 16:49:33 +05:30
Nagesh Dhope d9574f3caa Fixes following OSX native keyboard shortcuts in Query Tool:
1) option+arrow (L/R) should skip by "word"
  2) option+arrow (up/down) should go up/down one line
  3) shift+option+arrow (L/R) should select/highlight by "word"
2020-04-10 15:21:56 +05:30
Libor M 6a9af07f7a Fixed gettext usage:
- fixed gettext usage with .format() only for original text with %s
  - fixed typos
  - fixed translation yes/no buttons in the dialog.
  - improved translating sentences without "connecting" words (eg. see web/pgadmin/dashboard/static/js/dashboard.js,
     word 'cancel' needs to be translated in the Czech language as 'zrušit' but in another sentence as 'zrušení')
  - added gettext for text translations.
2020-04-10 14:52:41 +05:30
Khushboo Vashi e238ecf182 Ensure that OID should be shown in properties for Synonyms. Fixes #5270 2020-04-10 13:19:52 +05:30
Akshay Joshi c8646f99c0 Fixed typo 2020-04-09 21:46:47 +05:30
Akshay Joshi 31f255b541 Added support of Foreign Tables to the Schema Diff. Fixes #5263 2020-04-09 21:03:28 +05:30
Akshay Joshi fecf3915c5 Fixed API/RESQL test cases for View/MView failed due to #5053 commit. 2020-04-09 21:03:28 +05:30
Ashesh Vashi 8a550b569f Fixed expected output status code, as 410 should be the status code
for the object (CAST) not exists in the database server.
2020-04-08 16:51:53 +05:30
Ashesh Vashi 1a34f61b24 Moved the ip-address check functionality to a separate file to improve
the maintainability of the code.
2020-04-08 16:50:14 +05:30
Ashesh Vashi 775e61c248 Fixed pep8 issue 2020-04-08 14:34:34 +05:30
Ashesh Vashi aa7ced4ef1 Fixed a typo in previous commit 2020-04-08 14:30:29 +05:30
Ashesh Vashi d9f6baac72 Various misc fixes:
- Using the 'gettext' as oppose to '_', which is not defined
- Define missing variables
- Fixed escape character in string with double quote
- Removed some dead code in a test case
- Removed unnecessary self assignment

Includes some fixes for Accessibility improvements
- Use semantic markup to mark emphasized or special text
- Added hidden legend in <fieldset> for better screen reader support
2020-04-08 14:14:25 +05:30
Ashesh Vashi 8fe687eb55 [Rules] Removing unnecessary 'if' condition 2020-04-08 13:14:14 +05:30
Ashesh Vashi 6c693d158e [Exclusion Constraint] Fixed an typo - it should have been assignment 2020-04-08 13:05:28 +05:30
Ashesh Vashi 6b3e1f1e65 [TABLES] Do not assign the paramter values, use separate variable for new value 2020-04-08 13:04:24 +05:30
Ashesh Vashi 8fe344c268 [EDB Package Functions] [Functions] Fixed typos:
- 'gettext' should be used as '_' is not defined
    - Identical expressions should not be used on both sides of a binary operator.
2020-04-08 13:02:37 +05:30
Ashesh Vashi c7afa30d0c [Packages] Fixed a typo 2020-04-08 13:00:49 +05:30
Ashesh Vashi 14f21921bb [Functions] Fixed typos:
- 'gettext' should be used as '_' is not defined
- Identical expressions should not be used on both sides of a binary operator.
2020-04-08 13:00:01 +05:30
Ashesh Vashi 29ae6dfbf6 [FTS Configuration] Fixed an typo - it should have been assignment 2020-04-08 12:56:51 +05:30
Ashesh Vashi a6c03a6b75 [Domain] Existing expression will expression will always result into false 2020-04-08 12:54:37 +05:30
Ashesh Vashi 068b812245 [COLLATIONS] Do not assign the paramter values, use separate variable for new value 2020-04-08 12:53:48 +05:30
Ashesh Vashi a84a62def8 Using the 'gettext' as oppose to '_', which is not defined in these
files.
2020-04-08 12:34:57 +05:30
Ashesh Vashi 7f0847b95d Using the 'gettext' as oppose to '_', which is not defined in the file 2020-04-08 12:29:11 +05:30
Ashesh Vashi 073e310a5a [Accessibility] Use semantic markup to mark emphasized or special text.
Reference: https://www.w3.org/TR/WCAG20-TECHS/H49.html
2020-04-08 12:27:18 +05:30
Ashesh Vashi d9e95d13e6 [LDAP Authentication] Use more secure protocol TSL v1.2 for security reason 2020-04-08 11:57:01 +05:30
Khushboo Vashi f4607885e1 Fixed an issue where changing the columns in the existing view throws an error. Fixes #5053
PostgreSQL doesn't allow to change the view columns. So the view should be dropped first
and then recreate it and also the user will get a warning first.
2020-04-08 11:29:03 +05:30
Aditya Toshniwal 03f4109ac4 Fixes an issue where pgAdmin4 GUI does not display properly in IE 11. Fixes #5361
Use the ES5 dist of @simonwep/pickr to make it work on IE.
2020-04-08 11:29:03 +05:30
Dave Page bd0aaf7665 Update yarn.lock 2020-04-07 09:43:54 +01:00
Aditya Toshniwal 134c1802e7 Enable the save button by default when a query tool is opened with CREATE or other scripts. Fixes #4856 2020-04-07 13:54:16 +05:30
Pradip Parkale 33deacacee Ensure that the grant wizard should be closed on pressing the ESC key. Fixes #4206 2020-04-07 13:48:56 +05:30
Aditya Toshniwal d6bc3ccc8b Fixed cursor disappeared issue in the query editor for some of the characters when zoomed out. Fixes #3988 2020-04-07 11:51:19 +05:30
Aditya Toshniwal e1f990190e Added search object functionality. Fixes #2172 2020-04-06 17:33:07 +05:30
Khushboo Vashi f77aa3284f Added LDAP authentication support. Fixes #2186 2020-04-06 15:57:05 +05:30
Pradip Parkale 8ceeb39268 Fixed tab key navigation issue for parameters in table dialog. Fixes #5275 2020-04-06 13:13:21 +05:30
Aditya Toshniwal 4f71dae598 Fixed calendar opening issue on the exception tab inside the schedules tab of pgAgent. Fixes #4512 2020-04-06 12:59:22 +05:30
Dave Page 4da327088c Added an option to prevent a browser tab being opened at startup. Fixes #5353 2020-04-03 19:43:00 +05:30
Dave Page e26a9a25d5 Fixed compilation warnings while building pgAdmin. Fixes #5351 2020-04-03 19:23:32 +05:30
Akshay Joshi 99e4c3350f Fixed RESQL test cases for Packages. 2020-04-03 19:15:40 +05:30
Vishal Sawale 99a72e529b Fixed some accessibility issues:
1) Added missing search filter label in backgrid.
  2) broken aria issue for objects menu.
2020-04-03 17:11:46 +05:30
Aditya Toshniwal 824e3866d8 Replace the existing color picker - spectrum-colorpicker with @simonwep/pickr.
spectrum-colorpicker has accessibility issues and is not maintained since long

Part of #5197
2020-04-03 17:06:47 +05:30
Akshay Joshi ce89ae3c1d Added support of Packages, Sequences and Synonyms to the Schema Diff. Fixes #5264 2020-04-03 16:52:45 +05:30
Vishal Sawale 4036f2a0f2 Fixed accessibility issue for the missing label from the table header. 2020-04-02 12:47:39 +05:30
Murtuza Zabuawala 37f55ccc25 Ensure that switch cell is in sync with switch control for accessibility. Fixes #5314 2020-04-02 12:25:55 +05:30
Aditya Toshniwal 358c5d0a0f Added support for parameter toast_tuple_target and parallel_workers of the table. Fixes #5181
Fixed an issue where the autovacuum_enabled parameter is added automatically in the RE-SQL
when the table has been created using the WITH clause. Fixes #5180
2020-04-01 18:19:55 +05:30
Akshay Joshi a09ada18ee Updated psutil to the latest version 5.7.0 to fix vulnerability issue. 2020-04-01 18:12:38 +05:30
Aditya Toshniwal 88a1e03314 Fixed generated SQL when any token in FTS Configuration or any option in FTS Dictionary is changed. Fixes #5268 2020-04-01 15:03:30 +05:30
Rahul Shirsat 75b6341a84 Ensure that the start and end date should be deleted when clear the selection for pgAgent Job. Fixes #3645 2020-04-01 13:31:36 +05:30
Dave Page e538a4f710 Install rpm-sign. 2020-03-31 17:44:38 +01:00
Dave Page af00296ffe We only need to enable repos on CentOS/RHEL 8. 2020-03-31 17:14:45 +01:00
Dave Page dd7d3c6e23 Fix syntax. Sigh. 2020-03-31 17:12:00 +01:00
Dave Page e576a886d0 Appending signing macros is tricky as the user running the build isn't usually the one running this script. Output instructions instead. 2020-03-31 17:03:48 +01:00
Dave Page f0d077fed8 Attempt to append signing macros to the non-root users config. 2020-03-31 16:59:45 +01:00
Dave Page 37e39ca089 Offer to setup RPM signing macros for the user. 2020-03-31 16:44:34 +01:00
Dave Page 7c2b218076 Install expect. 2020-03-31 16:07:47 +01:00
Akshay Joshi 002fdb33fc Update version for release. 2020-03-30 17:39:33 +05:30
Pradip Parkale 13b65c9a6a Fixed tab key navigation issue for Grant Wizard. Fixes #5241
1) Added entry for .scss to change the shadow of  'ajs-close' button.
  2) allow the user to use the keyboard to update the Backgrid cell DateTime picker control.
2020-03-30 17:31:50 +05:30
Libor M e6118a06e8 Update Czech translation. 2020-03-29 18:31:51 +05:30
Domenico Sgarbossa 63ac71190b Update Italian translation. 2020-03-29 18:29:03 +05:30
Identifier Anonymous 37542ae706 Update Japanese translation. 2020-03-29 18:25:51 +05:30
Fred Escallier 89d4d835ba Update French translation. 2020-03-29 18:23:17 +05:30
Akshay Joshi 9f0ea70945 Update message catalogs. 2020-03-27 19:02:29 +05:30
Akshay Joshi 86e4a88201 Added 'oid-2' to the ignore list of schema diff for all supported nodes. Fixes #5297 2020-03-27 15:27:48 +05:30
Akshay Joshi c002881f66 Added conkey and indkey to the ignore list for schema diff. 2020-03-27 14:41:18 +05:30
Nagesh Dhope f17d4530a3 Fixed focus color issue for Alertify dialog buttons. Fixes #5292 2020-03-26 15:30:31 +05:30
Akshay Joshi 94a76cc9e0 Added support of Domain, Domain Constraints and Types to the Schema Diff. Fixes #5262 2020-03-26 14:30:09 +05:30
Ganesh Jaybhay 4c0b229b14 Fixed an issue where focus doesn't go to the immediate next editable cell after pressing the tab key on switch cell. 2020-03-26 10:50:01 +05:30
Dave Page 17d0d5e0a2 Use NodeJS v12. 2020-03-24 11:37:32 +00:00
Dave Page f97d29243d Don't offer to configure Apache on Redhat platforms as there's nothing to do. 2020-03-24 11:36:54 +00:00
Libor M 94864104e4 Added and fixed gettext usage for better translation coverage. Fixes #5284
1) Fixed usage gettext('') instead of _('') in javascript files.
  2) Fixed usage gettext('') instead of `${gettext('')}` in javascript files,
     because "pybabel extract" not support extracting from this syntax.
2020-03-24 11:14:05 +05:30
Aditya Toshniwal 6988ce96d7 Change some colors and opacity to comply with WCAG color contrast standards. Fixes #5128 2020-03-23 18:15:39 +05:30
Akshay Joshi 98492e7718 Modified RESQL test cases for Foreign Tables to fix the build failures. 2020-03-22 16:26:23 +05:30
Dave Page becb453e7d Use the correct architecture for web packages on Redhat. 2020-03-20 15:48:00 +00:00
Dave Page 35644fdd35 Update supported distro lists. 2020-03-20 14:51:19 +00:00
Dave Page 5ab056759b Use the proper naming convention for .DEB packages 2020-03-20 12:26:10 +00:00
Dave Page e1aeaba942 Simplify PYTHONPATH handling for Sphinx. 2020-03-20 12:07:35 +00:00
Dave Page e256fc32d9 Ensure rpm-build is installed. 2020-03-20 11:50:59 +00:00
Murtuza Zabuawala a7ba446703 Fixed Unicode character issue causing error on Python2 environment. Fixes #5279 2020-03-20 15:17:45 +05:30
Akshay Joshi 26d0a3e5cb Fixed following audit vulnerabilities:
https://www.npmjs.com/advisories/1179
2020-03-20 11:30:27 +05:30
Dave Page 7f571fa7d8 Add mod_wsgi to the built package list. 2020-03-19 13:17:22 -04:00
Dave Page cb600549c3 Don't hard code the architecture. 2020-03-19 12:56:39 -04:00
Dave Page e1cb6d92c5 Update supported distros list. 2020-03-19 12:56:39 -04:00
Dave Page 8812a7db69 Add support for building RPMs on CentOS/RHEL 7 2020-03-19 12:56:39 -04:00
Pradip Parkale 96361656e4 Fixed some accessibility issues in the dialogs:
1) Aria-label additions at few missing places.
  2) Label additions with  'sr-only' class where hidden labels required.
  3) Converted label to span to solve accessibility error.

Fixes #4608
2020-03-19 16:08:51 +05:30
Murtuza Zabuawala 83785da1bc Enhance the color of switch control for both light and dark theme. Fixes #5271 2020-03-19 13:59:03 +05:30
Akshay Joshi 4fe69e825e Added support of Collation, FTS Configuration, FTS Dictionary, FTS Parser, and FTS Template to the Schema Diff. Fixes #5261 2020-03-19 13:54:25 +05:30
Dave Page 6105fc861d Don't ask to continue when installing deps. 2020-03-18 13:00:33 +00:00
Dave Page f156696339 Add support for building RHEL/CentOS 8 RPMs. 2020-03-18 08:51:11 -04:00
Dave Page b6c8707a4d Don't barf if the tree is clean. 2020-03-16 12:40:01 +00:00
Akshay Joshi 3031c5055a Fixed following audit vulnerabilities:
https://www.npmjs.com/advisories/1488
  https://www.npmjs.com/advisories/1490
2020-03-16 15:47:12 +05:30
Akshay Joshi 44c0d76541 Improve logic to get the DDL statements as a part of the comparison. Fixes #5221
Fixed 23 issues related to schema diff.
2020-03-15 14:52:19 +05:30
Dave Page 0b101d9efd Update tested distros list. 2020-03-13 12:36:08 +00:00
Dave Page b69995b34d Use fakeroot to set file ownership as dpkg-deb can't do it itself on older distros. 2020-03-13 12:17:10 +00:00
Dave Page ef6c9fbd6d Setup dependencies as required on Ubuntu 16.04 and Debian 9 2020-03-13 11:55:03 +00:00
Dave Page e43f58d11f Ensure file/directory ownership is correct. 2020-03-12 15:35:43 +00:00
Dave Page a684b48fb3 Add experimental scripts for building Debian/Ubuntu packages.
Code is split into pkg/debian for the Debian/Ubuntu specific parts,
and pkg/linux for generic code that can be used on other distros.

Tested on Debian 10 and Ubuntu 18.04 at present.
2020-03-12 15:24:58 +00:00
Murtuza Zabuawala 7cc30e3216 Fixed chrome driver download utility issue for Ubuntu. Fixes #4942 2020-03-12 11:18:07 +05:30
Ganesh Jaybhay 6586be5158 Fixed some accessibility issues:
1) Screen reader to read elements in radio modern control.
2) Aria-label additions at few missing places.
3) Radiocontrol to have different ids for each option.
2020-03-12 11:09:29 +05:30
Pradip Parkale 1bd14895c3 Fix an issue where the user can not change the value of DateTime picker control using keyboard. Fixes #4237. 2020-03-10 13:21:17 +05:30
Pradip Parkale 82155cd859 Fix an accessibility issue to maximize the panel for all alertify dialog. Fixes #5143 2020-03-06 18:47:22 +05:30
Nagesh Dhope 0ed3cd248b Set Active query details subnode control as read-only instead of disabled for accessibility. 2020-03-06 17:59:57 +05:30
Akshay Joshi 43451fd3f0 Update version for release. 2020-03-02 17:28:20 +05:30
Akshay Joshi 6340c70d7a Update libraries.txt 2020-03-02 10:01:10 +05:30
Domenico Sgarbossa 8e40c8630d Update Italian translation. 2020-03-02 09:54:22 +05:30
Fred Escallier b9a036e5cb Update French translation. 2020-03-02 09:46:41 +05:30
Identifier Anonymous e330407d44 Update Japanese translation. 2020-03-02 09:44:43 +05:30
Akshay Joshi aa127fe0bd Update message catalogs. 2020-02-28 17:55:14 +05:30
Akshay Joshi 16f1e87bb7 Temporary Changed 'yarn audit' command to 'yarn audit --groups dependencies' to
fix the vulnerability found in decompress js package.
2020-02-28 17:29:32 +05:30
Aditya Toshniwal 4db0a6524d Fix an issue where debugger not showing all arguments anymore after hitting SQL error while debugging. Fixes #5101
Added a "Clear All" button to the argument dialog which will clear all the saved arguments values from SQLite DB.
2020-02-28 15:27:01 +05:30
Aditya Toshniwal c9d04684ce Ensure that all the transactions should be canceled before closing the connections when a server is disconnected using pgAdmin. Fixes #5142 2020-02-28 14:12:44 +05:30
Aditya Toshniwal 5262405f06 Fix an issue where pgAdmin4 does not display properly on the IE browser. It's a regression of #5133
There are some changes in the backgrid-select-all.js in vendor directory and the vendor directory
is excluded from webpack compiling. We used ES6 code syntax which does not work on IE.

Code changes are done to use ES5 syntax. Fixes #5219
2020-02-28 12:29:19 +05:30
Aditya Toshniwal 6a90f7c2e1 Update Flask-SQLAlchemy and SQLAlchemy package which is not working on Windows with Python 3.8 Fixes #5214 2020-02-26 11:41:33 +05:30
Akshay Joshi 6d766176c1 Fixed linter error. 2020-02-25 18:41:19 +05:30
Pradip Parkale eaf4781f5f 1) Added accessibility support in AlertifyJS. Fixes #5154
2) Fix accessibility issue for the maximize button of the Alertify dialog. Fixes #5143
2020-02-25 18:23:36 +05:30
Dave Page 787c11efda Fix the docker build. 2020-02-24 15:35:34 +00:00
Aditya Toshniwal fd07e0c868 Fix syntax error when changing the event type for the existing rule. It is a regression of #5115.
Fixes #5215
2020-02-24 18:11:31 +05:30
Aditya Toshniwal 9bad590e9e Improvements in the UI for both default and dark themes. Fixes #5133
Improve the style of the highlighted code after query execution for Dark mode. Fixes #4996.
Changed background pattern for geometry viewer to use #fff for all themes. Fixes #5077
Changed the color of selected and hovered item for Select2 dropdown, also tweak the appearance of the tags in multi-select boxes. Fixes #4955
Fixed Firefox monospaced issue by updating the font to the latest version. Fixes #5184
2020-02-24 14:11:00 +05:30
Akshay Joshi 29c236c33d Ensure that AlertifyJS should not be visible as a title for alert dialog. Fixes #5058 2020-02-24 12:33:23 +05:30
Aditya Toshniwal a44f17a2fc Fix an issue where command and statements were parsed incorrectly for Rules. Fixes #5115
Fixed issue where removing command or statements altogether was not generating modified SQL.
2020-02-24 12:11:19 +05:30
Aditya Toshniwal 915b09255c Added Python 3.8 support. Fixes #5179
1) Upgraded passlib==1.7.1 to passlib==1.7.2
2) Replace unmaintained Flask-Security with maintained Flask-Security-Too package, which is also compatible with python 3.8
3) Other compatibility code changes.
2020-02-18 12:10:38 +05:30
Nagesh Dhope 1964e824c8 Initialize the label and control className for select2 which was missing in the last commit. 2020-02-18 10:58:30 +05:30
Nagesh Dhope 3e10e2c978 Added option to override the class name of a label tag for select2 control. Fixes #5185 2020-02-17 11:58:28 +05:30
Pradip Parkale e9f16a29cf Improve code coverage and API test cases for the Event Trigger module. Fixes #5088 2020-02-14 11:19:34 +05:30
Aditya Toshniwal 019932c323 Enhance logging by tracking stdout and stderr of subprocess when log level set to DEBUG.
If the process terminates abnormally then the error is not logged which makes it very
difficult to find the reason for failure.

Fixes #5176
2020-02-11 14:28:57 +05:30
Akshay Joshi 2ae279a382 Remove the deprecated 'is_xhr' parameter of flask.request object. 2020-02-10 12:31:52 +05:30
Libor M bf88ff1076 Added Czech language support. Fixes #5170 2020-02-10 12:27:36 +05:30
Akshay Joshi 3db961cb0f Fixed ImportError: cannot import name ImmutableDict from werkzeug.
Updated the Flask-WTF version to the latest to fix the above error.
2020-02-10 11:45:11 +05:30
Dave Page 02f90aca0b Fix typo 2020-02-07 10:49:00 +00:00
Murtuza Zabuawala c9500a5122 Set proper focus on tab navigation for file manager dialog. Fixes #5107
- Show focus when the Tab key is pressed
 - Pressing the Enter key on C:\ drive does not open it on Windows
2020-02-07 11:13:41 +05:30
Akshay Joshi 26cdda090e 1) Source/Target database and schema should be selected by default when the user selects any server in the schema diff tool.
2) Added line break for the generated script if select multiple objects.
3) Remove reactivated RM from the release notes.
2020-02-05 14:36:05 +05:30
Paresh More 520b03cb0a Fixed notarization issue on Catalina for pgAdmin4 binaries
- Revert back binary name pgAdmin 4 to pgAdmin.
 - Added timestamp, force and developer bundle_id option for codesign binaries, app, and dmg file.
2020-02-05 14:00:18 +05:30
Paresh More 93e83dddae Fix copy/paste error. 2020-02-04 15:44:42 +00:00
Paresh More 917d08c61e Fix hard notarisation failures. 2020-02-04 15:21:05 +00:00
Domenico Sgarbossa 49c614160d Update Italian translation. 2020-02-04 18:30:28 +05:30
Nagesh Dhope b6173c9d7b Added tab navigation on close buttons for all the panels and create/properties dialog.
Added tab navigation for scroll left and scroll right buttons on the main window.

Fixes #4601
2020-02-04 11:30:33 +05:30
Fred Escallier b0a0a7c50a Update French translation. 2020-02-04 11:09:40 +05:30
Akshay Joshi 1f0728b7d1 Update version for release. 2020-02-03 17:13:05 +05:30
Nidhi Bhammar 59757dbf55 Documentation of the Schema Diff feature. Fixes #5026 2020-02-03 17:08:28 +05:30
Akshay Joshi 641701ca16 Added missing imports and remove unused imports from schema diff. 2020-02-03 15:30:57 +05:30
Akshay Joshi 4f5c3987f1 Update libraries.txt 2020-02-03 15:11:50 +05:30
Akshay Joshi d24a43b1cc Fix feature test, failed due to change the label tag to span tag for the accessibility. 2020-02-03 13:14:28 +05:30
Identifier Anonymous 64a8be3c4f Update Japanese translation. 2020-02-03 12:44:30 +05:30
Akshay Joshi 0d77bc305e 1) Improve wording for script header while generating the script using the schema diff tool.
2) Fixed an issue where closing the query tool panel throws an error.
3) Fixed schema diff close panel issue.
2020-02-03 12:38:02 +05:30
Akshay Joshi 96b0d85189 Update message catalogs. 2020-01-31 21:33:43 +05:30
Khushboo Vashi 3b1c8abd2f Fixed following issue of schema diff tool:
1. Comparison result of 2 exact identical Trigger Functions is different
 2. EPAS 12: Table comparison with the compound trigger shown as different, but all SQL panels are blank
 3. Compound trigger properties panel is not opening
 4. The DDL difference of the table containing the foreign key is not accurate
 5. The DDL difference of the view which refers the table from schema is not accurate
 6. DDL comparison fails if we have procedure with plpgsql in source and edbsql in target
2020-01-31 21:28:08 +05:30
Pradip Parkale 210bbfdbe1 1) Added labels and titles after parsing and validating all the pgAdmin4 web pages for accessibility. Fixes #4770
2) Fixed an issue where Save Password control disappears after clicking on it while creating a server. Fixes #5116
2020-01-31 14:21:35 +05:30
Aditya Toshniwal 0da23b837d Set input controls as read-only instead of disabled will allow tab navigation in the properties tab and also allow screen readers to read it. Fixes #4993 2020-01-31 12:37:44 +05:30
Murtuza Zabuawala 989aa462f7 Set proper focus on tab navigation for file manager dialog. Fixes #5107.
Initial patch sent by Ganesh Jaybhay
2020-01-31 11:43:30 +05:30
Aditya Toshniwal 75a3e92098 Fixed an issue where logout inactive session did not work when a new tab is opened from the already opened tab. 2020-01-31 11:20:45 +05:30
Akshay Joshi 02f9de5bdb Improve wordings. 2020-01-28 18:36:42 +05:30
Khushboo Vashi c418a9c9ca Fixed following schema diff issues:
1) Version mismatch should be displayed if you select EPAS 11 as the source and EPAS 12 as the target.
  2) We should handle schema diff if the user stops the server after compare.
  3) The data type is not visible for column headers in the query tool/view data.
  4) Difference SQL is shown, though source & target SQL are same.
  5) Error is shown when the 'target only' table is selected & clicked on Generate Script.
  6) Difference SQL generated on deleting primary constraints from source throwing error on running from query tool.
  7) Copy button for Difference SQL does not work.
  8) Incorrect SQL is generated when check constraint from the source table is dropped.
  9) Difference SQL is NOT shown when 'Unique Constraint' is dropped from the source table.
 10) In case of difference, no message displayed related to copied successfully or not.
 11) create or replace trigger should be on the next line.
 12) Comparison Result of exactly identical tables having foreign key constraints is shown as different.
 13) The wrong SQL displayed in the difference tab for view and materialized view for the select statements.
 14) Wrong SQL displayed for the procedure in the difference section.
 15) If the user already opens the compare section of Schema diff tool and Disconnects the server then '<' not supported between instances of 'NoneType' and 'int' message displayed.
 16) When 'check constraint' is added on the source table which has already unique constraint & identical target table is created, all SQL panels remain empty.
 17) Difference SQL is NOT shown when after adding 'Foreign Key' constraint to existing source table.
 18) Incorrect SQL is generated when the existing index on the source table is modified.
 19) Wrong SQL displayed for function in difference section.
 20) Additional space is added before & after in difference SQL generated on the addition of an index to the source table.
 21) Difference SQL is NOT shown when tables have different permission/grants.
 22) Incorrect SQL is shown when the source had inherited table & target has a normal table.
 23) Exactly identical child(inherited) tables show difference SQL.
 24) Comparison is NOT working when the custom vacuum is enabled & one of the parameter modified & again custom vacuum is disabled.
2020-01-28 14:53:17 +05:30
Nagesh Dhope f167d77b61 Allow screen-reader to read label & description of non-textable elements. Fixes #4762.
Allow screen-reader to identify the alert errors. Fixes #4763

  Added role alertdialog for confirm and alert dialog.
  Added role status for all status bars/banners.
  Added role alert for error bars.
  Added aria-labelledby for charts on each dashboard.
  Added tabindex for each chart so that it is navigable using tab key.
2020-01-28 11:32:11 +05:30
Akshay Joshi 6594481992 1) Disable Fill Factor and Has OIDs control for the partitioned table.
2) Added reloptions for the partitions and partitioned table.
2020-01-24 16:13:30 +05:30
Akshay Joshi 4faf14b45f Default tablespace should not be visible for the multi-level partitioned table on PG 12 2020-01-24 11:36:00 +05:30
Akshay Joshi 198063f046 Added support for a multi-level partitioned table. Fixes #2554. 2020-01-23 18:49:15 +05:30
Nick Barnes f5d46bf9f1 Fixed an issue while editing char[] or character varying[] column from View/Edit data throwing an error.Fixes #4410. 2020-01-23 14:55:02 +05:30
Aditya Toshniwal fde8e4054a Fixed an issue where Grant wizard unable to handle multiple objects when the query string parameter exceeds its limit. Fixes #4511 2020-01-20 17:53:21 +05:30
Akshay Joshi b4b54d6b94 Fixed API test cases for missing language pack and jasmin test case. 2020-01-20 16:14:12 +05:30
Dave Page 23e218f1b5 Ensure Postfix starts in the container, now it runs as non-root by default. Fixes #5076 2020-01-20 10:41:27 +00:00
Dave Page 33cb649f26 Improve wording 2020-01-20 10:39:48 +00:00
Pradip Parkale 30b4b5b349 Improve code coverage and API test cases for the LANGUAGE module. Fixes #5050. 2020-01-20 13:16:59 +05:30
Akshay Joshi 430e9ae994 Updated the incorrect icon used for the cast node on refresh. Fixes #5065. 2020-01-17 12:10:26 +05:30
Akshay Joshi af56b92af4 Fix an issue where refreshing a package results in the change in the object completely. Fixes #5066. 2020-01-17 12:01:37 +05:30
Aditya Toshniwal e2bfac9e42 Replace node-sass with sass for SCSS compilation. Fixes #5096
This will fix issues reported by the yarn audit. sass is better-maintained library than node-sass.
2020-01-16 14:44:58 +05:30
Yogesh Mahajan 4ab3bbeb82 Improve code coverage and API test cases for the CAST module. Fixes #5049. 2020-01-16 14:34:51 +05:30
Aditya Toshniwal 8c3bba65e5 Logout the pgAdmin session when no user activity of mouse move, click or keypress. Fixes #5000.
Introduced two config params:
1. USER_INACTIVITY_TIMEOUT - Interval in seconds for the timeout. Default is 0-Zero which means disabled.
2. OVERRIDE_USER_INACTIVITY_TIMEOUT - If set to true, tools like query tool or debugger will override USER_INACTIVITY_TIMEOUT
   and will not allow the application to timeout if a query is running for a long time.
2020-01-15 18:07:46 +05:30
Khushboo Vashi d59816054f Schema Diff Improvements:
1. Grid header should be center aligned vertically.
2. Increase the space between object counts.
3. The previous selected objects should not be re-selected on comparison.
2020-01-13 18:19:07 +05:30
Simon Wimmesberger 9dccd20bb3 Fix an issue where setting STORAGE_DIR to empty should show all the volumes on Windows in server mode. Fixes #5025. 2020-01-13 13:20:37 +05:30
Khushboo Vashi 45f2e35a99 Added Schema Diff tool to compare two schemas and generate the difference script.
Currently supported objects are Table, View, Materialized View, Function and Procedure.

Backend comparison of two schemas implemented by: Akshay Joshi

Fixes #3452.
2020-01-10 15:42:09 +05:30
Aditya Toshniwal 8b99a33e6e 1) Ensure that path file name should not disappear when changing ext from the dropdown in file explorer dialog. Fixes #3812.
2) Fix column resizable issue in the file explorer dialog. Fixes #4827.

Used tablesorter's resizable widget.
2020-01-10 12:53:32 +05:30
Nagesh Dhope a54efeddfa Updated wcDocker package which includes aria-label accessibility improvements. Fixes #5072. 2020-01-10 11:58:55 +05:30
Pradip Parkale ed279cac31 Improve the test framework to run for multiple classes defined in a single file. Fixes #5071. 2020-01-10 11:48:36 +05:30
Akshay Joshi be4b8284c5 Fix an issue where select, insert and update scripts on tables throwing an error. Fixes #5074. 2020-01-09 18:23:23 +05:30
Aditya Toshniwal 093d7af748 Remove cheroot server for now until we find a way to shutdown cheroot using REST call. Fixes #5069. 2020-01-07 18:45:07 +05:30
Akshay Joshi 76d04205ef Fix an issue where the table is not created with autovacuum_enabled and toast.autovacuum_enabled for PG/EPAS 12. Fixes #5068. 2020-01-07 17:55:12 +05:30
Akshay Joshi 4080511d9d Fixed linter error. 2020-01-06 18:10:40 +05:30
Akshay Joshi 195e9663da Update version for release. 2020-01-06 17:55:41 +05:30
Akshay Joshi 82c2d50885 Ensure that the user should be able to select/modify tablespace for the partitioned table on v12 and above. Fixes #4950. 2020-01-06 17:45:25 +05:30
Akshay Joshi 2979424db5 Added support to view multilevel partitioned tables. Fixes #4633. 2020-01-06 14:53:47 +05:30
Aditya Toshniwal d4ee869281 Fixed broken tags and tokenizer options of select2. Regression of #5038
With the change of data adapter, we have configured adapters for tags and tokenizers.
We also renamed the method onDemandLoad to showOnScroll to avoid confusion.
2020-01-06 12:47:56 +05:30
Identifier Anonymous df0f6690fd Update Japanese translation. 2020-01-06 11:09:20 +05:30
Fred Escallier c0532f6d13 Update French translation. 2020-01-06 11:09:20 +05:30
Domenico Sgarbossa 4d53d0eb01 Update Italian translation. 2020-01-06 11:09:20 +05:30
Dave Page c9de5f00c6 Add a note to the documentation about the use of non-privileged ports on filesystems that don't support extended attributes when running the container. Fixes #5013 2020-01-03 15:27:52 +00:00
Akshay Joshi 7668d9af08 Update message catalogs. 2020-01-03 19:04:01 +05:30
Navnath Gadakh 66f5a40cd9 Added code coverage tool for pgAdmin. Fixes #5048. 2020-01-03 19:00:08 +05:30
Dave Page a887019337 Remove debugging and incorrect comment. 2020-01-03 10:56:55 +00:00
Dave Page b617a5d89d Remove extra quotes that are doubled. 2020-01-03 10:51:54 +00:00
Dave Page b0877f63b5 Debugging for the automated build 2020-01-03 10:40:03 +00:00
Dave Page 56af090e54 More quoting fixes. 2020-01-03 10:32:18 +00:00
Dave Page fa74a42b34 More quoting fixes. 2020-01-03 10:21:05 +00:00
Dave Page c0595e62ee Fix quoting. 2020-01-03 10:14:13 +00:00
Paresh More f5afc51879 Ensure all binaries are securely signed and linked with the hardened runtime in the macOS bundle. Fixes #5060
Note that this is untested for automated builds, so may require further tweaks.
2020-01-03 09:56:45 +00:00
Dave Page 01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Aditya Toshniwal 964f746d76 Fix syntax highlighting in code mirror for backslash and escape constant. Fixes #4198. 2020-01-01 18:11:47 +05:30
Aditya Toshniwal febbd729ec Ensure that constraints, indexes, rules, triggers, and compound triggers should be created on partitions. Fixes #4842. 2020-01-01 12:59:48 +05:30
Aditya Toshniwal 737f8375fb Added support for on-demand loading of items in Select2. Fixes #5038. 2020-01-01 11:24:16 +05:30
Ganesh Jaybhay fc5287bd9f Added tab navigation for tabs under explain panel in query tool. Fixes #5047. 2020-01-01 10:51:45 +05:30
Nagesh Dhope 8c4dff057f Added aria-label attribute wherever missing for accessibility. 2020-01-01 10:37:17 +05:30
Nagesh Dhope 37f76142fb 1) Added aria-label to buttons used in graphical explain plan.
2) Fixed minor issue where we use dialog tab navigator keyboard shortcut only on visible tabs.
3) Fixed an issue where Zoom in, Zoom out, Zoom to original and Download button should not blur the focus after a click on them.

Initial patch sent by Murtuza Zabuawala.
2019-12-31 13:05:46 +05:30
Aditya Toshniwal cc5c3776ca Refactored SQL of Functions and Procedures. Fixes #5024. 2019-12-31 12:55:18 +05:30
Akshay Joshi ea3eabc3c7 1) Refactored SQL of Table's and it's child nodes. Fixes #4988.
2) Ensure that the error message should not be displayed if Tablespace is not selected while creating the index. Fixes #5008.
3) Fix an issue where operator, access method and operator class is not visible for exclusion constraints. Fixes #5009.
2019-12-20 18:10:50 +05:30
Khushboo Vashi f495af7a76 Refactored SQL of Views and Materialized Views. Fixes #5023. 2019-12-20 17:14:15 +05:30
Akshay Joshi 4b9bfb2e4a Optimized edit types and properties SQL for table/columns. It is part of #4988. 2019-12-20 11:46:10 +05:30
Aditya Toshniwal 15c518f0f1 Use cheroot as default production server for pgAdmin4. Fixes #5017
If DEBUG is true then we used the default flask server.
2019-12-20 11:32:02 +05:30
Aditya Toshniwal a6841bb1e1 Fixed couple of typos for edit types which results in showing proper edit types instead of all data types. 2019-12-18 13:35:58 +05:30
Akshay Joshi 584a200bf0 Updated node alpine image from 8 to 10. 2019-12-17 17:27:34 +05:30
Dave Page 60304e5a46 Clarify file ownership/permission requirements for mapped files in the container. 2019-12-17 10:50:52 +00:00
Aditya Toshniwal f1a18749f6 1) Allow screen-reader to read relationship attributes for tab, tabpanels and tables under it. Similar changes are done for subnode controls.
2) Add role="img" for font icons.

Fixes #4764
2019-12-17 13:22:36 +05:30
Levitt Olivier e29ea15554 Fix an issue where servers.json import fails when running in desktop mode. 2019-12-17 13:15:04 +05:30
Aditya Toshniwal ded71be73f Improved performance while fetching edit types for each column.
Edit types query is executed for every column when open properties dialog of the table.
Change the logic to fetch the edit types for all the distinct column types used in the table at once.
2019-12-16 18:26:22 +05:30
Ashesh Vashi 1f5ccd1c3b Fixed any typo - we were using the function
'TreeNode.prototype.hasParent(...)' to find the server parent node
instead of 'TreeNode.prototype.anyParen(...)'.
2019-12-14 10:31:33 +05:30
Dave Page 8cb239abcb Rename some internal environment variables that could conflict with Kubernetes. Fixes #4999. 2019-12-13 10:42:43 +05:30
Dave Page 8e8f89aa8f Add a warning about the need to chown storage directories. 2019-12-12 15:06:33 +00:00
Karan Takalkar 53f418b9a2 Added more information to the 'Database connected/disconnected' message. Fixes #4943. 2019-12-12 11:12:18 +05:30
Aditya Toshniwal 9bda583d5b Added aria-label to the buttons in the debugger. 2019-12-11 14:52:15 +05:30
Aditya Toshniwal 11bf5fc679 Fix an issue where clicking on an empty textbox like fill factor or comments, considers it as change and enabled the save button. Fixes #4506. 2019-12-11 14:35:14 +05:30
Aditya Toshniwal 43d37e3b4c Fix vulnerability issues reported by 'yarn audit'. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin. Fixes #5004. 2019-12-11 14:02:27 +05:30
Fred Escallier 3247223595 Update French translation. 2019-12-09 21:12:39 +05:30
Akshay Joshi 4a87b1387a Update version for release. 2019-12-09 18:05:09 +05:30
Khushboo Vashi cb26ca0e46 Fix XSS issue in explain and explain analyze for table and type which contain HTML. Fixes #4947. 2019-12-09 18:00:56 +05:30
Akshay Joshi f15db03ec3 Added statistics and storage information in reverse engineering SQL of table/column. Fixes #4982. 2019-12-09 15:01:04 +05:30
Dave Page 619c4e1180 Run pgAdmin in the container as a non-root user (pgadmin, UID: 5050). Fixes #4939. 2019-12-09 11:09:46 +05:30
Identifier Anonymous f44627c205 Update Japanese translation. 2019-12-09 10:31:55 +05:30
Domenico Sgarbossa 1b2cd8404a Update Italian translation. 2019-12-09 10:29:54 +05:30
Akshay Joshi 4a2e587123 Update message catalogs. 2019-12-06 19:30:51 +05:30
Aditya Toshniwal 6e2cf8ced2 Changed the open query tool and data filter icons. Fixes #4990. 2019-12-06 19:27:55 +05:30
Akshay Joshi 1a9d365c42 Fix reverse engineering SQL issue where when clause is not visible for PG/EPAS 12. Fixes #4976. 2019-12-06 19:01:55 +05:30
Aditya Toshniwal f8e443bda7 Fix scrolling issue in 'Users' dialog. Fixes #4220. 2019-12-05 17:50:19 +05:30
Dave Page 1bdb7d33fc Fix typo 2019-12-05 06:35:57 -05:00
Aditya Toshniwal 75ac259632 Fix issue where the user can not switch the UI language. It's a regression of #4348. Fixes #4975 2019-12-05 14:34:44 +05:30
Aditya Toshniwal 0bd26222d8 Fix query tool launch error if user name contains HTML characters. It's a regression. Fixes #4674. 2019-12-05 13:13:33 +05:30
Akshay Joshi f8e1973bc2 Fix reverse engineering SQL issue for partitions when specifying digits as comments. Fixes #4893. 2019-12-05 12:55:52 +05:30
Akshay Joshi 6c7fe644e5 Fix reverse engineering SQL issue for triggers when passed a single argument to trigger function. Fixes #4958. 2019-12-05 11:45:47 +05:30
Murtuza Zabuawala f901eeeb4a Fix an issue where context menu is open along with submenu and the focus is not on context menu or submenu. Fixes #4991. 2019-12-05 11:14:59 +05:30
Aditya Toshniwal b9c7a9e887 Fix the feature tests which were failing after the accessibility commit.
The reason being, the span elements which was used to show properties tab
data are changed to input now as per accessibility requirements.
2019-12-04 18:02:53 +05:30
Shubham Agarwal 5093e6db5e Fixed following issues for feature test:
1. Modified the get_chromedriver utility for supporting python version below 3.5.
2. Handled some exceptions getting intermittently on some databases.
3. Generalized some functions with additional parameters.
4. Disabled the auto-expansion of the children nodes for maintaining the synchronization.
2019-12-03 19:35:48 +05:30
Akshay Joshi f7cc79fab1 Fix an issue where the inherited table name with quotes did not escape correctly. Fixes #4985. 2019-12-03 19:31:32 +05:30
Akshay Joshi 9110703aaa Fix 'Could not find the object on the server.' error while refreshing the check constraint. Fixes #4966. 2019-12-03 14:18:45 +05:30
Aditya Toshniwal 0a67b2ecb9 Added aria-label to provide an invisible label where a visible label cannot be used. Fixes #4772. 2019-12-03 12:47:42 +05:30
Khushboo Vashi d476343b99 Enhance the logic to change the label from 'Delete/Drop' to 'Remove' for the server and server group node. Fixes #4923 2019-12-03 11:52:02 +05:30
Dave Page ac2bd5e6ee Use a 'play' icon for the Execute Query button in the Query Tool for greater consistency with other applications. Fixes #4711 2019-12-02 20:44:54 -05:00
Dave Page 246a475600 Allow Gunicorn logs in the container to be directed to a file specified through GUNICORN_ACCESS_LOGFILE. Fixes #4944 2019-12-02 20:14:01 -05:00
Khushboo Vashi ae2aadeede Fix an issue where pgAdmin4 unable to retrieve table node if the trigger is already disabled and the user clicks on Enable All. Fixes #4953. 2019-12-02 15:26:36 +05:30
Akshay Joshi d95e8db4ee Fix an issue of retrieving properties for Compound Triggers. It's a regression of #4006. Fixes #4952. 2019-12-02 15:01:54 +05:30
Khushboo Vashi cccc6e5676 Added role=status attribute to all the status messages for accessibility. Fixes #4773. 2019-12-02 14:15:31 +05:30
Aditya Toshniwal c4facc04d3 Fix pgAdmin4 failed to start issue after upgrading to version 4.15. Fixes #4978 2019-12-02 11:40:48 +05:30
Rahul Shirsat d98e86d3df Warn the user on changing the definition of Materialized View about the loss of data and its dependent objects. Fixes #4396 2019-12-02 11:25:51 +05:30
Fahar Abbas 623ff4f91f Allow drag and drop functionality for all the nodes under the database node, excluding collection nodes. Fixes #4435 2019-12-02 09:35:20 +05:30
Akshay Joshi 4fa1bdba5a 1) Refactored code of columns node. Fixes #4938.
2) Fix an issue where length and precision are not removed from table/column dialog. Fixes #4964.
3) Fix an issue where the Interval data type is not displayed in the properties dialog of table/column. Fixes #4965.
4) Fix an issue where the wrong type is displayed when changing the datatype from timestamp with time zone to timestamp without time zone. Fixes #4761.
5) Change the label from 'Length and Precision' to 'Length/Precision and Scale' for columns.
6) The maximum length for datatype like interval, timestamp with time zone, time with time zone, etc.. is 6. Set the max length to 6 instead of 10.
2019-11-28 18:48:53 +05:30
Aditya Toshniwal 4ed2d74d9c 1) Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node. Fixes #4724.
2) Fix server connection drops out issue in query tool. Fixes #4818
3) Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node. Fixes #4926.
4) Ensure that the Servers collection node should expand independently of server connections. Fixes #4933.

Set the default connection timeout to 10 seconds instead of 0.
2019-11-26 09:04:41 +05:30
Abhilasha Narendra 700e01708b Updated documentation for default privileges to clarify more on the grantor. Fixes #4659. 2019-11-26 08:33:59 +05:30
Rahul Shirsat 1a39dedc62 Add Reverse Engineered and Modified SQL tests for Materialized Views. Fixes #4696. 2019-11-25 11:11:09 +05:30
Abhilasha Narendra a03b8b4f76 Updated the json file name from 'servers.json' to 'pgadmin4/servers.json' in the container deployment section of the documentation. Fixes #4836. 2019-11-25 10:45:05 +05:30
Shubham Agarwal ae462ed099 Fixed following feature tests:
1) Handled click event in query tool due to intermediate clicking issue.
2) Observed that the database is not getting created in a test case, so failed the test case there only.
2019-11-21 17:20:27 +05:30
Aditya Toshniwal 5316a28e6c Fixed issue where Dark Theme is unavailable in python wheel distro.
pgAdmin wheel distro is not having pgadmin.themes.json file in 'web/pgadmin/misc/themes' directory,
so it's better to refer this file from the generated directory.
2019-11-20 15:05:20 +05:30
Akshay Joshi bb845817d6 Fix vulnerability issue for package 'mem', which is a dependency module for eclint.
Remove unused eclint module from the package.json
2019-11-20 14:47:04 +05:30
Shubham Agarwal 425cc2a966 Fix some more feature tests:
1. Added an attribute 'data-click-counter' in query execute button which gets incremented
   once query button is clicked up to 9 and then reset to 0. This is added just to support automation.
2. Locator for login_group_role is added and used to expand tree.
3. Functions for enabling and disable auto_commit and auto_rollback are made more precise.
4. Some scrolling problem is addressed in view_data_dml_query test.
5. Handled the stale element reference exception in query_tool_journey_test
2019-11-20 12:50:04 +05:30
Shubham Agarwal dc47c8f898 Fixed following feature tests:
1. Process watcher loading logs fix
2. Auto commit/rollback issue in query_tool_tests
3. Fixed the scrolling issue while verifying values in a table.
4. Modified some functions in pgadmin_page.py
2019-11-15 18:02:17 +05:30
Akshay Joshi de878b3198 Refactored code of table and it's child nodes.
1) Remove duplicate logic.
2) Child node specific logic should be inside the child node and table node gets the required information from the respective child node.

Note:- Refactoring of columns node still in progress.

Fixes #4807
2019-11-15 14:45:55 +05:30
Aditya Toshniwal 00ce130286 Shown some text on process watcher till the initial logs are loaded. Fixes #4925 2019-11-15 12:12:19 +05:30
Aditya Toshniwal 3ff4dfd02d Fix issue where the Reset button does not get enabled till all the mandatory fields are provided in the dialog. Fixes #3538 2019-11-15 11:51:06 +05:30
Nagesh Dhope 397a1b9616 Fix main window tab navigation accessibility issue:
1) Dashboard -> Server Activity grid: terminate the session, cancel active button not navigable using tab key.
2) SQL -> If the focus inside code mirror control tab navigation not working.

Fixes #4930
2019-11-15 11:31:19 +05:30
Murtuza Zabuawala 6a5d98cf19 Fix accessibility issues:
1) Suppress ESC key presses in Alertify dialogues when the come from Select2 controls (It also closes the alertify dialog when user try to close Select2 using ESC key)
2) Do not allow Tabindex focus on Switch control when it is disbaled
3) Tab keyboard shortcut navigation does not work in wcDocker iframe.

Fixes #4935
2019-11-15 11:06:00 +05:30
Akshay Joshi f22134dabd Ensure that the superuser should be able to create database and role, as the superuser
overrides all the access restrictions.
Fixes #4792 Fixes #4878
2019-11-14 18:14:53 +05:30
Domenico Sgarbossa b7d7bda93a Update Italian translation. 2019-11-14 17:58:06 +05:30
Dave Page 3d4d40fa02 Fix the help button link on the User Management dialog. Fixes #4934 2019-11-14 11:51:26 +00:00
Aditya Toshniwal 42cd2a2276 Set browser autofill color as primary light to highlight autofill. This works only on WebKit browsers. 2019-11-13 11:35:09 +05:30
Shubham Agarwal 7b568cfce2 Fixed feature tests related to process watcher. 2019-11-13 11:19:21 +05:30
Fred Escallier 00ebc58795 Update French translation. 2019-11-12 20:01:34 +05:30
Aditya Toshniwal 79e04d5e23 Customize the scrollbar stying. Added new SASS variable to change the color as per theme. 2019-11-12 19:38:35 +05:30
Aditya Toshniwal 636ab29669 Further changes to the welcome dashboard for theme customization. 2019-11-12 17:53:52 +05:30
Akshay Joshi fb87920bbb Fixed docker container exit issue occurs due to change in Gunicorn's latest version.
Updated Dockerfile and hardcoded Gunicorn version to 19.9.0

Fixes #4924
2019-11-12 17:48:10 +05:30
Akshay Joshi 8a03c42bd4 Update version for release. 2019-11-12 08:20:43 +05:30
Dave Page 5b00ad0336 Remove extra whitespace. 2019-11-11 14:55:53 +00:00
Dave Page 314990447c Ensure compatibility with older versions of Sphinx. 2019-11-11 14:54:43 +00:00
Dave Page 664d9a2144 Support older versions of Sphinx 2019-11-11 14:51:11 +00:00
Aditya Toshniwal c1c682402a 1) Further styling tweaks for Dark Theme.
2) Theme related code changes are removed from config.py and moved to miscellaneous under a new package - "themes".
2019-11-11 18:47:43 +05:30
Akshay Joshi 7282e15ee2 Fixed API and RESQL test cases for Compound Trigger after the recent changes in EPAS 12.
EPAS 12 Changes:
   Fix server crash when the compound trigger has both row and statement-level triggers having
   WHEN clause containing NEW/OLD vars.
2019-11-11 17:22:50 +05:30
Shubham Agarwal b48121335c Fixed feature tests.
Changes included:
  1. Created function for traversing the browser tree.
  2. Fixed some synchronization issues.
  3. Modified locators.
  4. Test cases fix for the recent commits.
2019-11-11 10:49:00 +05:30
Identifier Anonymous ea0c077180 Update Japanese translation. 2019-11-11 09:51:20 +05:30
Akshay Joshi c11bed3819 Update message catalogs. 2019-11-08 18:50:00 +05:30
Murtuza Zabuawala 022cf3d93c Fixed an issue where keyboard shortcut for context menu is not working when using Firefox on CentOS7. Fixes #4906 2019-11-08 18:41:57 +05:30
Nagesh Dhope 2522c8c9e2 Fixed an issue where escape key not working to close the open/save file dialog. Fixes #4896 2019-11-08 18:26:46 +05:30
Dave Page 475a717cd6 Add navigation links to the bottom of the docs, and embiggen the font a touch. 2019-11-07 16:37:54 +00:00
Dave Page 4c192393b0 Tone down the primary FG colour in dark mode a touch. 2019-11-07 14:24:42 +00:00
Dave Page 9961a6c101 Remove extra space. 2019-11-07 14:15:13 +00:00
Dave Page c3c3e802ca Fix wrapping. 2019-11-07 14:13:22 +00:00
Dave Page 1ebf7948c6 Quick tweak to increase the contrast of dark mode a little prior to a real review of the colours tomorrow. 2019-11-07 14:09:51 +00:00
Akshay Joshi f98136cd99 Correct the issue number for the previous commit. Fixes #4173 2019-11-07 19:01:29 +05:30
Aditya Toshniwal 8180403f97 1) Added support for custom theme creation and selection. Fixes #4348.
2) Added Dark(Beta) UI Theme option. Fixes #3741.
3) Fix an issue where a black arrow-kind image is displaying at the background of browser tree images. Fixes #4171

Changes include:
  1) New theme option in preferences - Miscellaneous -> Themes. You can select the theme from the dropdown.
     It also has a preview of the theme just below the dropdown. Note that, a page refresh is needed to apply changes.
     On saving, a dialog appears to ask for refresh.
  2) You can create your own theme and submit to hackers. README is updated to help you create a theme. Theme will be available only after the bundle.
  3) Correction of SASS variables at few places and few other CSS corrections.
  4) Added iconfont-webpack-plugin, which will convert all the SVG files(monochrome) used as icons for buttons to font icons.
     This will allow us to change the color of the icon by using CSS color property.
  5) All the .css files will bundle into a separate file now- pgadmin.style.css. This will help reduce the size of
     theme CSS files as CSS in .css files will not change with the change of SASS variables.
2019-11-07 18:51:03 +05:30
Rahul Shirsat 62d55cabd9 1) Fixed issue where Drop and Disconnect connection menu points are too close to each other. Fixes #3279
2) Rename the context menu from 'Drop Server' to 'Remove Server'. Fixes #3859
2019-11-07 13:11:24 +05:30
Dave Page 091d2cd0d2 Fixed an issue where psql of v12 throwing "symbol not found" error while running Maintenance and Import/Export.
Copy libpq.so.5.12 from pg12-builder to the final container and create a symbolic link. 

Fixes #4835
2019-11-07 12:12:43 +05:30
Ganesh Jaybhay 69fba93152 Fixed potential issue in reset function for nested objects.
Reset function clears the model instead of storing previous values.

Fixes #4895
2019-11-05 14:47:07 +05:30
Aditya Toshniwal 570ee58f53 Add an option to request confirmation before cancelling/resetting changes on a Properties dialog. Fixes #4351 2019-11-05 14:28:03 +05:30
Aditya Toshniwal e10b58e4ca Ensure create new object dialog should be opened when alt+shift+n key is pressed on the collection node. Fixes #3130 2019-11-05 11:20:03 +05:30
Aditya Toshniwal 080ccdda5b Remove arbitrary (and incorrect) requirement that composite types must have at least two members. Fixes #4451 2019-11-01 15:21:59 +00:00
Aditya Toshniwal a7d8b9de8c Ensure that units are respected when sorting by file size in the File dialog. Fixes #4647 2019-11-01 15:00:34 +00:00
Aditya Toshniwal 30c7effa50 Fix the toggle case shortcut key combination. Fixes #3999 2019-11-01 12:10:14 +00:00
Aditya Toshniwal f85efb2797 Handle NULL values appropriately when sorting backgrid tables. Fixes #4242 2019-11-01 12:04:40 +00:00
Aditya Toshniwal f8e0b54836 Ensure comments are shown in reverse engineered SQL for table partitions. Fixes #4191 2019-11-01 11:58:38 +00:00
Aditya Toshniwal 131a944e24 Support Enable Always and Enable Replica on triggers. Fixes #4006 2019-11-01 11:49:17 +00:00
Abhilasha Narendra ab5d954337 1) Updated documentation for the delete row button that only strikeout the row instead of deleting it. Fixes #4734
2) Updated documentation for the query tool toolbar buttons. Fixes #4779
2019-10-31 19:40:18 +05:30
Aditya Toshniwal 4bec7df33b Suppress Enter key presses in Alertify dialogues when the come from Select2 controls to allow item selection with Enter. Fixes #4610 2019-10-30 10:42:06 +00:00
Aditya Toshniwal fbc3e2d0e7 Don't warn the user before saving changes. 2019-10-30 10:13:29 +00:00
Aditya Toshniwal 4f9d2de8cd Ensure Javascript errors during Query Tool execution are reported as such and not as Ajax errors.. Fixes #4564 2019-10-29 15:51:28 +00:00
Dave Page 18b7483cc4 Correct the issue number for the previous commit (c25034a8). Fixes #4351 2019-10-29 14:34:51 +00:00
Aditya Toshniwal c25034a86d Add an option to request confirmation before cancelling changes on a Properties dialog. Fixes #4315 2019-10-29 14:31:43 +00:00
Dave Page 7408b8c8d9 PEP-8 fix. 2019-10-29 12:18:49 +00:00
Aditya Toshniwal 06022dfd7e Fix an issue in the Query Tool where shortcut keys could be ignored following a query error. Fixes #3915 2019-10-29 11:51:01 +00:00
Richard Yen 30e9673375 Give appropriate error messages when the user tries to use an blank master password. Fixes #4341 2019-10-25 13:55:07 +01:00
Aditya Toshniwal 2182dc3cc5 2 fixes for the backup dialogue when using directory format:
Ensure compression level is passed to pg_dump when backing up in directory format. Fixes #4482
Ensure the number of jobs can be specified when backing up in directory format. Fixes #4483
2019-10-25 13:21:53 +01:00
Aditya Toshniwal 1f6a0a87f6 Ensure all messages are retained in the Query Tool from long running queries. Fixes #4730 2019-10-25 12:38:46 +01:00
Aditya Toshniwal 6d7ff9444a Don't quote bigints when copying them from the Query Tool results grid. Fixes #4459 2019-10-25 11:53:39 +01:00
Aditya Toshniwal 4125360dfb Ensure the correct "running at" agent is shown when a pgAgent job is executing. Fixes #3913 2019-10-25 11:39:40 +01:00
Aditya Toshniwal a804485a4c Ensure context menus never get hidden below the menu bar. Fixes #3789 2019-10-25 11:31:25 +01:00
Aditya Toshniwal 02642628b0 Added encrypted password in reverse engineered SQL for roles. Fixes #1974. 2019-10-23 13:16:36 +05:30
Ganesh Jaybhay 5b438e13cc Fixed potential error in the properties dialog for the Code tab. Fixes #4845. 2019-10-18 17:38:15 +05:30
Nagesh Dhope 687fe617cc Fixed an issue where Datetimepicker control opens when clicking on the label.
Change the click event to 'click .input-group'.

Fixes #4850
2019-10-18 17:37:57 +05:30
Usman Muzaffar 03391a07e0 Fixed minor issue in feature tests.
Signed-off-by: Akshay Joshi <akshay.joshi@enterprisedb.com>
2019-10-18 17:37:33 +05:30
Paresh More e987fe9d37 Ensure the MAC OSX app should be notarized for Catalina.
Added post-build script in Jenkins to notarize appbundle.

Fixes #4817
2019-10-16 11:23:32 +05:30
Akshay Joshi d7b1e2cd9c Update version for release. 2019-10-15 14:27:56 +05:30
Akshay Joshi 2790689d26 1) Fix issue where validate switch for the foreign key is enabled from table dialog even if the key is validated.
2) Fix issue where validate the foreign key from the table dialog, rename the foreign key constraint to none.
2019-10-14 18:19:32 +05:30
Akshay Joshi 7c271d21ae Fix 'placeholders are incompatible' issue in the message catalog.
Replace % with %% used in the explain module.
2019-10-14 12:51:34 +05:30
Identifier Anonymous 75e2167165 Update Japanese translation. 2019-10-14 12:09:28 +05:30
Akshay Joshi 94170757e8 Update message catalogs. 2019-10-11 17:36:02 +05:30
Dave Page 9bdb5ea5e0 Include PostgreSQL 12 binaries in the container. Fixes #4823 2019-10-11 11:13:06 +01:00
Akshay Joshi c3e11bd390 Fix issue where VALID foreign keys show as NOT VALID in the SQL tab for tables.
Corrected the condition for valid foreign key.

Fixes #4791
2019-10-10 18:55:13 +05:30
Aditya Toshniwal d056a94f0c popen() function strips the quotes from the arguments, so backup fails
for the schema name that needs quoting.

Code is changed to add escapers.

Fixes #4590
2019-10-10 17:58:32 +05:30
Aditya Toshniwal f16498a8a7 Optimize Webpack to improve overall performance.
Changes include:
1) Remove underscore-string and sprintf-js packages as we were using only %s. Instead, added a function to do the same. Also changed gettext to behave like sprintf directly.
2) backgrid.sizeable.columns was not used anywhere, removed. @babel/polyfill is deprecated, replaced it with core-js.
3) Moved few css to make sure they get minified and bundled.
4) Added Flask-Compress to send static files as compressed gzip. This will reduce network traffic and improve initial load time for pgAdmin.
5) Split few JS files to make code reusable.
6) Lazy load few modules like leaflet, wkx is required only if geometry viewer is opened. snapsvg loaded only when explain plan is executed. This will improve sqleditor initial opening time.

Reviewed By: Khushboo Vashi
Fixes #4701
2019-10-10 12:05:28 +05:30
Akshay Joshi e5638b520d Feature test should work with Python 2.7.
Import print_function from __future__
2019-10-09 11:57:35 +05:30
Ashesh Vashi 6e4923d762 Fixes # 4778 - Implement the query plan analyzer
Look 'n' Feel and implementation logic are inspired from
'http://explain.depsez.com'.

It now creates three tabs under the 'Explain' panel when executing a
query using the Explain Analyze/Explain button from the toolbar of the
Query tool.

Graphical
---------
-> Graphical Explain Plan

Analysis
--------
-> Table to show details of the explain plan analyse.
-> Each row represents the statistics per Explain Plan Node
-> It may contains columns like node information, exclusive timing
   (time spent for this explain node excluding the child nodes),
   inclusive timing, actual rows, plan rows,
   rowsx (misestimation between planned vs actual rows), loop.
-> Background color of exclusive, inclusive, rows changes based on
   their values.
i.e.
If Percentage of exclusive, and inclusive timings of total query time
is:
> 90 - Red Color
> 50 - Orange (Between Red & Yellow Color)
> 10 - Yellow color

If planner misestimation for the rows is
> 1000 times - Red Color
> 100 times - Orange (Between Red & Yellow Color)
> 10 times - Yellow Color
Also - if actual rows <= planned rows then it shows up arrow, else it
shows down arrow.

Statistics
----------
-> It contains a HTML table for the statistics per Node Type, and
   a HTML table for the statistics per table.

Reviewed by: Akshay Joshi
2019-10-08 16:44:24 +05:30
Akshay Joshi 1e4fd552ac Ensure backup a partition table should not backup the whole database.
For the partition table same argument '--table' is used with pg_dump.

Fixes #3386
2019-10-07 16:32:37 +05:30
Akshay Joshi 55c6fa0d93 Fix an error where 'false' string is displayed when we add a new parameter in the Parameters tab,
also clear the old value when the user changes the parameter name.

Corrected the implementation of BooleanCellFormatter.

Fixes #4753
2019-10-07 16:00:28 +05:30
Akshay Joshi 7489c372e5 The search path should not be quoted while setting as a parameter, if it is
quoted then that string considers to be a single schema.

Quoting not added for the 'search_path' parameter.

Fixes #4760, #4780
2019-10-07 12:28:00 +05:30
Dave Page 893ef4701d Fix the default value for PROXY_X_PROTO_COUNT per Aditya. 2019-10-04 12:34:59 +01:00
Aditya Toshniwal 41ee58e79a Highlighted the color of closing or opening parenthesis when user select them in CodeMirror. Fixes #4728 2019-10-04 13:55:00 +05:30
Akshay Joshi bf2c001c87 Export job fails when deselecting all the columns.
Select2 parameter 'first_empty' should be set to false for the controls of type array.
If it is true then on deselecting/clearing all the values, an empty entry is still there. 

Fixes #4751
2019-10-04 13:00:39 +05:30
Aditya Toshniwal 245a6e6f57 Added backward compatible code for reverse proxy in case werkzeug is older.
Make werkzeug greater than equal to 0.15.0
2019-10-01 17:55:43 +05:30
Dave Page 6c662ae672 PEP-8 fix. 2019-09-27 11:16:08 +01:00
Dave Page 8249e66419 Tidy up formatting and wording. 2019-09-27 10:51:18 +01:00
Aditya Toshniwal 6032692de0 Unable to open Query tool on Internet Explorer.
Remove extra comma in the function argument while starting the query tool.
Other browsers had no problems, but it is an issue on Internet explorer.

Fixes #4769
2019-09-27 14:32:52 +05:30
Akshay Joshi c580c9d4b3 Fix PEP8 issue 2019-09-27 14:27:50 +05:30
Akshay Joshi 8e974b80ca Fix documentation issue single quote is not allowed in reStructuredText. 2019-09-27 13:45:09 +05:30
Aditya Toshniwal faf8062830 pgAdmin4 unable to work behind Nginx reverse proxy running on a non-standard port.
Werkzeug middleware allows us to set the number of trusted ports and few other params
behind the proxy. By default values are set to zero.

Added 'X-Forwarded-*' configuration options and set the default value of the port to 1 to work with non-standard port.

Fixes #4768
2019-09-27 13:24:35 +05:30
Khushboo Vashi 56e00d74ad There is no option to Copy data with headers from Query Tool/View Data.
Added drop-down 'Copy with headers' near to the copy button in Query Tool/View Data.

Fixes #3009
2019-09-27 12:14:39 +05:30
Akshay Joshi 051e5038b5 Fix issue where query history is not visible in the query history tab. Fixes #4777 2019-09-25 13:18:33 +05:30
Akshay Joshi c54017eac5 Add Reverse Engineered and Modified SQL tests for Synonyms. Fixes #4472 2019-09-24 18:33:07 +05:30
Aditya Toshniwal 73dc130908 Fix issue where pgAdmin does not load completely if loaded in an iframe. Fixes #4756 2019-09-23 12:55:02 +05:30
Aditya Toshniwal 82aa2d1819 Ensure that pgAdmin should work behind reverse proxy if the inbuilt server is used as it is. Fixes #4755 2019-09-23 11:50:32 +05:30
Akshay Joshi 1bef98fdfa Ensure that 'ENTER' key in the data filter should not run the query. Fixes #4199 2019-09-20 18:13:44 +05:30
Akshay Joshi faa6236580 Add Reverse Engineered and Modified SQL tests for Unique Constraints. Fixes #4628 2019-09-20 12:12:01 +05:30
Dave Page a1b0139c9b Don't use Python to get the app details from the Makefile. Fixes #4757 2019-09-19 09:58:44 +01:00
Akshay Joshi f881542834 Fix RESQL/MSQL test cases for Python 2.7 2019-09-17 11:41:57 +05:30
Akshay Joshi e64d6edc73 Update version for release. 2019-09-17 11:06:58 +05:30
Akshay Joshi b10378fe70 Fix query history issue for Python 2.7, it is a regression of #4750. 2019-09-17 11:01:13 +05:30
Murtuza Zabuawala 80b05973c6 Fix query history exception for Python 3.6. Fixes #4750. 2019-09-16 19:09:22 +05:30
Akshay Joshi 426d9d5872 Fix SQL issue of length and precision when changing the data type of Column. Fixes #4698 2019-09-16 18:57:57 +05:30
Dave Page 110a51c5b2 Refactor Dockerfile to avoid needing to run supporting scripts (i.e. 'docker build .' will work) and minimise layers. Fixes #4752 2019-09-16 13:48:11 +01:00
Khushboo Vashi aa668856f7 1) Add Reverse Engineered and Modified SQL tests for Primary Keys. Fixes #4624.
2) Ensure Primary Key should be created with Index. Fixes #4742.
2019-09-16 12:05:29 +05:30
Murtuza Zabuawala d923dcf98b Added MSQL test cases for Roles. 2019-09-16 11:41:48 +05:30
Identifier Anonymous 6e7759f1d5 Update Japanese translation. 2019-09-16 11:30:20 +05:30
Akshay Joshi 2acd2a5615 Update message catalogs. 2019-09-13 18:13:21 +05:30
Akshay Joshi f5a6df4ddb Fix issue where EXEC script doesn't write the complete script for Procedures. Fixes #4727 2019-09-13 16:58:25 +05:30
Akshay Joshi da553eec9b Ensure port and username should not be mandatory when a service is provided. Fixes #4642 2019-09-13 11:54:16 +05:30
Aditya Toshniwal 9a69d27009 Fix webpack issue where multiple assets emit to the same file. 2019-09-13 11:08:08 +05:30
Aditya Toshniwal 83170a0e94 Fix display of validation error message in SlickGrid cells. Fixes #4408 2019-09-12 20:27:44 -04:00
Akshay Joshi 6d8c53bffd Fix query tool and view data issue with the Italian language. Fixes #4736 2019-09-12 17:20:35 +05:30
Akshay Joshi 7944e75695 Ensure sequence with negative value should be created. Fixes #4726 2019-09-12 14:18:30 +05:30
Dave Page 31653aef70 Remove quotes that shouldn't be there. 2019-09-11 16:00:53 -04:00
Akshay Joshi 6a931588aa 1) Add Reverse Engineered and Modified SQL tests for Foreign Keys. Fixes #4616
2) Fix issue where Validated switch option is inverted for the Foreign Key. Fixes #4412
2019-09-11 15:59:13 +05:30
Dave Page b4a754bdc0 Remove copy of file that's now created on the fly. 2019-09-09 13:35:55 -04:00
Domenico Sgarbossa 199844e82c Italian translation improvements. 2019-09-09 11:33:51 +05:30
Nagesh Dhope db06dd0275 Add msql tests for FTS Dictionaries 2019-09-06 16:00:33 +01:00
Dave Page 72505b27cb Update feature test to support changed editor options. 2019-09-06 13:32:13 +01:00
Nagesh Dhope 9f26e7ed20 Added MSQL test cases for Extension. 2019-09-06 16:28:41 +05:30
Akshay Joshi 8e4e8b3e5a 1) Add Reverse Engineered and Modified SQL tests for Indexes. Fixes #4621
2) Fix modified SQL for Index when reset the value of Fill factor and Clustered?. Fixes #4702
3) Fix reversed engineered SQL for btree Index when provided sort order and NULLs. Fixes #4703
2019-09-06 14:10:46 +05:30
Akshay Joshi 9eff2e9926 Modified RE-SQL/MSQL test cases of foreign tables for EPAS 9.4 and 9.5 2019-09-05 12:01:03 +05:30
Aditya Toshniwal 1c2ba72f02 Add editor options for plain text mode and to disable block folding to
workaround rendering speed issues in CodeMirror with very large scripts.
Fixes #4631.

Re-arrange editor options in the Preferences dialogue to tidy things up.
2019-09-04 15:46:08 +01:00
Akshay Joshi 5e54f20578 Add Reverse Engineered and Modified SQL tests for Foreign Tables. Fixes #4618. 2019-09-04 18:33:07 +05:30
Ashesh Vashi 2d4429fa64 Update yarn.lock to update the vulnerable javascripts
i.e.
eslint-utils >= 1.4.1
2019-09-04 10:20:28 +05:30
Ganesh Jaybhay 85baa22ca1 Added Modified SQL test cases for FTS Configurations. 2019-09-03 17:42:44 +05:30
navnath gadakh 4690700a24 Added Modified SQL test cases for Packages. 2019-09-03 17:33:57 +05:30
Akshay Joshi 4745ad56e9 1) Add Reverse Engineered and Modified SQL tests for Foreign Servers. Fixes #4617
2) Add Reverse Engineered and Modified SQL tests for User Mappings. Fixes #4627
2019-09-03 16:27:41 +05:30
Aditya Toshniwal 04357b7a55 Fix error while importing data to a table using Import/Export dialog and providing Not null columns option. Fixes #4461. 2019-09-03 11:19:33 +05:30
Shubham Agarwal a0f6e5272a Add MSQL test cases for FTS Parser. 2019-09-03 10:28:11 +05:30
Murtuza Zabuawala eeeb350ed2 Add Modified SQL tests for Resource Group. Fixes #4690 2019-09-03 10:18:09 +05:30
Aditya Toshniwal a68f0702e2 Re-fix database name unescaping the query tool title bar. 2019-09-02 16:57:28 +01:00
Domenico Sgarbossa 60a6c501fb Add an Italian translation. 2019-09-02 13:35:32 +01:00
Akshay Joshi 5ff3f40116 Add Reverse Engineered and Modified SQL tests for FTS Templates. Fixes #4619 2019-09-02 15:24:41 +05:30
Akshay Joshi 662266a367 Added MSQL test cases for Cast and Language. 2019-09-02 14:11:59 +05:30
Aditya Toshniwal bc91a7c7b2 Increase cache control max age for static files to improve performance over longer run. Fixes #4681 2019-09-02 12:17:43 +05:30
Neel Patel 0ca65d7cfe Added MSQL test cases for Domain. 2019-09-02 11:52:19 +05:30
Aditya Toshniwal 47f26cc377 Fix exception in query history for python 2.7. Fixes #4663 2019-08-30 09:07:03 +05:30
Akshay Joshi e0c53e7d1d Add Reverse Engineered SQL tests for Schemas. Fixes #4575 2019-08-29 18:32:08 +05:30
Aditya Toshniwal d6da1cf25c Added MSQL test cases for Sequences and cover missing ACL RE-SQL test cases. 2019-08-29 14:15:34 +05:30
Shubham Agarwal fc4bef56a0 Further code refactoring to stabilise the Feature Tests. Fixes #3936 2019-08-28 18:04:08 +05:30
Aditya Toshniwal 028473eb83 Fix an issue where oid column should not be pasted when copy/paste row is used on query output containing the oid column. Fixes #4381 2019-08-28 13:35:40 +05:30
Usman Muzaffar ac298b03c0 1) Add Reverse Engineered SQL tests for Views. Fixes #4576
2) Ensure View should be created with special characters. Fixes #4486
2019-08-28 12:48:59 +05:30
Aditya Toshniwal 06ad6b8ba8 1) Ensure Boolean columns should be editable using keyboard keys. Fixes #3778
2) Ensure Boolean columns should be editable in View/Edit data and Query Tool. Fixes #4487
2019-08-28 11:09:30 +05:30
Aditya Toshniwal dbbbb2e5ed Fix query tool launch error if user name contain html characters. Fixes #4674 2019-08-28 10:46:28 +05:30
Akshay Joshi 28b741a13a Fixed timezone issue in RE-SQL test cases for Roles. 2019-08-27 19:54:30 +05:30
Murtuza Zabuawala 1ddc9cc889 Modified RE-SQL test to cover Password, Account Expire, Connection Limit and Variables for Roles. 2019-08-26 18:25:48 +05:30
Aditya Toshniwal 53ab4d7e8d Fix an error that could be seen when click on any system column of a table. Fixes #4577 2019-08-26 14:36:07 +05:30
Yosry Muhammad f8f7d5ac6f Ensure editable and read-only columns in Query Tool should be identified by icons and tooltips in the column header. Fixes #4667 2019-08-26 14:17:40 +05:30
Yosry Muhammad 5887fb3815 Some refactoring of sqleditor.js. 2019-08-23 16:15:43 +01:00
Aditya Toshniwal 234efc3be7 Don't wait for the database connection before rendering the Query Tool UI, for improved UX. Fixes #4453
In addition, unescape HTML entities in database names in the Query Tool title bar. Fixes #4584
2019-08-23 12:14:20 +01:00
Dave Page 25f85fe123 Fix PGADMIN_SERVER_JSON_FILE environment variable support in the container. Fixes #4657 2019-08-23 09:53:24 +01:00
Aditya Toshniwal 3dadb8989b Fix a debugger error when using Python 2.7. Fixes #4419
Also fixes a minor bug where a reload warning was unnecessarily given when closing the debugger.
2019-08-23 09:43:51 +01:00
Akshay Joshi 232fe286ee Fix SQL tab issue for Views. It's a regression of compound triggers. Fixes #4650 2019-08-23 10:22:20 +05:30
Dave Page 6192c48ef9 Further tweaks for formatting. 2019-08-22 15:41:24 +01:00
Dave Page 92aabb215f Improve formatting. 2019-08-22 15:34:04 +01:00
Dave Page c76b30e353 Allow configuration options to be set from the environment in the container distribution. Fixes #4651 2019-08-22 15:24:04 +01:00
Dave Page 1795141aec Minor doc styling tweaks. 2019-08-22 15:11:59 +01:00
Shubham Agarwal 9f455a514e Feature test improvement and fix intermittent failures part of #3936 2019-08-22 14:50:51 +05:30
Akshay Joshi 7090c02014 Move schema precondition logic into separate function for RE-SQL. 2019-08-21 18:12:33 +05:30
Neel Patel dc64ce331a Fix length and precision enable/disable issue when changing the data type for Domain node. Fixes #4644. 2019-08-21 16:27:23 +05:30
Akshay Joshi 094e5577e8 Add Reverse Engineered SQL tests for Rules. Fixes #4600 2019-08-21 16:06:05 +05:30
Akshay Joshi 41e2a674e3 Fix Truncate option deselect issue for compound triggers. Fixes #4643 2019-08-20 17:09:26 +05:30
Akshay Joshi bdff046c57 1) Added ProjectSet icon for explain module. Fixes #2706
2) Added Gather Merge, Named Tuple Store Scan and Table Function Scan icon for explain module. Fixes #2828
2019-08-20 16:47:53 +05:30
Akshay Joshi 5c8aefc01e Update version for release 2019-08-20 10:26:49 +05:30
Khushboo Vashi ed76787b76 Fix the Transaction Status failed test cases. 2019-08-20 10:22:11 +05:30
Akshay Joshi f3e4721a90 Added missing file for function selectivity feature. Fixes #4333 2019-08-20 10:02:43 +05:30
Akshay Joshi 0d6f07a035 1) Ensure compound triggers should be displayed under Views. Fixes #4638.
2) Ensure Truncate option should be available for Compound Triggers. Fixes #4641.
2019-08-20 09:39:31 +05:30
Akshay Joshi 624f229ce7 Comment out the failed Transaction Status API test cases for successful Jenkins build 2019-08-20 09:33:42 +05:30
Murtuza Zabuawala 3155380621 Fix issue where Deleting N number of rows makes first N number of rows disable. Fixes #3605 2019-08-19 12:12:28 +05:30
Yosry Muhammad 663e8382f3 1) Added new python test that checks the transaction status after executing queries and saving data when auto-commit is on/off.
2) Some refactoring of previously written python tests.
2019-08-19 11:45:36 +05:30
Identifier Anonymous 659d0b8436 Update Japanese translation. 2019-08-17 16:49:59 +05:30
Akshay Joshi 24f9f65b1b Ensure compound triggers for event should be updated properly. Fixes #4635 2019-08-17 15:58:50 +05:30
Akshay Joshi 177def1e58 Update message catalogs. 2019-08-16 17:55:38 +05:30
Murtuza Zabuawala 3f541200d9 Add Reverse Engineered SQL tests for Columns. Fixes #4546 2019-08-16 17:36:13 +05:30
Yosry Muhammad 687204771c Add support in query history to show internal queries generated by pgAdmin during save data operations. Fixes #4612 2019-08-16 17:17:12 +05:30
Akshay Joshi 4403f326e9 Fix PEP8 issue 2019-08-12 14:41:22 +05:30
Akshay Joshi 35bbee3023 Fix generation of reverse engineered SQL for Rules. Fixes #4586 2019-08-12 14:27:02 +05:30
Aditya Toshniwal a51de78292 Fix issue in drag drop feature. It's regression of RM #4552 2019-08-12 13:11:56 +05:30
Aditya Toshniwal a850e7bd5a Update the documentation for pgAgent to clarify Batch jobs won't run on remote servers. Fix minor css issue in docs. 2019-08-12 11:45:54 +05:30
Yosry Muhammad b618dfe286 Fix double click issue to expand the contents of a cell if the resultset was not editable. Fixes #4585 2019-08-09 11:45:05 +05:30
Aditya Toshniwal 99b51f8f20 Remove HardSourceWebpackPlugin as WebPack 4 is fast enough and it causes more problems than it solves. 2019-08-08 15:38:47 +01:00
Aditya Toshniwal bfca1e3ac8 Set the Werkzeug logger to the same log level as the rest of the app. 2019-08-08 15:36:22 +01:00
Dave Page 7f667f5761 Add support for OpenSSL 1.1.1 to the Windows installer build. 2019-08-08 15:07:11 +01:00
Aditya Toshniwal 1281f5cd6c Fix console error when changing kind(SQL/BATCH) for pgAgent job step. Fixes #4582 2019-08-08 18:43:38 +05:30
Akshay Joshi 350ffcce7c 1) Add support of Compound Triggers for EPAS 12+. Fixes #4144.
2) Ensure enable trigger menu should be visible when trigger is disabled. Fixes #4578.
2019-08-08 16:59:11 +05:30
Dave Page 8331f62e1c Fix PEP-8 issue. 2019-08-08 10:09:28 +01:00
Khushboo Vashi c29275011a Ensure the comment on a Primary Key constraint can be edited under the Table node. Fixes #4581 2019-08-08 09:52:10 +01:00
Akshay Joshi 7f53e13aa7 Fix generation of reverse engineered SQL for partition table, partitions were shown as a child of indexes. Fixes #4414 2019-08-07 17:49:13 +05:30
Dave Page d1530015ee Stupid tabs 2019-08-07 11:27:39 +01:00
Fahar Abbas 228d3dde5b Improve consistency of the regression README. Fixes #4579 2019-08-07 11:24:10 +01:00
Dave Page 3a5464b278 Display the row count in the popup message when counting table rows, not just in the properties list. Fixes #4574 2019-08-07 11:17:57 +01:00
Dave Page b9d5e08e8f Make sure the package-lock.json file is removed. 2019-08-07 11:07:10 +01:00
Aditya Toshniwal 4067d65a30 Improve test messages 2019-08-07 10:17:34 +01:00
Dave Page ee2099d9c6 Further message tweak. 2019-08-06 16:43:37 +01:00
Dave Page bfb05d3f9f Improve message wording. 2019-08-06 16:40:29 +01:00
Aditya Toshniwal 9cdb3b40ab Add Reverse Engineered SQL tests for Trigger Functions. Fixes #4554
Fix the reverse engineered SQL for trigger functions with the WINDOW option selected. Fixes #4565
2019-08-06 14:26:11 +01:00
Aditya Toshniwal 6800b1f723 Add an optimisation to the internal code responsible for searching for treeview nodes. Fixes #4570
Attached is a tiny but very effective patch to improve the speed of
finding a node using path (used internally).
If you right click or just click on a node, internally the node is
traversed using its path. But currently, it compares with the path of
all the open nodes to find a match.
So if you 1000+ tables and the tables node is open and if you click on
a view, the view path is compared with all the 1000+ tables (and with
any other open nodes above) before arriving to path. You're at bad luck
if you have more open servers above.

Code is changed to check if the path of node to be found starts with the
current node path. If it doesn't match, why bother the children's of
current node.
This change will not show much effect for small data, but it does matter
for large servers.

One more change is to remove unnecessary calls to find node and use the
data available with Main Menu -> Object to enable/disable node context
menu items.
2019-08-06 14:02:57 +01:00
Aditya Toshniwal db7a2e3023 Add a --modules option to the RE-SQL test suite to allow testing of specific object types. Fixes #4560 2019-08-06 13:43:49 +01:00
Murtuza Zabuawala ee8fec6d7f Allow enhanced cookie protection to be disabled for compatibility with dynamically addressed hosting environments. Fixes #4566 2019-08-06 09:21:31 +01:00
Khushboo Vashi f8afe2ef94 Add Reverse Engineered SQL tests for Exclusion Constraint. Fixes #4555 2019-08-05 16:25:55 +05:30
Ma Yanhong efbad77dbe Update Chinese translation. 2019-08-05 08:57:34 +01:00
Aditya Toshniwal b5c8c85c90 Ensure triggers should be updated properly for EPAS server. Fixes #4559 2019-08-05 12:49:33 +05:30
Dave Page d7ee4bb932 Update library inventory. 2019-08-02 15:50:44 +01:00
Aditya Toshniwal 8780462708 Add various make targets for auditing the Python and JS modules. Update the install-node target so that it de-dupes JS modules.
Original patch by Aditya, with further work from Ashesh and I.
2019-08-02 14:05:09 +01:00
Aditya Toshniwal 99a8b70e00 Fix some errors thrown on the JS console when dragging text in the Query Tool. Fixes #4552 2019-08-02 11:28:57 +01:00
Yosry Muhammad 0cfd76c279 Fix load on demand in View/Edit data mode. Fixes #4536 2019-08-02 10:39:19 +01:00
Akshay Joshi 537c27a58e Use the full tab space for CodeMirror instances on dialogues where appropriate. Fixes #4540 2019-08-02 10:25:21 +01:00
Aditya Toshniwal aab5fadc01 Update wcDocker to allow the browser's context menu to be used except in tab strips and panel headers. Fixes #4229
Update wcDocker to prevent window state loading creating blank dialogues. Fixes #4489
2019-08-01 15:36:40 +01:00
Yosry Muhammad 97e39699ea Ensure the Query Tool doesn't throw an error when viewing the contents of a table with no columns. Fixes #4492 2019-08-01 14:39:02 +01:00
Yosry Muhammad 76e658ee12 Ensure command tags are shown in the messages tab of the Query Tool. Fixes #4520 2019-08-01 14:29:38 +01:00
Yosry Muhammad 7b65507533 Ensure the query tool will work with older versions of psycopg2 than we officially support, albeit without updateable resultsets. Fixes #4520 2019-08-01 13:59:53 +01:00
Dave Page cbe40176c1 PEP-8 fix. 2019-08-01 13:47:18 +01:00
Aditya Toshniwal bcb1392a1a Ensure type names are properly encoded in the results grid. Fixes #4401 2019-08-01 13:17:00 +01:00
Dave Page 9a8a28e4f9 Allow a banner to be displayed on the login and other related pages showing custom text. Fixes #4549 2019-08-01 11:39:40 +01:00
Akshay Joshi 1ff007d1cb Swap the Schema and Schemas icons and Catalog and Catalogs icons that had been used the wrong way around. 2019-08-01 11:39:49 +05:30
Dave Page 3cb02bcdc3 Add a warning to notify packagers of dependency updates. 2019-07-29 11:24:54 +01:00
Yosry Muhammad 82d209946f Added support for editing of result sets from tables with OIDs in query tool. 2019-07-29 12:26:53 +05:30
Akshay Joshi 2ef3080d0e Add support for generated columns in Postgres 12+. Fixes #4334
Ensure columns can be created when they are IDENTITY fields with the CYCLE option enabled. Fixes #4496
Ensure purely numeric comments can be saved on new columns. Fixed #4497
2019-07-25 16:38:26 +01:00
Daniel Gustafsson 5b322d94e8 Fix generation of reverse engineered SQL for tables with Greenplum 5.x. Fixes #4179 2019-07-25 16:16:44 +01:00
Khushboo Vashi adb5cd34bf Add support for planner support functions in PostgreSQL 12+ functions. Fixes #4333 2019-07-25 16:09:37 +01:00
Murtuza Zabuawala 108af5c10b Fix accessibility issue for Datetime cell in backgrid. Fixes #4508 2019-07-25 17:54:24 +05:30
Ganesh Jaybhay 136bb412a1 1) Fix accessibility issue for checkbox in IE11. Fixes #4490
2) Fix adjacent switch cell focus issue in backgrid for IE.
2019-07-25 17:23:56 +05:30
Akshay Joshi 8cfe39e837 Fix syntax error in query tool feature test for Python 2.7 2019-07-25 11:26:45 +05:30
Dave Page ec968dbc14 Remove duplicated blank message entry which is illegal. 2019-07-24 15:17:59 +01:00
Akshay Joshi b4d9fea83d Update version for release 2019-07-23 10:40:51 +05:30
Khushboo Vashi c019778a47 1) Fix an error while retrieving json data from the table. Fixes #4427
2) Fix an issue where Explain and Explain Analyze are not working, it's regression of #1760. Fixes #4484
3) Fix an issue where Filter toolbar button is not working in view/edit data, it's regression of keyboard navigation. Fixes #4485
2019-07-22 18:42:48 +05:30
Fred Escallier 6e49c9c36f Update French translation 2019-07-22 17:05:27 +05:30
Nagesh Dhope 1813eca1ca Add support for pre-condition SQL in RE-SQL testsuite,
and use it to ensure that the right extensions are installed for the
extension tests.
2019-07-22 09:44:17 +01:00
Identifier Anonymous 4a6991d0df Update Japanese translation 2019-07-22 11:06:58 +05:30
Akshay Joshi 003ab44a91 Update message catalogs. 2019-07-19 17:46:45 +05:30
Akshay Joshi 5a0aae0c1c Correct the issue number and sequence in release note. 2019-07-18 12:41:54 +05:30
Yosry Muhammad f5b927b925 Randomise table names for tests. 2019-07-17 16:50:59 +01:00
Akshay Joshi d78dfbd30f Ensure Selenium is started only when it's needed. 2019-07-17 15:38:14 +01:00
Khushboo Vashi 8168f623c4 Add Reverse Engineered SQL tests for Constraints. Fixes #4475 2019-07-17 13:25:08 +01:00
Yosry Muhammad 710d520631 Add support for editing of resultsets in the Query Tool, if the data can be identified as updatable. Fixes #1760
When a query is run in the Query Tool, check if the source of the columns
can be identified as being from a single table, and that we have all
columns that make up the primary key. If so, consider the resultset to
be editable and allow the user to edit data and add/remove rows in the
grid. Changes to data are saved using SAVEPOINTs as part of any
transaction that's in progress, and rolled back if there are integrity
violations, without otherwise affecting the ongoing transaction.

Implemented by Yosry Muhammad as a Google Summer of Code project.
2019-07-17 11:45:20 +01:00
Dave Page beb06a4c76 Fix typo 2019-07-16 14:36:29 +01:00
Dave Page aed6b9e636 Improve error output for the RE-SQL tests. 2019-07-16 09:35:00 +01:00
Dave Page 2c2c738f31 Cleanup wording. 2019-07-15 16:02:19 +01:00
Akshay Joshi ab87035658 pgAgent fixes:
"malformed array literal error when updating pgagent job". Fixes #4428
"Error when updating connection string in pgagent Jobs.". Fixes #4448
When user create a schedule using Create->Schedule dialog browser tree is not showing newly created node.
Properties tab showing same properties for all the created schedule.
Added validation in "pga_jobstep.js", throws error on browser when we modify step from the pgagent dialog and select the same node.
2019-07-15 15:54:57 +01:00
Aditya Toshniwal d3ef1137d9 Add Reverse Engineered SQL tests for Sequences. Fixes #4469 2019-07-15 14:56:22 +01:00
Aditya Toshniwal 0b82a4ad92 Fix sequence reverse engineered SQL generation with quoted names on PG/EPAS 10+. Fixes #4470 2019-07-15 14:55:07 +01:00
Murtuza Zabuawala f4453e33cc Stabilise ordering of ACLs in Type RE-SQL tests to prevent random failures. 2019-07-15 14:48:22 +01:00
Shubham Agarwal 809e0682bd Add Reverse Engineered SQL tests for FTS Parsers. Fixes #4471 2019-07-15 12:02:44 +01:00
Murtuza Zabuawala 1831c9e70a Use ROLE consistently when generating RE-SQL for roles, not USER. Fixes #4446 2019-07-15 11:31:27 +01:00
Murtuza Zabuawala 1dcf46cc5f Add Reverse Engineered SQL tests for Types. Fixes #4468 2019-07-15 10:25:04 +01:00
Neel Patel 88ab6db976 Add Reverse Engineered SQL tests for Domains. Fixes #4463 2019-07-12 14:39:49 +01:00
Khushboo Vashi 79e6f4c008 Add Reverse Engineered SQL tests for Collations. Fixes #4464
This also adds the ability to test the msql output in ALTER steps.
2019-07-12 14:37:00 +01:00
Dave Page 6b5ca07715 Fix external utility tests to run on Windows 2019-07-12 13:55:18 +01:00
Dave Page 3f4d5a687b Rename horribly named function. 2019-07-12 13:00:23 +01:00
Navnath Gadakh ce8a2bb266 Fix re-sql tests for packages on EPAS 9.4-9.6. 2019-07-12 11:32:29 +01:00
Dave Page 3dd1e8e102 Fix wording. 2019-07-12 11:17:35 +01:00
Akshay Joshi 29fd83dc6c Fix dropping of pgAgent schedules through the Job properties. Fixes #3996 2019-07-12 10:37:41 +01:00
Akshay Joshi ed01274f7b Fix an error that could be seen when editing column privileges. Fixes #4389 2019-07-12 10:16:18 +01:00
Murtuza Zabuawala 20a5899c7d Fix some minor UI issues on IE11. Fixes #4462
Includes some Jasmine test case fixes from Ganesh.
2019-07-12 10:06:30 +01:00
Dave Page 1df26cb731 Make the RE-SQL test output a little more consistent with other tests. 2019-07-11 14:12:41 +01:00
Nagesh Dhope 379b92729a Add Reverse Engineered SQL tests for FTS Dictionaries. Fixes #4460 2019-07-11 14:00:11 +01:00
Ganesh Jaybhay 4cbc1f2f59 Allow keyboard navigation of all controls on subnode grids. Partially fixes #3919 2019-07-11 10:14:01 +01:00
Navnath Gadakh 28585110dd Add Reverse Engineered SQL tests for Packages. Fixes #4456 2019-07-11 09:23:13 +01:00
Akshay Joshi cdf655f7db Add Reverse Engineered SQL tests for Languages. Fixes #4452 2019-07-11 09:20:01 +01:00
Nagesh Dhope e6c067025c Fixed resql test cases for Extensions specific to database servers. 2019-07-11 13:16:00 +05:30
Akshay Joshi 6c7e95a463 Added re_sql test cases for privileges in Foreign Data Wrappers 2019-07-10 17:57:11 +05:30
Dave Page 49503dc73d Add documentation on using Traefik with pgAdmin mounted under a subdirectory, and tidy up the reverse proxying docs a little. 2019-07-10 12:03:37 +01:00
Ganesh Jaybhay f7d6966d60 Add Reverse Engineered SQL tests for FTS Configurations. Fixes #4454 2019-07-09 17:02:55 +01:00
Dave Page bf0d53bc2c Add an example Traefik configuration. 2019-07-09 14:14:46 +01:00
Dave Page 2a56e47c5c Fix typo 2019-07-09 14:11:38 +01:00
Nagesh Dhope 84b712a008 Add RE-SQL tests for Extensions. Fixes #4453 2019-07-09 13:23:26 +01:00
Akshay Joshi f085460453 Remove some files which was committed by mistake. 2019-07-09 16:47:23 +05:30
Akshay Joshi 1a9d8f01aa 1) Ensure re_sql tests should not abort at the first failure, it should run all the test cases.
2) Added place holder for owner, so we won't need to create separate pg/ppas folder just because of change in the owner name.
2019-07-09 15:37:53 +05:30
Khushboo Vashi f4ac1e804e Modified the creation logic of custom schema and added support for schema id in re_sql test framework. 2019-07-09 13:09:32 +05:30
Akshay Joshi a17687e27c Fix reverse engineered sql for Foreign Data Wrapper created on EPAS server in redwood mode. Fixes #4450 2019-07-09 12:21:13 +05:30
Dave Page 08e6d54184 Add an example of reverse proxying from HTTPS to HTTP using Nginx. 2019-07-08 17:12:31 +01:00
Dave Page 07089785be Add examples of reverse proxying with nginx. 2019-07-08 16:38:11 +01:00
Akshay Joshi 8c39b10d9c Ensure browser should not be started by Selenium when feature tests are excluded from a test run. Fixes #4442 2019-07-08 17:38:06 +05:30
Dave Page bd0e4a5a8f Remove some files committed in error. 2019-07-08 12:07:50 +01:00
Dave Page 863f62f4d8 Use special characters in names for RE-SQL tests to exercise quoting. 2019-07-08 11:03:30 +01:00
Khushboo Vashi 7c38c1cb38 Fix small issue which is required to support the custom schema in re_sql test cases. 2019-07-08 12:33:31 +05:30
Akshay Joshi 11a3aa56be Use different folders for pg vs. ppas RE-SQL tests. Fall back to the tests folder without a subdirectory if neither exist. 2019-07-05 14:40:51 +01:00
Dave Page e4bf52f355 Don't distinguish between issue types in their URL text. 2019-07-05 11:38:12 +01:00
Aditya Toshniwal ba32c98241 Add Reverse Engineered SQL tests for FDWs. Fixes #4441 2019-07-05 11:24:54 +01:00
Khushboo Vashi 954c0d3101 Added logic to provide custom schema name in re_sql test framework. 2019-07-05 15:35:33 +05:30
Dave Page 6a2ba22f75 Fxi a couple of colors in the doc theme per Aditya. 2019-07-05 09:32:19 +01:00
Akshay Joshi 776884860e Ensure parameter values are quoted when needed when editing roles. Fixes #4393 2019-07-04 15:00:29 +01:00
Aditya Toshniwal 0aa18fd466 Ensure drag/drop from the treeview works as expected on Firefox. Fixes #4429 2019-07-04 14:49:09 +01:00
Aditya Toshniwal 15427334af Set the mouse cursor appropriately based on the layout lock state. Fixes #4318 2019-07-04 14:33:05 +01:00
Dave Page 3487b3360e Use our own doc theme. 2019-07-04 14:10:01 +01:00
Akshay Joshi fabb644230 Update the version number in release note. 2019-07-04 18:09:31 +05:30
Akshay Joshi bf1f9a4b07 Fix table icon issue when updating any existing field. Fixes #4437 2019-07-04 17:34:47 +05:30
Murtuza Zabuawala 588e3814d1 Add RE-SQL tests for Roles and Resource Groups. Fixes #4415 2019-07-03 14:38:29 +01:00
Aditya Toshniwal f4bc4475cd Add more comprehensive feature tests for the data grid editor. 2019-07-03 14:30:12 +01:00
Aditya Toshniwal 0340b8fb28 Add EXPLAIN options for SETTINGS and SUMMARY. Fixes #4335
Prevent flickering of large tooltips on the Graphical EXPLAIN canvas. Fixes #4224
EXPLAIN options should be Query Tool instance-specific. Fixes #4395
2019-07-03 13:57:56 +01:00
Aditya Toshniwal 15556f9f89 Correct the condition to compare version for Windows installer. Regression of last commit. 2019-07-02 20:12:00 +05:30
Aditya Toshniwal b76e0bea83 Ensure the version comparision should be correct for windows installer. Fixes #4421 2019-07-02 14:58:18 +05:30
Akshay Joshi 252429df50 Update version for release 2019-06-28 09:40:31 -04:00
Akshay Joshi d6c6b4a15a update the release date and message catalogs 2019-06-28 09:38:20 -04:00
Dave Page 64d31b9d3f Fix a quoting issue that caused a blank UI to be displayed when running in French. Fixes #4407 2019-06-28 08:54:58 -04:00
Aditya Toshniwal 24ec882f45 Properly escape dragged node text. Fixes #4139 2019-06-28 08:17:04 -04:00
Andrew Coleman d397959f6a Allow the path to /pgadmin4/servers.json to be overridden in the container distribution. Fixes #4400 2019-06-27 10:56:37 -04:00
Aditya Toshniwal da8cf14047 Prevent an error that may occur when editing data with an integer primary key. Fixes #4404 2019-06-27 10:43:25 -04:00
Aditya Toshniwal 2451db8797 Ensure the browser close confirmation is only shown when closing a Query Tool which is running in a separate browser tab. Fixes #4403 2019-06-27 10:37:50 -04:00
Aditya Toshniwal 173b812b93 Allow some objects to be dragged/dropped into the Query Tool to insert their signature into the query text. Fixes #4139 2019-06-27 10:30:05 -04:00
Usman Muzaffar bdb8f20aed Feature test fixes:
The query tool element while running on jenkins, is present on the DOM but not visible due to comparatively small page size. So handle it , would work in both cases(if element is visible or not).
The tab name handles XSS characters due to which table name <h1> is shown modified accordingly in the tab name.
2019-06-27 10:19:57 -04:00
Aditya Toshniwal 0d42f8026c Fix SSH tunnel password decryption. Fixes #4320 2019-06-25 07:06:04 -04:00
Ma Yanhong c69ffaa91c Update Chinese translation. 2019-06-25 07:03:45 -04:00
Akshay Joshi 173acd46a5 Update version for release 2019-06-25 01:44:21 +05:30
Aditya Toshniwal c39d257bf6 Fix an XSS issue when username contains XSS vulnerable text. Fixes #4386 2019-06-24 16:06:03 +05:30
Identifier Anonymous b3490ba3de Update Japanese translation 2019-06-24 05:52:53 +05:30
Fred Escallier 4e5d8fe8e2 Update French translation 2019-06-21 16:46:13 +05:30
Akshay Joshi c4de5474a4 Update message catalogs 2019-06-21 15:59:14 +05:30
Aditya Toshniwal ebb5e3fe65 Ensure Python escaping matched JS escaping and fix a minor XSS issue in the Query Tool that required superuser access to trigger. Fixes #4378 2019-06-21 09:53:57 +01:00
Dave Page 644624eabe PEP-8 fixes. 2019-06-20 14:30:31 +01:00
Dave Page 9dbb74367d Fix regression tests. 2019-06-20 14:02:15 +01:00
Khushboo Vashi c07e52b9de Ensure that both columns and partitions can be edited at the same time in the table dialog. Fixes #4380 2019-06-20 13:37:36 +01:00
Aditya Toshniwal 78d55c7cc0 Fix regression tests. 2019-06-20 13:26:06 +01:00
Dave Page 81752bb998 Remove additional "SETOF" included when generating CREATE scripts for trigger functions. Fixes #4362 2019-06-20 13:18:30 +01:00
Dave Page fb4afce629 Fix formatting change which inadvertently broke the feature tests. 2019-06-20 12:43:07 +01:00
Aditya Toshniwal 6e8ebbd375 Allow editing of data where a primary key column includes a % sign in the value. Fixes #4036
Fix an XSS issue seen in View/Edit data mode if a column name includes HTML. Fixes #4367
2019-06-20 12:21:37 +01:00
Akshay Joshi 5c0ea0c012 Capitalize the word 'export' used in Import/Export module. Fixes #4345 2019-06-19 16:17:29 +05:30
Aditya Toshniwal ce7679c4bd Added missing __init__.py file in debugger utils which is required for Python 2.7 2019-06-19 13:31:48 +05:30
Akshay Joshi b36d5d153b Ensure the debugger control buttons are only enabled once initialisation is complete. Fixes #4360 2019-06-18 14:46:28 +01:00
Akshay Joshi 9e65c971a3 Add a framework for testing reversed engineered SQL and CRUD API endpoints. Fixes #4202 2019-06-18 14:28:25 +01:00
Dave Page 71919a4ce9 Prevent the "Please login to access this page" message displaying multiple times. Fixes #4306 2019-06-17 14:12:36 +01:00
Aditya Toshniwal 402dfd07db Change icons for table inheritance (icons by Chethana Kumar) Fixes #3174
Along with this, I have also fixed few other issues/icons found on the way:
1) Dependencies tab for inherited tables/foreign keys shows partial text (Fixes ##3994).
2) Dependencies tab for child partition table shows parent partition table as Function.
3) Dependencies tab for triggers shows trigger functions as plain functions.
4) Dependents tab for partitioned table shows the child partition tables as normal table instead for partitioned tables.
2019-06-17 10:36:30 +01:00
Akshay Joshi bf548dda3f Fix help links for backup globals and backup server. Fixes #4365 2019-06-17 13:27:21 +05:30
Aditya Toshniwal 2894c6cd14 Add minor change missed in previous commit. Fixes #4329 2019-06-14 12:46:48 +01:00
Aditya Toshniwal 3b69f92d70 Ensure strings are properly encoded in the Query History. Fixes #4349 2019-06-14 09:17:02 +01:00
Aditya Toshniwal 82bd94e696 Fix connection restoration issue when pgAdmin server is restarted and the page is refreshed. Fixes #4357 2019-06-14 11:50:01 +05:30
Akshay Joshi 04328b76ba Fix syntax error for Default value of column. It is a regression of #4253 2019-06-13 18:04:43 +05:30
Murtuza Zabuawala 08b78fb6a1 Ensure we include the CSRF token when uploading files. Fixes #4350 2019-06-12 13:52:18 +01:00
Aditya Toshniwal 23364464c2 Ensure the correct label is used in panel headers when viewing filtered rows. Fixes #4228 2019-06-11 15:11:23 +01:00
Akshay Joshi d774a0ff67 Fix issue where property dialog of column should open properly for EPAS v12. Fixes #4343 2019-06-11 17:48:01 +05:30
Aditya Toshniwal 5437a8adab Fix an initialisation error when two functions with parameters are debugged in parallel. Fixes #4329 2019-06-10 14:58:07 +01:00
Dave Page 6d52f2b911 Initial support for PostgreSQL 12. Fixes #4283. Fixes #4288. Fixes #4290. 2019-06-10 14:24:45 +01:00
Dave Page 2ca11c84e8 Ensure that the Return key can be used to submit the Master Password dialogue. Fixes #4310
Ensure that browser auto-fill doesn't cause Help pages to be opened unexpectedly. Fixes #4317
2019-06-10 14:03:56 +01:00
Aditya Toshniwal f561c0cee6 Fix keyboard navigation in "inner" tabsets such as the Query Tool and Debugger. Fixes #4195 2019-06-10 11:10:49 +01:00
Fred Escallier 321b445a7e Update French translation. 2019-06-10 10:08:27 +01:00
Aditya Toshniwal 7ff85903e4 Fix issue where reverse engineered SQL was failing for foreign tables, if it had = in the options. Fixes #4171 2019-06-10 12:15:12 +05:30
Aditya Toshniwal 8b9c50ee5c Fix issue where new column should be created with Default value. Fixes #4235 2019-06-10 11:53:16 +05:30
Ma Yanhong 4b6e9b031c Update Chinese translation. 2019-06-06 10:06:28 +01:00
Dave Page e691885881 Clarify warnings about disabling the master password. 2019-06-05 15:32:47 +01:00
Dave Page caf181d5e3 Clarify docs around configuration files and disabling the master password. 2019-06-05 15:20:38 +01:00
Aditya Toshniwal d90136d93d Prevent the geometry viewer grabbing key presses when not in focus under Firefox, IE and Edge. Fixes #4255 2019-06-05 12:00:09 +01:00
Aditya Toshniwal 9a00a8a60b Update codemirror version. Fixes #4035 2019-06-05 12:12:56 +05:30
Aditya Toshniwal a588c2994d 1) Fix issue where SSH tunnel connection using password is failing, it's regression of Master Password. Fixes #4320
2) Fix some more issues related to SSH Tunnel(By: Akshay Joshi)
2019-06-05 12:07:24 +05:30
Dave Page 13704a4f34 Disable upgrade checks whilst testing. 2019-06-03 11:35:59 -04:00
Usman Muzaffar 912db8913f Ensure that successful maintenance tasks don't leave a notifier window behind when running regression tests. 2019-06-03 11:33:32 -04:00
Akshay Joshi 969a2961fe Update version for release. 2019-06-01 14:19:28 +05:30
Akshay Joshi 6b80523872 Update message catalogs. 2019-06-01 14:14:04 +05:30
Akshay Joshi c16c593322 Update the release date in the release note. 2019-06-01 14:11:34 +05:30
Akshay Joshi 6a7339bbe4 Fix syntax error while opening properties tab of functions and procedures inside packages. 2019-06-01 14:02:33 +05:30
Dave Page 41a20e0252 Fix PEP-8 issue. 2019-05-31 12:12:04 -04:00
Dave Page 2dd075161d Allow the UI layout to be fully locked or to prevent docking changes. Fixes #2653 2019-05-31 11:51:30 -04:00
Aditya Toshniwal 91075cc3f5 Disable the master password in test mode (for now). 2019-05-31 10:19:04 -04:00
Akshay Joshi 26c7d76d4f Fix the issue of accessing the SQL for Views and Materialized Views. Regression of pluralisation of folder names. Fixes #4308 2019-05-31 11:02:37 +05:30
Aditya Toshniwal 2185ea302d Omit the geometry viewer in the Query Tool from layout saving. Fixes #4169 2019-05-30 15:15:37 -04:00
Murtuza Zabuawala 32defc91cc Improve the performance of explain plan by embedding the images only when downloading it. Fixes #4307 2019-05-30 17:49:43 +05:30
Dave Page 37bde4aaf4 Credit reporter who provided test script. 2019-05-29 16:34:04 -04:00
Dave Page 1f76d207f2 Minor phrasing fix. 2019-05-29 16:32:35 -04:00
Dave Page 8eab534c95 Fix typo 2019-05-29 16:27:56 -04:00
Dave Page 0eb3008426 Tidy up keyboard shortcut docs. 2019-05-29 16:24:29 -04:00
Aditya Toshniwal dd187b9122 Prevent Alertify from inadvertently opening help pages. 2019-05-29 13:46:39 -04:00
Aditya Toshniwal 15252b0a26 Added Help button on all master password dialogs. 2019-05-29 13:07:50 +05:30
Akshay Joshi aa95ff9f57 Fix encoding issue for background process, it is regression of Master Password. Fixes #4303 2019-05-29 12:50:48 +05:30
Fred Escallier dad0d690db Update French translation. 2019-05-29 12:25:37 +05:30
Dave Page 2fa849dc26 Also need openssl-dev 2019-05-28 18:11:42 -04:00
Dave Page f340cd044b build-deps doesn't exist any more. 2019-05-28 18:09:06 -04:00
Dave Page 991f667f9f Argh, they are Alpine packages, not Python. 2019-05-28 18:01:56 -04:00
Dave Page 307637b969 Looks like we also need build tools for the cryptography module. 2019-05-28 17:56:54 -04:00
Dave Page 91595593d3 Doc builds now need the cryptography module. 2019-05-28 17:50:11 -04:00
Identifier Anonymous 12186a0fd6 Update Japanese translation. 2019-05-28 17:11:27 +05:30
Ashesh Vashi 9fdf68d559 Fix fatal error on launch of pgAdmin4. Fixes #4298 2019-05-28 17:05:54 +05:30
Akshay Joshi 8851cb0704 Update version for release 2019-05-28 12:09:33 +05:30
Akshay Joshi a936f708de Update message catalogs. 2019-05-28 12:06:44 +05:30
Aditya Toshniwal dfa892d2a2 1. Added Master Password to increase the security of saved passwords. Fixes #4184
2. In server(web) mode, update all the saved server credentials when user password is changed. Fixes #3377
2019-05-28 12:00:18 +05:30
Khushboo Vashi 6f0eafb223 Fixed CSRF security vulnerability issue. per Alvin Lindstam. Fixes #4217
Initial patch by: Khushboo Vashi
Modified by: Ashesh Vashi and Murtuza Zabuawala
2019-05-28 10:59:51 +05:30
Akshay Joshi 90a45557b9 1. Fix syntax error when adding more than one column to the existing table. Fixes #4162
2. Fix syntax error when creating a table with a serial column. Fixes #4284
2019-05-27 13:09:11 +05:30
Akshay Joshi 2790d01c31 Update message catalogs. 2019-05-24 17:26:26 +05:30
Dave Page 4d23bb24a5 Add a missing fix. 2019-05-24 09:36:33 +01:00
Aditya Toshniwal 361f7077fd Update the UI logo. Artwork by Chethana Kumar. Fixes #4208 2019-05-23 16:39:10 +01:00
Usman Muzaffar dcd163ac02 Feature test stabilisation. 2019-05-23 09:31:52 +01:00
Aditya Toshniwal ee37be56f9 Fix handling of JSON in the Query Tool with NULL elements. Fixes #4263 2019-05-23 08:53:29 +01:00
Dave Page f1ef7b0346 Validate permissions on the session directory itself, not it's parent, per Felix Pusch. Fixes #4276 2019-05-21 12:14:36 +01:00
Dave Page 0ee50ac248 Clarify wording for the NO INHERIT option on constraints, per Michel Feinstein. Fixes #4275 2019-05-21 11:51:19 +01:00
Dave Page ea4dbd31e8 Don't try to set permissions on Windows. It won't work anyway. Fixes #4276 2019-05-20 13:53:08 +01:00
Murtuza Zabuawala 155768a2d7 Prevent Backgrid Password cells from losing focus if the browser opens an autocomplete list. Fixes #4278 2019-05-20 13:34:47 +01:00
Dave Page da8da7bb49 Relax the permission check on the directory containing the config database, as it may fail in some environments such as OpenShift. Fixes #4276 2019-05-20 09:46:02 +01:00
Murtuza Zabuawala 5786c17569 Fix navigation of switch cells in grids. Fixes #4269 2019-05-17 16:27:14 +01:00
Dave Page 941dea99f5 Fix typo. 2019-05-17 09:04:04 +01:00
Sander Eikelenboom ab5f35da8d Fixed error on displaying table properties of a table partitioned by list having a default partition. Fixes #4262 2019-05-15 18:36:16 +05:30
Aditya Toshniwal db4bb22cc6 Ensure that element should get highlighted when they get focus on using Tab key. Fixes #4245 2019-05-15 17:42:07 +05:30
Aditya Toshniwal 2cd58efcdd 1) Fixed Tab key navigation for Maintenance dialog. Fixes #4227
2) Fix Tab key issue for Toggle switch controls and button on the dialog footer in Safari browser. Fixes #4244
2019-05-15 16:37:06 +05:30
Aditya Toshniwal ed8d1cde00 Fix accessibility issue for menu navigation. Fixes #4194 2019-05-15 15:38:33 +05:30
Akshay Joshi b7121bb2d2 1) Make folder name pluralise inside 'templates' folder and fix naming inconsistency.
2) Remove unwanted functions "module_js()" from the code.
3) Change naming convention for 'Roles' module.
2019-05-15 15:11:54 +05:30
Dave Page 3364350b01 Fix the check target. 2019-05-15 10:03:29 +01:00
Dave Page 4b421550d3 Stop using application/x-javascript as a mime type and use the RFC-compliant application/javascript instead. Fixes #4261 2019-05-15 09:44:57 +01:00
Dave Page 020d9bb018 Clarify when the container will load server definitions. 2019-05-14 09:27:47 +01:00
Murtuza Zabuawala eb189844e7 Fixed console error when subnode control is used in panels. Fixes #4246 2019-05-10 11:24:15 +05:30
Akshay Joshi 20c42d878b Updated jQuery version as they have fixed some vulnerability issue. 2019-05-03 16:47:35 +05:30
Aditya Toshniwal 036bd66638 Fix file browser path issue which occurs when client is on Windows and server is on Mac/Linux. Fixes #4164 2019-05-03 11:58:06 +05:30
Dave Page f02f91cbf1 Ensure popper.js is installed when needed. Fixes #4219 2019-04-30 13:57:10 +01:00
Neel Patel 34b59da526 Properly assign dropdownParent in Select2 controls. Fixes #4218 2019-04-30 12:57:17 +01:00
Fred Escallier 277bf85645 Update French translation. 2019-04-30 11:47:17 +05:30
Akshay Joshi 991fe3d797 Update version for release. 2019-04-30 10:49:49 +05:30
Identifier Anonymous 4009ac3108 Update Japanese translation 2019-04-29 09:21:55 +01:00
Akshay Joshi 92e6a47713 Update message catalogs. 2019-04-26 17:39:45 +05:30
Dave Page e53c2b1a5d Ensure the treeview shows all sequences except those used to implement IDENTITY columns (which can be edited as part of the column). Show all if Show System Objects is enabled. Fixes #4154 2019-04-26 12:36:56 +01:00
Dave Page e536408ce2 Don't try to install Chromedriver using the chromedriver_installer module as it no longer works and doesn't seem to be supported. 2019-04-25 09:41:40 +01:00
Dave Page f74448a1b2 Add a script for installing the required Chromedriver version. 2019-04-25 09:38:52 +01:00
Akshay Joshi 9b5a6e2bb7 Prevent duplicate columns being included in reverse engineered SQL for tables. Fixes #4163 2019-04-24 11:35:20 +01:00
Aditya Toshniwal 3fef078ec8 Remove some unecessary React libraries. 2019-04-24 09:29:01 +01:00
Khushboo Vashi 74af8976c9 Ensure that newly added row in backgrid should be visible. 2019-04-23 17:32:00 +05:30
Khushboo Vashi ecded18333 Fix an issue where 'GRANT UPDATE' sql should be displayed for default sequence privileges. Fixes #4087 2019-04-22 12:24:47 +05:30
Khushboo Vashi 5452bff49e Fixed 'Increment value cannot be empty' error for existing tables. Fixes #4160 2019-04-22 12:04:49 +05:30
Aditya Toshniwal 05ae330030 Improvement for 'beforeunload' event, bind the event only from where it is required. 2019-04-22 11:30:33 +05:30
Dave Page 94e1820ccd Fix skip on Windows. 2019-04-18 11:18:06 +01:00
Aditya Toshniwal 49b318c39e Ensure that confirmation dialog should be popped up before reload of query tool or debugger
if it is opened in a new browser tab. Fixes #4101
2019-04-18 15:39:36 +05:30
Dave Page 4ac064de42 Urgh. Typo. 2019-04-18 09:13:55 +01:00
Dave Page 2ef71cf749 Skip the permissions test on Windows which doesn't support Unix style file permissions. 2019-04-18 09:13:00 +01:00
Aditya Toshniwal d96f453e7f Fixed 'Location cannot be empty' error when open Tablespace properties. Fixes #4134 2019-04-18 12:31:35 +05:30
Khushboo Vashi 0b47d1dbf6 1) Fix an issue where Deleting N number of rows makes first N number of rows disable. Fixes #3605
2) Ensure that on clicking Delete button should not delete rows immediately from the database server,
   it should be deleted when Save button will be clicked. Fixes #2392
2019-04-18 12:09:35 +05:30
Dave Page d728ee7436 Ensure sanity of the permissions on the storage and session directories and the config database. Fixes #4182 2019-04-17 16:57:34 +01:00
Dave Page 1a192109d6 Ensure we create a DMG file that's compatible with macOS 10.10+ 2019-04-15 12:12:46 +01:00
Aditya Toshniwal 024cfd2fab 1) Ensure that JSON strings as comments should be added properly for all the objects. Fixes #3582
2) Fixed alignment issue of columns in definition section of Index node. Fixes #4121
2019-04-12 15:07:07 +05:30
Murtuza Zabuawala a25bb2b7db Add tests for the CSV download. 2019-04-11 17:15:01 +01:00
Fred Escallier fd3337024f Update French translation. 2019-04-11 13:51:40 +01:00
Dave Page ded446fe8a Depend on psycopg2-binary in the Python wheel, rather than psycopg2. Fixes #4165 2019-04-11 10:08:44 +01:00
Khushboo Vashi a9d964b5ca 1) Added support for Default Partition. Fixes #3938
2) Ensure that record should be add/edited for root partition table with primary keys. Fixes #4104
2019-04-11 13:25:24 +05:30
Akshay Joshi 9c3925e448 Ensure that parameters of procedures for EPAS server 10 and below should be set/reset properly. Fixes #4161 2019-04-10 13:22:52 +05:30
Murtuza Zabuawala 6016a5ee98 Fix an issue where the dropdown becomes misaligned/displaced. Fixes #4138 2019-04-09 12:09:25 +05:30
Akshay Joshi 490999f528 Updated release notes 2019-04-08 18:33:20 +05:30
Akshay Joshi ceb0e39e14 Update version for release 2019-04-08 18:31:51 +05:30
Akshay Joshi 3bed332439 Update message catalogs. 2019-04-08 18:24:36 +05:30
Khushboo Vashi c21ea3c342 Ensure that pgAdmin4 should work properly with psycopg2 v2.8. Fixes #4143 2019-04-08 17:49:50 +05:30
Murtuza Zabuawala 84ecffa4d9 Added recommended ESLinter checks. Fixes #4142 2019-04-05 13:07:43 +05:30
Akshay Joshi 9bff6c7157 Fixed pep8 issue 2019-04-05 12:53:50 +05:30
Usman Muzaffar 5c4c09f237 Fixed feature test issues 2019-04-05 12:25:03 +05:30
Dave Page f706f7ed0c Relabel the Save button on the datagrid text editor to avoid confusion with the actual Save button that updates the database. Fixes #4131 2019-04-02 17:20:43 +01:00
Identifier Anonymous fb12b2e2fc Updated Japanese tanslation. 2019-04-02 14:41:05 +01:00
Fred Escallier badbbade08 Updated French tanslation. 2019-04-02 14:38:47 +01:00
Dave Page 614c66940a Add missing files. 2019-04-01 11:04:44 +01:00
Akshay Joshi 7f23f729c6 Update version for release. 2019-04-01 15:19:25 +05:30
Akshay Joshi a019e2de6f Update message catalogs. 2019-04-01 15:14:53 +05:30
Akshay Joshi d286bada5c Fix custom autovacuum configuration for Materialized Views. Fixes #4110 2019-04-01 09:47:17 +01:00
Akshay Joshi fe6e5e3c45 Correct the feature number in the release note. 2019-04-01 12:18:45 +05:30
Akshay Joshi 61ff588c09 Fixed issue while fetching the view id for view/materialized view. Added schema name in where clause. 2019-03-30 13:20:31 +05:30
Usman Muzaffar a2aabf6270 Remove unnecessary print statement in the regression tests. 2019-03-29 14:47:22 +00:00
Aditya Toshniwal 55c6f5205d Add some SQL updates to handle inherited column markers/comments that were missed in the previous commit. 2019-03-29 14:44:21 +00:00
Khushboo Vashi 5965bc9107 Remove a debug statement. 2019-03-29 14:40:36 +00:00
Dave Page be313bb17b Missed a bug :-( 2019-03-29 14:35:43 +00:00
Aditya Toshniwal 7627e9c699 Display errors during CSV download from the Query Tool in the UI rather than putting them in the CSV file. Fixes #4085
Ensure the toolbar buttons are properly reset following a CSV download in the Query Tool. Fixes #4096
2019-03-29 14:31:33 +00:00
Dave Page 4d45a3cb24 PEP-8 fixes. 2019-03-28 14:20:52 -04:00
Khushboo Vashi 97919d091a Add support for IDENTITY columns. Fixes #4030 2019-03-28 13:13:43 -04:00
Aditya Toshniwal 8aaacdf96e Include inherited column comments and defaults in reverse engineered table SQL. Fixes #2627
Include comment SQL for inherited columns in reverse engineered table SQL. Fixes #4037
Include inherited columns in SELECT scripts. Fixes #4058
2019-03-28 08:36:41 -04:00
Aditya Toshniwal fbc6aea497 Fix an issue where JSON data would not be rendered in the Query Tool. Fixes #4105 2019-03-28 08:12:09 -04:00
Aditya Toshniwal 6fb35f2649 Overhaul the layout saving code so it includes the Query Tool and Debugger, and stores the layout when change events are detected rather than (unreliably) on exit. Fixes #4084 2019-03-26 11:08:45 -04:00
Dave Page b917246be9 Add missing closing brace. 2019-03-26 10:25:50 -04:00
Akshay Joshi 9c2ea3ca11 1) Ensure View/Materialized View node should be visible after updating any property. Fixes #4109
2) Updated the icon for Materialized View.
2019-03-26 14:12:47 +05:30
Dave Page a5ebdafb82 Enlarge the grab handles for resizing dialogs etc. Fixes #4063 2019-03-25 07:50:55 -04:00
Dave Page c43aa9b576 Clarify Windows build requirements. 2019-03-25 07:47:47 -04:00
Akshay Joshi a0010aac31 1) Ensure that sequence should be created with Privileges.
2) Updated the validation for blank values in Definition tab.
2019-03-25 14:29:43 +05:30
Akshay Joshi c4ea1a56bc Fixed typo in logging.raiseException, it is 'raiseExceptions'. Fixes #3933 2019-03-25 11:36:18 +05:30
Akshay Joshi 212ca01506 Ensure sequences can be created with increment, start, minimum and maximum options set. Fixes #4100 2019-03-22 15:54:34 +00:00
Dave Page ce073a2856 Fix SQL help for EPAS 10+, and refactor the URL generation code into a testable function. Fixes #4099 2019-03-22 14:09:24 +00:00
Dave Page ae23f146d1 Use the user's full email address (not just the username part) as the basis for the storage directory name.. Fixes #3887 2019-03-22 09:36:13 +00:00
Dave Page 096220ece9 Fix the PEP8 yarn runner 2019-03-22 09:04:19 +00:00
Dave Page 83bb07e01d Improve the German translation for Backup Server, per H Re. Fixes #4090 2019-03-21 16:18:09 +00:00
Dave Page 89784413dd Fix indent. 2019-03-21 14:05:40 +00:00
Dave Page 17464aa034 Don't use old-style variable notation. 2019-03-21 14:02:19 +00:00
Dave Page b2b5629a01 Fix PEP-8 issues. 2019-03-21 12:58:52 +00:00
Usman Muzaffar 33693734fc Add new file missed in last commit. 2019-03-21 12:58:38 +00:00
Usman Muzaffar be26fc540c Many fixes to the stability of the feature tests, including:
tree toggle issue
Query tool inteliSence issue eg. when there is only one option and drop down is not shown
Backup and restore windows locator changes
Fixes required due to resolving rm # 4041
Dependent tab not showing data sometime, so refreshed the page and handled it
Due to change of logic for auto commit, did the required changes
Due to fix of RM 4062, did the required workaround which broke the test case.
2019-03-21 12:04:37 +00:00
Dave Page 3f22503ad2 Tidy up table formatting in the docs. Thanks to Susan Douglas for the tips! 2019-03-21 11:38:34 +00:00
Aditya Toshniwal 61f11aa4fc Update wcDocker to fix the issue where the Scratch Pad grows in size if the results panel is resized. Fixes #3968 2019-03-21 09:15:28 +00:00
Akshay Joshi 48c5c39c5d Ensure that parser should be set in FTS Configuration. 2019-03-20 20:21:58 +05:30
Aditya Toshniwal 8e9a77b3e3 Add a small utility for extracting PostgreSQL SQL and pl/pgsql keywords from the interwebs. 2019-03-20 13:53:37 +00:00
Khushboo Vashi b529c28b43 Fix an issue with Python 2.7 where regression test output is printed twice by the logger. 2019-03-20 13:37:19 +00:00
Akshay Joshi 5dd1472d6b 1) Fixed issue in Select2 Control, added undefined/null check.
2) Fixed the width of the delete cell.
2019-03-20 18:54:49 +05:30
Dave Page 906a4a845e Update pycodestyle to 2.5.0. Allow newer versions so we can catch issues early. 2019-03-20 13:01:32 +00:00
Dave Page 48c3763e95 Remove the dependency on importlib for Python <= 2.7. It's not actually required. 2019-03-20 11:58:09 +00:00
Dave Page e1ae502725 Delete the ci scripts that have be unmaintained and unused for some time now. 2019-03-20 11:27:28 +00:00
Dave Page bb1e908b54 Apply codestyle checks to all Python code. 2019-03-20 11:17:51 +00:00
Dave Page 6a8367beb9 We need to prefix the exclude directories as the pycodestyle file is now in a different location. 2019-03-20 09:33:51 +00:00
Dave Page 9273da2dc6 Fix PEP-8 issue and move the pycodestyle config into a central location. 2019-03-20 08:57:43 +00:00
Aditya Toshniwal a4bc26c810 Fix handling of numeric arrays in View/Edit Data. Fixes #4062 2019-03-19 16:45:00 +00:00
Aditya Toshniwal 3db3740cf2 Fix handling of numeric arrays in View/Edit Data. Fixes #4062 2019-03-19 16:29:05 +00:00
Khushboo Vashi 546161ab1a Fix an issue with stdout redirection on Windows, and remove code added in a failed attempt to resolve a Windows regression test issue. 2019-03-19 15:55:34 +00:00
Dave Page 4dcd3e31d8 Fix PEP-8 issue 2019-03-18 11:11:48 +00:00
Khushboo Vashi 1e26b96b12 Another attempt to satisfy Jenkins. 2019-03-18 10:33:20 +00:00
Khushboo Vashi 31e17f025b Attempt to fix the Windows regression test weirdness. 2019-03-18 09:30:08 +00:00
Dave Page 8c5894dd6a Revert "Remove the cp1252 test to see if it un-breaks the Windows buildfarm runs."
This reverts commit ce51204
2019-03-18 09:28:28 +00:00
Dave Page 04c776cbeb Randomise the database name used for encoding tests to avoid collisions when multiple tests are running against the same server. 2019-03-15 12:03:42 +00:00
Dave Page ce5120431b Remove the cp1252 test to see if it un-breaks the Windows buildfarm runs. 2019-03-15 11:01:53 +00:00
Dave Page 7a271a34c6 Make the WHEN field a CodeMirror control on the Event Trigger dialogue. Fixes #4050 2019-03-15 10:35:47 +00:00
Dave Page 2e3475e06a Fix the RE-SQL syntax for roles with a VALID UNTIL clause. Fixes #4081 2019-03-15 10:03:11 +00:00
Dave Page 4edd100ff9 Fix the clean target so that it doesn't error out if there's no runtime Makefile in the tree. 2019-03-15 09:33:42 +00:00
Dave Page b3c3b69a36 Bail out if yarn returns a non-zero code. 2019-03-15 09:20:13 +00:00
Dave Page 670a62208a Fix node paths that I broke yesterday. 2019-03-15 09:09:24 +00:00
Dave Page 69ec460b60 Fix naming inconsistency for the column and FTS parser modules. Fixes #1269 2019-03-14 16:52:42 +00:00
Dave Page 395d3cb545 Improve a couple of German translations. Fixes #3104 2019-03-14 16:36:02 +00:00
Dave Page c548eac5ef Append the file suffix to filenames when needed in the File Create dialogue. Fixes #4069 2019-03-14 15:48:21 +00:00
Dave Page 145ca618ae Remove the direct dependency on fsevents as we don't use it ourselves and it errors on Linux and Windows. 2019-03-14 15:28:46 +00:00
Khushboo Vashi e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Dave Page c7b29d35ae Add an ePub doc build target (update to release notes). Fixes #4075 2019-03-13 16:23:27 +00:00
Dave Page a9dad423f6 Fix the online help button on the resource group dialogue. Fixes #4052 2019-03-13 16:21:10 +00:00
Dave Page cdc9ed678f Enable the online help button on the index dialogue. Fixes #4053 2019-03-13 16:18:51 +00:00
Dave Page 870d373ced Change the CodeMirror active line background colour to $color-danger-lighter so it doesn't conflict with the selection colour. Fixes #4073 2019-03-13 16:04:26 +00:00
Dave Page ab9a3a57ad Make the Query Tool history persistent across sessions. Fixes #4017 2019-03-13 13:37:34 +00:00
Dave Page a502019e20 Add a target for building the docs as an epub. 2019-03-12 14:33:46 +00:00
Dave Page 25b8a909b1 Update links in docs to https where possible, and fix a couple of broken/out of date ones. 2019-03-12 14:24:46 +00:00
Dave Page 2356988bdf Ensure that Firefox prompts for a filename/location when downloading query results as a CSV file. Fixes #4071 2019-03-12 12:45:25 +00:00
Khushboo Vashi eb1db50f85 Avoid 'bogus varno' message from Postgres when viewing the SQL for a table with triggers. Fixes #3995 2019-03-12 10:13:31 +00:00
Dave Page 8f1f04e5f3 Major doc cleanup:
- Reformat source so it's wrapped.
- Standardise markup.
- Center images.
- Restructure in various places to improve the indexing.
- Remove duplicated Query Tool toolbar descriptions.
- Ensure the structure works in both HTML and LaTeX.
2019-03-08 15:29:05 +00:00
Dave Page f4ca208474 Fix the latexpdf doc build. Fixes #4060
Thanks to Jean-François for the assist:
    https://groups.google.com/forum/#!topic/sphinx-users/ZlQ95_QikXo
2019-03-08 09:45:04 +00:00
Aditya Toshniwal 6aae9d6e20 Handle resultsets with zero columns correctly in the Query Tool. Fixes #4054 2019-03-07 15:22:45 +00:00
Dave Page f8b9a86e95 Include the license in the docs, and ensure it gets updated each year. 2019-03-07 15:12:12 +00:00
Dave Page 47bce4eb23 Some more doc restructuring and cleanup. 2019-03-07 14:29:51 +00:00
Dave Page 64ee23a088 Some doc restructuring and cleanup. 2019-03-07 14:26:56 +00:00
Aditya Toshniwal 4b895941b3 Remove the large and unnecessary dependency on React and 87 other related libraries. Fixes #4018 2019-03-07 10:51:59 +00:00
Dave Page d7bf6ec69f String review and subsequent cleanup
Ashesh Vashi
Abhilasha Narendra
Karen Blatchley
Susan Douglas
Dave Page
2019-03-05 14:08:16 +00:00
Fred Escallier 48c9864184 French translation update. 2019-03-05 09:55:33 +00:00
Identifier Anonymous 64a9e8cb83 Japanese translation update. 2019-03-05 09:52:58 +00:00
Dave Page f401def044 Add support for reverse proxied setups with Gunicorn, and document Gunicorn, uWSGI & NGINX configurations. Fixes #2001 2019-03-04 16:29:41 +00:00
Akshay Joshi 28555b387f Update version for release 2019-03-04 17:35:55 +05:30
Akshay Joshi 9ad8756ec2 Update message catalogs. 2019-03-04 17:30:42 +05:30
Khushboo Vashi 98815af8b6 Fix the position of text editor of a cell in Query Tool. 2019-03-04 16:39:30 +05:30
Akshay Joshi 0aeb20ee64 Prevent auto-commit/rollback being changed mid-transaction, and make the Preferences the defaults, not the current values. 2019-03-04 10:44:31 +00:00
Khushboo Vashi efeb9d6d20 Fix regression issue caused due to encoding fixes. 2019-03-04 16:11:20 +05:30
Abhilasha Narendra 9d96d6123e Update documentation screenshots as per new design. Fixes #3890 2019-03-04 13:06:04 +05:30
Murtuza Zabuawala 36ffdb93e8 Custom-encode forward slashes in URL parameters as Apache HTTPD doesn't allow them in some cases. Fixes #3998 2019-03-01 14:55:25 +00:00
Dave Page ecbba79c2a Fix PEP-8 issue. 2019-03-01 14:19:08 +00:00
Dave Page 13f52ad9ac Update release notes. 2019-03-01 13:54:11 +00:00
Khushboo Vashi 849e34c2f7 Add full support and testsfor all PG server side encodings. Fixes #3992. Fixes #3982. Fixes #3911 2019-03-01 13:51:50 +00:00
Murtuza Zabuawala fb747b8031 Fix download CSV for IE11 which doesn't support the download attribute. Fixes #4040 2019-03-01 13:32:40 +00:00
Khushboo Vashi c6d295727c Fix resizing of the results grid, when full of data. 2019-03-01 12:49:41 +00:00
Aditya Toshniwal 74cfeabd02 Fix graphical explain now that JSON data is sent as text to stop JS futzing with it. Fixes #4041 2019-03-01 12:38:57 +00:00
Dave Page d8f9e3e87b Optimise the Docker file to minimise the number of layers and maximise the chances that changes will be in the last layers built. 2019-03-01 12:29:05 +00:00
Dave Page f552519ed6 Set the Gunicorn worker timeout to match the configured session expiry. Partially fixes #3656 2019-03-01 11:55:17 +00:00
Akshay Joshi bbeb395beb Ignore exceptions in the logger. Fixes #3933 2019-02-28 13:22:12 +00:00
Dave Page acb61f0990 Use POST instead of GET for Query Tool downloads to avoid errors with long queries. Fixes #4013 2019-02-27 17:08:53 +00:00
Aditya Toshniwal e6e7cf0f69 Fix support for bigint's in JSONB data. Fixes #3587 2019-02-27 13:39:47 +00:00
Khushboo Vashi 6b3a628e7a Fix double scrollbar on the query tool results grid. 2019-02-27 10:59:58 +00:00
Aditya Toshniwal 9c5b9364b6 Support double-click on Query Tool result grid column resize handles to auto-size to the content. Fixes #4034 2019-02-26 13:44:16 +00:00
Dave Page 1770c94b07 Fix the text highlight colour. 2019-02-25 17:08:05 +00:00
Dave Page 0694f59e70 Fix formatting 2019-02-25 12:51:50 +00:00
Aditya Toshniwal 98bfbcff8f Fix dashboard test cases. 2019-02-25 12:27:15 +00:00
Dave Page 42aa4dcd22 Clarify pgAgent installation options. 2019-02-25 12:10:53 +00:00
Aditya Toshniwal 59446bb4b5 Ensure JSON data isn't modified in-flight by psycopg2 when using View/Edit data. Fixes #3600 2019-02-25 10:34:36 +00:00
Akshay Joshi a5d39003b6 Handle display of roles with expiration set to infinity correctly. Fixes #3352 2019-02-25 10:24:11 +00:00
Dave Page c45675e019 Ensure long queries don't cause errors when downloading CSV in the Query Tool. Fixes #4013
This was actually fixed by #3673 it would appear.
2019-02-22 16:29:45 +00:00
Dave Page 27d3990ba2 Allow editing of values in columns with the oid datatype which are not an actual row OID. Fixes #3418 2019-02-22 16:18:39 +00:00
Dave Page d326ddd21a Update release notes as the fix for #3583 appears to have resolved other issues. Fixes #4000 2019-02-22 15:44:14 +00:00
Dave Page 3ad606733a Update doc colours to more closely match the new UI. 2019-02-22 15:22:50 +00:00
Akshay Joshi 38b034ec3c Add Commit and Rollback buttons to the Query Tool. Fixes #2418 2019-02-22 14:28:05 +00:00
Dave Page 0766b17726 Enable/disable the Download button with the Execute button. 2019-02-22 09:34:48 +00:00
Dave Page 73b144c45c Fix an issue where importing servers fails if a group already exists for a different user. Fixes #4022 2019-02-21 15:40:37 +00:00
Khushboo Vashi 98283c1213 Disable the editor and execute functions whilst queries are executing. Fixes #4021 2019-02-21 14:19:25 +00:00
Akshay Joshi 5be0d17df5 Don't exclude SELECT statements from transaction management in the Query Tool in case they call data-modifying functions. Fixes #3958 2019-02-21 14:05:10 +00:00
Dave Page bacb57086c Update CodeMirror to 5.43.0 to resolve issues with auto-indent. Fixes #3583 2019-02-21 10:57:44 +00:00
Dave Page e5598038fa Ensure size stats are prettified on the statistics tab when the UI language != English. Fixes #3096 2019-02-20 16:39:38 +00:00
Dave Page a39f43788b Include multiple versions of the PG utilties in containers. Fixes #3886 2019-02-20 15:17:16 +00:00
Dave Page aae49b5324 Update Docker README to match reality. 2019-02-20 14:51:36 +00:00
Khushboo Vashi 34045efb38 Modify the Download as CSV option to use the same connection as the Query Tool its running in so temporary tables etc. can be used. Fixes #3673 2019-02-20 11:49:45 +00:00
Aditya Toshniwal 292ac32db5 Fix editing of table data with a JSON primary key. Fixes #3912 2019-02-20 11:15:39 +00:00
Neel Patel ccb0796317 Convert the JSON output from yarn properly 2019-02-19 13:18:37 +00:00
Dave Page 841af6868d Fix paste issue during commit :-s 2019-02-18 17:08:18 +00:00
Murtuza Zabuawala e2482d2294 Set the background colour for backform notes, and add an icon. Fixes #3948 2019-02-18 16:59:39 +00:00
Khushboo Vashi 554455fa75 Fix treeview state saving after reset. 2019-02-18 13:15:22 +00:00
Dave Page 255afe673a Add a "scratch pad" to the Query Tool to hold text snippets whilst editing. Fixes #2233 2019-02-15 15:44:49 +00:00
Dave Page c64373435b Make the Query Tool tab titles more concise and useful. Fixes #3544 2019-02-15 15:09:49 +00:00
Khushboo Vashi 622b67684d Optimise display of Dependencies and Dependents, and use on-demand loading of rows in batches of 100. Fixes #3959 2019-02-14 11:15:01 +00:00
Dave Page e5e154e268 PEP-8 fix 2019-02-14 09:22:22 +00:00
Dave Page 122336eb63 Update release notes. 2019-02-14 09:19:36 +00:00
Khushboo Vashi 17694ab467 Automatically expand child nodes as well as the selected node on the treeview if there is only one. Fixes #3559
This also ensure the browser state is cleared if the save interval is set to -1.
2019-02-14 09:18:08 +00:00
Dave Page 438116c574 Update Alpine Linux version in the docker container. This also updates the PG utilities to v11. Fixes #3991 2019-02-13 17:18:14 +00:00
Akshay Joshi 944cc55df7 Prevent an error when closing the Sort/Filter dialogue with an empty filter string. Fixes #3970 2019-02-13 16:44:57 +00:00
Dave Page 6af8efb5b1 You can't change colours in Preferences. Fixes #2990 2019-02-13 11:07:47 +00:00
Akshay Joshi 1f43b05c2a Fix alignment of checkbox to drop multiple schedules of pgAgent job. Fixes #3946 2019-02-13 14:55:52 +05:30
Akshay Joshi 10ee75bb1f Fix alignment of Close and Maximize button of Grant Wizard. Fixes #3906 2019-02-13 13:13:07 +05:30
Akshay Joshi 0aa93ac3ba Fix alignment of Connection type toggle switch of pgagent. Fixes #3974 2019-02-13 13:03:44 +05:30
Dave Page f72dcc23ea Allow X-FRAME-OPTIONS to be set in config.py. Default to SAMEORIGIN. Fixes #3439
DENY cannot be supported without breaking the debugger and query tool.
2019-02-12 16:17:14 +00:00
Dave Page 1fc66406f5 Don't embed docs and external sites in iframes, to allow the external sites to set X-FRAME-OPTIONS = DENY for security. Fxies #3985 2019-02-12 16:07:38 +00:00
Dave Page e0e7d6f1f6 Install a script to start pgAdmin (pgadmin4) from the command line when installed from the Python wheel. Fixes #1825 2019-02-12 14:04:45 +00:00
Dave Page 7f3e5c95c6 Add a missing bug fix. 2019-02-11 15:45:13 +00:00
Akshay Joshi 399d490342 Fix context sub-menu alignment on Safari. Fixes #3873 2019-02-11 13:38:11 +00:00
Ashesh Vashi c411520d98 Increase table header vertical padding to make headers more distinguished. 2019-02-11 10:58:19 +00:00
Dave Page 3d202dceeb Fix header. 2019-02-08 15:14:07 +00:00
Dave Page 23f36c5a41 Fix header. 2019-02-08 15:13:38 +00:00
Dave Page 6db4cfd9f1 Update libraries.txt, generated automatically using tools/dependency_inventory.py 2019-02-08 15:11:45 +00:00
Dave Page 9c3da10eea Python 2.7 fixes. 2019-02-08 15:06:38 +00:00
Dave Page a4cd2fe6c6 Add a script for auto-generating the library.txt file. 2019-02-08 14:48:59 +00:00
Ashesh Vashi eb3d3980e0 Use 'set_config(...)' function to update the 'bytea_output' settings
instead of 'UPDATE' statement, which is not allowed in the the read-only
instances.

Reported by: Robert J. Rotter
Solution provided by: Tom Lane

Fixes #3973
2019-02-08 10:18:32 +05:30
Cyril Jouve 28ce485cd2 requirements.txt simplifications. 2019-02-07 10:34:07 +00:00
Cyril Jouve a1ce6d9513 Remove another Python 2.6 hack 2019-02-07 10:32:40 +00:00
Ashesh Vashi 8efdc43177 Removing the font smoothing for the firefox as per feedback from Chethana 2019-02-07 15:30:55 +05:30
Ashesh Vashi 8c65608946 Adding font-smoothing CSS for the OSX for making the fonts more
eye-pleasing and softer to match it with the proposed design.
2019-02-07 15:21:55 +05:30
Akshay Joshi 22d458b01e Close connections gracefully when the user logs out of pgAdmin. Fixes #3942 2019-02-06 13:17:52 +00:00
Akshay Joshi 0cc37de404 Added release_notes_4_3 to the toctree for the documentation. 2019-02-06 17:03:56 +05:30
Akshay Joshi 8f4d1f14f2 1) Fix alignment of import/export toggle switch. Fixes #3963
2) Remove unnecessary options for toggle switch which are already the default options.
2019-02-06 16:49:36 +05:30
Dave Page c888b282ea Update libraries.txt 2019-02-06 10:11:16 +00:00
Khushboo Vashi 4a75053514 Clean up the unwanted extended versions of Backform Switch controls.
The Bootstrap Switch Control was extended only for alignment in most
places. IIntroduce a configurable option to set the necessary class
on the main div and also remove the extra extended controls.
2019-02-05 16:22:35 +00:00
Fred Escallier 3fae181c27 Update French translation. 2019-02-05 16:13:15 +00:00
Identifier Anonymous c6ba8899d1 Update Japanese translation. 2019-02-05 16:10:48 +00:00
Akshay Joshi 9a758f8fd3 Update version for release. 2019-02-04 18:04:33 +05:30
Akshay Joshi bb25d1a986 Update message catalogs 2019-02-04 17:59:28 +05:30
Aditya Toshniwal d2ee5c4e82 1) Fixed jasmine test cases.
2) Bootstarp4 toggle size should be mini for triggers
2019-02-04 17:43:19 +05:30
Aditya Toshniwal 605b1f4799 Fixed API test case for dashboard graphs. 2019-02-04 16:36:16 +05:30
Navnath Gadakh 5fdc1ffb38 Exclude HTTPExceptions from the all_exception_handler as they should be returned as-is. Fixes #3961 2019-02-04 10:31:47 +00:00
Dave Page 9c21c07fc4 Correct error message. 2019-02-04 10:23:43 +00:00
Akshay Joshi da83c3d1b8 Added 'pga4dash' comment for consistency 2019-02-04 15:51:07 +05:30
Dave Page 9df89f9bd5 There are no new features in 4.1 or 4.2, just fixes and optimisations. 2019-02-04 10:10:53 +00:00
Aditya Toshniwal aad7830d37 Dashboard graph optimization. Fixes #3941 2019-02-04 15:39:47 +05:30
Khushboo Vashi dae8186c2a Replace Bootstrap switch with Bootstrap4 toggle to improve the performance. Fixes #3051 2019-02-04 11:31:48 +05:30
Akshay Joshi 93234c86b7 Fix alignment of submenu for Internet Explorer. Fixes #3932 2019-02-01 17:55:38 +05:30
Cyril Jouve b786c4c140 Replace the PyCrypto module with the cryptography module. Fixes #3272 2019-01-31 15:57:27 +01:00
Dave Page cbfa614cf9 Ensure we use PIP 18.1 in the Docker build because of https://github.com/pypa/pip/issues/6197 2019-01-31 14:28:20 +01:00
Diego Augusto Molina da3b3de397 Expose the bind address in the Docker container via PGADMIN_BIND_ADDRESS. Fixes #3955 2019-01-31 14:26:35 +01:00
Cyril Jouve cbd8f8236a Remove Python 2.6 code that's now obsolete. Fixes #3935 2019-01-31 13:47:56 +01:00
Ashesh Vashi 38feacd04d Remove hacky way to open/close the dropdown submenu 2019-01-31 17:49:41 +05:30
Khushboo Vashi 6244463ac1 Fixed Statistics panel hang issue for 1000+ tables. Fixes #3664 2019-01-31 14:47:29 +05:30
Akshay Joshi 2afa3d8267 Remove icon for 'Refresh View' context menu of Materialized View and Added label for Definition control for consistency. 2019-01-31 13:20:44 +05:30
Khushboo Vashi 3b35aaa1d7 Fixed unable to drop multiple Rules and Foreign Tables from properties tab. Fixes #3899 2019-01-31 13:03:37 +05:30
Akshay Joshi 1bce0b5eef Update yarn lockfile. 2019-01-31 12:24:07 +05:30
Akshay Joshi 0bb4f005e5 Correct schema should be displayed in Materialized View dialog. Fixes #3916 2019-01-31 11:29:18 +05:30
Murtuza Zabuawala 317a04eafc Handle backend errors properly and display them correctly on GUI for Grant Wizard 2019-01-30 16:39:34 +05:30
Akshay Joshi 0e489df7b0 Fixed debugger issue for procedure inside package for EPAS servers. Fixes #3927 2019-01-30 14:48:58 +05:30
Aditya Toshniwal ab094e8f16 Increase frames splitter mouse hover area to make it easier to resize. Fixes #3865 2019-01-30 14:26:36 +05:30
Ashesh Vashi 430be1c4cb Increase the width, and show the pointer cursor of the button under the
sortable backgrid header
2019-01-30 11:55:35 +05:30
Ashesh Vashi 0e8f804279 Show the help string separate block in the calendar control to align the
input, and calendar button properly in case of help string is present.
2019-01-30 11:42:38 +05:30
Ashesh Vashi 1858596253 Override the font-family defined by bootstrap 2019-01-30 10:21:36 +05:30
Akshay Joshi fedbcd4045 Ensure that output of the query should be displayed even if Data Output window is detached from the Query Tool. Fixes #3697 2019-01-29 18:48:21 +05:30
Aditya Toshniwal 821496dc84 Fixed Query Tool Initialization Error. Fixes #3903 2019-01-29 11:45:31 +05:30
Murtuza Zabuawala 07f16f40cd Ensure that grant wizard should list down functions for EPAS server running with no-redwood-compat mode. Fixes #3935 2019-01-28 12:47:27 +05:30
Murtuza Zabuawala 2d7eaa63c4 Fix alignment of help messages in properties panels. Fixes #3929 2019-01-24 16:39:55 +00:00
Murtuza Zabuawala d9fc9fdc4d Ensure object names in external process dialogues are properly escaped. Fixes #3872 2019-01-24 16:34:18 +00:00
Harshal Dhumal 42c7ae372f Fixed dialog tab navigation for Backup and Restore dialog. Fixes regression of #3862 2019-01-24 17:15:12 +05:30
Khushboo Vashi d4fe31404c Fix syntax error on python 2.7 for the feature test. 2019-01-24 11:25:00 +05:30
Akshay Joshi f316e0533e 1) Messages tab of query tool should be clear on subsequent execution of table/view using View/Edit Data. Fixes #3608
2) Clear drop-down menu should be disabled for View/Edit Data. Fixes #3609
2019-01-23 18:25:33 +05:30
Dave Page 08cf2c8310 Ensure we set the fixed port options properly when configuring following an error. 2019-01-23 12:12:16 +00:00
Khushboo Vashi 406ada10f5 Fixed EXEC script for procedures. Fixes #3850 2019-01-23 14:44:24 +05:30
Aditya Toshniwal 1f29859040 Improve application level exception handling for unhandled exceptions. 2019-01-23 12:49:05 +05:30
Aditya Toshniwal fcfe0929d3 Ensure that browser should warn before close or refresh. Fixes #3849 2019-01-23 11:57:36 +05:30
Murtuza Zabuawala e27c2c421e Update chromedriver. 2019-01-22 16:11:01 +00:00
Diego Augusto Molina d92368f8e5 Use 'UPDATE pg_settings' for setting bytea_output as a
convenience hack for those running on old, unsupported versions of
PostgreSQL 'cos we're nice like that.
2019-01-22 15:56:29 +00:00
Akshay Joshi 11ab1918ea Fixed domain sql regression test for EPAS 2019-01-22 18:22:16 +05:30
Khushboo Vashi c6bae69b6f Proper SQL should be generated when create domain of type interval with precision. Fixes #3853 2019-01-22 17:53:36 +05:30
Harshal Dhumal ea87d6da8f Fixed keyboard navigation for Select2 and Privilege cell in Backgrid Fixes #3908 2019-01-22 16:35:57 +05:30
Harshal Dhumal f731ab730b Fixed keyboard navigation for dialog tabs. Fixes #3862 2019-01-22 16:28:32 +05:30
Akshay Joshi 3e7381414f Drop-down should be closed when click on any other toolbar button. Fixes #3858 2019-01-22 16:05:02 +05:30
Murtuza Zabuawala cd311ca8a9 Remove session from the grid on the dashboard when it is terminated. 2019-01-22 14:25:11 +05:30
Ganesh Jaybhay a0d2c45361 1. Proper alignment of help message with date time control.
2. Added help-block class for helpMessageClassName.
2019-01-22 11:22:32 +05:30
Nozomi Anzai 407f885559 Updated Japanese translation. 2019-01-21 16:54:41 +00:00
Aditya Toshniwal 6fc2e032f3 Fixed alignment of tree arrow icons for Internet Explorer. Fixes #3871 2019-01-21 17:40:05 +05:30
Khushboo Vashi 3ffeb4be45 Ensure that database restriction of server dialog should work with special characters. Fixes #3800 2019-01-21 17:24:46 +05:30
Aditya Toshniwal a9794d8ab4 Ensure that file format combo box value should not retained when hidden files checkbox is toggled. Fixes #3840 2019-01-21 16:22:59 +05:30
Khushboo Vashi aedb3997b0 Ensure that Backup/Restore button should work on single click. Fixes #3811 2019-01-21 15:27:55 +05:30
Akshay Joshi c7cbe0ff4a Data should be updated properly for FTS Configurations, FTS Dictionaries, FTS Parsers and FTS Templates. Fixes #3897 2019-01-21 14:36:39 +05:30
Aditya Toshniwal 27cdb835cb Correct order of Save and Cancel button for json/jsonb editing. Fixes #3891 2019-01-18 18:14:50 +05:30
Aditya Toshniwal 06ae799d02 Handle text wrapping in alertify dialog only when it is required. Regression of #3695 2019-01-18 17:54:49 +05:30
Akshay Joshi 69f6895224 Proper SQL should be generated when create function with return type as custom type argument. Fixes #3774 2019-01-18 15:11:35 +05:30
Akshay Joshi a163edec7a Inline edbspl trigger functions should not be visible in Grant Wizard. Fixes #3740 2019-01-17 18:37:36 +05:30
Aditya Toshniwal 48660508ce Fixed controls alignment responsiveness to docker size change. 2019-01-17 18:20:12 +05:30
Aditya Toshniwal f779378e8a Add right border on selected tree item. 2019-01-17 13:27:07 +05:30
Akshay Joshi c1aba3e055 1) Proper SQL should be generated when creating/changing column with custom type argument. Fixes #3838
2) Proper SQL should be generated when create procedure with custom type arguments. Fixes #3846
2019-01-17 13:13:15 +05:30
Aditya Toshniwal 6bbcaf6b27 Fixed SQL for when clause while creating Trigger. Fixes #3837 2019-01-16 14:46:34 +05:30
Aditya Toshniwal dec43d98dc Fixed execution time to show Hours part for long running queries in Query Tool. Fixes #3475 2019-01-16 12:57:52 +05:30
Aditya Toshniwal d7b0508305 Fixed SQL for foreign table options. Fixes #3453 2019-01-16 12:34:16 +05:30
Aditya Toshniwal 7ac4e2a9d9 Fixed following issues:
- Process watcher made fixed width with header changes, time details rounded to 2 decimals
 - Query history will show "No query history" if no query fired. Query editor default size increased.
 - Fixed a bug where New folder create button not working when in List mode and No files/folder present.
 - Other minor improvements.
2019-01-16 11:55:08 +05:30
Aditya Toshniwal 2a359d9d77 Proper error should be thrown when server group is created with existing name. Fixes #3693 2019-01-15 18:38:01 +05:30
Aditya Toshniwal 7b0c81126c Ensure long string should be wrap in alertify dialogs. Fixes #3695 2019-01-15 18:23:59 +05:30
Ashesh Vashi 6735c30292 Define some of the variables in _default.variables.scss with '!default'
suffix to allow override them while defining another theme.
2019-01-15 13:01:16 +05:30
Ashesh Vashi 1f082a0488 Fixed a typo in the wizard.js, which was not allowing to show the
maximize button in the Grant Wizard.

Also - change the CSS to set the top to '0' of the ajs-content (alertify
content container) for the frameless dialogs.
2019-01-15 12:59:13 +05:30
Akshay Joshi 8b135f2932 Update message catalog and version for release. 2019-01-11 23:34:24 +05:30
Aditya Toshniwal d4a2f1b8cd Ensure that last row of table data should be visible and user will be able to add new row. Fixes #3866 2019-01-11 23:25:05 +05:30
Dave Page 14f462e9dc Fix PEP-8 issues. 2019-01-11 22:13:17 +05:30
Aditya Toshniwal d641b47adb Make the browser more robust in the face of multibyte characters in SQL_ASCII databases. Fixes #3877 2019-01-11 21:55:49 +05:30
Akshay Joshi 252e05ef29 Fix SQL generated for tables with inherited columns. Fixes #3505 2019-01-11 21:50:02 +05:30
Akshay Joshi 8fb340d23b Fix ordering of VACUUM options which changed in PG11. Fixes #3836
While we're at it, fix the JSON handling in the maintenance/backup/restore routes.
2019-01-10 15:29:55 +05:30
Aditya Toshniwal a8167f0a72 Fix Jasmine tests. 2019-01-10 15:02:51 +05:30
Aditya Toshniwal f7fa18f827 Ensure the context menu works after a server is renamed. Fixes #3575 2019-01-10 11:52:52 +05:30
Akshay Joshi 01b87d4834 Don't show system catalogs in the schemas property list unless show system objects is enabled. Fixes #3842 2019-01-10 11:41:09 +05:30
Aditya Toshniwal 868622912e Fix help for the backup/restore dialogues. Fixes #3861 2019-01-10 11:20:42 +05:30
Fred Escallier 6d0c4bc116 Updated French translation 2019-01-08 17:18:38 +05:30
Aditya Toshniwal 3c7742f3b2 Fixed an issue while creating export job. Fixes #3856 2019-01-08 13:02:29 +05:30
Dave Page 11870006c3 Correct dashboard title. 2019-01-07 18:02:22 +05:30
Akshay Joshi ea514115c3 Update the release note version in toctree 2019-01-07 16:34:25 +05:30
Akshay Joshi 561ee7556f Update version for release 2019-01-07 16:14:58 +05:30
Akshay Joshi e2857332b7 Update message catalogs 2019-01-07 16:09:25 +05:30
Aditya Toshniwal d361e604c1 Further style tweaks. 2019-01-07 16:03:54 +05:30
Dave Page 419bb7f995 Include rtf files in the copyright updater. 2019-01-07 14:38:12 +05:30
Dave Page 365cbc34f5 Fix MacOS package copyright. 2019-01-07 14:37:43 +05:30
Aditya Toshniwal e9ba2e036a Further style tweaks. 2019-01-07 14:24:44 +05:30
Dave Page c5d49bd862 Fix copyright year. 2019-01-07 11:28:39 +05:30
Identifier Anonymous 23b649fbd1 Update Japanese translation. 2019-01-04 16:17:43 +00:00
Khushboo Vashi ce1c06d7f1 Ensure we display the relation name (and not the OID) in the locks table wherever possible. Fixes #3702
Note that at the server level we fetch the data from pg_locks in the maintenance database,
so it can not fetch the pg_class relation for tables in other databasess (relation::regclass).
2019-01-04 14:45:28 +00:00
Dave Page fb02f8b1be Update release notes. 2019-01-04 13:11:20 +00:00
Akshay Joshi 4e27bf989f Display event trigger functions correctly on EPAS. Fixes #3549 2019-01-04 13:06:45 +00:00
Dave Page b5c7a108ab Put the appname back how it should be! 2019-01-04 10:54:35 +00:00
Dave Page d6778aa915 Bump version prior to 4.0 2019-01-04 10:53:10 +00:00
Dave Page 7d2ab6a685 Fix copyright notice. 2019-01-04 10:52:54 +00:00
Dave Page 7f40444087 Update WSGI instructions for Windows for Python 3. Fixes #3847. Patch from Benjamin Hayes. 2019-01-04 09:54:24 +00:00
Dave Page ad56e7fb12 Update message catalogs 2019-01-03 15:27:36 +00:00
Dave Page 598f69b63d Improve wording. 2019-01-03 15:24:47 +00:00
Aditya Toshniwal 7d765fea04 Further styling fixes. 2019-01-03 14:50:24 +00:00
Aditya Toshniwal 1283c22bb9 Fix a webpack issue that could cause the Query Tool to fail to render. Fixes #3679 2019-01-03 14:43:45 +00:00
Dave Page 2817ec438a Convert batch file line endings in an attempt to end the insanity of missing labels. 2019-01-03 14:33:43 +00:00
Akshay Joshi c455dda3ce Ensure auto complete should works for columns from a schema-qualified table. Fixes #3810 2019-01-03 18:59:57 +05:30
Akshay Joshi 3a130d68c5 Ensure auto complete should works when first identifier in the FROM clause needs quoting. Fixes #3809 2019-01-03 17:22:42 +05:30
Dave Page 6a9406237a Update yarn lockfile. 2019-01-02 12:57:21 +00:00
Dave Page d7da8be486 Make the upgrade check key configurable. 2019-01-02 12:56:39 +00:00
Aditya Toshniwal 6e5b54eb1a Increase default startup timeout and give progressive messages when things are slow. 2019-01-02 11:57:33 +00:00
Murtuza Zabuawala e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Aditya Toshniwal 86ecf9c84e Fixed following:
- Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem.
- Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter
- Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design changes which were missed
- Design change for dashboard server activity grid
- Login page language dropdown color fix
- Properties accordion collapse design fix
- Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text
- Added missing icon with buttons at few places
- Shadow behind the dialogs is increased to make it look clearly separated and depth.
- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for better UX
- File dialog design fix when no files found
- Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page
- Browser toolbar buttons changed to sync with SQL editor toolbar buttons
- Rounded corners for docker floating dialog (no properties)
- Renaming file in file dialog should show original file name
- SQL data grid text edit popup buttons behaviour was swapped. This is fixed.
- Import/Export dialog changes as per new design.
2019-01-02 15:07:59 +05:30
Ashesh Vashi 1b9c841c15 pgBrowser tree does not need to save tree state, when 'browser' module
is initialized from the tools like query editor, debugger, etc.

Refs #3559
2019-01-02 10:48:13 +05:30
Akshay Joshi 41c028f944 Ensure that null values handled properly in CSV download. Fixes #3780 2019-01-01 15:15:36 +05:30
Ashesh Vashi 5799ac14ba Improvement in the look and feel of the whole application
Changed the SCSS/CSS for the below third party libraries to adopt the
new look 'n' feel:
- wcDocker
- Alertify dialogs, and notifications
- AciTree
- Bootstrap Navbar
- Bootstrap Tabs
- Bootstrap Drop-Down menu
- Backgrid
- Select2

Adopated the new the look 'n' feel for the dialogs, wizard, properties,
tab panels, tabs, fieldset, subnode control, spinner control, HTML
table, and other form controls.

- Font is changed to Roboto
- Using SCSS variables to define the look 'n' feel
- Designer background images for the Login, and Forget password pages in
  'web' mode
- Improved the look 'n' feel for the key selection in the preferences
  dialog
- Table classes consistency changes across the application
- File Open and Save dialog list view changes

Author(s): Aditya Toshniwal & Khushboo Vashi
2018-12-21 17:14:55 +05:30
Khushboo Vashi a000dc6f60 Further improvements to treeview restoration. Fixes #3559 2018-12-21 11:36:11 +00:00
Dave Page 12b7e03085 Add flask-migrate to the container doc build as it's now required. 2018-12-21 10:58:15 +00:00
Aditya Toshniwal 943fc25f60 Make the setup process more robust against aborted executions. Fixes #3830 2018-12-21 10:30:49 +00:00
Dave Page f62d35bf3c Don't lose the comma! 2018-12-20 11:03:54 +00:00
Dave Page e2df00fc05 Use the standard copyright string. 2018-12-20 10:58:31 +00:00
Murtuza Zabuawala 36db047071 Add a copyright update tool. 2018-12-20 10:54:54 +00:00
Aditya Toshniwal ffae65bdbe Ensure table definitions include WHERE clauses on EXCLUDE constraints. Fixes #3726 2018-12-20 10:19:54 +00:00
Khushboo Vashi d14fb85fff Tweak the wording on the Grant Wizard. Fixes #3796 2018-12-20 10:17:00 +00:00
Murtuza Zabuawala 13dbfff11d Ensure identifiers are properly displayed in the plan viewer. Fixes #3821 2018-12-20 10:09:11 +00:00
Murtuza Zabuawala ed01dbd0ef Ensure the dashboard tabs are styles correctly. Fixes #3824 2018-12-20 09:53:35 +00:00
Dave Page cb880678cc Python 2.6 support is officially deprecated. 2018-12-20 09:15:26 +00:00
Akshay Joshi 7515e08578 Fix an issue when user define Cast from smallint->text is created. Fixes #3753 2018-12-19 18:02:04 +05:30
Akshay Joshi c973c3387e Include the WHERE clause on EXCLUDE constraints in RE-SQL. Fixes #3726 2018-12-18 13:37:04 +00:00
Khushboo Vashi 72ba5bdaee Fix drop/drop cascade regression. Fixes #3823 2018-12-18 09:45:06 +00:00
Dave Page 62bb3ca097 Correct bug number, per Khushboo. 2018-12-13 11:51:57 +00:00
Khushboo Vashi e666b0fab0 Fix an issue that could cause the Query Tool to fail to render. Fixes #3433 2018-12-13 11:15:55 +00:00
Khushboo Vashi dfbb2212c0 Prevent attempts to bulk-drop schema objects. Fixes #3797 2018-12-13 11:03:30 +00:00
Akshay Joshi 52fb8e197f Increase the size of the resize handle of the edit grid text pop-out. Fixes #3083
Allow horizontal sizing of the edit grid text pop-out. Fixes #3805
2018-12-13 10:56:45 +00:00
Dave Page d68eede3e6 Allow query plans to be downloaded as SVG files. Fixes #3589 2018-12-13 10:49:56 +00:00
Murtuza Zabuawala 04735e631e Minor bootstrap 4 fixes:
- Removed 'collapse in' css from wizard as we have 'collapse show' in Bootstrap-4
- Fixed 'Select/Unselect All' button layout for Select2 control used in pgAgent.
2018-12-13 10:28:58 +00:00
Akshay Joshi 90b2d2e536 Update release notes. 2018-12-10 15:07:27 +05:30
Dave Page 3448465e82 Defione Q_NULLPTR for Qt 4. 2018-12-06 11:08:17 +00:00
Dave Page 72a2db53c3 Use Q_NULLPTR instead of nullptr as some of our older build machines don't support C++ 11. 2018-12-06 10:40:49 +00:00
Dave Page 5cfe0ef115 Use C++ style casts. 2018-12-06 10:36:57 +00:00
Dave Page 312bcbc83f Use nullptr instead of NULL or 0. 2018-12-06 10:30:07 +00:00
Dave Page 566ff7b609 Use nullptr instead of NULL or 0. 2018-12-06 10:24:52 +00:00
Dave Page 45cd17af84 Use nullptr instead of NULL or 0. 2018-12-06 10:17:47 +00:00
Khushboo Vashi 12ef55334b Fix encoding test for older Python versions. 2018-12-06 10:15:58 +00:00
Dave Page f2773354c8 Remove blank messages from the Qt project file as they don't work on newer versions of QMake and aren't needed anyway. 2018-12-06 09:50:21 +00:00
Akshay Joshi 431516ad61 Ensure the browser toolbar buttons work in languages other than English. Fixes #3798 2018-12-06 09:25:15 +00:00
Dave Page 1141930178 Allow servers to be pre-loaded into container deployments. Fixes #3801 2018-12-05 17:16:46 +00:00
Dave Page 55402ec7d9 Run Postfix in the container build so passwords can be reset etc. Fixes #3599 2018-12-05 14:44:23 +00:00
Dave Page 980d1e0292 Fix PEP8 issue. 2018-12-04 17:07:41 +00:00
Dave Page 739864c7d1 Update release notes. 2018-12-04 17:04:27 +00:00
Khushboo Vashi 7e3bd8b88a Fix an encoding issue in the query tool. Fixes #3711 2018-12-04 17:03:19 +00:00
Dave Page 6428ffcdaf Fix a minor CSS issue in the file dialogue's upload panel. 2018-12-04 13:12:02 +00:00
Murtuza Zabuawala 660293456c Don't use a hard coded server ID for mocking! 2018-12-04 13:07:35 +00:00
Aditya Toshniwal 0100997aab Hide Radio buttons that should not be shown on the maintenance dialogue. 2018-12-04 11:00:58 +00:00
Dave Page c80b91876a Remove file added in error. 2018-12-04 10:49:11 +00:00
Murtuza Zabuawala f4f0fa0e47 Fix utility route check for Windows. 2018-12-04 10:46:59 +00:00
Aditya Toshniwal 851c0cfff3 Ensure browser toolbar buttons are always shown. 2018-12-03 10:09:36 +00:00
Murtuza Zabuawala 9a3047c89c Add API tests for utility check route. Fixes #3790 2018-11-30 09:56:41 +00:00
Akshay Joshi d801ed5008 Add titles to the code areas of the Query Tool and Debugger to ensure that panels can be re-docked within them. Fixes #3619 2018-11-29 15:47:48 +00:00
Akshay Joshi bdf9f3404f Fix handling of array types as inputs to the debugger. Fixes #3354 2018-11-27 11:18:47 +00:00
Murtuza Zabuawala c79ac2f8d2 Fix some minor CSS issues. 2018-11-27 10:57:30 +00:00
Identifier Anonymous 63f7fbcf7d Update Japanese translation. 2018-11-27 10:54:01 +00:00
Fred Escallier d61fc8b8db Update French translation. 2018-11-27 10:52:01 +00:00
Akshay Joshi 527e084ef7 Bump version number for release 2018-11-26 15:35:26 +05:30
Akshay Joshi b6842e88ac Update message catalogs 2018-11-26 15:31:05 +05:30
Dave Page f0327f5219 Add the ability to import and export server definitions from a config database. Fixes #3772 2018-11-21 16:09:20 +00:00
Akshay Joshi 3cfc3366d7 Fixed the height and width of the Table dialog. 2018-11-21 18:41:03 +05:30
Akshay Joshi 05e067035f Prevent the debugger controls being pressed again before previous processing is complete. Fixes #3734
Note that this needs to be re-visited in the future, as the current fix is somewhat hacky.
2018-11-20 16:35:27 +00:00
Akshay Joshi 8b5abdfa8f Fix changes to the NOT NULL and default value options in the Table Dialogue. Fixes #3742 2018-11-20 16:29:20 +00:00
Dave Page 782b7419f6 Fix toggle breakpoints buttons in the debugger. Fixes #3736 2018-11-20 16:22:56 +00:00
Dave Page bbb8433af3 Don't double-list the connecting page in the index. 2018-11-19 13:55:18 +00:00
Akshay Joshi ef68cae1f1 Properly report errors when debugging cannot be started. Fixes #3723 2018-11-15 15:18:12 -05:00
Akshay Joshi 9b0889842d Fix dropping of multiple functions/procedures at once. Fixes #3746 2018-11-14 08:40:21 -05:00
Akshay Joshi eae18f6f14 Ensure previous notices are not removed from the Messages tab in the Query Tool if an error occurs during query execution. Fixes #3016 2018-11-14 08:27:47 -05:00
Dave Page 29ed7ec881 Fix standalone setup script execution. 2018-11-05 13:39:43 +00:00
Akshay Joshi 220fdf583e Allow use of 0 (integer) and empty strings as parameters in the debugger. Fixes #3629 2018-11-02 16:44:09 +00:00
Dave Page 628f0d254e Fix resource group multi-drop test. 2018-11-01 08:54:33 +00:00
Dave Page 7dde5d52d0 Fix regression test. 2018-10-31 12:18:13 +00:00
Aditya Toshniwal 95cda78bdb Remove some CSS for the body level that isn't required and may cause issues. 2018-10-31 12:13:13 +00:00
Khushboo Vashi e59eaedfd0 Fix buildfarm failures. 2018-10-31 11:35:13 +00:00
Khushboo Vashi f17979141c Add support for dropping multiple objects at once from the collection Properties panel. Fixes #1513 2018-10-31 10:30:37 +00:00
Akshay Joshi 3359a0de7a Allow the selection order to be preserved in the Select2 control to fix column ordering in data Import/Export. Fixes #3029 2018-10-31 10:09:40 +00:00
Identifier Anonymous 6e03775f05 Japanese translation update. 2018-10-31 09:52:49 +00:00
Akshay Joshi b58f288eec Fixed fatal error while launching the pgAdmin4 3.5. Update the version of the Flask to 0.12.4 for release. Fixes #3730 2018-10-31 13:36:43 +05:30
Murtuza Zabuawala 140372a5cf Fix minor alert layout issue on IE 11. 2018-10-30 09:27:14 +00:00
Akshay Joshi d97431cb4f Bump version number for release. 2018-10-29 22:29:07 +05:30
Akshay Joshi 1e14b0d068 Update message catalogs 2018-10-29 22:21:40 +05:30
Dave Page 4ff0fcdd82 Update to latest Flask, to avoid a security issue. 2018-10-29 14:17:30 +00:00
Akshay Joshi 696fbfb8b9 Fix CREATE Script functionality for EDB-Wrapped functions. Fixes #3676 2018-10-29 11:54:11 +00:00
Dave Page be47390baf Fix the Docker build. 2018-10-29 11:01:47 +00:00
Akshay Joshi 0d5a6eeeff Ensure that utility existence check should work for schema and
other child objects while taking Backup/Restore. Fixes #3722
2018-10-25 18:55:21 +05:30
Akshay Joshi 6ddab02769 1) Fixed process watcher status message when user has stopped the process.
2) Saved the process state in sqlite database.
2018-10-25 17:03:34 +05:30
Aditya Toshniwal 091aa62084 Fixed background colour while replacing a file in File Manager dialog. 2018-10-24 17:53:06 +05:30
Akshay Joshi 2058cdf662 Fixed test cases for Utilities when default_binary_path is not provided in test_config file. 2018-10-22 13:22:35 +05:30
Akshay Joshi 6bc6bc7f60 Ensure that Utilities(Backup/Restore/Maintenence/Import-Export) should not be started
if binary path is wrong and also added 'Stop Process' button to cancel the process.
2018-10-22 12:35:53 +05:30
Akshay Joshi 370df47042 Fixed issue where session files are not deleted first time when pgAdmin4 server started,
it always wait for CHECK_SESSION_FILES_INTERVAL which is 24 hours by default.
2018-10-18 18:02:45 +05:30
Usman Muzaffar 9ae49cbf31 Test case fixes for server mode. 2018-10-18 09:39:09 +01:00
Harshal Dhumal 822d384746 Purge connections from the cache on logout. Fixes #3703 2018-10-17 12:42:41 +01:00
Harshal Dhumal ce31726af5 Fix connection garbage collector. Fixes #3700 2018-10-17 12:35:45 +01:00
Dave Page 494a8ac3fe Release note update 2018-10-17 12:30:01 +01:00
Akshay Joshi 50738db2b8 Fix syntax error when creating new pgAgent schedules with a start
date/time and exception. Fixes #3638

- Fixed syntax error.
- Update/Delete exceptions are not working, SQL is wrong.
- Wrong exception time is shown, it should shown in UTC as datatype of
  the column is timestamp with out timezone.
- Added test cases for Schedule and Steps of pgAgent Job.
2018-10-17 12:28:31 +01:00
Aditya Toshniwal 6fa6939f52 Additional feature test fixes:
1) Changes required for working with Bootstrap 4.
2) Change to fix the timeout exception when waiting for element (tested multiple times on multiple server, did not occur to me thereafter)
3) Removed reset layout after each test case. Instead, delete the layout entry from sqlite db file and do a plain refresh. This will save some time and will also remove dependency on reset layout menu.
4) Disables tree state saving when feature test run starts. Feature tests got confused with auto expanding tree.
2018-10-17 11:50:22 +01:00
Akshay Joshi ef0e53e8fc Fixed pep8 issue 2018-10-15 17:41:21 +05:30
Akshay Joshi fd2c2c4ff7 Fixed minor issue in SQL autocomplete. 2018-10-15 17:36:11 +05:30
Aditya Toshniwal d6c4911135 Fixed calender control issues with Bootstrap 4 2018-10-12 15:02:38 +05:30
Aditya Toshniwal 6991c06937 Additional Bootstrap 4 fixes:
- Calendar control
- Query Tool's Sort/Filter drop down
- Backform hidden controls
- Debugger toolbar
2018-10-11 13:23:59 +01:00
Usman Muzaffar 3f16a0c52c Log process exceptions using ASCII mode to avoid issues with string concatenation. 2018-10-11 13:13:08 +01:00
Aditya Toshniwal 4a6426d3e7 Doc updates after renaming SQL Editor section of the Preference panel. 2018-10-11 09:10:02 +01:00
Khushboo Vashi 235a75202d Fixed minor issue in saving tree state logic. 2018-10-11 11:22:24 +05:30
Dave Page 55cf0cf2f9 Fix message. 2018-10-10 13:30:55 +01:00
Aditya Toshniwal 0565f8dd78 Update to use Bootstrap 3 instead of Bootstrap 4. Fixes #3562 2018-10-10 12:43:26 +01:00
Dave Page bdf90e67a7 When an execution is cancelled in query tool, two different messages are encountered at different time. There is no exact pattern for them. So now, the test case will look for any one of following message in the output text box
i) canceling statement due to user request
ii) Execution cancelled!
2018-10-10 11:23:14 +01:00
Akshay Joshi 7144db7f5a Cleanup session files periodically. Fixes #3674 2018-10-09 11:34:13 +01:00
Murtuza Zabuawala c66840bc8e Fix some styling regressed in #2927. 2018-10-09 11:22:54 +01:00
Aditya Toshniwal 26ad6d4c5d Rename the 'SQL Editor' section of the Preferences to 'Query Tool' as it applies to the whole tool, not just the editor. Fixes #3660 2018-10-08 11:43:02 +01:00
Fred Escallier 87b64cf3c0 Update French translation. 2018-10-08 11:18:59 +01:00
Murtuza Zabuawala 0f1651686b Code refactoring:
- Move the duplicate code for closing the background process dialog into 'test_gui_helper.py',
- Simplify the logic by removing the duplicate steps to insert/update binary paths for each server type from 'test_utils.py'.
2018-10-08 11:09:30 +01:00
Khushboo Vashi 528ea88dec Save the treeview state periodically, and restore it automatically when reconnecting. Fixes #1253 2018-10-08 10:03:19 +01:00
Dave Page 44ef501283 Fix PEP-8 issue. 2018-10-03 10:12:00 +01:00
Usman Muzaffar eb27fa29b1 Test stabilisation, mostly for Windows. Fixes #3136 2018-10-03 10:03:35 +01:00
Identifier Anonymous a89ab88097 Updated Japanese translation. 2018-10-02 15:44:05 +01:00
Dave Page c092495b7a Bump version number for release. 2018-10-01 10:25:19 +01:00
Dave Page 8e2ede21a0 Update message catalogs 2018-10-01 10:23:23 +01:00
Akshay Joshi 15fe26a710 Fix handling of backslashes in the edit grid. Fixes #3551 2018-09-25 10:34:33 -04:00
Dave Page 530017809a Update supported Python versions to match reality. 2018-09-24 16:22:06 -04:00
Akshay Joshi 6c2c18106f Swap the Schema and Schemas icons and Catalog and Catalogs icons that had been used the wrong way around. 2018-09-24 14:11:23 -04:00
Aditya Toshniwal 1b20831338 Ensure changes to Query Tool settings from the Preferences dialogue are applied before executing queries. Fixes #3657 2018-09-19 16:50:11 +01:00
Akshay Joshi 6a46e43567 Ensure the runtime can startup properly if there are wide characters in the logfile path on Windows. Fixes #3464 2018-09-18 15:08:31 +01:00
Akshay Joshi 003889f15e Added null checks and some more startup logs for runtime 2018-09-17 15:16:48 +05:30
Dave Page a2258c83e9 Chance an update to Node 8. Let's see how Jenkins likes this. 2018-09-14 17:04:51 +01:00
Atle Frenvik Sveen 370d9c72ec Update some of the JS dependencies to ensure we can use Node 10. Fixes #3649 2018-09-14 16:55:13 +01:00
Akshay Joshi 026969e3d1 Add a startup logger to the runtime to aid with debugging. 2018-09-14 14:41:52 +01:00
Akshay Joshi 0ec3224212 Fix logic around validation and highlighting of Sort/Filter in the Query Tool. Fixes #3607 2018-09-14 14:18:43 +01:00
Aditya Toshniwal 38ddea038a Fix support for the CLOB datatype in EPAS. Fixes #3596 2018-09-13 13:45:06 +01:00
Akshay Joshi d6c64e8f11 Fixed issue where wrong menu id passed when click on 'View Data' tool button 2018-09-12 11:00:58 +05:30
Akshay Joshi 4010dc80a9 Ensure auto-complete works for objects in schemas other than public and pg_catalog. Fixes #3630 2018-09-11 12:56:14 +01:00
Akshay Joshi 9c5e42c7a6 Used SCSS variables instead of hardcoded value for color and moved code from CSS to SCSS file. 2018-09-11 11:18:37 +05:30
Akshay Joshi 532cbe216a Add shortcuts for View Data and the Query tool to the Browser header bar. Fixes #3564 2018-09-10 15:16:13 +01:00
Dave Page 1850a3a995 Remove unnecessary screenshot. 2018-09-10 13:17:59 +01:00
Usman Muzaffar 22776d2e14 Further stability fixes for the feature tests. 2018-09-10 13:15:55 +01:00
Dave Page 7f1b588c69 Remove package-lock.json to stop Yarn bleating. 2018-09-06 15:00:52 +01:00
Aditya Toshniwal 8f88443e15 Doc updates for optional data point markers and mouse-over tooltips to display values on graphs. Fixes #3514 2018-09-06 14:54:25 +01:00
Aditya Toshniwal a74b9c96c1 Add optional data point markers and mouse-over tooltips to display values on graphs. Fixes #3514
Ensure queries are no longer executed when dashboards are closed. Fixes #3576
2018-09-05 17:25:11 +01:00
Fred Escallier 0e59be237b Update French translation (and rebuild the rest).
1779 of 1994 messages (89%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1994 of 1994 messages (100%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1781 of 1994 messages (89%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1405 of 1994 messages (70%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
1449 of 1994 messages (72%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1782 of 1994 messages (89%) translated in pgadmin/translations/ko/LC_MESSAGES/messages.po
1994 of 1994 messages (100%) translated in pgadmin/translations/fr/LC_MESSAGES/messages.po
1835 of 1994 messages (92%) translated in pgadmin/translations/es/LC_MESSAGES/messages.po
2018-09-05 17:08:29 +01:00
Identifier Anonymous 6a4689599d Update Japanese translation (and rebuild the rest).
1779 of 1994 messages (89%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1994 of 1994 messages (100%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1781 of 1994 messages (89%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1405 of 1994 messages (70%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
1449 of 1994 messages (72%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1782 of 1994 messages (89%) translated in pgadmin/translations/ko/LC_MESSAGES/messages.po
1903 of 1994 messages (95%) translated in pgadmin/translations/fr/LC_MESSAGES/messages.po
1835 of 1994 messages (92%) translated in pgadmin/translations/es/LC_MESSAGES/messages.po
2018-09-05 17:03:56 +01:00
Dave Page 6e54a13ba2 Update test cases to match style changes 2018-09-04 12:04:57 +01:00
Dave Page fa1cf7b7a3 Include the 3.4 release notes in the toctree. 2018-09-04 11:47:20 +01:00
Aditya Toshniwal 82c9cca683 Move all CSS into SCSS files for consistency and ease of colour maintenance etc. Fixes #2927 2018-09-04 11:24:51 +01:00
Dave Page 61f00a0cbb Update versions for 3.3. 2018-09-03 10:11:34 +01:00
Dave Page 43ccfd3af6 Update message catalogs 2018-09-03 10:09:10 +01:00
Akshay Joshi 09c388ecee Correct the documentation of View/Edit data. Fixes #3604 2018-08-31 19:02:26 +05:30
Xuri Gong 89e283fbc2 Add a geometry viewer that can render PostGIS data on a blank canvas or various map sources. Fixes #1407 2018-08-30 13:59:44 +01:00
Akshay Joshi b665f8fac8 Fixed auto complete issue for EPAS database server. 2018-08-30 12:30:00 +05:30
Aditya Toshniwal 283a69a21a Fix auto scrolling issue in debugger on step in and step out. Fixes #3554. 2018-08-29 18:20:45 +05:30
Harshal Dhumal 208ee4da8c Fixed debugger execution issues:
1. Allow debugging of EPAS package procedures/functions with INOUT params.
 2. Add support for indirect debugging for EPAS package procedures/functions.
 3. Allow debugging with NULL param values.
 4. Remove saved debug arguments.

Fixes #3191
2018-08-29 17:44:37 +05:30
Maxim Zakharov b7ad95907a When building the Windows installer, copy system Python packages before installing dependencies to ensure we don't end up with older versions than intended. Fixes #3579 2018-08-29 11:33:25 +01:00
Murtuza Zabuawala 9c8cf26784 Ensure that refresh button on dashboard should refresh the table. Fixes #3525 2018-08-29 11:24:45 +05:30
Akshay Joshi dd3c7c94e6 Ensure external table node should be visible only for GPDB. Fixes #3548 2018-08-27 19:11:25 +05:30
Aditya Toshniwal ea787b30eb Fixed auto complete issues for Python 2.6 2018-08-27 16:37:00 +05:30
Akshay Joshi 7a3f3046df Merge pgcli code with version 1.10.3, which is used for auto complete feature. 2018-08-27 15:00:56 +05:30
Aditya Toshniwal 25679fd542 Ensure sort/filter dialog should display proper message after losing database connection. Fixes #3561 2018-08-22 16:38:31 +05:30
Murtuza Zabuawala 0f17b4f738 Ensure 'select all' and 'unselect all' working properly for pgAgent schedule. Fixes #3313. 2018-08-22 15:13:40 +05:30
Akshay Joshi 0ab1305ddf 1. Added new backup/restore options for PostgreSQL 11. Fixes #3503
2. Ensure backup should work with '--data-only' and '--schema-only' for any format. Fixes #3347
3. Added supported "Dump Options" for "pg_dumpall" which was not there since pgAdmin 3.
4. Fixed issue where "--clean" should not clubbed with "--data-only" while taking backup.
5. Fixed "--oids" should not clubbed with "--inserts" or "--column-inserts" while taking backup.
2018-08-22 12:17:50 +05:30
Harshal Dhumal 013ad7446f Make the session thread safe.
As sessions in pgAdmin4 are filesystem based session, they need locking
for avoiding the access from multiple threads, specially running as an
WSGI application.

Fixes #3547
2018-08-22 11:58:27 +05:30
Usman Muzaffar 70c95fcdd5 Stabilise feature tests for continuous running on CI systems. Fixes #3136. 2018-08-21 17:39:36 +05:30
Aditya Toshniwal 57660d131f 1) Fix sort/filter dialog editing issue. Fixes #3558.
2) Fix sort/filter dialog issue where it incorrectly requires ASC/DESC. Fixes #3325.
2018-08-21 13:05:40 +05:30
Joao De Almeida Pereira 46d4bf027d Ensure sql for Role should be visible in SQL panel for GPDB. Fixes #3578 2018-08-17 14:50:16 +05:30
Akshay Joshi d68c967423 Fix passing of --globals-only to global backups. 2018-08-16 14:20:32 +01:00
Aditya Toshniwal ff87cf5544 Correctly handle "values" in web/pgadmin/__init__.py -> strip_version_number which can be None in some cases and will cause exception when None 2018-08-16 09:23:58 +01:00
Ashesh Vashi 0a8d7a37b9 Changed the icon, label, inode, etc. propely while refreshing the
browser tree item.

Refs #3461
2018-08-14 10:18:03 +05:30
Akshay Joshi 008359ad3a Ensure that refreshing a node also updates the Property list. Fixes #3461 2018-08-13 13:47:07 +01:00
Ashesh Vashi ffd41009ea We were refering to the wrong 'name' variable during cleaning up the
backform controls.
2018-08-12 15:44:52 +05:30
Akshay Joshi 7b2c1bb9f8 Handle connection errors properly in the query tool. Fixes #3528 2018-08-10 13:51:32 +01:00
Isaias Sanchez 2eac2f43ac Add a Spanish translation. Fixes #3553 2018-08-08 17:17:26 +01:00
Akshay Joshi 7117ce6a22 Fix keyboard shortcuts layout in the preferences panel. Fixes #3407 2018-08-07 14:41:50 +01:00
Identifier Anonymous 3a5684510a Updated Japanese translation. 2018-08-07 13:07:47 +01:00
Khushboo Vashi d4b3ded725 Add missing library to list. 2018-08-07 09:21:30 +01:00
Akshay Joshi 7479467a54 Update version and message catalog for release. 2018-08-06 16:15:11 +05:30
Akshay Joshi c8c5f83dfe Add support to save and clear SSH Tunnel password. Fixes #3511 2018-08-06 15:56:46 +05:30
Akshay Joshi 52fc0846cd pgAdmin4 should work with python 3.7, Fixes #3458 2018-08-06 15:35:03 +05:30
Aditya Toshniwal cb8a288f85 Added version number for URL's to ensure that files are only cached on a per-version basis. Fixes #2136. 2018-08-06 15:21:10 +05:30
Akshay Joshi a17aa212f0 COST statement should not be automatically duplicated after creating trigger function. Fixes #3526 2018-08-06 11:54:25 +05:30
Akshay Joshi e9e8b0b433 1. Change the string from 'Reset server password" to "Clear Saved Password" and move this sub menu from File to Object menu.
2. Move the "Change Password..." menu from 'File' to 'Object' menu.
RM #3074
2018-08-03 16:41:01 +05:30
Akshay Joshi 8f45e6fe68 View Data->Filtered Rows dialog should be displayed. Fixes #3527 2018-08-02 18:15:58 +05:30
Ashesh Vashi c4267f0878 Fixed couple of issues for the dashboard.
- Filter for the grids were showing on the server level dashboard.
  It was regression of the commit-id: f7e43d5e5
- Mark 'is_server_dashboard', and 'is_database_dashboard' to false, when
  the node has its own dashboard URL defined.
2018-07-30 13:33:20 +05:30
Khushboo Vashi 0cb25bde63 Add support for primary key, foreign key, unique key, indexes and triggers on partitioned tables for PG/EPAS 11. Fixes #3412 2018-07-27 17:31:21 +05:30
Akshay Joshi 0138dee989 Add support for reset saved password. Fixes #3074 2018-07-27 14:36:42 +05:30
Ashesh Vashi 00139f7750 Remove the unused variable to satisfy the linter. 2018-07-27 13:43:37 +05:30
Ashesh Vashi 5ff2942b4d Improved the functionality of enable/disable the auto-collection of
the graph data.

- Dashboard is intereseted only on the current selected object in the
  browser tree. And, not the one, which was got disconnected.
- Disable the auto-collection of data selectively, and only when the
  selected object got disconnected, and not when changing back to the
  Dashboard panel (as per Aditya).
2018-07-27 13:14:24 +05:30
Ashesh Vashi 35862b94a9 We need to remove the interval callbacks for retrieving the statistics
for the charts on dashboard every time the URL changed (not - just when
connection to the server was alive).
2018-07-26 22:44:34 +05:30
Ashesh Vashi e2ce73d855 'anyFamilyMember' runs the condition function for all nodes in the
hierarchy. No need to run the 'dashboardURL' function in the
'getDashboardURL' function for the current node too.
2018-07-26 21:37:40 +05:30
Aditya Toshniwal be3f9570e3 Fixed dashboard reloading even if subnodes under a dashboard or server selected. 2018-07-25 13:11:00 +01:00
Ashesh Vashi 53b5043520 As per Aditya - we need the server version for the certain operations,
which was removed during previous commit.
2018-07-25 13:07:28 +05:30
Ashesh Vashi e12e00703f Refactored the dashboard code, which was allowing each node type to
define its own dashboardURL.

There was a typo, while calling the dashboard function of a Node type.
2018-07-25 12:28:44 +05:30
Aditya Toshniwal f7e43d5e50 Realtime preference handling for the Dashboards and Debugger. Fixes #3294 2018-07-24 16:31:44 +01:00
Dave Page ae814d76d3 Update release notes. 2018-07-23 16:19:19 +01:00
Dave Page d7eb41fff4 Include a cacert file when needed for the upgrade check. Fixes #3185 2018-07-23 16:15:58 +01:00
Dave Page 58ef723476 SESSION_SKIP_PATHS should be set before we load local or distro config files. 2018-07-23 15:44:54 +01:00
Akshay Joshi 213cb440d0 Add support for SCRAM password changes (requires psycopg2 >= 2.8). Fixes #2214 2018-07-23 15:03:44 +01:00
Khushboo Vashi 2d1e835d32 Fix panel errors seen when click on partitions. 2018-07-23 14:33:40 +01:00
Dave Page cb9fffc7de Remove comment that's not really needed any more. 2018-07-20 16:56:03 +01:00
Aditya Toshniwal c353135a3a Add support for INCLUDE columns on indexes and index constraints with PG 11+. Fixes #3462 2018-07-19 13:13:37 +01:00
Dave Page a86604160a Allow the user to specify a fixed port number in the runtime to aid cookie whitelisting etc. Fixes #3506 2018-07-19 12:54:53 +01:00
Dave Page 2ce41e77f2 Add a menu option to the runtime to copy the appserver URL to the clipboard. Fixes #3510 2018-07-19 11:32:40 +01:00
Akshay Joshi 051ce6afeb Ensure the SSH tunnel port number is honoured. Fixes #3471 2018-07-19 10:52:16 +01:00
Akshay Joshi ce768c7f8a Support SSH tunneling with keys that don't have a passphrase. Fixes #3468 2018-07-18 14:15:05 +01:00
Akshay Joshi 7f7feee8c1 Added keyboard shortcut for 'pgAdmin4' menu. 2018-07-17 18:52:06 +05:30
Akshay Joshi 1fc82d328c Fix backup in directory format on Windows. 2018-07-17 13:04:28 +01:00
Akshay Joshi ba8f745f70 Exclude system columns in Import/Export. Fixes #3448 2018-07-17 13:01:40 +01:00
Khushboo Vashi 8869fd6eb3 Fix a number of debugger execution issues. Fixes #3191
1. EPAS packages' function/procedure does not honour INOUT arguments, it converts INOUT to OUT.

2.  Packages' functions and procedures are not getting listed in their respected nodes in some scenarios like procedure having INOUT argument and function with void return type

3. The Reverse engineering SQL is not correct for Packages' functions/procedures

4. In case of INOUT argument, debugger asks for mendatory input which should not.

5. Re-executing a procedure whilst direct debugging doesn't work.
2018-07-17 12:51:24 +01:00
Akshay Joshi 39b41d7b24 Various procedure/function related fixes for EPAS/PG 11. Fixes #3446
- Fix the RM #3446 "plpgsql keyword should displayed in SQL pane for EPAS-11".
- Procedures for EPAS 11 always created as 'edbspl', even though language is sql or plpgsql.
- Not able to create Function/Procedure/Trigger function if the language is "C" for all supported database server.
- Function creation for EPAS 9.6 and above when set "Window?" flag to "Yes".
- Disable Volatility, Strict, Parallel, Estimated cost and Leak prof while creating procedures in EPAS 11 when language is not 'edbspl'.
- Rename "default" folder to "11_plus" inside "pg" directory for procedures, as procedures are supported from PG11 onwards.
- Creating/Deleting parameter in Procedure for PG 11.
- Drop procedures with arguments for PG/EPAS 11.
pg_proc table has added default value 'v' for Volatility, 100 for Cost and 'u' for Parallel for any language. All the three are not supported for Procedures in PG/EPAS 11 (excluding 'edbspl' language for EPAS). Fixed the issue where it is visible in properties panel if we create procedure using language 'plpgsql' or 'sql'.
2018-07-17 12:43:46 +01:00
Dave Page a49923dba2 Add hints for the config options. 2018-07-17 12:18:37 +01:00
Akshay Joshi 765a88addf Support running on systems without a system tray. Fixes #3316 2018-07-17 12:10:35 +01:00
Dave Page 0137cfaee3 Update message catalogs:
1455 of 1984 messages (73%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1910 of 1984 messages (96%) translated in pgadmin/translations/fr/LC_MESSAGES/messages.po
1941 of 1984 messages (97%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1789 of 1984 messages (90%) translated in pgadmin/translations/ko/LC_MESSAGES/messages.po
1785 of 1984 messages (89%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1787 of 1984 messages (90%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1411 of 1984 messages (71%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2018-07-12 10:04:07 +01:00
Ioseph Kim c7325bea93 Add a Korean translation. 2018-07-12 10:02:54 +01:00
Dave Page c6dba67d06 Add "messages" target to extract, update and compile message catalogs for convenience. 2018-07-12 10:00:40 +01:00
Dave Page 0c6e80f64d Improve sizing on Linux 2018-07-11 13:31:19 +01:00
Aditya Toshniwal 2b9c0a63fb Ensure CodeMirror always has a non-zero font size. Fixes #3480 2018-07-10 13:58:44 +01:00
Aditya Toshniwal 3b862bd70b More jQuery 3 updates. 2018-07-10 10:59:53 +01:00
Aditya Toshniwal d1784137a5 Ensure text is visible in the SQL Filter dialogue. Fixes #3478 2018-07-09 14:08:41 +01:00
Aditya Toshniwal 41a8333145 Replace deprecated success, error callbacks in $.ajax call with new functions .done and .fail. 2018-07-09 13:54:00 +01:00
Khushboo Vashi 81312d17e2 Add feature tests for Backup/Restore and Maintenance. Fixes #3206 2018-07-09 11:27:25 +01:00
Akshay Joshi 2b20b387e2 Add support for Trigger and JIT stats in the graphical query plan viewer. Fixes #3397 2018-07-06 13:13:14 +01:00
Aditya Toshniwal 73530c05aa Add missing files related to previous commit: Infrastructure and changes to the Query Tool for realtime preference handling. Refs #3294 2018-07-05 11:41:01 +01:00
Aditya Toshniwal bdb7e3fde2 Infrastructure and changes to the Query Tool for realtime preference handling. Refs #3294
Highlights of this patch include:
- Changes will affect SQL Editors in Create dialog boxes, SQL tab of the main screen, Query tool, History entries in the query tool, Query tool opened in New Tab/Window
- All the components of SQL editor will refer to single source of preferences which is cached in the Browser object. All other redundant ajax get preference calls are removed.
- SQL editor will not refer template JS variables anymore, once all the references are removed the template variables will also be removed.
- Code refactoring wherever possible.
- Covered JS test cases wherever possible.
2018-07-05 11:38:43 +01:00
Aditya Toshniwal 82d77c4608 Don't create a session when the /misc/ping test endpoint is called. Fixes #3371 2018-07-05 11:12:03 +01:00
Dave Page 165c4744b0 Correct the runtime options list. 2018-07-05 09:13:46 +01:00
Dave Page e802f2db64 Correct bug number. 2018-07-02 15:55:57 +01:00
Khushboo Vashi d56f1b17f3 Fix restoring of restore options for sections. Fixes #3362 2018-07-02 15:53:19 +01:00
Khushboo Vashi 28e0220e97 Fix restoring of restore options for sections. Fixes # 2018-07-02 15:52:15 +01:00
Murtuza Zabuawala d53c47e1cf Cleanup and fix handling of Query Tool Cancel button status. Fixes #3319 2018-07-02 15:43:36 +01:00
Murtuza Zabuawala b390c033cf Fix debugging of procedures in EPAS packages. Fixes #3457 2018-06-29 15:20:33 +01:00
Khushboo Vashi fb1ef9ac0b Properly support backups in Directory format. Fixes #3309 2018-06-29 15:14:37 +01:00
Dave Page c85ced4c6b Prep 3.2 release notes page. 2018-06-29 14:37:05 +01:00
Khushboo Vashi 43aa0c9f3c Fix wheel deps 2018-06-28 13:03:24 +01:00
Dave Page fbbf9d1de2 Fix stupid typo 2018-06-28 12:56:33 +01:00
Dave Page 6afaa4f400 Fix bug number, per Khushboo 2018-06-28 11:14:57 +01:00
Dave Page 21fd953672 PEP-8 fix 2018-06-27 16:55:57 +01:00
Shubham Agarwal ec476d6274 Feature test reliability improvements:
1. click_tab() -> Added wait till element is clickable, test cases are failing since the function attempts to click the tab which is not yet in the state to be clicked.

2. add_server() -> Replaced the sleep statement with wait till element to be clickable.
2018-06-27 16:40:03 +01:00
Dave Page ce8fb28b34 Message catalog updates:
1459 of 2000 messages (72%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1930 of 2000 messages (96%) translated in pgadmin/translations/fr/LC_MESSAGES/messages.po
1961 of 2000 messages (98%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1796 of 2000 messages (89%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1798 of 2000 messages (89%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1415 of 2000 messages (70%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2018-06-27 11:48:33 +01:00
Identifier Anonymous 6ca07528ff Japanese translation fixes. 2018-06-27 11:46:39 +01:00
Khushboo Vashi 8136b72364 Fix a French translation error that could prevent the server starting up. Fixes #3411 2018-06-27 11:42:23 +01:00
Dave Page f04b2e33b5 Prep for 3.1 release. 2018-06-26 11:13:46 +01:00
Akshay Joshi 08e4cdf2ac Updated extension upgrade message. Fixes #3445 2018-06-26 11:53:46 +05:30
Dave Page 27bb7ff5db Don't use imple variable notation in bash scripts. 2018-06-25 17:00:21 +01:00
Dave Page 5bdd80e3da Correct version comparison, per Khushboo. 2018-06-25 16:41:34 +01:00
Akshay Joshi cf29e8df90 Require v1.1 of the pldbgapi extension to debug on EPAS 11. 2018-06-25 16:01:53 +01:00
Akshay Joshi 57c054fb0e Fix various Drop menu options that were broken during the treeview refactoring.
Fixes #3442. Fixes #3443. Fixes #3444
2018-06-25 15:52:12 +01:00
Akshay Joshi 4a71c6d7af Various EPAS/PG11 function & procedure fixes. Fixes #3421. Fixes #3422 2018-06-25 14:58:02 +01:00
Akshay Joshi 1f5ca1b540 Allow sorting in the file dialogue. Fixes #3273 2018-06-25 14:41:07 +01:00
Dave Page 4ba0e1a6f3 Fix Python 2.6 support for SQL_ASCII data in the query tool. 2018-06-21 17:06:28 -04:00
Akshay Joshi 560e5f225a Allow dropping of Procedures in PG 11. Fixes #3423 2018-06-21 16:36:10 -04:00
Akshay Joshi 83f9d8a547 Minor fix to handle auto-discovery of servers with no port recorded. 2018-06-21 16:34:33 -04:00
Akshay Joshi 480fe6b9fc Fixed issue of detection of EPAS server 11 and above. Version string is changed in EPAS 11 2018-06-21 18:30:37 +05:30
Dave Page 8480c10c74 Update release notes. 2018-06-21 08:32:15 -04:00
Aditya Toshniwal df85392bbf Fix handling of SQL_ASCII data in the query tool. Fixes #3289. Fixes #3250 2018-06-21 08:26:01 -04:00
Joao Pedro De Almeida Pereira 155f82676d Fix the RE-SQL generation for GreenPlum external tables. Fixes #3431 2018-06-19 20:01:45 -04:00
Akshay Joshi 7a06acb678 Allow the connection timeout to be configured on a per-server basis. Fixes #3388 2018-06-19 19:58:46 -04:00
Dave Page 9821e28da5 Fix file permissions per Devrim 2018-06-19 16:09:49 -04:00
Dave Page 717637c5b9 Fix indent. 2018-06-18 13:47:39 -04:00
Akshay Joshi a45c33cf76 Ensure that template0 and template1 are available as tempates when creating databasesa. Fixes #3361
[regardless of the Show System Objects? option]
2018-06-18 13:41:14 -04:00
Khushboo Vashi 521985c11a README update 2018-06-18 12:51:38 -04:00
Ashesh Vashi f2cef38364 Flask 1.0.2 does not allow a dot (.) in the view_func name, which we use
during generting the routes for the node.

References:
https://github.com/pallets/flask/commit/2f57a0b917478a028859b9d036b59cf1bba6cad2
https://github.com/pallets/flask/issues/2790

Fixes #3360
Reported by: Marcelo Mendes
Investigated by: Khushboo Vashi
2018-06-18 09:58:16 +05:30
Dave Page 5f51c39e6f Delete the venv folder prior to upgrade. Fixes #3384 2018-06-17 21:10:17 -04:00
Khushboo Vashi ba8829b64f Further Python 2.6 fixes. 2018-06-15 15:03:53 +01:00
Khushboo Vashi ab54a6d39a Fix external utilities to run with Python 2.6. 2018-06-15 12:38:31 +01:00
Khushboo Vashi d1902cd639 Add Python API tests for execution of external utilities such as pg_dump. 2018-06-15 11:36:07 +01:00
Akshay Joshi 766b389001 Include the schema name on RE-SQL for packages. Fixes #3356 2018-06-15 10:40:14 +01:00
Akshay Joshi b48145f01f Add an option to auto-complete keywords in upper case. Fixes #2686 2018-06-15 10:18:56 +01:00
Akshay Joshi df7b4d55c6 Remove an extra space in Procedure templates. 2018-06-15 09:16:00 +01:00
Akshay Joshi 1a6b6f61f7 Fix documentation indexing. 2018-06-15 09:14:12 +01:00
Dave Page 96544424dd Don't pipe the list of binaries through uniq.
It seems to be overflowing a buffer and truncating output with Python 3,
plus it's being fed a single line only so isn't actually doing anything.
2018-06-14 17:03:16 +01:00
Dave Page 1d322e2cd9 Enable building of the appbundle with Python 3.6. 2018-06-14 16:16:30 +01:00
Dave Page 087db8a75e Fix stored procedure test cases so they don't fail on EPAS 9.4 2018-06-13 17:01:19 +01:00
Akshay Joshi 88a2309a26 Fix auto-complete. Fixes #3374 2018-06-13 15:53:21 +01:00
Khushboo Vashi d1ecba56b8 Function and procedure support for PG11. Fixes #3362 2018-06-13 15:03:17 +01:00
Joao De Almeida Pereira e5048b4d0b Disable ACLs for the database objects for the Greenplum due to
performance issue.

Reviewed By: Ashesh
Fixes #3415
2018-06-12 10:07:23 +05:30
Murtuza Zabuawala e2b0cf6727 Fix labels and popups on EXPLAIN plan that were broken by the jQuery 3 update. Fixes #3404 2018-06-11 17:03:21 +01:00
Victoria Henry 226c872a84 Avoid an exception on GreenPlum when retrieving RE-SQL on a table. Fixes #3409 2018-06-11 16:56:39 +01:00
Anthony DeBarros a6ee27cf25 s/shutdown/shut down/ 2018-06-08 08:45:02 +01:00
Akshay Joshi 419f9069ae Move the notifications tab between messages and history as it seems more natural there. 2018-06-06 09:23:33 +01:00
Joao De Almeida Pereira 7dd6372eeb Extract the tests and refactor some of the methods.
Extract some of the ACI Tree functionalities, and decouple it from the
main source. Also - create some abstractions from the repeated code
around the enable/disable the schema children object create/edit/delete
functionalities, and also created the dialog wrappers for backup and
restore dialogs.

Reviewed by: Khushboo and Ashesh
Refactored by: Ashesh
2018-06-05 16:42:59 +05:30
Aditya Toshniwal 920934759f Handle a potential error case in the connection status monitoring.
When you disconnect the server with an open sqleditor tab, exception
 occurs at the back end. Also, after connecting server, the sqleditor
 is not able to connect back because of the exception.
2018-06-05 11:57:56 +01:00
Aditya Toshniwal 20ea8a69f5 Fix constraint on servers table in SQLite to allow ports < 1024. Fixes #3307 2018-06-05 10:47:03 +01:00
Dave Page 2860e82c63 Fix Gunicorn binding for IPv4. 2018-05-31 10:57:09 -04:00
Dave Page 6719ff141b Correct package name 2018-05-31 10:49:30 -04:00
Dave Page 4372dd051e Include libffi-devel in the Docker build. 2018-05-31 10:48:32 -04:00
Dave Page 98f84e5f34 Ignore the ycache directory when linting. 2018-05-31 10:34:29 -04:00
Dave Page 985e089c23 Update the release notes. 2018-05-31 10:29:47 -04:00
Dave Page eec9714191 Bind the container server to ipv6 as well as ipv4 ports. Fixes #3392 2018-05-31 10:27:23 -04:00
Murtuza Zabuawala f877de6a1f Fix an issue where a change to any field in server dialog causes the 'tunnel_identity_file' model value to get included unnecessarily in the update request. Fixes #3389 2018-05-31 10:10:43 -04:00
Akshay Joshi 5f0799714d Cleanup Python 3 server startup code. Fixes #3277 2018-05-31 10:07:08 -04:00
Dave Page bc63b278be Remove bug 3357 from the release notes. As it was a fix to a feature that will be in the next release, users will never have seen the bug so we shouldn't list it in the notes. 2018-05-31 07:10:56 -04:00
Akshay Joshi 55232b0944 Fixed ordering of changes in release note and added one missing entry. 2018-05-31 14:51:58 +05:30
Ashesh Vashi 86712b1bd2 Add support for source maps in the karma test framework to aid debugging. 2018-05-30 22:09:00 -04:00
Akshay Joshi 38ee39ae7a Add support for LISTEN/NOTIFY in the query tool. Fixes #3204 2018-05-30 21:58:28 -04:00
Akshay Joshi 2b4605a9d3 Ensure backup/restore/maintenance work via SSH tunnels. Fixes #3355 2018-05-30 21:25:42 -04:00
Dave Page b00931407e Fix failed yarn changes 2018-05-30 16:53:03 -04:00
Dave Page bea176a646 Fix failed yarn changes 2018-05-30 16:52:54 -04:00
Dave Page 6a28b9ff26 Revert failed Yarn changes. 2018-05-30 16:52:37 -04:00
Dave Page 8bda4e0230 Remove duplicate options 2018-05-30 16:48:23 -04:00
Dave Page 189e307671 Fix syntax 2018-05-30 16:42:09 -04:00
Dave Page b2d4c6ef9d Disable emojis in Yarn output. 2018-05-30 16:34:47 -04:00
Akshay Joshi 17977d5d0e Fix dropping of databases over SSH tunneled connections. Fixes #3357 2018-05-28 17:37:24 -04:00
Akshay Joshi 08990cb1de Handle errors properly if they occur when renaming a database. Fixes #3353 2018-05-28 17:35:33 -04:00
Aditya Toshniwal 9f13865777 Update jQuery to 3.3.1. Fixes #3271
Patch by Aditya, with test enhancements from Anthony and Joao at Pivotal.
2018-05-25 16:26:37 +01:00
Dave Page 61d8072a8c Batch, not bash!! Correct the syntax. 2018-05-23 13:09:40 +01:00
Dave Page fa07400fdd Hack to compile PyCrypto with VC++ 2018-05-23 13:04:58 +01:00
Dave Page dab5d94b7c Fix PyCrypto if using Python 3. 2018-05-23 10:00:46 +01:00
Dave Page 2c6938491e Add missing . 2018-05-23 08:48:26 +01:00
Dave Page fa57c02d0e Add some more missing CALL statements 2018-05-22 16:35:55 +01:00
Dave Page 83bee60fa4 CALL all external programs, or labels cannot be found. 2018-05-22 16:16:30 +01:00
Dave Page 81a5e1ffd3 Minor fixes 2018-05-22 15:41:10 +01:00
Dave Page 0b5912b09c Handle dependencies that may or may not be present. 2018-05-22 14:40:44 +01:00
Dave Page 5780719035 There's no need to activate/deactivate/activate the venv. 2018-05-22 14:01:13 +01:00
Dave Page f0f530e824 Returning %ERRORLEVEL% is proving unreliable. Just return 1 instead if there's an error. 2018-05-22 13:39:03 +01:00
Dave Page 0bf89f3dc0 Need to CALL Yarn. 2018-05-21 15:34:08 +01:00
Dave Page d5e48ecdc2 Further windows make script cleanup. 2018-05-21 15:06:14 +01:00
Dave Page 066a59d89c Don't barf on nested parentheses as we may find on 64 bit systems. 2018-05-21 12:54:19 +01:00
Dave Page e1a3caa780 Major cleanup of the Windows installer build script. 2018-05-18 13:27:57 +01:00
Aditya Toshniwal 6492dacbb2 Ensure the debugger container has focus when loaded. Fixes #3295 - this time on Firefox too! 2018-05-18 11:33:42 +01:00
Aditya Toshniwal a4ed9d6976 Allow connections to servers with port numbers < 1024 which may be seen in container environments. Fixes #3307 2018-05-18 11:12:38 +01:00
Akshay Joshi 28126a0a0d Fixed pep8 issue for last commit. 2018-05-18 11:30:40 +05:30
Akshay Joshi fb0c322ccf Correct the logic to set the SUPPORT_SSH_TUNNEL flag, if the flag is set the False in local config file, then we should not override it. 2018-05-18 11:26:11 +05:30
Akshay Joshi 719938a14c Fixed issue where 'Identity file' control of SSH Tunnel tab is enabled when database is connected and 'Use SSH tunneling' flag is set to No. 2018-05-17 17:18:00 +05:30
Anthony Emengo a7ee85619d Using the '.eslintignore' config file for excluding the temporary,
vendor specific, and templates files, instead of writing our own logic
to do so.

Patch by: Anthony & Joao
Reviewed by: Khushboo
2018-05-17 11:34:04 +05:30
Dave Page bd356ff9fa Fix a couple of find/replace errors. 2018-05-16 16:35:23 +01:00
Dave Page 765e0d03be Further cleanup of the environment setup 2018-05-16 16:31:41 +01:00
Dave Page 76749efb12 Further cleanup of the environment setup 2018-05-16 16:26:00 +01:00
Dave Page 9f8f1e8972 Rough cleanup of the environment setup 2018-05-16 16:15:44 +01:00
Dave Page 6d33542b24 PGDIR isn't needed in the path and we shouldn't have random Mingw paths hard-coded. 2018-05-16 14:39:58 +01:00
Dave Page ae03b7c226 PYTHON_VERSION is set automatically. Use it to conditionally fix the backports module. 2018-05-16 14:28:15 +01:00
Dave Page 246c434b61 No need to define PGADMIN4_USE_WEBKIT any more. 2018-05-16 13:33:53 +01:00
Dave Page 4496a97a97 Assume Yarn and Node are always in the path 2018-05-16 11:58:57 +01:00
Dave Page 7a1d9c750a Use VCINSTALLDIR instead of VCDIR, as that is set by Visual Studio 2018-05-16 11:56:30 +01:00
Akshay Joshi ccf58570b1 Support running feature tests against Firefox. Fixes #3270 2018-05-15 15:10:11 +01:00
Dave Page 8d9e9eab13 Allow "make" to be overridden in the environment. 2018-05-14 17:08:40 +01:00
Dave Page fe81ae3285 Correct error message 2018-05-14 16:16:18 +01:00
Anthony Emengo ab27b9d118 Fix template handling in tests for Windows. 2018-05-14 15:47:38 +01:00
Joao De Almeida Pereira bc4d16eb83 Initial version of the new tree implementation.
This is the first version of our Tree implementation. At this point is a
very simple tree without no abstractions and with code that eventually
is not very performant, but this is only the first iteration and we are
trying to follow the 'Last Responsible Moment Principle' [1].

Implemention details:
- Creation of PGBrowser.treeMenu
- Initial version of the Tree Adaptor 'pgadmin/static/js/tree/tree.js'
- TreeFake test double that can replace the Tree for testing purposes
- Tests, As an interesting asside because Fake’s need to behave like
  the real object you will noticed that there are tests for this type
  of double and they the same as of the real object.

[1] https://medium.com/@aidanjcasey/guiding-principles-for-an-evolutionary-software-architecture-b6dc2cb24680

Patched by: Victoria && Joao
Reviewed by: Khushboo & Ashesh
2018-05-14 18:00:23 +05:30
Aditya Toshniwal a34b3f27d4 Fix webpack config regexps to be more Windows-friendly. 2018-05-11 10:23:37 +01:00
Akshay Joshi 252a9b265b Ensure server cleanup on exit only happens if the server actually started up. Fixes #3277 2018-05-11 09:33:09 +01:00
Murtuza Zabuawala e17b62c055 Using the latest version (v2.3.0) of jquery.event.drop. 2018-05-10 13:26:10 +05:30
Ashesh Vashi ccdc1a6c74 Revert back to jquery version 1.12.4 until we fix the jasmine testsuite, which is failing with jQuery (v3.0+) 2018-05-10 13:24:42 +05:30
Murtuza Zabuawala a02a4eb51a Using the latest version (v2.3.0) of jquery.event.drag to fix the
jasmine testsuite.
2018-05-10 12:24:54 +05:30
Joao De Almeida Pereira b8f49daeb8 Change the order of the shims in the shims file.
Patch by: Victoria && Joao
Reviweb by: Khushboo
2018-05-10 12:06:43 +05:30
Ashesh Vashi b8d0db7e7a Using the 'webcabin-docker' from new repository, which contains fixed
for supporting jQuery 3.0+.

Also - updated the jquery version to '^3.0'.
2018-05-10 12:02:33 +05:30
Dave Page 26ae8318f2 Release notes update. 2018-05-09 14:28:15 +01:00
Khushboo Vashi ba23ba9b8b Ensure the debugger container has focus when loaded. Fixes #3295 2018-05-09 14:26:50 +01:00
Dave Page 0ffd3d0451 Update release notes 2018-05-09 14:06:17 +01:00
Murtuza Zabuawala a68dac97c4 Set SESSION_COOKIE_SAMESITE='Lax' per Flask recommendation to prevents sending cookies with CSRF-prone requests from external sites, such as submitting a form. Fixes #3342 2018-05-09 14:04:50 +01:00
Aditya Toshniwal 5b86a67a41 Fixed query tool keyboard issue where arrow keys were not behaving as expected for execute options dropdown. Fixes #3298 2018-05-09 13:05:22 +05:30
Dave Page 5960644bae Fix ordering of changes in release notes. 2018-05-08 11:04:53 +01:00
Akshay Joshi 39ea7c2916 Updated release note for 3.1 2018-05-08 14:38:51 +05:30
Dave Page c68848e7f3 Ensure the runtime core application is setup before trying to access any settings. Fixes #3333 2018-05-08 09:54:33 +01:00
Khushboo Vashi 3ac3e73daf Fixed layout of the alertify error message in the query tool. Fixes #3310 2018-05-07 16:04:47 +05:30
Khushboo Vashi 567f764234 Backup, Maintenance and Restore should not be started if database name contains "=" symbol. Fixes #1220 #1221 2018-05-07 15:09:12 +05:30
Dave Page 8937375885 Standardise the error handling for parsing of JSON response messages from the server. Fixes #3238 2018-05-04 16:56:15 +01:00
Dave Page 4f79f00d61 One day I'll remember to update the version everywhere... 2018-05-04 14:13:57 +01:00
Dave Page 554a199fd2 Bump version to avoid confusion 2018-05-04 13:52:24 +01:00
Akshay Joshi b7fb01ab04 Add support for SSH tunneled connections. Fixes #1447 2018-05-04 11:27:27 +01:00
Murtuza Zabuawala 455c45ea85 Update chromedriver version to support Chrome 66. 2018-05-04 10:20:14 +01:00
Anthony Emengo 3ff56b2d49 Scroll cells into the viewport if needed during the CheckForViewData feature test. 2018-05-04 10:15:02 +01:00
Anthony Emengo 56658a9f8e Fix the template loader to work reliably under Windows (fixing external tables under Greenplum). Fixes #3324 2018-05-03 15:54:15 +01:00
Dave Page 59d8f6fb84 Allow feature tests to run in Chrome headless mode. 2018-05-02 16:51:17 +01:00
Dave Page f0b6fb0e5d Python 3 fixes 2018-05-02 12:05:17 +01:00
Khushboo Vashi 732d8d903d F5 key should work to refresh Browser tree. Fixes #3284
Refactoring by:  Joao Pedro De Almeida Pereira
2018-05-02 11:43:42 +05:30
Dave Page c2122fbfb9 Fix mis-edit. 2018-04-30 17:15:44 +01:00
Dave Page ae1b2149a1 HAve the clean target zap any generated JS or CSS. Fixes #3134 2018-04-30 16:13:51 +01:00
Ashesh Vashi c94439bf8e Fixed the issues for all the javascript files reported by the liner. 2018-04-30 17:51:57 +05:30
Joao De Almeida Pereira 31e73f4096 Ensure the JS-linter is running on all the tests files. 2018-04-30 17:50:51 +05:30
Dave Page 92ba055d66 Fix compiler warning. 2018-04-27 13:27:37 +01:00
Joao Pedro De Almeida Pereira 201f6d359f Cleanup some old code that was failing CI. 2018-04-26 16:21:46 +01:00
Joao De Almeida Pereira 966279c1b3 Fixed issue where icon for Partitioned tables was the same as Non Partitioned tables for GreenPlum database. Fixes #3308 2018-04-26 17:05:56 +05:30
Joao De Almeida Pereira 2ace6a60f3 Fixed display SQL of table with index for GreenPlum database. Fixes #3306 2018-04-25 12:36:41 +05:30
Ashesh Vashi b653b742ed Close button added to the alertify message box, which pops up in case of backend error. Fixes #3290 2018-04-24 18:57:31 +05:30
Dave Page eb35629712 Another attempt at making the JA translation work properly. Gettext really doesn't seem to like percentage signs. Fixes #3303 2018-04-20 09:46:50 +01:00
Taiki Terauchi 51cc7c1e33 Fix an error in the Japanese translation that caused a startup failure. Fixes #3303 2018-04-20 09:12:03 +01:00
Dave Page 3ecfabfde5 Fix python wheel dependencies. 2018-04-19 17:08:06 +01:00
Dave Page 71620dc26e This time, properly fix Alertify version requirement which inadvertently got bumped. 2018-04-18 09:23:16 +01:00
Dave Page dea7491df6 Fix Alertify version requirement which inadvertently got bumped. 2018-04-18 09:09:28 +01:00
Dave Page 8f90b801bd Fix typo 2018-04-17 09:15:17 +01:00
Dave Page bb49d69293 Add required HTMLmin version - the Flask-htmlmin package doesn't seem to pull in the right version. 2018-04-17 08:58:47 +01:00
Identifier Anonymous 0493b86d4d Update Japanese translation. 2018-04-16 15:38:39 +01:00
Aditya Toshniwal d5fdd32971 Fix an error generating SQL for trigger functions. Fixes #3179 2018-04-12 14:10:35 +01:00
Murtuza Zabuawala c08adb5567 Catch errors when trying to EXPLAIN an invalid query. Fixes #3257 2018-04-12 10:50:57 +01:00
Murtuza Zabuawala 79edf40141 Fix password encryption/decryption on Python 3. 2018-04-11 13:45:59 +01:00
Akshay Joshi 8232f26882 Avoid a crash in the runtime if there are spaces in the users username. Fixes #3227 2018-04-11 13:34:21 +01:00
Rahul Soshte e467ffcfe4 Add a couple of files for git to ignore. 2018-04-11 09:58:44 +01:00
Dave Page 163cadc279 Revert "Fix non-ASCII password decryption/encryption under Python 3"
This reverts commit d0a640442c.

Seems to anger Python 2.7
2018-04-10 17:12:14 +01:00
Murtuza Zabuawala d0a640442c Fix non-ASCII password decryption/encryption under Python 3 2018-04-10 16:50:43 +01:00
Dave Page be2ac25fed Cleanup node modules when cleaning 2018-04-10 11:15:57 +01:00
Murtuza Zabuawala f5e474e4ec Ensure the query tool will open properly under MS Edge. 2018-04-10 11:09:59 +01:00
Dave Page 97cf58fdc8 Only avoid pre-built binaries for psycopg2 when building the Mac package, as some others (e.g. pbr) don't like being forced to source builds at the moment. 2018-04-10 09:29:40 +01:00
Dave Page 051fd645d7 Don't use pycryptodome at the moment, as it doesn't play well on Windows. 2018-04-10 09:27:59 +01:00
Dave Page 9464e04cf8 Ignore generated file 2018-04-09 16:31:29 +01:00
Dave Page 9b115c5e46 Message catalog update 2018-04-06 14:59:51 +01:00
Murtuza Zabuawala 78c3db6fc9 Update filter dialogue Javascript to use ES6. 2018-04-06 10:38:04 +01:00
Dave Page a97e4c76e4 Update developer docs to note that ES6 should be used and tests should be included. 2018-04-06 10:06:35 +01:00
Murtuza Zabuawala 8ec51412c3 Add a (configurable) limit to the number of pgAgent job history rows displayed on the statistics tab. Fixes #3072 2018-04-06 10:00:25 +01:00
Murtuza Zabuawala fa1854bd85 Allow sorting when viewing/editing data. Fixes #1894 2018-04-05 16:25:17 +01:00
Neel Patel 659390493d Ensure Alertify dialogues are modal to prevent them being closed by mis-click. Fixes #3248 2018-04-05 11:28:18 +01:00
Максим Кольцов 05e2e3cb39 Update container build to use Alpine Linux and Gunicorn instead of CentOS and Apache. Fixes #3246
This results in a much more slim-line container, requiring fewer resources to run.
In addition, the majority of the build is now done using the Docker infrastructure, allowing for quicker rebuilds and better use of layers.
2018-04-04 16:18:17 +01:00
Dave Page 1617d003cd Cleanup some duplication in the requirements. 2018-04-04 14:17:47 +01:00
Murtuza Zabuawala a95775ae49 Another attempt to fix the Python 2.6 deps. 2018-04-04 13:42:38 +01:00
Dave Page 33890da57e Typo fix. 2018-04-04 13:16:19 +01:00
Murtuza Zabuawala c0cfc9f29b SQLAlchemy stopped supporting Python 2.6. 2018-04-04 12:59:05 +01:00
Murtuza Zabuawala b7c86da586 Fix requirements for Python 2.6. 2018-04-04 12:26:44 +01:00
Murtuza Zabuawala a705fb46a8 Refactor and simplify query tool connection error handling code. Fixes #3235 2018-04-04 11:20:36 +01:00
Murtuza Zabuawala be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Khushboo Vashi fc886cf8bb Update screenshot. 2018-04-04 10:05:07 +01:00
Khushboo Vashi 7805170783 Add the ability to enable/disable UI animations. Fixes #1978 2018-04-03 14:52:13 +01:00
Joao Pedro De Almeida Pereira 94e1e46201 Show more granular timing info in the query tool history panel. Fixes #3244 2018-04-03 14:11:11 +01:00
Akshay Joshi 61eb94a23c Fix index node display on PG 10. Fixes #3180 2018-03-29 15:09:29 +02:00
Akshay Joshi 1baddd5e9a Decode the severity field in database exception objects properly. Fixes #3090 2018-03-26 13:59:49 +01:00
Khushboo Vashi 413709fc78 Simplify cookie domain/path settings, per discussion. Instead of trying to be smart, just let the user specify them in the config, e.g.
COOKIE_DEFAULT_DOMAIN = None
SESSION_COOKIE_DOMAIN = None
2018-03-23 10:14:02 +00:00
Aditya Toshniwal 1f84285d99 Move the field error indicators in front of the affected fields so they don't obscure spinners or drop downs etc. Fixes #3226 2018-03-23 09:57:37 +00:00
Dave Page d5ebf6777a Fix target dependency per Rahul Soshte. 2018-03-22 13:47:26 +00:00
Rahul Soshte 6d7f795260 Enable building of the runtime from the top level Makefile. Fixes #1305 2018-03-22 11:19:42 +00:00
Dave Page 60c44e8f79 Fix issue seen with older versions of GCC. 2018-03-21 14:49:39 +00:00
Dave Page 80b29a85cc Secure runtime temp files. 2018-03-21 11:27:59 +00:00
Dave Page 6668d5eb93 Bump version for release. 2018-03-21 10:48:52 +00:00
Akshay Joshi 637f3b9d1a Fix a number of broken connection detection scenarios. 2018-03-21 08:38:18 +00:00
Karen Blatchley d358369ed5 Add some missing items to the release notes. 2018-03-20 14:46:49 +00:00
Dave Page c8b456d464 PEP8 fixes 2018-03-20 14:02:56 +00:00
Khushboo Vashi 4942c938ac Fix an error on exit caused by the cookie path patch. 2018-03-20 13:55:06 +00:00
Karen Blatchley 3bd9bdad61 3.0 release notes 2018-03-20 13:48:37 +00:00
Joao Pedro De Almeida Pereira 35b0ab2fe1 Update Karma to 2.0 with plugins. Fixes #3222 2018-03-20 09:31:38 +00:00
Khushboo Vashi 534f1f35fe Appropriately set the cookie path. Fixes #3197 2018-03-19 17:09:19 +00:00
Murtuza Zabuawala 2abff8f5d4 Use a common function for sever setup in the testsuite. 2018-03-19 13:23:29 +00:00
Murtuza Zabuawala 34f1ebc88e Ensure the host parameter is correctly pickup up from the service file. Fixes #3200 2018-03-19 12:38:44 +00:00
Fred Escallier 60893bcdd1 French translation update. 2018-03-19 11:22:47 +00:00
Murtuza Zabuawala c312b03f6f Pass the service name to external processes. Fixes #3195 2018-03-19 11:01:04 +00:00
Murtuza Zabuawala 9ea118ca57 Ensure the file manager properly escapes file & directory names. Fixes #3196 2018-03-19 10:58:12 +00:00
Murtuza Zabuawala 48319d56df Update required ChromeDriver version for current versions of Chrome. Fixes #3219
This requires an update to build/test envs:

pip uninstall chromedriver_installer
pip install -r regression/requirements.txt
2018-03-19 10:05:41 +00:00
Dave Page 93d44d5643 Revert "Ensure the cookie domain and path are properly set. Fixes #3197"
This reverts commit 9c4edb4a28.

Jenkins really doesn't like this.
2018-03-15 14:54:14 -04:00
Khushboo Vashi 9c4edb4a28 Ensure the cookie domain and path are properly set. Fixes #3197 2018-03-15 13:59:29 -04:00
Khushboo Vashi 63ba3402e8 Ensure SSL options are pushed down to external tools like pg_dump. Fixes #3122 2018-03-15 07:35:47 -04:00
Dave Page 53ae960aeb Ignore config_local.py and config_distro.py when running PEP-8 checks. 2018-03-15 07:10:01 -04:00
Dave Page 010ee626bc Update message catalogs. Current status:
1469 of 1956 messages (75%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1842 of 1956 messages (94%) translated in pgadmin/translations/fr/LC_MESSAGES/messages.po
1679 of 1956 messages (85%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1812 of 1956 messages (92%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1814 of 1956 messages (92%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1424 of 1956 messages (72%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2018-03-15 07:01:34 -04:00
Fred Escallier 6c59563afa Add a French translation. Fixes #3184 2018-03-15 06:58:39 -04:00
Dave Page 1e303dafdd Exit CI run if the PEP-8 checks fail. 2018-03-15 06:53:34 -04:00
Murtuza Zabuawala faf243db71 Fixed PEP8 issue 2018-03-15 16:13:11 +05:30
Maxim Zakharov 54b1a79cb6 Sporadically crashes on Windows when exit. Fixes #3177
1) Shutdown the python server properly.
  2) Disabled "Shutdown server" menu till server is not successfully started.

Initial patch sent by Maxim, modified by Akshay Joshi.
2018-03-15 13:26:24 +05:30
Joao Pedro De Almeida Pereira 3c4359270e Fix trim function which was causing some JS errors during Server Properties validation. Victoria & Joao 2018-03-14 17:58:01 -04:00
Dave Page 3c686d3fbe PEP-8 fixes 2018-03-13 17:30:07 -04:00
Khushboo Vashi 802269910c Fix unicode handling in the external process tools and show the complete command in the process viewer. Fixes #2963. Fixes #3157. 2018-03-13 16:45:20 -04:00
Joao Pedro De Almeida Pereira 876ce1799a Skip tests where appropriate on GPDB. Fixes #3190
Victoria & Joao @ Pivotal.
2018-03-13 15:32:35 -04:00
Victoria Henry 6b03cb78af Refactor server dialogue validation for better unit testing.
Victoria & Joao @ Pivotal.
2018-03-13 14:47:32 -04:00
Dave Page 156b308fd3 Fix template paths for Windows. Fixes #3139
Joint work from Joao and Murtuza.
2018-03-13 12:45:14 -04:00
Dave Page 9365ab62fe Revert "Fix template path generation for Windows. Fixes #3139"
This reverts commit 695d4e648c.

It's borked!
2018-03-13 08:49:34 -04:00
Murtuza Zabuawala 695d4e648c Fix template path generation for Windows. Fixes #3139 2018-03-13 07:55:37 -04:00
Murtuza Zabuawala 03b772bf64 Add support for connecting using pg_service.conf files. Fixes #3140 2018-03-12 16:45:56 -04:00
Murtuza Zabuawala 985a004766 Fix SQL generated when dropping NOT NULL from a "char" column. Fixes #2989 2018-03-09 15:23:49 +00:00
Joao Pedro De Almeida Pereira 83477224cb Use test methods with @patch rather than directly. 2018-03-09 13:25:35 +00:00
Khushboo Vashi 0283f68d7f Minor formatting fix 2018-03-08 11:07:05 +00:00
Khushboo Vashi 7796a47b12 Fix test case for Python 2. 2018-03-08 10:21:24 +00:00
Dave Page e577859ed2 Always run PEP-8 checks! 2018-03-08 09:34:06 +00:00
Joao Pedro De Almeida Pereira 3a6994f719 Final PEP-8 fixes 2018-03-08 09:33:43 +00:00
Khushboo Vashi f86c313c18 More hardening of the query tool tests. 2018-03-08 09:12:48 +00:00
Khushboo Vashi 1136e37cf0 Make the poll query test a little more robust. 2018-03-07 16:48:32 +00:00
Murtuza Zabuawala abf0b1a7ae Allow admins to disable the use of Gravatar if they choose. Fixes #3037 2018-03-07 16:35:33 +00:00
Khushboo Vashi ae5c13188d Insert rows correctly when a table has OIDs and a Primary Key in uppercase. Fixes #3135 2018-03-07 16:06:23 +00:00
Joao Pedro De Almeida Pereira e7316e2181 Update Jasmine to v3. Fixes #3182 2018-03-07 16:01:04 +00:00
Khushboo Vashi d3c303e455 Ensure all messages are retrieved from the server in the Query Tool. Fixes #3094 2018-03-07 13:38:27 +00:00
Joao Pedro De Almeida Pereira d1ab47c10c Disable function statistics on Greenplum. Fixes #3176 2018-03-07 11:52:02 +00:00
Murtuza Zabuawala 06ff05762e PEP8 fixes. Fixes #3175 2018-03-07 11:47:01 +00:00
Joao Pedro De Almeida Pereira 427314cfdf Support for external tables in GPDB. Fixes #3168 2018-03-02 16:49:25 +00:00
Murtuza Zabuawala 92a0bb605d Ensure we can edit grid values in the debugger using keyboard shortcuts. Fixes #3153 2018-03-02 15:05:04 +00:00
Murtuza Zabuawala efcf87636d Fix typo/thinko in access key definition. 2018-03-02 14:49:06 +00:00
Khushboo Vashi 905cdafe90 PEP8 changes for the FDW modules. 2018-03-02 14:46:13 +00:00
Neethu Mariya Joy 0c48b79ce7 Allow copying of SQL from the dashboard tables. Fixes #3137 2018-03-02 14:39:12 +00:00
Neethu Mariya Joy 7471dea458 Allow text selection/copying from disabled CodeMirror instances. Fixes #2309 2018-03-02 13:46:06 +00:00
Dave Page 4d072ff781 Undo previous thinko - there's already a check-pep8 target. D'oh. 2018-03-02 13:43:42 +00:00
Murtuza Zabuawala da7f088508 Handle opening of non-UTF8 compatible files. Fixes #3129 2018-03-02 13:36:50 +00:00
Dave Page 803eadd5a1 Stupid Makefile syntax 2018-03-02 12:35:12 +00:00
Dave Page 31f50634c7 Add a makefile target for running PEP8 checks. 2018-03-02 12:01:55 +00:00
Murtuza Zabuawala 8964e511bf PEP8 fixes for the Casts, Event triggers, Extensions and Languages modules. Fixes #3161 2018-03-02 11:59:11 +00:00
Harshal Dhumal 7cdb489a47 Fix handling of tie/datetime array types when adding columns to a table. Fixes #3079 2018-03-02 11:51:53 +00:00
Murtuza Zabuawala 78e2ff4f56 Ensure the pgAgent job start/end time grid fields synchronise with the subnode control and validate correctly. Fixes #3073 2018-03-02 11:11:26 +00:00
Khushboo Vashi a4124c2496 PEP8 fixes. 2018-03-02 09:37:11 +00:00
Murtuza Zabuawala cca6504d54 PEP8 fixes. Fixes #3156 2018-02-27 15:38:50 +00:00
Murtuza Zabuawala f5afd5fdb4 Fix block indent/outdent with configurable width. Fixes #3002 2018-02-27 15:20:30 +00:00
Murtuza Zabuawala a9de043fef Add keyboard shortcuts for the Query Tool. Fixes #2900 2018-02-27 14:32:03 +00:00
Harshal Dhumal 055f7abc9e PEP8 fixes for the server and server group modules. 2018-02-27 11:22:14 +00:00
Harshal Dhumal aa1849c13a Support tab navigation in dialogs. Fixes #2898 2018-02-27 11:18:36 +00:00
Joao Pedro De Almeida Pereira 3be22383b8 Fix function reserve SQL for GPDB. Fixes #3150 2018-02-27 11:05:15 +00:00
Dave Page 7dbfd23797 Case sensitive paths are confusing git... 2018-02-27 11:04:34 +00:00
Murtuza Zabuawala 6753cd7334 PEP8 fixes for the pgAgent and Tables nodes (and subnodes). Fixes #3148 2018-02-26 19:24:17 +00:00
Dave Page bcdb8eb275 Revert "Ensure we pick up the messages from the current query and not a previous one. Fixes #3094"
This reverts commit 08b3ccc01a.
It was found that this fix inadvertently re-introduces #1523
2018-02-26 16:32:53 +00:00
Harshal Dhumal 43d3e0ca64 PEP8 fixes. 2018-02-26 15:58:48 +00:00
Chethana Kumar 51811a451d Update dashboard display options screenshots. 2018-02-26 15:50:39 +00:00
Khushboo Vashi 08b3ccc01a Ensure we pick up the messages from the current query and not a previous one. Fixes #3094 2018-02-26 14:19:43 +00:00
Murtuza Zabuawala fa9aebadbd PEP8 fixes. 2018-02-26 13:54:58 +00:00
Joao Pedro De Almeida Pereira 5ebd9ee8d3 Fix table statistics for Greenplum. Fixes #3059 2018-02-26 09:38:00 +00:00
Murtuza Zabuawala 801a2084e9 Allow dashboard tables and charts to be enabled/disabled. Fixes #2951 2018-02-26 09:20:04 +00:00
Murtuza Zabuawala 54dd6aae83 Add a test for sequence validation. 2018-02-23 12:02:57 +00:00
Joao Pedro De Almeida Pereira 2332630af8 PEP8 fixes for the tools module. 2018-02-23 11:57:44 +00:00
Khushboo Vashi 5a49fbd11f Don't use the webpack cache with production builds. 2018-02-22 17:30:14 +00:00
Murtuza Zabuawala 55875f0cfa PEP8 cleanups for the sequences module. 2018-02-21 17:37:34 +00:00
Murtuza Zabuawala 51cc04b5b0 Fix tablespace tests for Python 3.x. Fixes #3138 2018-02-21 17:34:18 +00:00
Murtuza Zabuawala f8771d5585 Fix validation of sequence parameters. Fixes #3014 2018-02-21 17:32:04 +00:00
Khushboo Vashi b49d625c2d Don't depend on standards_conforming_strings being enabled. Fixes #3077 2018-02-21 17:18:00 +00:00
Joao Pedro De Almeida Pereira ba70634e5f Hide tablespace node on GPDB. Fixes #3107 2018-02-20 17:40:56 +00:00
Joao Pedro De Almeida Pereira bcb6f37d6f Clarify which shortcut is being tested in the shortcut test. 2018-02-20 17:32:37 +00:00
Harshal Dhumal 05e91044c7 Fix intermittent specified_version_number ValueError issue on restart. Fixes #2983
Now we try to restore server details like server version number at restart so template paths can be resolved.
2018-02-20 17:31:13 +00:00
Harshal Dhumal c91a597df9 Fix alignment issues in keyboard shortcut options. Fixes #3080 2018-02-20 16:49:59 +00:00
Khushboo Vashi 9a498c2877 Ensure column names on indexes on views are properly quoted in RE-SQL. Fixes #3066 2018-02-20 16:47:33 +00:00
Dave Page 3021060a32 Fix silly typo 2018-02-20 10:58:03 +00:00
Dave Page 8148a61279 Attempt to ensure the runtime is built with the correct Python version. 2018-02-20 10:44:01 +00:00
Dave Page 8a56eb9cd0 Fix stupid thinko 2018-02-19 17:06:01 +00:00
Dave Page df667bff53 Python 3 fix for the runtime. 2018-02-19 16:30:43 +00:00
Khushboo Vashi c85e14dc25 Add missing reverse-engineered SQL header and drop statement for sequences. Fixes #3081 2018-02-19 11:41:19 +00:00
Murtuza Zabuawala 96165044ae Ensure we can properly update rows with upper-case primary key columns. Fixes #3105 2018-02-19 11:37:31 +00:00
Murtuza Zabuawala 4dc9fb146a Add a marker (/*pga4dash*/) to the dashboard queries to allow them to be more easily filtered from server logs. Fixes #2950 2018-02-19 11:17:42 +00:00
Murtuza Zabuawala 7301e30ff3 Fix PEP8 issues in various modules. Fixes #3121 2018-02-19 11:12:35 +00:00
Murtuza Zabuawala 30868614ff Show button shortcut keys in the debugger on tooltips. 2018-02-19 11:05:34 +00:00
Joao Pedro De Almeida Pereira 0677ad254a Un-vendorise React, now that it contains bug fixes we need. 2018-02-19 10:53:54 +00:00
Joao Pedro De Almeida Pereira 15862e903a Fix creation of tables and columns in GPDB. Fixes #3099 2018-02-19 10:40:10 +00:00
Murtuza Zabuawala 1a958a3951 Fix Python 2.6 support. 2018-02-19 10:22:23 +00:00
Dave Page d5aeb8a691 Fix target name 2018-02-19 09:17:26 +00:00
Joao Pedro De Almeida Pereira 9c382e4d23 Fix tests for Python 3.x 2018-02-09 14:39:39 +00:00
Murtuza Zabuawala 6f25f4d175 Fix PEP-8 issues in feature_tests, dashboard, about and misc module's python code. Fixes #3082 2018-02-09 12:57:37 +00:00
Murtuza Zabuawala 942ac733a4 Configurable shortcuts in the Debugger. Fixes #2901 2018-02-09 12:43:27 +00:00
Khushboo Vashi 258b064963 Add configurable shortcut keys for various common options in the main window. Fixes #2899 2018-02-09 12:07:57 +00:00
Joao Pedro De Almeida Pereira e16a952753 Support EXPLAIN on Greenplum. Fixes #3097
- Extract SQLEditor.execute and SQLEditor._poll into their own files and add test around them
 - Extract SQLEditor backend functions that start executing query to their own files and add tests around it
 - Move the Explain SQL from the front-end and now pass the Explain plan parameters as a JSON object in the start query call.
 - Extract the compile_template_name into a function that can be used by the different places that try to select the version of the template and the server type
2018-02-09 11:54:42 +00:00
Joao Pedro De Almeida Pereira e60a84c44f Update JS packages:
Add package:
     is-docker to select a specific setting when running the Chrome tests in Docker

Upgrade the version of:
    - babel-loader
    - extract-text-webpack-plugin
    - jasmine-core
    - jasmine-enzyme
    - moment
2018-02-09 11:09:04 +00:00
Navnath Gadakh db92907fe9 Fix quoting of function names in RE-SQL. Fixes #3060 2018-02-09 10:15:41 +00:00
Dave Page 2706d9cd8e Bump the version to 3.0, per discussion on the mailing lists 2018-02-05 15:38:20 +00:00
Dave Page 7192a2b675 Rewrite the runtime as a tray-based server which can launch a web browser. Fixes #3086 2018-02-05 15:32:14 +00:00
Murtuza Zabuawala 25647c16ba Ensure we capture notices raised by queries. Fixes #3027 2018-02-02 15:23:33 +01:00
Dave Page 4d69764869 Don't quote variable values used by SET. It's usually going to be wrong. Fixes #3027 2018-02-02 14:58:29 +01:00
Khushboo Vashi 262d01bf01 Add keyboard navigation options for the main browser windows. Fixes #2895 2018-02-02 14:28:37 +01:00
Harshal Dhumal 2042f89ce0 Don't include sizes on primitive datatypes that shouldn't have them when modifying columns. Fixes #3052 2018-02-01 16:27:36 +01:00
Murtuza Zabuawala 6ad44cb51e Fix on-click handling of treeview nodes that wasn't refreshing SQL/Dependencies/Dependents in some circumstances. Fixes #3058 2018-02-01 14:44:12 +01:00
Harshal Dhumal e0da9c5a0c Significantly improve connection loss detection and handling in the query tool. Fixes #2815 2018-02-01 14:29:18 +01:00
Murtuza Zabuawala c3ddb7df38 PEP8 fixes for the utils module. Fixes #3076 2018-01-31 13:58:55 +00:00
Murtuza Zabuawala c6e405ce72 Prevent the filter dialog CodeMirror from overflowing onto the button bar of the dialog. Fixes #3067 2018-01-31 10:12:04 +00:00
Dave Page d8bd6ea885 Mask email addresses 2018-01-30 17:00:12 +00:00
Murtuza Zabuawala bc836aa374 Ensure the user can use keyboard shortcuts after using button controls such as Cancel, Open and Save. Fixes #3054 2018-01-29 13:43:35 +00:00
Murtuza Zabuawala 489349b4e9 Add tools for checking PEP8 compliance. Fixes #3063 2018-01-29 12:45:32 +00:00
Murtuza Zabuawala 393ce53d2d Fix PEP8 issues in the Tools module. Fixes #3063 2018-01-26 16:54:21 +00:00
Joao Pedro De Almeida Pereira de1c767e88 Update the regression tests to fix issues with Python 3.5 and PG 9.2. Fixes #3057 2018-01-26 16:45:09 +00:00
Murtuza Zabuawala abcb8c36a3 Fix connection status indicator on IE/FF. Fixes #3046 2018-01-25 13:30:13 +00:00
Harshal Dhumal 66341e6947 Add infrastructure for managing configurable keyboard shortcuts. 2018-01-25 12:49:06 +00:00
Joao Pedro De Almeida Pereira 7c985695b7 Correct display of RE-SQL for partitioned tables in Greenplum. Fixes #3050 2018-01-25 12:37:17 +00:00
Murtuza Zabuawala 97760d65c2 Add keyboard navigation in Query tool module via Tab/Shift-Tab key. Fixes #2896
Note:
1) Once the keyboard shortcut infrastructure is ready we will add generic shortcut to focus out from CodeMirror editor and set foucs to next element, Right now there is no way of doing this, For testing purpose you can manually focus out from CodeMirror and click on data output panel to continue navigate using Tab key.
2) As of now inner panel's are not getting focused on Tab/Shift-Tab keys but once RM#2895 patch gets committed it will start working automatically as it's inherited code which will add tabindex tag automatically on each newly created wcDocker panel.
2018-01-25 12:27:13 +00:00
Chethana Kumar 5cea5f8485 Update scan and index scan EXPLAIN icons for greater clarity. Fixes #3021 2018-01-24 15:39:59 +00:00
Murtuza Zabuawala 0e41b3364b Support keyboard navigation in the debugger. Fixes #2897
In passing, fix injection of variable values. Fixes #2981
2018-01-23 11:58:10 +00:00
Joao Pedro De Almeida Pereira 65337daeba Display functions in Greenplum. Fixes #3044 2018-01-23 11:10:46 +00:00
Joao Pedro De Almeida Pereira 678699c408 Display partitions in Greenplum. Fixes #3036 2018-01-23 10:41:36 +00:00
Khushboo Vashi 8df006343b Fix feature tests following button tooltip changes. 2018-01-23 10:01:20 +00:00
Dave Page 0ec74dfa89 Modern versions of yarn don't require -- to forward options. 2018-01-22 11:29:07 +00:00
Dave Page 2b1c887945 Add missing comma to appease the linter 2018-01-22 11:28:04 +00:00
Dave Page 51cda98911 Revert "Update ESLint requirement to support --fix-dry-run"
This reverts commit 0ee9f09bbd.
2018-01-22 11:05:42 +00:00
Joao Pedro De Almeida Pereira 284adbbb90 Correctly display SQL of multiple objects on the SQL tab in GPDB. 2018-01-22 11:04:49 +00:00
Khushboo Vashi ca80cfa04a Ensure clickable images/buttons have appropriate tooltips for screen readers. Fixes #2904 2018-01-22 10:37:56 +00:00
Surinder Kumar 0ee9f09bbd Update ESLint requirement to support --fix-dry-run 2018-01-22 10:35:11 +00:00
Ashesh Vashi 404f1cc8ef Fixing the javascript file after running pga_eslint.js script 2018-01-17 13:24:25 +05:30
Ashesh Vashi 4d8b7556f8 Introducing custom linter script for javascript files.
Also, changed the 'linter' yarn-command to use this script.

This script will run the 'eslint' against all the static javascripts,
found under pgadmin and regression directories of source (excepts
'vendor', 'generated'). It also allows to run the 'eslint' against
specific javascript file[s].

In order to run eslint on all static javascript files, run the following command:
  yarn run linter
  node pga_eslint

In order to run eslint on specific files, run the following command:
  yarn run linter --file <filename> [<filename>]
  node pga_script --file <filename> [<filename>]

In order to provide eslint specific commands, run the following command:
  yarn run linter [--file <filename> [<filename>]] --eslint-options
  node pga_script [--file <filename> [<filename>]] --eslint-options

  i.e.
    yarn run linter --fix
    yarn run linter --debug
    node pga_eslint --fix --debug pgadmin/static/js/pgadmin.js
2018-01-17 13:15:38 +05:30
Dave Page 55c2ab0b24 Fix typo in string. 2018-01-16 16:41:43 +05:30
Murtuza Zabuawala ad46d61bd3 Fix a minor UI issue on dashboard while displaying subnode control in Backgrid. Fixes #3013 2018-01-15 22:31:39 +05:30
Murtuza Zabuawala 03605bf9be Doc updates for connection status monitoring. 2018-01-15 18:55:36 +05:30
Joao Pedro De Almeida Pereira 56e922f5ab Support Properties on Greenplum databases. Fixes #3015 2018-01-15 14:44:40 +05:30
Dave Page 6f8066d261 Fix Python wheel dependencies. Fixes #3011 2018-01-15 09:15:46 +05:30
Murtuza Zabuawala 8520871bc6 Monitor connection and transaction status in the query tool. Fixes #2475 2018-01-12 14:34:39 +00:00
Dave Page 82aa8035c2 Refer users who want to build themselves from scratch to the README. 2018-01-12 13:37:59 +00:00
Dave Page 852a2fce84 Make the title a little more appropriate. 2018-01-12 12:58:58 +00:00
Magnus Hagander 601a7b1a5c Fix typo 2018-01-12 12:43:48 +00:00
Joao Pedro De Almeida Pereira ed3e374df6 Support server and database statistics on Greenplum. Fixes #3004 2018-01-12 10:02:46 +00:00
Ashesh Vashi c32eb6bd37 Fixed the warnings/errors reported by eslint for all the static
javascripts.
2018-01-12 13:00:14 +05:30
Murtuza Zabuawala b78b97d89b Ensure images in the docs have alt tags for screen readers. Fixes #2903 2018-01-11 16:58:30 +00:00
Dave Page 8b3aecd137 Don't listen on port 443 if TLS is not enabled when launching the container. Fixes #2998 2018-01-11 15:04:11 +00:00
Dave Page 405de59298 Fix name of release notes. 2018-01-10 10:45:29 +00:00
Karen Blatchley e8c05fbaa5 Add release notes for 2.1 2018-01-10 10:39:24 +00:00
Karen Blatchley 57f4131dfe Add release notes for 2.1 2018-01-10 10:38:51 +00:00
Dave Page f1e39dd20c Update version number for release. 2018-01-10 09:55:13 +00:00
Khushboo Vashi def2df9028 Fix view data for views/mat views. Fixes #2993 2018-01-10 09:32:42 +00:00
Murtuza Zabuawala aec86970f2 Add ALT tags to images for accessibility. Fixes #2902 2018-01-08 12:43:36 +00:00
Dave Page 89821c0d19 Update copyright notices for 2018. 2018-01-05 10:42:50 +00:00
Khushboo Vashi 711fbd5144 Allow use of transition tables in PG 10 triggers. Fixes #2933 2018-01-03 16:25:03 +00:00
Murtuza Zabuawala 0810c681c3 Ensure the switch animation is consistent on the table dialogue and avoid displaying an error incorrectly. Fixes #2624 2018-01-03 15:32:44 +00:00
Murtuza Zabuawala c15d814268 Clear the messages tab when running EXPLAIN/EXPLAIN ANALYZE. Fixes #2974 2018-01-03 15:19:56 +00:00
Murtuza Zabuawala e21f1e3291 Prevent multiple connections to new slow-to-respond servers being initiated in error. Fixes #2928 2018-01-03 14:49:08 +00:00
Khushboo Vashi 49dfd6fe31 Ensure invalid options can't be selected on triggers on views. Fixes #2945 2018-01-03 14:32:00 +00:00
Khushboo Vashi 90629da524 Close user language preference drop down when it loses focus. Fixes #2956 2018-01-03 13:36:49 +00:00
Murtuza Zabuawala 1dd1c10255 Do not decrypt the password when the password is 'None'. Fixes #2765
This should avoid the common but harmless exception "ValueError: IV must be 16 bytes long while decrypting the password."
2018-01-03 13:19:58 +00:00
Khushboo Vashi e64bc2a821 Show complete SQL for FTS dictionaries. Fixes #2949 2018-01-03 13:16:11 +00:00
Susan Douglas d8194e7c0f Correct the description for the host name field on the server dialogue. 2018-01-03 13:04:58 +00:00
Mark Deneen 3289a18a1a Remove any Apache HTTPD PID file before starting the container, to prevent failures during restart. 2018-01-03 12:54:52 +00:00
Neel Patel 90f5af8902 Avoid a potential crash when downloading. Fixes #2964 2017-12-19 12:20:01 +00:00
Harshal Dhumal 88bcd3b512 Make the query tool datatype test easily configurable and extendable and add support for multi-dimensional arrays and enums. 2017-12-18 15:10:47 +00:00
Dave Page 6577723a2a Fix duplicate link text 2017-12-18 11:20:41 +00:00
Dave Page 005abab7c4 Runtime version update 2017-12-18 11:13:28 +00:00
Susan Douglas 10d0307834 Doc updates for server connection dialogue and related info. 2017-12-18 11:00:11 +00:00
Dave Page d44328664a Bump version for some dev builds. 2017-12-18 10:35:58 +00:00
Begina Felicysym ebd096f5cc Updated Polish translation from Begina. Extract/update/compile as well for completeness. Current status:
1480 of 1857 messages (79%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1692 of 1857 messages (91%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1827 of 1857 messages (98%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1829 of 1857 messages (98%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1435 of 1857 messages (77%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-12-18 10:08:03 +00:00
Murtuza Zabuawala 3fe655e944 Allow selection of validation error text. Fixes #2954 2017-12-18 10:03:39 +00:00
Murtuza Zabuawala eae6f05b7c Allow files to be opened by double clicking on them. Fixes #2810 2017-12-18 09:48:14 +00:00
Murtuza Zabuawala 36d779df5d Add tab indexes for debugger controls. 2017-12-18 09:23:11 +00:00
Murtuza Zabuawala bceb6aef3c Don't try to render security URLs in desktop mode. Fixes #2952. Fixes #2922 2017-12-18 09:15:36 +00:00
Murtuza Zabuawala 937984f2dc Don't un-comment code with alt+. in the query tool. It's only supposed to respond to ctrl/cmd+. Fixes #2769 2017-12-13 15:58:00 +00:00
Susan Douglas d02a0de8c9 Preferences dialogue help update. 2017-12-13 15:47:15 +00:00
Khushboo Vashi 107795db10 Ensure column collation isn't lost when changing field size. Fixes #2779 2017-12-13 15:44:10 +00:00
Murtuza Zabuawala 96a2987ef6 Prevent attempts to select directories as files in the file dialogue. Fixes #2937 2017-12-13 15:35:08 +00:00
Murtuza Zabuawala c5d1fc8189 Ensure the datatype cache is updated when a domain is added. Fixes #2778 2017-12-13 15:17:17 +00:00
Dave Page b2e844c0ad Fix label inconsistency spotted by Susan. 2017-12-13 14:59:15 +00:00
Murtuza Zabuawala 4246a3b22f Ensure password changes are successful if authenticating using a pgpass file. Fixes #2720 2017-12-13 13:28:07 +00:00
Harshal Dhumal 55254a649f Re-hash the way that we handle rendering of special types such as arrays. Fixes #2782. Fixes #2822. 2017-12-13 11:53:27 +00:00
Khushboo Vashi 0c5a5ba9c2 Add support for editing data in tables with OIDs but no primary keys. Fixes #2849.
This patch also updates the editor to retrieve all row values on save, thus immediately showing default values and allowing subsequent editing without a refresh.
2017-12-13 10:28:31 +00:00
Susan Douglas 61080ce513 Update query tool docs. 2017-12-11 12:01:54 +00:00
Dave Page 4bcec932a3 Correct names for the Japanese translators:
Junichi Tado
Kosuke Kida
Nozomi Anzai
2017-12-07 21:31:46 +09:00
Murtuza Zabuawala 22c38e4562 Fix a reference before assignment error in the file dialogue. Fixes #2934 2017-12-06 13:42:05 +09:00
Murtuza Zabuawala f5718b9d56 Misc fixes for the pgAgent module:
1) User was allowed to enter start date ahead of end date while scheduling a job. Fixes #2921

2) Datetime picker was not displaying in the grid (sub-node collection control). Fixes #1749

3) Fixed UI issue where validation error was not displaying properly for Datetime control.
2017-12-06 12:25:45 +09:00
Chethana Kumar c74b348bac Update EXPLAIN icons. Fixes #2936 2017-12-06 11:45:02 +09:00
Dave Page 3b7656b3d5 Push HTTPD logs to container stdout/stderr as appropriate. Fixes #2920 2017-12-05 14:23:35 +09:00
Dave Page 67f0c8a39e Add license field to package.json to stop yarn bleating. 2017-12-05 14:21:13 +09:00
Murtuza Zabuawala 7fab041623 Prevent the user pressing the select button in the file manager when it is supposed to be disabled. Fixes #2923 2017-12-05 13:43:02 +09:00
Murtuza Zabuawala 136ed0d3e2 Fix debugging of self-referencing functions. Fixes #2524 2017-12-05 13:32:06 +09:00
Murtuza Zabuawala bac9c77c4e Cleanup some inconsistent error dialog titles. Fixes #2098 2017-12-02 05:12:40 +00:00
Dave Page 7e419d1bfe Add a note to the README on creating the bundle. 2017-12-02 05:12:40 +00:00
Harshal Dhumal 1a4e21e6dd Fix regression tests for password reset in server mode 2017-11-30 13:16:59 +00:00
Susan Douglas 54389595da Doc updates for resource groups and roles. 2017-11-30 12:22:22 +00:00
Harshal Dhumal f3256aef71 Don't login the user with every request in desktop mode. Just do it once. Fixes #2922 2017-11-30 12:02:41 +00:00
Harshal Dhumal 35a5cf22d5 Refuse password changes (and tell the user) if the notification email cannot be sent. Fixes #2892 2017-11-30 11:16:38 +00:00
Murtuza Zabuawala 2995d6e9c5 Fix the width of Role dialogue so tabs don't wrap. 2017-11-30 10:58:27 +00:00
Murtuza Zabuawala 389cf01af7 Cleanup the layout of the filter data dialogue. Fixes #2924 2017-11-30 10:53:48 +00:00
Chethana Kumar 709f646f5e Add a missing screenshot, and remove personal info from another. 2017-11-30 09:50:21 +00:00
Ashesh Vashi d54c35d74f Fixing the lint error messages in javascript using 'eslint --fix'
command.
2017-11-30 13:01:41 +05:30
Akshay Joshi ea82d92e41 Do not show success message, when there is an error saving the data in
the DataGrid.

Fixes #2907
2017-11-30 13:01:30 +05:30
Akshay Joshi 281b6c91b5 Using the correct type name (along with the internal name) while
generating the query for update/insert table data (Data grid).

Modified by Ashesh for array support.

Fixes #2830
2017-11-30 13:01:30 +05:30
Murtuza Zabuawala f10733e8d4 Ensure the auto-complete selection list can display longer names. Fixes #2726 2017-11-29 11:14:24 +00:00
Maxim Zakharov 4617a90123 Add missing __init__.py to backports.csv when building the MSVC windows build. Fixes #2918 2017-11-29 09:58:57 +00:00
Murtuza Zabuawala 362bd15c8e Format JSON/JSONB nicely when displaying it in the grid editor pop-up. Fixes #2748 2017-11-28 14:21:31 +00:00
Khushboo Vashi 5bfa450a5f Allow form validation messages to be close in case the eclipse anything on the form. Fixes #2859 2017-11-28 14:10:12 +00:00
Murtuza Zabuawala 9ae4a03784 Allow changing of the users password without leaving the app. Fixes #2891 2017-11-28 10:55:54 +00:00
Navnath Gadakh 035c134fed Cleanup properly after running the Foreign Table test cases. 2017-11-28 09:44:28 +00:00
Dave Page 10c8befb71 Illustrate how to set the default mail sender name. 2017-11-28 09:29:31 +00:00
Harshal Dhumal 7db7da5b0e Display process output as it happens. Fixes #2811 2017-11-27 13:00:47 +00:00
Navnath Gadakh 80c4a3fb1a Use sufficiently long random strings in test objects to avoid conflicts. 2017-11-27 12:01:50 +00:00
Murtuza Zabuawala fe7cfa35df Attempt to decode database errors based on lc_messages. Fixes #2806. Fixes #2821 2017-11-27 11:53:25 +00:00
Murtuza Zabuawala d614c88ada Ensure we don't show the full path on the server when using virtual filesystem roots in server mode for SSL certs. Fixes #2866 2017-11-27 11:25:50 +00:00
Dave Page 542f2911a3 Revert inadvertant change to doc page 2017-11-27 11:01:14 +00:00
Chethana Kumar b8c2326764 Doc screenshot update 2017-11-27 10:58:53 +00:00
Dave Page fd077e2536 Disable the line ending check entirely in eslint, as the previous platform-specific fix doesn't work with all versions. 2017-11-23 09:34:44 +00:00
Harshal Dhumal 05a00f4ac8 Make the "Save Changes" prompts in the query tool optional. Fixes #2845 2017-11-23 09:20:59 +00:00
Murtuza Zabuawala 38f111d969 Ensure the scroll location is retains in the query tool data grid if the user changes tab and then returns. Fixes #2875 2017-11-23 09:07:46 +00:00
Maxim Zakharov 5f5c590ffd Fix bundle creation on Windows which was failing due to \r\n line endings in code mirror. Fixes #2908 2017-11-23 09:02:00 +00:00
Murtuza Zabuawala fdb4fa454a Honour whitespace properly in the data grid. Fixes #2880 2017-11-22 16:48:36 +00:00
Murtuza Zabuawala 1bc318f091 Ensure newly added rows cannot be editted until we have key values. Fixes #RM2886 2017-11-22 16:38:18 +00:00
Murtuza Zabuawala f0db93cefd Improve clarity of the boolean checkbox. 2017-11-22 16:28:08 +00:00
Dave Page 8880826260 Fix a yarn warning: "warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts." 2017-11-21 17:25:28 +00:00
Murtuza Zabuawala 930dd8af1f Some browsers don't properly support tri-state checkboxes, so create our own control to handle true/false/null. Fixes #2848 2017-11-21 17:22:25 +00:00
Murtuza Zabuawala b284572afe Allow connections to be coloured in the treeview and query tool. Fixes #1383. Fixes #2802 2017-11-21 16:28:01 +00:00
Harshal Dhumal 9212699936 When selecting an SSL cert or key, update only the expected path in the UI, not all of them. Fixes #2760. Fixes #2867 2017-11-21 15:59:44 +00:00
Murtuza Zabuawala dd8e2fe8a6 Quote the owner name when creating types. Fixes #2787 2017-11-21 11:32:27 +00:00
Murtuza Zabuawala a85538a1fc Remove the artificial limit of 4000 characters from text areas. Fixes #2877 2017-11-21 11:02:21 +00:00
Neel Patel 5b5363e2c4 _blank is the correct HTML target for anchors, not _new. Fixes #2679. 2017-11-21 10:19:11 +00:00
Dave Page 182369cbab And remove the extra semicolons. Sigh. 2017-11-20 17:15:15 +00:00
Dave Page be8d3604fb Add missing semicolons. 2017-11-20 17:12:10 +00:00
Paresh More a539147a0e Fix /NOICONS switch in the windows installer. Fixes #1366 2017-11-20 16:58:35 +00:00
Murtuza Zabuawala ce246ecce4 Stop Python 2.6 barfing on newer versions of Selenium 2017-11-20 16:55:54 +00:00
Paresh More 8ff753deb8 Prevent the Windows installer accepting paths containing invalid characters. Fixes #1365 2017-11-20 16:38:20 +00:00
Khushboo Vashi 4568fe22f7 Decode the field separator and quote char if needed. 2017-11-20 16:28:13 +00:00
Neel Patel 8cc1a007b5 Ensure we can download large files and keep the user informed about progress. Fixes #2829. Fixes #2491. Fixes #2715 2017-11-20 14:43:34 +00:00
Khushboo Vashi 0c566f132e Allow configuration of CSV and clipboard formatting of query results. Fixes #2781 2017-11-20 13:50:47 +00:00
Murtuza Zabuawala 2579458091 Fix support for time without timezone. Fixes #2881 2017-11-20 13:36:50 +00:00
Murtuza Zabuawala 5fd3a7dd3d Display relevant error messages when access is denied creating a schema. Fixes #2094 2017-11-20 13:31:03 +00:00
Murtuza Zabuawala 2f17ecba76 Update selenium version 2017-11-16 14:22:44 +00:00
Harshal Dhumal 051788d040 Fix a referenced before assignment bug in connection management. Fixes #2868 2017-11-16 12:40:00 +00:00
Dave Page afd65018db Current versions of Chrome need a newer driver for selenium tests. 2017-11-16 12:13:53 +00:00
Dave Page 3c27d2fd7e Python tests don't need to have JS dependencies installed. 2017-11-16 12:01:22 +00:00
Murtuza Zabuawala 537f6f0ab1 Display long names appropriately in dialogue headers. Fixes #2278 2017-11-16 11:56:05 +00:00
Murtuza Zabuawala af2722faa3 Focus on the filter textarea when opening filter options in the query tool. 2017-11-16 11:01:40 +00:00
Dave Page cf1440f41d Properly set the hostname for SSL use in containers. 2017-11-16 09:54:44 +00:00
Neel Patel 96df3147d6 Check and attempt to fir the registry on Windows, if the text/css type is misconfigured. Fixes #2716 2017-11-15 16:33:24 +00:00
Alexander Lakhin 8f070f6095 Fix utility output capture encoding. Fixes #2854 2017-11-09 08:51:56 -05:00
Alexander Lakhin 3e1caa61e1 Russian translation update. 2017-11-09 08:45:56 -05:00
Dave Page 35b57477de Remove data grid icon for consistency with other menu options. 2017-11-07 21:20:01 -05:00
Murtuza Zabuawala be0e637718 Prevent error messages covering the last row in a grid. Fixes #2850 2017-11-07 21:07:30 -05:00
Khushboo Vashi 88cd68c2b9 Add an option to manually count rows in tables to render the properties. Fixes #2846 2017-11-07 20:27:10 -05:00
Neel Patel 8a4b2ea953 Confirm with the user before exiting the runtime. Fixes #2443 2017-11-07 20:10:55 -05:00
Murtuza Zabuawala 8b543a58fe Fix a number of graphical explain rendering issues. Fixes #2824. Fixes #2842. Fixes #2843. 2017-11-06 19:59:01 -05:00
Alexander Lakhin 187ab22d90 Further missing translation fixes. Stats now:
1481 of 1831 messages (80%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1694 of 1831 messages (92%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1748 of 1831 messages (95%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1750 of 1831 messages (95%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1436 of 1831 messages (78%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-11-06 19:49:20 -05:00
Chethana Kumar 2be418706d Updated colours of tree view icons, which is to be more comfortable in identifying. 2017-11-06 13:03:03 +05:30
Begina Felicysym 62e70f3c4f Update Polish translation.
1748 of 1750 messages (99%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
2017-11-05 08:36:24 -05:00
Alexander Lakhin f15f46592a Tag some translations that were not, well, tagged. Current stats:
1481 of 1777 messages (83%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1694 of 1777 messages (95%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1472 of 1777 messages (82%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1750 of 1777 messages (98%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1436 of 1777 messages (80%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-11-05 08:32:26 -05:00
Dave Page b2186db562 Revert "Fix a number of cases where strings were not properly marked for translation."
This reverts commit 1f23838a4c due to unintended side
effects it caused - specifically, expanding Databases on the treeview displayed
Servers again
2017-11-03 16:45:20 +00:00
Alexander Lakhin 1f23838a4c Fix a number of cases where strings were not properly marked for translation. 2017-11-03 13:10:42 +00:00
Khushboo Vashi f73ce2dfc3 Ensure estimated rows are included correctly in CREATE script for functions. Fixes #2651 2017-11-02 09:47:31 +00:00
Murtuza Zabuawala 897bf4857a Fix counted rows display in table properties. Fixes #2836 2017-11-02 09:35:44 +00:00
Alexander Lakhin 2dcd2cc77f Update Russian translation. 2017-11-01 20:23:59 +00:00
Dave Page 70d31be496 Another message catalog update. Stats:
1481 of 1750 messages (84%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1694 of 1750 messages (96%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1472 of 1750 messages (84%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1706 of 1750 messages (97%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1436 of 1750 messages (82%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-11-01 15:19:19 +00:00
Alexander Lakhin 23d431fb54 Remove more exclamation marks from error messages. 2017-11-01 15:18:07 +00:00
Dave Page 635d944e03 Message catalog update. Current stats look like:
1503 of 1756 messages (85%) translated in pgadmin/translations/de/LC_MESSAGES/messages.po
1716 of 1756 messages (97%) translated in pgadmin/translations/ja/LC_MESSAGES/messages.po
1494 of 1756 messages (85%) translated in pgadmin/translations/pl/LC_MESSAGES/messages.po
1728 of 1756 messages (98%) translated in pgadmin/translations/ru/LC_MESSAGES/messages.po
1458 of 1756 messages (83%) translated in pgadmin/translations/zh/LC_MESSAGES/messages.po
2017-11-01 13:01:02 +00:00
Alexander Lakhin 9be1364d1a Various string improvements and fixes. 2017-11-01 12:58:19 +00:00
Murtuza Zabuawala 714a429879 Update psycopg2 requirement to ensure 10.x+ features work. 2017-11-01 12:45:00 +00:00
Dave Page 45be22b00e Output statistics when compiling messages 2017-10-31 09:16:47 +00:00
Dave Page 6a5ac730a0 Update translations 2017-10-31 09:10:17 +00:00
Alexander Lakhin 706ef38e95 Add a Russian translation 2017-10-31 09:10:00 +00:00
Alexander Lakhin 87549e0936 Add a Russian translation 2017-10-31 09:09:00 +00:00
Alexander Lakhin 8860bc3c3e Saved user language was not being picked up in case of non-server mode.
Because - the get_locale(...) function was being executed before any
request, and user login after first request. Hence - the values for
the labels in the Preferences are not being translated properly.

Fetch the raw value of user_language from configuration in case of
runtime/non-server mode to fix the issue.
2017-10-30 18:20:41 +05:30
Dave Page bc0320d21e Add a Japanese translation created by:
Junichi Tado
Nozomi Amzai
Kouske Kida
2017-10-27 14:00:09 +02:00
Dave Page 61e809b636 Update message catalogs. 2017-10-27 13:59:03 +02:00
Alexander Lakhin 0a1cf30abb Return the translations, and not empty array from the
'translations.js'.

It was regression of the commit-id:
4a91bcde30
2017-10-24 18:50:26 +05:30
Ashesh Vashi c53c6d2f48 Using 'categroy_id' instead of 'cid' in the preferences Backbone.Model,
as it is used by the Backbone.Collection to get the object by id.
2017-10-24 18:47:36 +05:30
Ashesh Vashi 8adf005ef8 Allow to send error, and warning on console from the javascript modules. 2017-10-24 16:56:17 +05:30
Dave Page a2c4fb02bc Show how the config/storage directory can be mounted on the host under docker. 2017-10-16 16:10:15 +01:00
Dave Page a9f10ddad1 Update yarn lock file. 2017-10-16 16:01:45 +01:00
Dave Page 890fece73a Fix check constraint regression tests. 2017-10-16 16:01:07 +01:00
Murtuza Zabuawala 784f3f59d8 Fix name of 'check-constraints' to follow the usual singular convention. 2017-10-16 15:40:15 +01:00
Murtuza Zabuawala 0cb57848f8 Ensure auto-indent honours the spaces/tabs config setting. Fixes #2780 2017-10-16 15:37:03 +01:00
Murtuza Zabuawala ce5f5015b3 Use HTTPS for accessing help docs. 2017-10-16 09:21:02 +01:00
Dave Page 845b296aed Add optional TLS support to the docker container. 2017-10-12 16:16:02 +01:00
Dave Page a8a2947da6 Remove the runtime zoom shortcuts from the SQL Editor shortcuts section. 2017-10-12 10:12:55 +01:00
Neel Patel 56e1fd85f4 Ensure line numbers form CodeMirror don't appear on top of menus. Fixes #2738 2017-10-12 10:07:18 +01:00
Dave Page cd7d80b650 Add a target for building PDF docs. 2017-10-11 14:57:58 +01:00
Dave Page 1f4a814e72 Remove some unused index directives. 2017-10-11 11:57:59 +01:00
Harshal Dhumal 04beec1309 Fix various issues that could cause an exception on startup. Fixes #2713 2017-10-10 09:50:47 +01:00
Murtuza Zabuawala 2f5a2b2392 Only allow specification of a pgpass file if libpq >= 10. Fixes #2768 2017-10-10 09:31:27 +01:00
Murtuza Zabuawala 63103c7a48 Remove panels for www.pgadmin.org and www.postgresql.org as they won't work with X-Frame-Options: SAMEORIGIN which is used now. 2017-10-10 09:16:23 +01:00
Khushboo Vashi 91406d2879 Ensure HTMLMIN is only used with Python 2.7+ 2017-10-10 09:14:23 +01:00
Murtuza Zabuawala f2929046fa Refactor to remove duplicate code for the cancel/terminate buttons in the dashboard. 2017-10-09 09:18:46 +01:00
Dave Page cb25bb0e93 Add missing date. 2017-10-05 16:11:24 +01:00
Dave Page d57072b156 Bump version number for release. 2017-09-29 16:00:21 +01:00
Ashesh Vashi 5860de838a Changed the wording for 'Terminated session successfully' 2017-09-29 20:20:27 +05:30
Ashesh Vashi 4b2b08174c Do not show the terminate session icon in red as per Dave 2017-09-29 20:17:51 +05:30
Ashesh Vashi 2b64834179 Allow to terminate a session from the server, and database dashboard. 2017-09-29 20:10:33 +05:30
Ashesh Vashi 0d754fc39f Remove the reference of font-mfizz completely. 2017-09-29 11:26:45 +05:30
Ashesh Vashi 9c6c32e936 Resolved the logo issue.
For some unknown reason, font-mfizz was showing the slonik icon in
italic. Even after upgrading it to the latest version of font-mfizz, the
problem was not resolved.

So - instead of using the vector font, using the PostgreSQL SVG logo as
the application icon, and documentation link on dashboard now.
2017-09-29 11:07:26 +05:30
Surinder Kumar bcce574e83 Using the correct path for the font-mfizz stylesheet.
Reported by: Neel Patel
2017-09-29 09:17:39 +05:30
Akshay Joshi 5a132a547f Ensure using an alternate role to connect to a database doesn't cause an error when checking recovery state. Fixes #2742 2017-09-28 15:09:49 +01:00
Dave Page 9588d76b75 Add missing issue, per Harshal. 2017-09-28 10:45:23 +01:00
Dave Page 8ea85221f0 Update message catalogs. 2017-09-28 10:29:46 +01:00
Dave Page 50a78abf48 Update release notes. 2017-09-28 10:21:40 +01:00
Dave Page 739d8e2f1f Dead code cleanup. 2017-09-28 10:16:49 +01:00
Murtuza Zabuawala f855ed88ce Allow selection of SSL certificates and pgpass files in connection properties. Fixes #2649. Fixes #2650 2017-09-28 10:02:33 +01:00
Dave Page 510bc6c974 Update release notes. 2017-09-27 16:46:03 +01:00
Ashesh Vashi cc10a4ee54 Upgraded the font-mfizz to latest version (v:2.4.1) to resolve an issue,
about showing the PostgreSQL logo in italic in runtime on windows.
2017-09-27 07:41:15 +05:30
Chethana Kumar 62c9376546 Improve icon alignment. 2017-09-22 14:29:34 +01:00
Dave Page bcba596408 Add the ability to build a basic Docker container. 2017-09-21 16:49:37 +01:00
Dave Page 18dc938556 Use the correct lexer in the Apache/Windows docs. 2017-09-20 16:42:47 +01:00
Surinder Kumar 263e235862 Clarify how virtual envs can be used in WSGI mode, and ensure we ship the required bits on Windows. 2017-09-20 16:22:51 +01:00
Dave Page 354679e69b Fix an issue where we were executing SELECT statements in transactions in query tool which probably is not required because SELECT statements are already protected from dirty reads. Fixes #2683 2017-09-20 11:59:37 +01:00
Murtuza Zabuawala 64159d11ce Fix font on alertify dialogues 2017-09-20 11:42:16 +01:00
Akshay Joshi 13665f68d8 Fix validation message styling on thegrant wizard. Fixes #2673 2017-09-20 11:34:01 +01:00
Murtuza Zabuawala 2ddbddba33 Improve display of error messages in the query tool. Fixes #2700 2017-09-20 11:29:24 +01:00
Akshay Joshi fe757c384b Filtered Rows dialog not opened from the context menu. Fixes #2699 2017-09-19 11:46:51 +05:30
Dave Page 62d7a1044e Remove unused import that was causing a hard error on Windows 2017-09-18 16:54:43 +01:00
Dave Page 5ae681f2ba Bump version for RC2 release. 2017-09-18 16:15:13 +01:00
Harshal Dhumal f0ad26ba7a Fix for Exception when the server is restarted. Fixes #2713
This issue was caused because we recently added session_write_delay in session.
So session won't be written/updated to disk from memory until specified seconds are elapsed.

However we must forcefully write/update session to disk if user loges in or out irrespective of session_write_delay to keep sessions from memory and disk in sync as user logged in status is kept in session.
2017-09-18 14:39:43 +01:00
Akshay Joshi bdc08d94c4 Fix View Data option and column config for Foreign Tables. Fixes #2691 2017-09-18 14:32:17 +01:00
Murtuza Zabuawala 8bededa859 Fix disable trigger menu option. Fixes #2707 2017-09-18 12:37:59 +01:00
Murtuza Zabuawala e64c52a446 Fix tablespace move prompt message. Fixes #2708 2017-09-18 12:36:04 +01:00
Murtuza Zabuawala 5ebfd88f11 Correct alignment of the X button on dismissable alerts. 2017-09-18 11:57:44 +01:00
Murtuza Zabuawala bc5a5a5b45 Fix error message regexp in the query tool that could fail in some cases. Fixes #2700 2017-09-18 11:55:04 +01:00
Harshal Dhumal da40573f0b Fix user manager role handling. Fixes #2641 2017-09-18 11:45:57 +01:00
Harshal Dhumal 765e130336 Support Flask-Security 3.0 2017-09-18 11:40:09 +01:00
Dave Page a317df1351 Ensure builtins.SERVER_MODE is set in the WSGI wrapper. 2017-09-18 10:33:26 +01:00
Surinder Kumar 026ef7b8b7 Support React v15.5 and later where the code fails to run because React's PropTypes is no more part of React Module. 2017-09-18 10:08:12 +01:00
Harshal Dhumal 30e7016077 Changed array representation and formatting for the data types in Query Tool and View Data. Fixes #2671 2017-09-18 12:07:15 +05:30
Murtuza Zabuawala 8150f93c06 Fix menu left-hand margin. 2017-09-15 14:45:02 +01:00
Atul Sharma c3ea3b7bdf Replace the "Roboto" font family with "Open Sans" for alertify dialogs. 2017-09-15 14:08:29 +01:00
Murtuza Zabuawala 9cfb2f3cbe Fix filtering of system schemas so pg_* is hidden but pg* is not. Fixes #2709 2017-09-15 13:50:06 +01:00
Ashesh Vashi 55e14e4d78 Handle the executor nodes, which are unknown to the Explain module,
gracefully by showing the 'ex_unknown.png' for such nodes.

Reported by: Murtuza
Refs #2706
2017-09-15 10:51:37 +05:30
Atul Sharma 788f7f3a69 Bundle fonts with pgAdmin so we have a standard set for all platforms.
Research by Shirley at Pivotal.
2017-09-13 16:01:14 +01:00
Surinder Kumar e819465e38 Always pack React in prod mode to avoid a bug in debug mode that prevents the history tab working. 2017-09-13 15:50:09 +01:00
Chethana Kumar ff79dfc186 Update cast icons with improved design. 2017-09-13 10:43:39 +01:00
Chethana Kumar 3779c36d0f Update server and database icons with a clearer design. 2017-09-13 09:59:07 +01:00
Murtuza Zabuawala 80ce889c3d Fix an issue in User mapping module where users were not listed. Fixes #2693 2017-09-13 09:53:25 +01:00
Murtuza Zabuawala 5891bda06a Fix an issue where base types are not displaying in the create/edit domain dialog, also corrected the condition to show hidden system types. Fixes #2692 2017-09-13 09:52:16 +01:00
Surinder Kumar 120dbcc7d8 Run webpack in production mode when building for releases. Fixes #2660 2017-09-13 09:47:01 +01:00
Teng Zhang 512afd6618 Highlighting greenplum keywords in sql editor 2017-09-11 19:39:50 +05:30
Chethana Kumar f79b7f26b1 Using the svg icons for domain constraint, and server browser nodes. 2017-09-11 18:24:04 +05:30
Dave Page 51fd8f29fb Add new icons to release notes. 2017-09-11 11:22:43 +01:00
Dave Page 732c373dfb Use wheel==0.29.0 with Python 2.6 and 3.3. 2017-09-11 11:06:29 +01:00
Dave Page cca7526b9b Remove menu icon tests that are no longer required. 2017-09-11 10:13:54 +01:00
Dave Page 4b5b3195c4 Bump the build suffix in preparation for release. 2017-09-11 10:04:20 +01:00
Ashesh Vashi 3bbd1a8a48 Remove icons from the menus to de-clutter the UI and make it more consistent with most OSs. 2017-09-11 09:51:26 +01:00
Dave Page 8b1aeadaf0 Stick with the older Flask-Script module for Python 2.6 2017-09-11 09:09:49 +01:00
Ashesh Vashi ac2512799e Rename the SecurityGroupUnderSchema to SecurityGroupSchema, and
redefined in the database (instead of schema) javascript module, as it
is also used by the foreign-server node too.

Reported by: Neel Patel
2017-09-11 13:13:40 +05:30
Ashesh Vashi 8c8c0e78ca Miscellaneous fixes for icon sizing issue, missing tree nodes to be
webpacked, etc.

- Fixed the background-size for the svg icons to 20x20 px such that it
  does not adjust it's size when a context menu height is different due
  to length of the node label, also - it allows us to fix the issue of
  icons sizes in the Grant Wizard.

- Added two missing browser tree nodes in the webpack configuration
  i.e. Foreign Server, and User Mapping
- Removed a redundant javascript file foreign-server.js
- Fixed the missing context menu icons for Foreign Table, and Tablespace
  nodes.

Thanks EDB development team to find the regression added after the icon
changes in quick time.
2017-09-11 12:55:42 +05:30
Ashesh Vashi 4018562bc7 Changes in the stylesheets to support the svg icons for the browser
tree nodes.
2017-09-11 11:22:55 +05:30
Chethana Kumar 23a00f9614 Replacing existing browser tree node png icons with the svg icons. Made
it compatible with the pgAdmin 4 color combination.

TODO::
Icons for the following nodes are in PNG format.
- Domain Constraint (Only the invalid icon)
- pgAgent Job Steps
- Green Plum database server
- Server (Only server.png, which is used in the create/edit dialog)
2017-09-11 11:17:31 +05:30
Karen Blatchley 23dd68b212 Initial draft of the 2.0 release notes. 2017-09-08 15:50:13 +01:00
Murtuza Zabuawala 8d248dab4c Fix quoting of index column names on tables. Fixes #2619 2017-09-07 16:36:35 +01:00
Murtuza Zabuawala d5f60e1a47 Fix layout of password prompt dialogue. Fixes #2684 2017-09-07 16:27:02 +01:00
Harshal Dhumal 263aa42725 Reset query tool options before running tests. Fixes #2681 2017-09-05 16:25:15 +01:00
Surinder Kumar c4393a7795 Fix Copy so it still works after query results have been copied. Fixes #2637 2017-08-31 14:50:39 +01:00
Akshay Joshi 47cf874460 1) Fixed error in alertify.pgNotifier when server connection is lost.
2) Change styling of alertify.pgNotifier as we did for success, error and info.
2017-08-31 18:02:03 +05:30
Surinder Kumar 2945b3fe93 Define the proper NODE_ENV environment during running the webpack.
Using the webpack.DefinePlugin during the development build too, not
just in production build.

Fixes #2596.

Also - passing option 'warning: false' for UglifyJsPlugin, which will
not show warning messages on the console during the production build.
2017-08-31 14:28:52 +05:30
Dave Cramer eae6f0427c Fix display of types in GPDB. 2017-08-31 09:57:27 +01:00
Harshal Dhumal dbf760c6e7 Improve datamodel validations for default Validator if user (developer) do not implement validate function in datamodel. Fixes #2670 2017-08-31 09:54:31 +01:00
Murtuza Zabuawala 52840d68a8 Fix RE-SQL for triggers with a single arg. Fixes #2668 2017-08-31 09:39:09 +01:00
Teng Zhang 821442ed8f GPDB compatibility fixes:
When connected to a Greenplum database server
- Hide items that not work with GPDB, such as Triggers, FDW, FTS_*, etc
- Tables/Views/Catalogs/Language node can expand correctly
- Views/Languages/Catalogs can show properties dialog with correct information
- Show a greenplum icon at the server node

Teng Zhang & Hao Wang
2017-08-30 11:18:14 +01:00
Harshal Dhumal 048205ead5 Rename the debugger XSS test function to 'a_test_function' to ensure it appears near the top of the tree and not off-screen.
This should not be a permanent fix (the test should be able to scroll the treeview), but works for now to stop tests failing.
2017-08-30 11:12:27 +01:00
Surinder Kumar 7835da267b Allow pgAdmin to run with config database versions from the future. Fixes #2664 2017-08-29 15:03:02 +01:00
Harshal Dhumal ceb9438000 Cleanup feature tests. Fixes #2586 2017-08-29 14:57:56 +01:00
Murtuza Zabuawala 401e13ca65 Fixed issue where 'backend_type' column is exist for database server version greater than 10.
Issue is regression of RM #2597.
2017-08-28 16:18:05 +05:30
Harshal Dhumal b1ad89fb4a Using the proper python syntax to fetch the default binary path for
different servers types.
2017-08-26 09:59:57 +05:30
Ashesh Vashi 6b727c43b9 Define the utility path lable, and help message for the Greenplum
database server, shown in the preferences dialog.

Also, fixed the issue, when server type is not defined in the
DEFAULT_BINARY_PATHS, in the configuration.
2017-08-25 21:35:57 +05:30
Murtuza Zabuawala 74db837417 Allow queries to be cancelled from the dashboard, and display additional info in the subnode control. Fixes #2597 2017-08-25 16:57:33 +01:00
Teng Zhang 46c5df4e7b Greenplum specific DDL and Dashboard display changes.
Initial patch by Sarah McAlear<smcalear@pivotal.io>.
2017-08-25 17:53:03 +05:30
Murtuza Zabuawala d3babd78aa Fixes #2560 - View is not fully qualified in Trigger definition. 2017-08-25 17:45:20 +05:30
Surinder Kumar f711336a6b Add package run scripts to allow to run the webpack in watch mode, also
added '--progress' option to make it more interactive.
2017-08-25 17:26:56 +05:30
Wenlin Zhang 5dd375dd20 Fix the feature tests failuers. 2017-08-25 17:16:36 +05:30
Dave Page 8579909558 Ensure the SERVER_MODE changes don't break the PIP build. 2017-08-25 12:17:47 +01:00
Dave Page 5c016f0993 Update docs to more accurately reflect the SERVER_MODE config requirements. 2017-08-25 12:13:03 +01:00
Dave Page a65f7b330b Ensure builtins.SERVER_MODE is handled if running setup.py standalone. 2017-08-25 11:56:44 +01:00
Dave Page 507d8b3fe4 Regression tests aren't run under the runtime, so no need to check for builtins.SERVER_MODE's existence. 2017-08-25 11:56:10 +01:00
Dave Page 0e5ea58294 Ensure builtins.SERVER_MODE is present so the docs build cleanly. 2017-08-25 11:19:27 +01:00
Dave Page f195b18f2d Ship with pre-configured paths that can work in both Server and Desktop modes out of the box. Fixes #2662
Ship the web code using server mode with appropriate paths by default and enable the runtime to override the mode, and force into desktop changing the appropriate paths to user-specific ones.

Note that this change will likely cause more advanced users to have to tweak configs.

RPMs will also need changes to create /var/lib/pgadmin and /var/log/pgadmin, owned by the webserver account.
2017-08-25 10:54:28 +01:00
Dave Page fb9eee47bd Bump the version number for 2.0. Let's get testing started ASAP! 2017-08-25 10:18:42 +01:00
Navnath Gadakh bd04cfaaa8 Properly cleanup after running the FTS test cases. 2017-08-25 09:32:46 +01:00
Akshay Joshi fe6e4686a2 Unable to add/update variables for columns of a table. Fixes #2659 2017-08-23 17:11:30 +05:30
Surinder Kumar ee20a10e94 Syntax error while saving changes for start/end time, weekdays, monthdays, month, hours, minutes while updating the pgAgent Job. Fixes #2657. 2017-08-23 14:05:54 +05:30
Surinder Kumar cb9a05a7e7 Datetimepicker will expand from bottom instead of Top, because of that user won't be able to select start and end time properly. Fixes #2656 2017-08-23 11:26:24 +05:30
Sarah McAlear b585063a26 Refactor keyboard shortcut functions in the query tool. Fix some incorrect keycodes and update docs.
Initial work by Sarah & Violet @ Pivotal, with additional tweaks by Murtuza @ EDB.
2017-08-21 15:27:29 +01:00
Murtuza Zabuawala 2e2ca26020 Ensure role names are escaped in the membership control. Fixes #2606 2017-08-21 14:00:33 +01:00
Murtuza Zabuawala 654326a0d1 Update CodeMirror version. Fixes #1697. Fixes #2168. Fixes #2447. Fixes #2562. 2017-08-21 13:43:41 +01:00
Murtuza Zabuawala d757d8698d Fix connection string validation for pgAgent jobs. Fixes #2655 2017-08-21 13:20:07 +01:00
Surinder Kumar 6d7b54eb62 Update datetime picker. Fixes #2654 2017-08-21 13:17:35 +01:00
Atul Sharma e6223c9a49 Fixes #2567 - Use the proper database connection to fetch the default
prileges in the properties tab of the database.

Reviewed by: Murtuza Zabuawala
2017-08-18 09:15:57 +05:30
Violet Cheng d527769bf8 Extract the generate_url(..) function from node.js, and collection.js 2017-08-17 21:43:07 +05:30
Murtuza Zabuawala e9b80dae9c User can not add New Server through Quick links. Fixes #2634 2017-08-17 18:14:06 +05:30
Sarah McAlear dee5186f65 Fixed alertify notification messages where checkmark box disconnected from frame. Fixes #2644 2017-08-17 17:54:12 +05:30
Surinder Kumar c7686dee05 Unset compression ratio if it is an empty string in Backup module. Fixes #2582 2017-08-17 16:35:42 +05:30
Surinder Kumar bff48e0b2d Fixed the path reference of load-node.gif which was referencing to vendor directory. Fixes #2646 2017-08-17 15:27:09 +05:30
Murtuza Zabuawala 2df4625ce0 1) Connection Type cell was not honouring to 'Kind' option in Subnode control.
2) Kind option was not saved properly
3) User was not be able to update Kind option in edit mode.

Fixes #2633
2017-08-17 15:00:08 +05:30
Murtuza Zabuawala 2c6c4a16ce Use dict based data instead of 2d-array in Type module as we are adding keys on the fly.
Reviewed By: Harshal Dhumal
2017-08-17 13:07:39 +05:30
Neel Patel deb5475b98 On certain linux operating systems, Qt application exits with an error
message such as 'X Error: BadDrawable'.

In order to resolve the issue, we need to let the Qt know not to load
the MIT-SHM extension.

Reference:
https://iwf1.com/quick-fix-one-kdes-common-xorg-errors-x-error-baddrawable/
2017-08-09 16:52:43 +05:30
Khushboo Vashi c4ca781ce2 Fixed some UX issue with the Import/Export tool.
- Couldn't click on the filename control once gets an error.
- Encoding is not in alphabetical order.
2017-08-09 16:52:43 +05:30
Hao Wang 5141debae7 UX improvements of the history in the query tool.
- Added copy button for query text.
- Historical queries are binned/grouped by day.

Patch By: Hao Wang, Sarah McAlear
2017-08-09 16:52:43 +05:30
Surinder Kumar 33bd9d4782 Enable source maps for debugging purpose in all webpack modules
(except for vendor, and codemirror).
2017-08-09 16:52:43 +05:30
Ashesh Vashi 845025db8f Some cosmetic changes.
- Loading 'pgadmin' as 'sources/pgadmin', as found under the 'sources'
  reference directory to be consistent with other files.
- Removed the 'pgadmin' reference from the base.html template.
- Renamed 'pgadmin.slickgrid.editors.js', and
  'pgadmin.slickgrid.formatters.js' as 'editors.js', and 'formatters.js'
  respectively, as they're already in the 'pgadmin/static/js/slickgrid'
  directory.
- Removed the duplicate entry of 'translations' from the webpack.shim.js
2017-08-09 16:52:12 +05:30
Akshay Joshi e418cb8387 Changed the mapping of cell from 'numeric' to 'integer' for integer control as numeric cell has been removed from the code. Fixes #2631 2017-08-07 14:02:59 +05:30
Akshay Joshi 801a05891e Set the database name to blank('') when job type is set to batch, while creating pgAgent job. Fixes #2620 2017-08-04 19:31:17 +05:30
Surinder Kumar 06a65ecf71 Added missing pgagent file in webpack.config.js Fixes #2617 2017-08-04 17:39:05 +05:30
Murtuza Zabuawala ef48c2ed91 Fixed issue in query tool where messages were not displaying from functions/procedures properly. Fixes #2555 2017-08-04 15:50:39 +05:30
Murtuza Zabuawala bebfc62721 Fixed collation tests on Windows, replace use of default 'POSIX' collation with 'C' collation for testing. Fixes #2501 2017-08-03 16:46:20 +05:30
Murtuza Zabuawala 6717aff8f5 Domain create dialog do not open and Font size issue in Security label control. Fixes #2616 2017-08-01 16:37:17 +05:30
Akshay Joshi e506fa1dbe Improved alertify notification logic. Remove AlertifyWrapper class and extend notification methods in alertify itself. 2017-07-31 18:59:44 +05:30
Akshay Joshi a7f58e2b92 1) Added partition module in webpack config.
2) Fixed missing logic of partition from primary_key.js and unique_constraint.js as this two files are newly created for webpack.
3) Changed the node name from 'check_constraint' to 'check_constraints'. Also changed the same in test case url.
2017-07-31 18:25:04 +05:30
Ashesh Vashi bdefdf5d4e Requests for statistics were not stopped even when Dashboard panel is
closed. It is a regression of webpack.
2017-07-31 16:48:52 +05:30
Surinder Kumar 6d5417709c Moved the javascripts of different modules from 'templates' to 'static' directory.
Moving the javascripts for the following modules:
 - About
 - Browser nodes
 - Dashboard
 - FileManager
 - Vendor/snap.svg
 - Preferences
 - Settings
 - Backup
 - Datagrid
 - Debugger
 - Sqleditor
 - Grant Wizard
 - Import & Export
 - Maintenance
 - Restore and
 - User Management
2017-07-27 17:25:08 +05:30
Harshal Dhumal 831c614a60 Store the file dialog view on toggle. 2017-07-26 14:35:43 +01:00
Murtuza Zabuawala af26d983e5 Fixup tests following label changes. 2017-07-26 13:45:44 +01:00
Harshal Dhumal 97cd74a373 Default the file browser view to list, and make it configurable. Fixes #2579 2017-07-26 13:09:52 +01:00
Khushboo Vashi d1e7254fbd Handle control visibility properly in javascript strict mode. 2017-07-26 12:55:46 +01:00
Murtuza Zabuawala 1fa9648a21 Update keyboard shortcuts per discussion. Also, make the labels platform sensitive. 2017-07-26 12:50:42 +01:00
Harshal Dhumal d339d6b816 Do not dump the session data on the disk on every request.
Session object is updated, everytime a request is being served, and
that was forcing the session object dumped on the dist on every request.

On windows, it was causing issues on slower system on startup. Because -
windows file system locks the file, when it is opened by any
application. And, frequent requests on the pgAdmin main UI rendering
was causing issues, because of that.

In order to resolve the issue, we will not write the session data on
disk for every request, but - only after certain delay (in seconds),
from it was last written. It can be configured using the attribute
'PGADMIN_SESSION_DISK_WRITE_DELAY' in the configuration file,
default vaule for the delay is 10.
(i.e. 10 seconds)
2017-07-25 15:52:32 +05:30
Murtuza Zabuawala 178d583bcd Fix paths under non-standard virtual directories. Fixes #2563 2017-07-25 10:15:18 +01:00
Murtuza Zabuawala 617e9dbb3a Allow queries to be cancelled from the dashboards. Fixes #1812 2017-07-24 12:13:24 +01:00
Joao Pedro De Almeida Pereira fe95b7670b Ensure the appropriate entry is focussed when entering the history tab. 2017-07-24 11:46:06 +01:00
Dave Page eb5bb5fcc0 Update yarn.lock 2017-07-21 16:17:24 +01:00
Sarah McAlear 2ebb409999 Fix test assertion. 2017-07-21 16:16:41 +01:00
Surinder Kumar 03657df82a Ensure babel-polyfill is loaded in older qWebKits. Fixes #2593 2017-07-21 16:15:03 +01:00
Harshal Dhumal 7182b59976 Ensure arrow keys work correctly when the pane is focused instead of the tab in the query tool history. 2017-07-21 13:33:59 +01:00
Atul Sharma 70418144cf Add a field to the Server Dialogue allowing users to specify a subset of databases they'd like to see in the treeview. Fixes #1918 2017-07-21 12:44:57 +01:00
Murtuza Zabuawala acaa79cf6b Fix disconnection of new databases. Fixes #2594 2017-07-21 11:11:03 +01:00
Murtuza Zabuawala b313cbce0d Fix regression tests after Dave broke them. 2017-07-21 10:57:29 +01:00
Surinder Kumar a49a3103e2 Prevent the Werkzeug reloader from causing a "double start" at init time. 2017-07-21 09:46:30 +01:00
Surinder Kumar ede6765f6b Add an editorconfig file to help maintain coding standards. 2017-07-21 09:39:23 +01:00
Sarah McAlear 86dc1e81f1 Move Query Tool keyboard shortcut code into a new module and add tests. 2017-07-20 22:22:25 +01:00
Matthew Kleiman e29cd8d83d Improve the history UI. 2017-07-20 20:50:37 +01:00
Matthew Kleiman 21bfcd83f4 Allow navigation of query history using the arrow keys. Fixes #2590 2017-07-20 20:47:40 +01:00
Murtuza Zabuawala 64f3a559ab Add the Flask-Paranoid module for a little extra, well, paranoia in web mode. Fixes #2584 2017-07-20 18:04:33 +01:00
Dave Page 83ac1f3555 Remove debug logging of the URL map which is extremely long now, and not of a great deal of use. 2017-07-20 16:15:53 +01:00
Surinder Kumar ae3acbdbbc Fix webpacking of loading icon. 2017-07-20 13:38:16 +01:00
Harshal Dhumal 54882e061c Don't attempt to render binary data in the query tool result grid. Fixes #2080. Fixes #2074. 2017-07-20 13:09:47 +01:00
Surinder Kumar 2eb151c2d9 More webpack cleanup - add comments liberally and rename lib.css to style.css 2017-07-20 12:52:15 +01:00
Akshay Joshi 4d4da67247 Fix regressions introduced by PG10's partitioning code. Fixes #2043. Fixes #2324. 2017-07-20 12:49:40 +01:00
Surinder Kumar dfa877262d Webpacking cleanups 2017-07-19 15:03:21 +01:00
Surinder Kumar 6046be7fba Fix typo in filename. 2017-07-19 11:57:11 +01:00
Dave Page 1e1a9f2cf4 Add controls and shortcuts for commenting/uncommenting code in the SQL Editor. Fixes #2456.
Take the opportunity to tidy up the menus and add access keys to appropriate buttons.
2017-07-19 11:43:45 +01:00
Surinder Kumar b90d368ee7 Resolve an issue where collection nodes sometimes wouldn't sort properly. 2017-07-18 16:31:05 +01:00
Surinder Kumar 659aeeb58e Add a missing dependency. 2017-07-18 16:30:18 +01:00
Murtuza Zabuawala bab3da24e6 Support SSL in the regression tests. Fixes #2170 2017-07-18 15:23:11 +01:00
Surinder Kumar 6396b8ce18 Add missing new files from the previous commit. Ooops. 2017-07-18 15:14:59 +01:00
Surinder Kumar 4a91bcde30 Webpack all the things! Fixes #2135
This significantly speeds up loading of the application; in an average of 3 tests, v1.6
loaded in 11.5s in the runtime on a Mac, whilst the webpacked version of the code
loaded in 5.53s.
2017-07-18 15:13:17 +01:00
Dave Page d04ac7656a Remove change made for debugging and committed in error. 2017-07-17 15:19:30 +01:00
Khushboo Vashi c546182789 Modify the runtime to use time-based timeouts rather than retry based. Fixes #2556
This allows for slow vs. fast connection failures (e.g. an active rejection vs. no response).
2017-07-17 15:17:58 +01:00
Harshal Dhumal 3942461c50 Correct for malformed query generated when using custom type. Fixes #2544 2017-07-17 11:14:34 +01:00
Khushboo Vashi 059d671af5 Fix typo 2017-07-17 10:59:29 +01:00
Neel Patel dc6a1936f5 Tidy up tab styling. Fixes #2557 2017-07-17 10:58:17 +01:00
Harshal Dhumal 8bbcf0ab36 Fix handline of large file uploads and properly show any errors that may occur. Fixes #2153 2017-07-17 10:51:26 +01:00
Neel Patel dcc74af87b Stop tool buttons from changing their styling unexpectedly. Fixes #2559 2017-07-17 10:45:16 +01:00
Murtuza Zabuawala 3f83780049 Remove the comma from PIDs in the statistics panel. 2017-07-17 10:18:31 +01:00
Neel Patel 1fe0d51925 Prevent the tab bar being hidden when detached tabs are being closed. Fixes #2558 2017-07-17 10:14:40 +01:00
Harshal Dhumal 07aa74eaf5 Show tablespace on partitions. Fixes #2551 2017-07-17 09:50:18 +01:00
Ashesh Vashi 4eefc52748 [PostgreSQL 10] Fixed the Pause/Resume Replay of WAL files for PostgreSQL 10. Fixes #2566 2017-07-14 18:39:19 +05:30
Murtuza Zabuawala 822e62c238 Fix privileges control on IE 10/11. Fixes #1166 2017-07-14 12:45:09 +01:00
Khushboo Vashi da67963094 Don't continually poll for graph data on the dashboard if the server is disconnected. Fixes #1165 2017-07-14 12:42:29 +01:00
Mammoth Power de06e63334 Fix a compiler error with older compilers. 2017-07-11 17:22:20 +01:00
6734 changed files with 569436 additions and 371656 deletions

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
.git
web/node_modules
web/*.log
web/regression
web/**/tests/
web/**/*.pyc
web/**/__pycache__
.DS_Store
web/pgadmin/messages.pot
web/pgadmin/translations/??/LC_MESSAGES/messages.po
Dockerfile
docs/en_US/_build/**/*
src-build/**/*
dist/**/*
+24 -5
View File
@@ -1,8 +1,6 @@
*.autosave
*.db
*.diff
*.o
*.patch
*.psp
*.pyc
*.pyo
@@ -11,23 +9,29 @@
.DS_Store
.idea
.vscode
/*.diff
/*.patch
/dist
/debian-build
/docker-build
/mac-build
/pip-build
/redhat-build
/src-build
/win-build
/win-temp
_build
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
runtime/Makefile
runtime/Makefile.Debug
runtime/Makefile.Release
runtime/moc_BrowserWindow.cpp
runtime/moc_TrayIcon.cpp
runtime/moc_Server.cpp
runtime/pgAdmin4.app/
runtime/pgAdmin4.pro.user*
@@ -35,6 +39,21 @@ runtime/pgAdmin4_resource.rc
runtime/release/
runtime/ui_BrowserWindow.h
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
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/
+9
View File
@@ -0,0 +1,9 @@
[pycodestyle]
ignore = E402,W504,W605
max-line-length = 79
statistics = True
show-source = False
show-pep8 = False
count = True
format = pylint
exclude = migrations,node_modules,config_local.py,config_distro.py
+518
View File
@@ -0,0 +1,518 @@
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 2.0.2 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 3.1.0 UNKNOWN https://github.com/miguelgrinberg/flask-migrate
Flask-SQLAlchemy 2.5.1 BSD-3-Clause https://github.com/pallets/flask-sqlalchemy
Flask-WTF 1.0.0 BSD-3-Clause https://github.com/wtforms/flask-wtf/
Flask-Compress 1.10.1 MIT https://github.com/colour-science/flask-compress
Flask-Paranoid 0.2.0 MIT http://github.com/miguelgrinberg/flask-paranoid/
Flask-Babel 2.0.0 BSD http://github.com/python-babel/flask-babel
Flask-Security-Too 4.1.2 MIT https://github.com/Flask-Middleware/flask-security
Flask-SocketIO 5.1.1 UNKNOWN https://github.com/miguelgrinberg/flask-socketio
WTForms 3.0.1 BSD-3-Clause https://wtforms.readthedocs.io/
passlib 1.7.4 BSD https://passlib.readthedocs.io
pytz 2021.3 MIT http://pythonhosted.org/pytz
simplejson 3.17.6 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.2 BSD-3-Clause https://github.com/andialbrecht/sqlparse
psutil 5.9.0 BSD https://github.com/giampaolo/psutil
psycopg2 2.9.3 LGPL with exceptions https://psycopg.org/
python-dateutil 2.8.2 Dual License https://github.com/dateutil/dateutil
SQLAlchemy 1.4.31 MIT https://www.sqlalchemy.org
bcrypt 3.2.0 Apache License, Version 2.0 https://github.com/pyca/bcrypt/
cryptography 3.4.8 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.1 LGPL v3 https://github.com/cannatag/ldap3
gssapi 1.7.2 LICENSE.txt https://github.com/pythongssapi/python-gssapi
eventlet 0.33.0 UNKNOWN http://eventlet.net
httpagentparser 1.9.2 http://www.opensource.org/licenses/mit-license.php https://github.com/shon/httpagentparser
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
pywinpty 1.1.* Unknown Unknown
Authlib 0.15.5 BSD-3-Clause https://authlib.org/
requests 2.25.1 Apache 2.0 https://requests.readthedocs.io
pyotp 2.6.0 MIT License https://github.com/pyotp/pyotp
qrcode 7.3.1 BSD https://github.com/lincolnloop/python-qrcode
Pillow 9.0.1 HPND https://python-pillow.org
boto3 1.20.54 Apache License 2.0 https://github.com/boto/boto3
botocore 1.23.54 Apache License 2.0 https://github.com/boto/botocore
urllib3 1.26.8 MIT https://urllib3.readthedocs.io/
NOTE: This report was generated using Python 3.10. Full information may not be
shown for Python modules that are not required with this version.
40 dependencies listed.
Javascript Dependencies
=======================
Name Version Licence URL
---- ------- ------- ---
@babel/code-frame 7.14.5 MIT https://github.com/babel/babel.git
@babel/code-frame 7.12.13 MIT https://github.com/babel/babel.git
@babel/compat-data 7.14.7 MIT https://github.com/babel/babel.git
@babel/core 7.13.8 MIT https://github.com/babel/babel.git
@babel/generator 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-annotate-as-pure 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-compilation-targets 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-create-class-features-plugin 7.14.6 MIT https://github.com/babel/babel.git
@babel/helper-function-name 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-get-function-arity 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-hoist-variables 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-member-expression-to-functions 7.14.7 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.13.0 MIT https://github.com/babel/babel.git
@babel/helper-optimise-call-expression 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-plugin-utils 7.14.5 MIT https://github.com/babel/babel.git
@babel/helper-replace-supers 7.14.5 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.14.5 MIT https://github.com/babel/babel.git
@babel/helper-validator-identifier 7.14.9 MIT https://github.com/babel/babel.git
@babel/helper-validator-option 7.14.5 MIT https://github.com/babel/babel.git
@babel/helpers 7.13.0 MIT https://github.com/babel/babel.git
@babel/highlight 7.14.5 MIT https://github.com/babel/babel.git
@babel/parser 7.14.7 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.13.12 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/runtime 7.14.0 MIT https://github.com/babel/babel.git
@babel/runtime 7.17.0 MIT https://github.com/babel/babel.git
@babel/template 7.14.5 MIT https://github.com/babel/babel.git
@babel/traverse 7.14.7 MIT https://github.com/babel/babel.git
@babel/types 7.15.4 MIT https://github.com/babel/babel.git
@date-io/core 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
@date-io/date-fns 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
@emotion/cache 11.4.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/cache
@emotion/hash 0.8.0 MIT https://github.com/emotion-js/emotion/tree/master/packages/hash
@emotion/is-prop-valid 0.8.8 MIT https://github.com/emotion-js/emotion/tree/master/packages/is-prop-valid
@emotion/memoize 0.7.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/memoize
@emotion/memoize 0.7.4 MIT https://github.com/emotion-js/emotion/tree/master/packages/memoize
@emotion/react 11.4.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/react
@emotion/serialize 1.0.2 MIT https://github.com/emotion-js/emotion/tree/main/packages/serialize
@emotion/sheet 1.0.1 MIT https://github.com/emotion-js/emotion/tree/master/packages/sheet
@emotion/stylis 0.8.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/stylis
@emotion/unitless 0.7.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/unitless
@emotion/utils 1.0.0 MIT https://github.com/emotion-js/emotion/tree/master/packages/utils
@emotion/weak-memoize 0.2.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/weak-memoize
@istanbuljs/schema 0.1.3 MIT git+https://github.com/istanbuljs/schema.git
@material-ui/core 4.11.0 MIT https://github.com/mui-org/material-ui.git
@material-ui/icons 4.11.2 MIT https://github.com/mui-org/material-ui.git
@material-ui/lab 4.0.0-alpha.58 MIT https://github.com/mui-org/material-ui.git
@material-ui/pickers 3.2.10 MIT https://github.com/mui-org/material-ui-pickers
@material-ui/styles 4.11.4 MIT https://github.com/mui-org/material-ui.git
@material-ui/system 4.12.1 MIT https://github.com/mui-org/material-ui.git
@material-ui/types 5.1.0 MIT https://github.com/mui-org/material-ui.git
@material-ui/utils 4.11.2 MIT https://github.com/mui-org/material-ui.git
@popperjs/core 2.9.0 MIT https://github.com/popperjs/popper-core.git
@projectstorm/geometry 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-canvas-core 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-core 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-defaults 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@projectstorm/react-diagrams-routing 6.6.1 MIT https://github.com/projectstorm/react-diagrams.git
@simonwep/pickr 1.8.1 MIT https://github.com/Simonwep/pickr.git
@sindresorhus/is 0.7.0 MIT https://github.com/sindresorhus/is.git
@szhsin/react-menu 2.3.3 MIT https://github.com/szhsin/react-menu.git
@tippyjs/react 4.2.3 MIT git+https://github.com/atomiks/tippyjs-react.git
@types/classnames 2.3.1 MIT Unknown
@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 14.14.32 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/parse-json 4.0.0 MIT https://www.github.com/DefinitelyTyped/DefinitelyTyped.git
@types/prop-types 15.7.3 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react 16.14.10 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react 16.14.18 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react-dom 16.9.14 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/react-transition-group 4.4.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/scheduler 0.16.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
@types/styled-jsx 2.2.8 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
acitree 4.5.0-rc.7 MIT https://github.com/imsurinder90/jquery-aciTree.git
ajv 8.9.0 MIT https://github.com/ajv-validator/ajv.git
ajv 6.12.6 MIT https://github.com/ajv-validator/ajv.git
ajv-errors 1.0.1 MIT git+https://github.com/epoberezkin/ajv-errors.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-styles 3.2.1 MIT https://github.com/chalk/ansi-styles.git
aspen-core 1.0.4 MIT git+https://github.com/neeksandhu/aspen-core.git
aspen-decorations 1.1.1 MIT git+https://github.com/neeksandhu/aspen-decorations.git
aspen-tree-model 1.0.5 MIT git+https://github.com/neeksandhu/aspen-tree-model.git
async 2.6.3 MIT https://github.com/caolan/async.git
axios 0.21.4 MIT https://github.com/axios/axios.git
babel-plugin-styled-components 1.12.0 MIT https://github.com/styled-components/babel-plugin-styled-components.git
babel-plugin-syntax-jsx 6.18.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx
babelify 10.0.0 MIT https://github.com/babel/babelify.git
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
bowser 2.11.0 MIT git+https://github.com/lancedikson/bowser.git
brace 0.11.1 MIT git://github.com/thlorenz/brace.git
brace-expansion 1.1.11 MIT git://github.com/juliangruber/brace-expansion.git
browserfs 1.4.3 MIT https://github.com/jvilk/BrowserFS.git
browserslist 4.16.6 MIT https://github.com/browserslist/browserslist.git
callsites 3.1.0 MIT https://github.com/sindresorhus/callsites.git
camelcase 6.2.0 MIT https://github.com/sindresorhus/camelcase.git
camelize 1.0.0 MIT git://github.com/substack/camelize.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
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
classnames 2.3.1 MIT https://github.com/JedWatson/classnames.git
closest 0.0.1 MIT https://github.com/ForbesLindesay/closest.git
clsx 1.1.1 MIT https://github.com/lukeed/clsx.git
codemirror 5.59.4 MIT https://github.com/codemirror/CodeMirror.git
color-convert 1.9.3 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
context-menu 2.0.0 MIT https://github.com/chipto/context-menu.git
convert-source-map 1.8.0 MIT git://github.com/thlorenz/convert-source-map.git
copy-to-clipboard 3.3.1 MIT git+https://github.com/sudodoki/copy-to-clipboard
core-js 3.12.1 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.1.1 MIT https://github.com/webpack-contrib/css-loader.git
css-to-react-native 3.0.0 MIT git+https://github.com/styled-components/css-to-react-native.git
css-tree 1.1.3 MIT https://github.com/csstree/csstree.git
css-vendor 2.0.8 MIT git@github.com:cssinjs/css-vendor.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
csstype 2.6.16 MIT https://github.com/frenic/csstype
csstype 3.0.8 MIT https://github.com/frenic/csstype
dagre 0.8.5 MIT https://github.com/dagrejs/dagre.git
date-fns 2.24.0 MIT https://github.com/date-fns/date-fns
debug 4.3.1 MIT git://github.com/visionmedia/debug.git
deep-diff 1.0.2 MIT git://github.com/flitbit/diff.git
diff-arrays-of-objects 1.1.8 MIT git+https://github.com/malcolmvr/diff-arrays-of-objects.git
dom-align 1.12.2 MIT git@github.com:yiminghe/dom-align.git
dom-helpers 5.2.0 MIT git+https://github.com/react-bootstrap/dom-helpers.git
dom-serializer 1.3.2 MIT git://github.com/cheeriojs/dom-renderer.git
dropzone 5.9.3 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-json-stable-stringify 2.1.0 MIT git://github.com/epoberezkin/fast-json-stable-stringify.git
filename-reserved-regex 2.0.0 MIT https://github.com/sindresorhus/filename-reserved-regex.git
follow-redirects 1.14.8 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
graphlib 2.1.8 MIT https://github.com/dagrejs/graphlib.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
insert-if 1.2.0 MIT git+https://github.com/chipto/insert-if.git
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-in-browser 1.1.3 MIT git+https://github.com/tuxsudo/is-in-browser.git
is-relative 1.0.0 MIT https://github.com/jonschlinkert/is-relative.git
is-unc-path 1.0.0 MIT https://github.com/jonschlinkert/is-unc-path.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.13.0 MIT git://github.com/jquery/jquery-ui.git
js-tokens 4.0.0 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
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 1.0.0 MIT git+https://github.com/epoberezkin/json-schema-traverse.git
json-schema-traverse 0.4.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
jsoneditor-react 3.1.2 MIT git+https://github.com/vankop/jsoneditor-react.git
jss 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-camel-case 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-default-unit 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-global 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-nested 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-props-sort 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-rule-value-function 10.5.1 MIT https://github.com/cssinjs/jss
jss-plugin-vendor-prefixer 10.5.1 MIT https://github.com/cssinjs/jss
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
memoize-one 5.2.1 MIT https://github.com/alexreardon/memoize-one.git
mime 2.5.2 MIT https://github.com/broofa/mime
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
nanocolors 0.1.12 MIT https://github.com/ai/nanocolors.git
nanoid 3.2.0 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
notificar 1.0.1 MIT git+https://github.com/neeksandhu/notificar.git
notistack 1.0.10 MIT git+https://github.com/iamhosseindhv/notistack.git
object-assign 4.1.1 MIT https://github.com/sindresorhus/object-assign.git
p-reduce 1.0.0 MIT https://github.com/sindresorhus/p-reduce.git
p-series 1.1.0 MIT https://github.com/sindresorhus/p-series.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-fx 2.1.1 MIT git+https://github.com/NeekSandhu/path-fx.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
pgadmin4-tree 1.0.0 MIT Unknown
picomodal 3.0.0 MIT https://github.com/Nycto/PicoModal.git
popper.js 1.16.1-lts MIT git+https://github.com/FezVrasta/popper.js.git
popper.js 1.16.1 MIT git+https://github.com/FezVrasta/popper.js.git
postcss 8.2.15 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
prop-types 15.7.2 MIT https://github.com/facebook/prop-types.git
punycode 2.1.1 MIT https://github.com/bestiejs/punycode.js.git
raf 3.4.1 MIT git://github.com/chrisdickinson/raf.git
rc-align 4.0.11 MIT git@github.com:react-component/align.git
rc-dropdown 3.3.0 MIT git@github.com:react-component/dropdown.git
rc-menu 9.3.2 MIT git@github.com:react-component/menu.git
rc-motion 2.4.4 MIT git@github.com:react-component/motion.git
rc-overflow 1.2.2 MIT git@github.com:react-component/overflow.git
rc-resize-observer 1.2.0 MIT git@github.com:react-component/resize-observer.git
rc-tabs 11.10.5 MIT git@github.com:react-component/tabs.git
rc-trigger 5.2.10 MIT https://github.com/react-component/trigger.git
rc-util 5.17.0 MIT git@github.com:react-component/util.git
react 16.14.0 MIT git+https://github.com/facebook/react.git
react 17.0.2 MIT https://github.com/facebook/react.git
react-aspen 1.1.1 MIT https://github.com/neeksandhu/react-aspen.git
react-checkbox-tree 1.7.2 MIT https://github.com/jakezatecky/react-checkbox-tree
react-dom 16.14.0 MIT git+https://github.com/facebook/react.git
react-dom 17.0.2 MIT https://github.com/facebook/react.git
react-draggable 4.4.4 MIT https://github.com/react-grid-layout/react-draggable.git
react-input-autosize 3.0.0 MIT https://github.com/JedWatson/react-input-autosize.git
react-is 16.13.1 MIT https://github.com/facebook/react.git
react-is 17.0.2 MIT https://github.com/facebook/react.git
react-select 4.3.1 MIT https://github.com/JedWatson/react-select/tree/master/packages/react-select
react-table 7.7.0 MIT https://github.com/tannerlinsley/react-table
react-transition-state 1.1.3 MIT https://github.com/szhsin/react-transition-state.git
react-virtualized-auto-sizer 1.0.6 MIT https://github.com/bvaughn/react-virtualized-auto-sizer.git
react-window 1.8.6 MIT https://github.com/bvaughn/react-window.git
regenerator-runtime 0.13.7 MIT https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime
require-from-string 2.0.2 MIT https://github.com/floatdrop/require-from-string.git
resize-observer-polyfill 1.5.1 MIT https://github.com/que-etc/resize-observer-polyfill.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
rifm 0.7.0 MIT https://github.com/istarkov/rifm.git
safe-buffer 5.1.2 MIT git://github.com/feross/safe-buffer.git
scheduler 0.19.1 MIT https://github.com/facebook/react.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 1.0.0 MIT https://github.com/webpack-contrib/schema-utils
select2 4.0.13 MIT git://github.com/select2/select2.git
shallowequal 1.1.0 MIT https://github.com/dashed/shallowequal.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-comments 2.0.1 MIT https://github.com/jonschlinkert/strip-comments.git
styled-components 5.2.1 MIT git+https://github.com/styled-components/styled-components.git
stylehacks 5.0.1 MIT https://github.com/cssnano/cssnano.git
stylis 4.0.10 MIT https://github.com/thysultan/stylis.js
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
svgo 2.7.0 MIT git://github.com/svg/svgo.git
symbol-observable 1.2.0 MIT https://github.com/blesh/symbol-observable.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
tiny-emitter 2.1.0 MIT https://github.com/scottcorgan/tiny-emitter.git
tiny-warning 1.0.3 MIT https://github.com/alexreardon/tiny-warning.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
toggle-selection 1.0.6 MIT git+https://github.com/sudodoki/toggle-selection
unc-path-regex 0.1.2 MIT https://github.com/regexhq/unc-path-regex.git
underscore 1.13.1 MIT git://github.com/jashkenas/underscore.git
uniqs 2.0.0 MIT git://github.com/fgnass/uniqs.git
url-loader 1.1.2 MIT https://github.com/webpack-contrib/url-loader.git
util-deprecate 1.0.2 MIT git://github.com/TooTallNate/util-deprecate.git
valid-filename 2.0.1 MIT https://github.com/sindresorhus/valid-filename.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.4 (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.2.0 ISC git://github.com/svg/sax.git
boolbase 1.0.0 ISC https://github.com/fb55/boolbase
css-color-keywords 1.0.0 ISC https://github.com/sonicdoe/css-color-keywords.git
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
react-timer-hook 3.0.5 ISC git+https://github.com/amrlabib/react-timer-hook.git
semver 7.3.4 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
hoist-non-react-statics 3.3.2 BSD-3-Clause git://github.com/mridgway/hoist-non-react-statics.git
hyphenate-style-name 1.0.4 BSD-3-Clause git+ssh://git@github.com/rexxars/hyphenate-style-name.git
istanbul-lib-coverage 3.0.0 BSD-3-Clause git+ssh://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
react-transition-group 4.4.1 BSD-3-Clause https://github.com/reactjs/react-transition-group.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
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
indefinite-observable 2.0.1 Apache-2.0 git@github.com:material-motion/indefinite-observable-js.git
jmespath 0.15.0 Apache-2.0 git://github.com/jmespath/jmespath.js
jsoneditor 9.5.6 Apache-2.0 https://github.com/josdejong/jsoneditor.git
paths-js 0.4.11 Apache-2.0 https://github.com/andreaferretti/paths-js.git
rc-dock 3.2.10 Apache-2.0 https://github.com/ticlo/rc-dock.git
rc-new-window 0.1.13 Apache-2.0 https://github.com/ticlo/rc-new-window.git
snapsvg 0.5.1 Apache-2.0 git@github.com:adobe-webplatform/Snap.svg.git
caniuse-lite 1.0.30001309 CC-BY-4.0 https://github.com/browserslist/caniuse-lite.git
css-select 4.1.3 BSD-2-Clause git://github.com/fb55/css-select.git
css-what 5.1.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
leaflet 1.7.1 BSD-2-Clause git://github.com/Leaflet/Leaflet.git
nth-check 2.0.1 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
pako 1.0.11 (MIT AND Zlib) https://github.com/nodeca/pako.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
439 dependencies listed.
+206
View File
@@ -0,0 +1,206 @@
########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2018, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
#########################################################################
# Create a Node container which will be used to build the JS components
# and clean up the web/ source code
#########################################################################
FROM alpine:3.15 AS app-builder
RUN apk add --no-cache \
autoconf \
automake \
bash \
g++ \
git \
libc6-compat \
libjpeg-turbo-dev \
libpng-dev \
libtool \
make \
nasm \
nodejs \
yarn \
zlib-dev
# Create the /pgadmin4 directory and copy the source into it. Explicitly
# remove the node_modules directory as we'll recreate a clean version, as well
# as various other files we don't want
COPY web /pgadmin4/web
RUN rm -rf /pgadmin4/web/*.log \
/pgadmin4/web/config_*.py \
/pgadmin4/web/node_modules \
/pgadmin4/web/regression \
`find /pgadmin4/web -type d -name tests` \
`find /pgadmin4/web -type f -name .DS_Store`
WORKDIR /pgadmin4/web
# Build the JS vendor code in the app-builder, and then remove the vendor source.
RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
yarn install && \
yarn run bundle && \
rm -rf node_modules \
yarn.lock \
package.json \
.[^.]* \
babel.cfg \
webpack.* \
karma.conf.js \
./pgadmin/static/js/generated/.cache
#########################################################################
# Next, create the base environment for Python
#########################################################################
FROM alpine:3.15 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 \
zlib-dev \
libjpeg-turbo-dev \
libpng-dev \
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 env-builder as docs-builder
# 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
COPY docs /pgadmin4/docs
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 /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: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 postgres:14-alpine as pg14-builder
FROM alpine:3.15 as tool-builder
# Copy the PG binaries
COPY --from=pg10-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-10/
COPY --from=pg10-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-10/
COPY --from=pg10-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-10/
COPY --from=pg10-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-10/
COPY --from=pg11-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-11/
COPY --from=pg11-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-11/
COPY --from=pg12-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-12/
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/
COPY --from=pg14-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-14/
COPY --from=pg14-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-14/
COPY --from=pg14-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-14/
COPY --from=pg14-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-14/
#########################################################################
# Assemble everything into the final container.
#########################################################################
FROM alpine:3.15
# Copy in the Python packages
COPY --from=env-builder /venv /venv
# Copy in the tools
COPY --from=tool-builder /usr/local/pgsql /usr/local/
COPY --from=pg14-builder /usr/local/lib/libpq.so.5.14 /usr/lib/
RUN ln -s libpq.so.5.14 /usr/lib/libpq.so.5 && \
ln -s libpq.so.5.14 /usr/lib/libpq.so
WORKDIR /pgadmin4
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 pkg/docker/run_pgadmin.py /pgadmin4
COPY pkg/docker/gunicorn_config.py /pgadmin4
COPY pkg/docker/entrypoint.sh /entrypoint.sh
# License files
COPY LICENSE /pgadmin4/LICENSE
COPY DEPENDENCIES /pgadmin4/DEPENDENCIES
# Install runtime dependencies and configure everything in one RUN step
RUN apk add \
python3 \
py3-pip \
postfix \
krb5-libs \
libjpeg-turbo \
shadow \
sudo \
libedit \
libldap \
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 && \
touch /pgadmin4/config_distro.py && \
chown pgadmin:pgadmin /pgadmin4/config_distro.py && \
setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/python3.9 && \
echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix
USER pgadmin
# Finish up
VOLUME /var/lib/pgadmin
EXPOSE 80 443
ENTRYPOINT ["/entrypoint.sh"]
+19 -19
View File
@@ -1,19 +1,19 @@
pgAdmin 4
Copyright (c) 2013 - 2017, 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
hereby granted, provided that the above copyright notice and this paragraph and
the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE PGADMIN DEVELOPMENT TEAM BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
THE PGADMIN DEVELOPMENT TEAM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE PGADMIN DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
THE PGADMIN DEVELOPMENT TEAM HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
pgAdmin 4
Copyright (C) 2013 - 2022, 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
hereby granted, provided that the above copyright notice and this paragraph and
the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE PGADMIN DEVELOPMENT TEAM BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
THE PGADMIN DEVELOPMENT TEAM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE PGADMIN DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
THE PGADMIN DEVELOPMENT TEAM HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-479
View File
@@ -1,479 +0,0 @@
@ECHO off
SETLOCAL
REM
REM ****************************************************************
SET WD=%CD%
SET "PGBUILDPATH=%WD%\win-build"
SET CMDOPTION=""
IF "%1" == "clean" SET CMDOPTION="VALID"
IF "%1" == "x86" SET CMDOPTION="VALID"
IF NOT %CMDOPTION%=="VALID" ( GOTO USAGE )
SET ARCHITECTURE=%1
IF "%ARCHITECTURE%"=="clean" (
GOTO CLEAN_RELEASE
GOTO EXIT
)
REM Main Functions
CALL :SET_PGADMIN4_ENVIRONMENT
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :VALIDATE_ENVIRONMENT
CALL :CLEAN_RELEASE
CALL :CREATE_VIRTUAL_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_RUNTIME_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_PYTHON_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CLEANUP_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_INSTALLER
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :SIGN_INSTALLER
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD %WD%
GOTO EXIT
REM Main function Ends
:CLEAN_RELEASE
ECHO Calling clean target...
IF EXIST "%PGBUILDPATH%" rd "%PGBUILDPATH%" /S /Q
FOR /R "%WD%" %%f in (*.pyc *.pyo) do DEL /q "%%f" > nul
IF EXIST "%WD%\pkg\win32\Output" rd "%WD%\pkg\win32\Output" /S /Q
IF EXIST DEL /q "%WD%\pkg\win32\installer.iss" > nul
CD %WD%
GOTO:eof
:SET_PGADMIN4_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.8\mingw53_32"
IF "%PGDIR%" == "" SET "PGDIR=C:\Program Files (x86)\PostgreSQL\9.6"
IF "%INNOTOOL%" == "" SET "INNOTOOL=C:\Program Files (x86)\Inno Setup 5"
IF "%VCDIR%" == "" SET "VCDIR=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
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"
SET "VCREDISTNAME=vcredist_x86.exe"
GOTO:eof
:VALIDATE_ENVIRONMENT
REM SET the variables IF not availalbe in windows environment
SET "QMAKE=%QTDIR%\bin\qmake.exe"
SET "VIRTUALENV=venv"
SET "TARGETINSTALLER=%WD%\dist"
SET "VCREDIST=%VCDIR%\redist\1033\%VCREDISTNAME%"
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_RELEASE=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\config.py') DO SET APP_REVISION_VERSION=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\config.py') DO SET APP_SUFFIX_VERSION=%%a
REM remove single quote from the string
SET APP_SUFFIX_VERSION=%APP_SUFFIX_VERSION:'=%
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=4,5 delims=. " %%a IN ('%QMAKE% -v ^| findstr /B /C:"Using Qt version "') DO SET QT_VERSION=%%a.%%b
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_RELEASE%.%APP_REVISION_VERSION%-%APP_SUFFIX_VERSION%-%ARCHITECTURE%.exe
IF "%APP_SUFFIX_VERSION%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_RELEASE%.%APP_REVISION_VERSION%-%ARCHITECTURE%.exe
SET PGADMIN4_VERSION=v%APP_RELEASE%
SET PGADMIN4_APP_VERSION=%APP_RELEASE%.%APP_REVISION_VERSION%
ECHO ****************************************************************
ECHO S U M M A R Y
ECHO ****************************************************************
ECHO Target mode = x86
ECHO INNOTOOL = %INNOTOOL%
ECHO VCDIR = %VCDIR%
ECHO VCDIST = %VCREDIST%
ECHO SIGNTOOL = %SIGNTOOL%
ECHO QTDIR = %QTDIR%
ECHO QMAKE = %QMAKE%
ECHO QT_VERSION = %QT_VERSION%
ECHO BROWSER = QtWebKit
ECHO PYTHON_HOME = %PYTHON_HOME%
ECHO PYTHON_DLL = %PYTHON_DLL%
ECHO PGDIR = %PGDIR%
ECHO ****************************************************************
REM Check IF path SET in enviroments really exist or not ?
IF NOT EXIST "%INNOTOOL%" GOTO err_handle_inno
IF NOT EXIST "%VCDIR%" GOTO err_handle_visualstudio
IF NOT EXIST "%VCREDIST%" GOTO err_handle_visualstudio_dist
IF NOT EXIST "%QTDIR%" GOTO err_handle_qt
IF NOT EXIST "%QMAKE%" GOTO err_handle_qt
IF NOT EXIST "%PYTHON_HOME%" GOTO err_handle_python
IF NOT EXIST "%PYTHON_DLL%" GOTO err_handle_python
IF NOT EXIST "%PGDIR%" GOTO err_handle_pg
REM get Python version ex. 2.7.1 will get as 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%"
IF NOT EXIST "%PYTHON_HOME%\Scripts\virtualenv.exe" GOTO err_handle_pythonvirtualenv
SET PATH=%PGDIR%;%PGDIR%\bin;%PATH%
GOTO:eof
:CREATE_VIRTUAL_ENV
ECHO Creating Virtual Enviroment...
IF NOT EXIST "%PGBUILDPATH%" MKDIR "%PGBUILDPATH%"
CD "%PGBUILDPATH%"
"%PYTHON_HOME%\Scripts\virtualenv.exe" "%VIRTUALENV%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Activating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\activate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate"
SET PATH=%PGDIR%\bin;%PATH%
ECHO Installing dependencies...
pip install -r "%WD%\requirements.txt"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
pip install sphinx
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Virtual Environment created successfully.
ECHO Deactivating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate"
CD %WD%
GOTO:eof
:CREATE_RUNTIME_ENV
ECHO Compiling source code...
MKDIR "%PGBUILDPATH%\runtime" > nul
REM --- Processing WEB ---
CD "%WD%\web"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Install Javascript dependencies
call yarn install
ECHO Bundle all Javascript
call yarn run bundle
XCOPY /S /I /E /H /Y "%WD%\web" "%PGBUILDPATH%\web" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
REM Clean up .pyc, .pyo, pgadmin4.db, config_local.py
ECHO Cleaning up unnecessary files...
FOR /R "%PGBUILDPATH%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f"
FOR /R "%PGBUILDPATH%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f"
RD /Q /S "%PGBUILDPATH%\web\regression"
RD /Q /S "%PGBUILDPATH%\web\tools"
DEL /q "%PGBUILDPATH%\web\pgadmin4.db"
DEL /q "%PGBUILDPATH%\web\config_local.py"
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 Activating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\activate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate"
ECHO Building docs...
MKDIR "%PGBUILDPATH%\docs\en_US\html"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD "%WD%\docs\en_US"
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\python.exe" build_code_snippet.py
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%PGBUILDPATH%\docs\en_US\html"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Removing Sphinx
pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer
ECHO Fixing backports.csv - adding missing __init__.py
type nul >> "%PGBUILDPATH%\%VIRTUALENV%\Lib\site-packages\backports\__init__.py"
ECHO Assembling runtime environment...
CD "%WD%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL "%QMAKE%" "DEFINES+=PGADMIN4_USE_WEBKIT"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL mingw32-make.exe clean
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL mingw32-make.exe
IF ERRORLEVEL 1 GOTO ERR_HANDLER
REM Copy binary to Release Folder
copy "%WD%\runtime\release\pgAdmin4.exe" "%PGBUILDPATH%\runtime"
IF ERRORLEVEL 1 GOTO ERR_HANDLER
REM Copy QT dependences
copy "%QTDIR%\bin\Qt5Core.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Sql.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Gui.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Qml.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5OpenGL.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Quick.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Sensors.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Widgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Network.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Multimedia.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebChannel.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Positioning.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5PrintSupport.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5MultimediaWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
IF %QT_VERSION% GEQ 5.9 (
copy "%QTDIR%\bin\Qt5WebKit.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebKitWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
) ELSE (
copy "%QTDIR%\bin\libQt5WebKit.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libQt5WebKitWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
)
copy "%QTDIR%\bin\icudt57.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\icuin57.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\icuuc57.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libgcc_s_dw2-1.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libstdc++-6.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libwinpthread-1.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libxml2-2.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\libxslt-1.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
MKDIR "%PGBUILDPATH%\runtime\platforms"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\plugins\platforms\qwindows.dll" "%PGBUILDPATH%\runtime\platforms" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO [Paths] > "%PGBUILDPATH%\runtime\qt.conf"
ECHO Plugins=plugins >> "%PGBUILDPATH%\runtime\qt.conf"
copy "%PGDIR%\bin\libpq.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\ssleay32.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libeay32.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libintl-*.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libiconv-*.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\zlib1.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_dump.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_dumpall.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_restore.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\psql.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
MKDIR "%PGBUILDPATH%\installer"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%VCREDIST%" "%PGBUILDPATH%\installer" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Runtime built successfully.
CD %WD%
GOTO:eof
:CREATE_PYTHON_ENV
copy %PYTHON_DLL% "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
REM Copy Python interpretor as it's needed to run background processes
copy %PYTHON_HOME%\python.exe "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy %PYTHON_HOME%\pythonw.exe "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\DLLs" "%PGBUILDPATH%\%VIRTUALENV%\DLLs" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\Lib" "%PGBUILDPATH%\%VIRTUALENV%\Lib" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Cleaning up unnecessary files...
FOR /R "%PGBUILDPATH%\%VIRTUALENV%" %%f in (*.pyc *.pyo) do DEL /q "%%f"
FOR /R "%PGBUILDPATH%\%VIRTUALENV%\Lib" %%f in (test tests) do RD /Q /S "%%f"
RD /Q /S "%PGBUILDPATH%\%VIRTUALENV%\tcl"
CD %WD%
GOTO:eof
:CREATE_INSTALLER
ECHO Preparing for creation of windows installer...
IF NOT EXIST "%TARGETINSTALLER%" MKDIR "%TARGETINSTALLER%"
copy "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%PGBUILDPATH%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD "%WD%"
CD pkg
CD win32
"%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%"""
"%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 """%PGADMIN4_APP_VERSION%"""
"%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 """%PGADMIN4_VERSION%"""
set ARCMODE=
IF "%ARCHITECTURE%"=="amd64" (
set ARCMODE="x64"
)
"%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%"""
"%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%"""
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"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
MOVE "%WD%\pkg\win32\Output\Setup.exe" "%TARGETINSTALLER%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO "Location - %TARGETINSTALLER%\%INSTALLERNAME%"
ECHO Installer generated successfully.
CD %WD%
GOTO:eof
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
"%SIGNTOOL%" sign /t http://timestamp.verisign.com/scripts/timstamp.dll "%TARGETINSTALLER%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 (
ECHO
ECHO ************************************************************
ECHO * Failed to sign the installer
ECHO ************************************************************
PAUSE
)
CD %WD%
GOTO:eof
:CLEANUP_ENV
ECHO Cleaning up private environment...
rd "%PGBUILDPATH%\%VIRTUALENV%\Include" /S /Q
rd "%PGBUILDPATH%\%VIRTUALENV%\Scripts" /S /Q
DEL /s "%PGBUILDPATH%\%VIRTUALENV%\pip-selfcheck.json"
ECHO Cleaned up private environment successfully.
CD %WD%
GOTO:eof
:err_handle_inno
ECHO %INNOTOOL% does not exist
ECHO Please Install Innotool and SET INNOTOOL enviroment Variable.
ECHO SET "INNOTOOL=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_visualstudio
ECHO %VCDIR% does not exist
ECHO Please Install Microsoft Visual studio and SET the VCDIR enviroment Variable.
ECHO SET "VCDIR=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_visualstudio_dist
ECHO %VCREDIST% does not exist
ECHO Please Install Microsoft Visual studio and SET the VCDIST enviroment Variable.
ECHO SET "VCDIST=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_python
ECHO %PYTHON_HOME% does not exist, or
ECHO PYTHON_VERSION is not SET, or
ECHO %PYTHON_DLL% does not exist.
ECHO Please install Python and SET the PYTHON_HOME enviroment Variable.
ECHO SET "PYTHON_VERSION=<VERSION NUMBER>"
ECHO SET "PYTHON_HOME=<PATH>"
ECHO SET "PYTHON_DLL=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_qt
ECHO %QTDIR% does not exist.
ECHO Please Install QT SDK and SET the QTDIR enviroment variable.
ECHO SET "QTDIR=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_pg
ECHO %PGDIR% does not exist.
ECHO Please Install Postgres and SET enviroment Variable
ECHO SET "PGDIR=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_pythonvirtualenv
ECHO Python virtualenv is missing @ location - %PYTHON_HOME%\Scripts\virtualenv.exe
exit /B 1
GOTO EXIT
:ERR_HANDLER
ECHO.
ECHO Aborting build!
CD %WD%
exit /B 1
GOTO EXIT
:USAGE
ECHO Invalid command line options....
ECHO Usage: "Make.bat <x86 | clean>"
ECHO.
exit /B 1
GOTO EXIT
:EXIT
+376 -602
View File
@@ -1,602 +1,376 @@
@ECHO off
SETLOCAL
REM
REM ****************************************************************
SET WD=%CD%
SET "PGBUILDPATH=%WD%\win-build"
SET CMDOPTION=""
IF "%1" == "clean" SET CMDOPTION="VALID"
IF "%1" == "x86" SET CMDOPTION="VALID"
IF "%1" == "amd64" SET CMDOPTION="VALID"
IF NOT %CMDOPTION%=="VALID" ( GOTO USAGE )
SET ARCHITECTURE=%1
IF "%ARCHITECTURE%"=="clean" (
GOTO CLEAN_RELEASE
GOTO EXIT
)
REM Main Functions
CALL :SET_PGADMIN4_ENVIRONMENT
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :VALIDATE_ENVIRONMENT
CALL :CLEAN_RELEASE
CALL :CREATE_VIRTUAL_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_RUNTIME_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_PYTHON_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CLEANUP_ENV
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :CREATE_INSTALLER
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL :SIGN_INSTALLER
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD %WD%
GOTO EXIT
REM Main function Ends
:CLEAN_RELEASE
ECHO Calling clean target...
IF EXIST "%PGBUILDPATH%" rd "%PGBUILDPATH%" /S /Q
FOR /R "%WD%" %%f in (*.pyc *.pyo) do DEL /q "%%f" > nul
IF EXIST "%WD%\pkg\win32\Output" rd "%WD%\pkg\win32\Output" /S /Q
IF EXIST DEL /q "%WD%\pkg\win32\installer.iss" > nul
CD %WD%
GOTO:eof
:SET_PGADMIN4_ENVIRONMENT
REM Check os architecture x86 or amd64
SET RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
REG.exe Query %RegQry% > checkOS.txt
Find /i "x86" < CheckOS.txt > StringCheck.txt
SET OSTYPE=""
IF %ERRORLEVEL% == 0 (
SET OSTYPE=x86
) else (
SET OSTYPE=amd64
)
DEL CheckOS.txt StringCheck.txt
SET OSVALUE=""
IF "%OSTYPE%"=="x86" (
IF "%ARCHITECTURE%"=="amd64" (
ECHO ARCHITECTURE - %ARCHITECTURE% cannot be run on 32 bit machine
GOTO EXIT
)
SET OSVALUE=%OSTYPE%
)
REM Check IF its is windows 32 bit machine and selected architecture is x86
IF %OSVALUE%=="x86" (
IF "%PYTHON_HOME%" == "" SET "PYTHON_HOME=C:\Python27"
IF "%PYTHON_DLL%" == "" SET "PYTHON_DLL=C:\Windows\System32\python27.dll"
IF "%QTDIR%" == "" SET "QTDIR=C:\Qt\5.7\msvc2013"
IF "%PGDIR%" == "" SET "PGDIR=C:\Program Files\PostgreSQL\9.6"
IF "%INNOTOOL%" == "" SET "INNOTOOL=C:\Program Files\Inno Setup 5"
IF "%VCDIR%" == "" SET "VCDIR=C:\Program Files\Microsoft Visual Studio 12.0\VC"
SET "VCREDISTNAME=vcredist_x86.exe"
)
REM Check IF its is windows 64 bit machine and selected architecture is x86 or amd64
IF "%ARCHITECTURE%"=="x86" (
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.7\msvc2013"
IF "%PGDIR%" == "" SET "PGDIR=C:\Program Files (x86)\PostgreSQL\9.6"
IF "%INNOTOOL%" == "" SET "INNOTOOL=C:\Program Files (x86)\Inno Setup 5"
IF "%VCDIR%" == "" SET "VCDIR=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
IF "%VCREDIST%" == "" SET "VCREDIST=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\1033\vcredist_x86.exe"
SET "VCREDISTNAME=vcredist_x86.exe"
)
IF "%ARCHITECTURE%"=="amd64" (
IF "%PYTHON_HOME%" == "" SET "PYTHON_HOME=C:\Python27-x64"
IF "%PYTHON_DLL%" == "" SET "PYTHON_DLL=C:\Windows\System32\python27.dll"
IF "%QTDIR%" == "" SET "QTDIR=C:\Qt\5.7\msvc2013"
IF "%PGDIR%" == "" SET "PGDIR=C:\Program Files\PostgreSQL\9.6"
IF "%INNOTOOL%" == "" SET "INNOTOOL=C:\Program Files\Inno Setup 5"
IF "%VCDIR%" == "" SET "VCDIR=C:\Program Files\Microsoft Visual Studio 12.0\VC"
IF "%VCREDIST%" == "" SET "VCREDIST=C:\Program Files\Microsoft Visual Studio 12.0\VC\redist\1033\vcredist_x64.exe"
SET "VCREDISTNAME=vcredist_x64.exe"
)
GOTO:eof
:VALIDATE_ENVIRONMENT
REM SET the variables IF not availalbe in windows environment
SET "VCVAR=%VCDIR%\vcvarsall.bat"
SET "VCNMAKE=%VCDIR%\bin\nmake.exe"
SET "QMAKE=%QTDIR%\bin\qmake.exe"
SET "VIRTUALENV=venv"
SET "TARGETINSTALLER=%WD%\dist"
SET "VCREDIST=%VCDIR%\redist\1033\%VCREDISTNAME%"
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_RELEASE=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\config.py') DO SET APP_REVISION_VERSION=%%a
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\config.py') DO SET APP_SUFFIX_VERSION=%%a
REM remove single quote from the string
SET APP_SUFFIX_VERSION=%APP_SUFFIX_VERSION:'=%
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=4,5 delims=. " %%a IN ('%QMAKE% -v ^| findstr /B /C:"Using Qt version "') DO SET QT_VERSION=%%a.%%b
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_RELEASE%.%APP_REVISION_VERSION%-%APP_SUFFIX_VERSION%-%ARCHITECTURE%.exe
IF "%APP_SUFFIX_VERSION%" == "" SET INSTALLERNAME=%APP_SHORTNAME%-%APP_RELEASE%.%APP_REVISION_VERSION%-%ARCHITECTURE%.exe
SET PGADMIN4_VERSION=v%APP_RELEASE%
SET PGADMIN4_APP_VERSION=%APP_RELEASE%.%APP_REVISION_VERSION%
ECHO ****************************************************************
ECHO S U M M A R Y
ECHO ****************************************************************
ECHO Target mode = %ARCHITECTURE%
ECHO INNOTOOL = %INNOTOOL%
ECHO VCDIR = %VCDIR%
ECHO VCDIST = %VCREDIST%
ECHO NMAKE = %VCNMAKE%
ECHO QTDIR = %QTDIR%
ECHO QMAKE = %QMAKE%
ECHO QT_VERSION = %QT_VERSION%
IF %QT_VERSION% GEQ 5.5 (
ECHO BROWSER = QtWebEngine
) ELSE (
ECHO BROWSER = QtWebKit
)
ECHO PYTHON_HOME = %PYTHON_HOME%
ECHO PYTHON_DLL = %PYTHON_DLL%
ECHO PGDIR = %PGDIR%
ECHO ****************************************************************
REM Check IF path SET in enviroments really exist or not ?
IF NOT EXIST "%INNOTOOL%" GOTO err_handle_inno
IF NOT EXIST "%VCDIR%" GOTO err_handle_visualstudio
IF NOT EXIST "%VCREDIST%" GOTO err_handle_visualstudio_dist
IF NOT EXIST "%VCVAR%" GOTO err_handle_visualstudio
IF NOT EXIST "%VCNMAKE%" GOTO err_handle_visualstudio
IF NOT EXIST "%QTDIR%" GOTO err_handle_qt
IF NOT EXIST "%QMAKE%" GOTO err_handle_qt
IF NOT EXIST "%PYTHON_HOME%" GOTO err_handle_python
IF NOT EXIST "%PYTHON_DLL%" GOTO err_handle_python
IF NOT EXIST "%PGDIR%" GOTO err_handle_pg
REM Check for QT and VC dependences
FOR /L %%G IN (15,1,19) DO "%VCDIR%\bin\cl.exe" /? 2>&1 | findstr /C:"Version %%G" > nul && SET MSVC_MAJOR_VERSION=%%G
IF %MSVC_MAJOR_VERSION%==19 SET QT_MSVC_PATH=msvc2015
IF %MSVC_MAJOR_VERSION%==18 SET QT_MSVC_PATH=msvc2013
IF %MSVC_MAJOR_VERSION%==17 SET QT_MSVC_PATH=msvc2012
IF %MSVC_MAJOR_VERSION%==16 SET QT_MSVC_PATH=msvc2010
IF %MSVC_MAJOR_VERSION%==15 SET QT_MSVC_PATH=msvc2008
REM on 64 bit machine if x86 is selected and QTDIR is set to 64 bit is should not allow
IF "%OSTYPE%"=="amd64" (
IF "%ARCHITECTURE%"=="x86" (
echo "%QTDIR%" | findstr /C:"_64" > nul && ( GOTO err_handle_qt_compactissue )
)
)
IF "%ARCHITECTURE%"=="amd64" (
SET QT_MSVC_PATH=%QT_MSVC_PATH%_64
)
IF NOT EXIST "%QTDIR%\..\%QT_MSVC_PATH%" GOTO err_handle_qt_mismatch
REM get Python version ex. 2.7.1 will get as 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%"
IF NOT EXIST "%PYTHON_HOME%\Scripts\virtualenv.exe" GOTO err_handle_pythonvirtualenv
SET PATH=%PGDIR%;%PGDIR%\bin;%PATH%
GOTO:eof
:CREATE_VIRTUAL_ENV
ECHO Creating Virtual Enviroment...
IF NOT EXIST "%PGBUILDPATH%" MKDIR "%PGBUILDPATH%"
CD "%PGBUILDPATH%"
"%PYTHON_HOME%\Scripts\virtualenv.exe" "%VIRTUALENV%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Activating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\activate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate"
SET PATH=%PGDIR%\bin;%PATH%
ECHO Installing dependencies...
pip install -r "%WD%\requirements.txt"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
pip install sphinx
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Virtual Environment created successfully.
ECHO Deactivating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\deactivate"
CD %WD%
GOTO:eof
:CREATE_RUNTIME_ENV
ECHO Compiling source code...
MKDIR "%PGBUILDPATH%\runtime" > nul
REM --- Processing WEB ---
CD "%WD%\web"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Install Javascript dependencies
call yarn install
ECHO Bundle all Javascript
call yarn run bundle
XCOPY /S /I /E /H /Y "%WD%\web" "%PGBUILDPATH%\web" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
REM Clean up .pyc, .pyo, pgadmin4.db, config_local.py
ECHO Cleaning up unnecessary files...
FOR /R "%PGBUILDPATH%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f"
FOR /R "%PGBUILDPATH%\web" %%f in (tests feature_tests __pycache__ node_modules) do RD /Q /S "%%f"
RD /Q /S "%PGBUILDPATH%\web\regression"
RD /Q /S "%PGBUILDPATH%\web\tools"
DEL /q "%PGBUILDPATH%\web\pgadmin4.db"
DEL /q "%PGBUILDPATH%\web\config_local.py"
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 Activating Virtual Enviroment - %PGBUILDPATH%\%VIRTUALENV%\Scripts\activate...
CALL "%PGBUILDPATH%\%VIRTUALENV%\Scripts\activate"
ECHO Building docs...
MKDIR "%PGBUILDPATH%\docs\en_US\html"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD "%WD%\docs\en_US"
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\python.exe" build_code_snippet.py
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
"%PGBUILDPATH%\%VIRTUALENV%\Scripts\sphinx-build.exe" "%WD%\docs\en_US" "%PGBUILDPATH%\docs\en_US\html"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Removing Sphinx
pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer
ECHO Assembling runtime environment...
CD "%WD%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL "%VCVAR%" %ARCHITECTURE%
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL "%QMAKE%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL "%VCNMAKE%" clean
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CALL "%VCNMAKE%"
IF ERRORLEVEL 1 GOTO ERR_HANDLER
REM Copy binary to Release Folder
copy "%WD%\runtime\release\pgAdmin4.exe" "%PGBUILDPATH%\runtime"
IF ERRORLEVEL 1 GOTO ERR_HANDLER
REM Copy QT dependences
copy "%QTDIR%\bin\Qt5Core.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Sql.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Gui.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Qml.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5OpenGL.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Quick.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Sensors.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Widgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Network.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Multimedia.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebChannel.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5Positioning.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5PrintSupport.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5MultimediaWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
REM Install the appropriate browser components. We use QtWebEngine with Qt 5.5+
IF %QT_VERSION% GEQ 5.7 (
copy "%QTDIR%\bin\Qt5QuickWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
)
IF %QT_VERSION% GEQ 5.7 (
copy "%QTDIR%\resources\icudtl.dat" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\resources\qtwebengine_resources.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\resources\qtwebengine_devtools_resources.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\resources\qtwebengine_resources_100p.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\resources\qtwebengine_resources_200p.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngine.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngineCore.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngineWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\QtWebEngineProcess.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\opengl32sw.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
) ELSE (
IF %QT_VERSION% GEQ 5.5 (
copy "%QTDIR%\bin\icudt54.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\icuin54.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\icuuc54.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\icudtl.dat" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\qtwebengine_resources.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\qtwebengine_resources_100p.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\qtwebengine_resources_200p.pak" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngine.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngineCore.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebEngineWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\QtWebEngineProcess.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
) ELSE (
copy "%QTDIR%\bin\Qt5WebKit.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\bin\Qt5WebKitWidgets.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
)
)
MKDIR "%PGBUILDPATH%\runtime\platforms"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%QTDIR%\plugins\platforms\qwindows.dll" "%PGBUILDPATH%\runtime\platforms" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO [Paths] > "%PGBUILDPATH%\runtime\qt.conf"
ECHO Plugins=plugins >> "%PGBUILDPATH%\runtime\qt.conf"
copy "%PGDIR%\bin\libpq.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\ssleay32.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libeay32.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libintl-*.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\libiconv-*.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\zlib1.dll" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_dump.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_dumpall.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\pg_restore.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%PGDIR%\bin\psql.exe" "%PGBUILDPATH%\runtime"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
MKDIR "%PGBUILDPATH%\installer"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy "%VCREDIST%" "%PGBUILDPATH%\installer" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Runtime built successfully.
CD %WD%
GOTO:eof
:CREATE_PYTHON_ENV
copy %PYTHON_DLL% "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
REM Copy Python interpretor as it's needed to run background processes
copy %PYTHON_HOME%\python.exe "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
copy %PYTHON_HOME%\pythonw.exe "%PGBUILDPATH%\runtime" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\DLLs" "%PGBUILDPATH%\%VIRTUALENV%\DLLs" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
XCOPY /S /I /E /H /Y "%PYTHON_HOME%\Lib" "%PGBUILDPATH%\%VIRTUALENV%\Lib" > nul
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO Cleaning up unnecessary files...
FOR /R "%PGBUILDPATH%\%VIRTUALENV%" %%f in (*.pyc *.pyo) do DEL /q "%%f"
FOR /R "%PGBUILDPATH%\%VIRTUALENV%\Lib" %%f in (test tests) do RD /Q /S "%%f"
RD /Q /S "%PGBUILDPATH%\%VIRTUALENV%\tcl"
CD %WD%
GOTO:eof
:CREATE_INSTALLER
ECHO Preparing for creation of windows installer...
IF NOT EXIST "%TARGETINSTALLER%" MKDIR "%TARGETINSTALLER%"
copy "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%PGBUILDPATH%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
CD "%WD%"
CD pkg
CD win32
"%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%"""
"%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 """%PGADMIN4_APP_VERSION%"""
"%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 """%PGADMIN4_VERSION%"""
set ARCMODE=
IF "%ARCHITECTURE%"=="amd64" (
set ARCMODE="x64"
)
"%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%"""
"%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%"""
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"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
MOVE "%WD%\pkg\win32\Output\Setup.exe" "%TARGETINSTALLER%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
ECHO "Location - %TARGETINSTALLER%\%INSTALLERNAME%"
ECHO Installer generated successfully.
CD %WD%
GOTO:eof
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
signtool sign /t http://timestamp.verisign.com/scripts/timstamp.dll "%TARGETINSTALLER%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 (
ECHO
ECHO ************************************************************
ECHO * Failed to sign the installer
ECHO ************************************************************
SLEEP 5
)
CD %WD%
GOTO:eof
:CLEANUP_ENV
ECHO Cleaning up private environment...
rd "%PGBUILDPATH%\%VIRTUALENV%\Include" /S /Q
rd "%PGBUILDPATH%\%VIRTUALENV%\Scripts" /S /Q
DEL /s "%PGBUILDPATH%\%VIRTUALENV%\pip-selfcheck.json"
ECHO Cleaned up private environment successfully.
CD %WD%
GOTO:eof
:err_handle_inno
ECHO %INNOTOOL% does not exist
ECHO Please Install Innotool and SET INNOTOOL enviroment Variable.
ECHO SET "INNOTOOL=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_visualstudio
ECHO %VCDIR% does not exist, or
ECHO %VCVAR% does not exist, or
ECHO %VCNMAKE% does not exist.
ECHO Please Install Microsoft Visual studio and SET the VCDIR enviroment Variable.
ECHO SET "VCDIR%=<PATH>"
ECHO SET "VCVAR%=<PATH>"
ECHO SET "VCNMAKE%=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_visualstudio_dist
ECHO %VCREDIST% does not exist
ECHO Please Install Microsoft Visual studio and SET the VCDIST enviroment Variable.
ECHO SET "VCDIST%=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_python
ECHO %PYTHON_HOME% does not exist, or
ECHO PYTHON_VERSION is not SET, or
ECHO %PYTHON_DLL% does not exist.
ECHO Please install Python and SET the PYTHON_HOME enviroment Variable.
ECHO SET "PYTHON_VERSION=<VERSION NUMBER>"
ECHO SET "PYTHON_HOME=<PATH>"
ECHO SET "PYTHON_DLL=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_qt
ECHO %QTDIR% does not exist.
ECHO Please Install QT SDK and SET the QTDIR enviroment variable.
ECHO SET "QTDIR=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_qt_mismatch
ECHO %QTDIR%\..\%QT_MSVC_PATH%" does not match with your current Visual Studio, version %QT_MSVC_PATH%
ECHO Your current QT installation willraise a linking error with an MSVC version mismatch.
ECHO Please use a valid QT installation with a folder %QT_MSVC_PATH%. You can use the Qt Maintenance
ECHO Tool to add or remove compiler kits.
exit /B 1
GOTO EXIT
:err_handle_qt_compactissue
ECHO %QTDIR%" does support the current architecture selected %ARCHITECTURE%
ECHO Please use a valid QT installation with a folder %QT_MSVC_PATH%. You can use the Qt Maintenance
ECHO Tool to add or remove compiler kits.
exit /B 1
GOTO EXIT
:err_handle_pg
ECHO %PGDIR% does not exist.
ECHO Please Install Postgres and SET enviroment Variable
ECHO SET "PGDIR=<PATH>"
exit /B 1
GOTO EXIT
:err_handle_pythonvirtualenv
ECHO Python virtualenv is missing @ location - %PYTHON_HOME%\Scripts\virtualenv.exe
exit /B 1
GOTO EXIT
:ERR_HANDLER
ECHO.
ECHO Aborting build!
CD %WD%
exit /B 1
GOTO EXIT
:USAGE
ECHO Invalid command line options....
ECHO Usage: "Make.bat <x86 | amd64 | clean>"
ECHO.
exit /B 1
GOTO EXIT
:EXIT
@ECHO off
SETLOCAL
SET WD=%CD%
SET "BUILDROOT=%WD%\win-build"
SET "TMPDIR=%WD%\win-temp"
SET "DISTROOT=%WD%\dist"
SET CMDOPTIONS=""
IF "%1" == "clean" SET CMDOPTIONS="VALID"
IF "%1" == "" SET CMDOPTIONS="VALID"
IF NOT %CMDOPTIONS%=="VALID" (
GOTO USAGE
)
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_PYTHON_ENV || EXIT /B 1
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
CALL :CREATE_INSTALLER || EXIT /B 1
CALL :SIGN_INSTALLER || EXIT /B 1
EXIT /B %ERRORLEVEL%
REM Main build sequence Ends
:CLEAN
ECHO Removing build directory...
IF EXIST "%BUILDROOT%" RD "%BUILDROOT%" /S /Q > nul || EXIT /B 1
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...
IF EXIST DEL /q "%WD%\pkg\win32\installer.iss" > nul || EXIT /B 1
EXIT /B 0
:SET_ENVIRONMENT
ECHO Configuring the environment...
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 REDIST_NAME (the filename)
set "VCREDIST_FILE=vcredist_x64.exe"
REM Set additional variables we need
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 ('%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%-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. 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 * Build summary
ECHO ****************************************************************
ECHO Build path: %BUILDROOT%
ECHO Output directory: %DISTROOT%
ECHO Installer name: %INSTALLERNAME%
ECHO.
ECHO Python directory: %PGADMIN_PYTHON_DIR%
ECHO Python version: %PYTHON_MAJOR%.%PYTHON_MINOR%.%PYTHON_REVISION%
ECHO.
ECHO KRB5 directory: %PGADMIN_KRB5_DIR%
ECHO PostgreSQL directory: %PGADMIN_POSTGRES_DIR%
ECHO.
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 App version: %APP_VERSION%
ECHO App version suffix: %APP_VERSION_SUFFIX%
ECHO App short name: %APP_SHORTNAME%
ECHO App name: %APP_NAME%
ECHO ****************************************************************
ECHO Checking the environment...
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 "%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 "%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 "%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 "%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 "%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=%PGADMIN_POSTGRES_DIR%\bin;%PATH%"
EXIT /B 0
:CREATE_VIRTUAL_ENV
ECHO Creating virtual environment...
IF NOT EXIST "%TMPDIR%" MKDIR "%TMPDIR%"
CD "%TMPDIR%"
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 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
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...
ROBOCOPY /S "%WD%\web" "%BUILDROOT%\web" > nul
CALL :CHECK_ROBOCOPY_ERROR
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 "%BUILDROOT%\web" %%f in (*.pyc *.pyo) do DEL /q "%%f" 1> nul 2>&1
ECHO Removing tests, Python caches and node modules...
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 "%BUILDROOT%\web\regression" 1> nul 2>&1
ECHO Removing tools...
RD /Q /S "%BUILDROOT%\web\tools" 1> nul 2>&1
ECHO Removing any existing configurations...
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 > "%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...
CALL pip install sphinx || EXIT /B 1
MKDIR "%BUILDROOT%\docs\en_US\html"
CD "%WD%\docs\en_US"
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
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 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
COPY "%WD%\runtime\package.json" "%BUILDROOT%\runtime\" > nul || EXIT /B 1
CD "%BUILDROOT%\runtime\"
CALL yarn install --production=true || 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
REM YARN
REM CALL yarn --cwd "%TMPDIR%" add nw || EXIT /B
REM YARN END
REM WGET
REM Comment out the below for loop as the latest version (0.62.0) having
REM some problem, so for the time being hardcoded the version to 0.61.0
REM FOR /f "tokens=2 delims='" %%i IN ('yarn info nw ^| findstr "latest: "') DO SET "NW_VERSION=%%i"
REM :GET_NW
REM wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
REM IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
SET "NW_VERSION=0.61.0"
wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
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 "%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 "%BUILDROOT%\installer" || EXIT /B 1
COPY "%PGADMIN_VCREDIST_DIR%\%VCREDIST_FILE%" "%BUILDROOT%\installer" > nul || EXIT /B 1
CD %WD%
EXIT /B 0
:CREATE_INSTALLER
ECHO Preparing for creation of windows installer...
IF NOT EXIST "%DISTROOT%" MKDIR "%DISTROOT%"
ECHO Copying icon file...
COPY "%WD%\pkg\win32\Resources\pgAdmin4.ico" "%BUILDROOT%" > nul || EXIT /B 1
CD "%WD%\pkg\win32"
ECHO Processing installer configuration script...
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 "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss" || EXIT /B 1
ECHO Renaming installer...
MOVE "%WD%\pkg\win32\Output\pgadmin4-setup.exe" "%DISTROOT%\%INSTALLERNAME%" > nul || EXIT /B 1
ECHO Location - %DISTROOT%\%INSTALLERNAME%
ECHO Installer generated successfully.
CD %WD%
EXIT /B 0
:SIGN_INSTALLER
ECHO Attempting to sign the installer...
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" sign /t http://time.certum.pl "%DISTROOT%\%INSTALLERNAME%"
IF %ERRORLEVEL% NEQ 0 (
ECHO.
ECHO ************************************************************
ECHO * Failed to sign the installer
ECHO ************************************************************
PAUSE
)
EXIT /B 0
:USAGE
ECHO Invalid command line options.
ECHO Usage: "Make.bat [clean]"
ECHO.
EXIT /B 1
:CHECK_ROBOCOPY_ERROR
IF %ERRORLEVEL% GEQ 8 EXIT /B %ERRORLEVEL%
EXIT /B 0
+87 -13
View File
@@ -2,81 +2,155 @@
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2017, The pgAdmin Development Team
# Copyright (C) 2013 - 2018, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
#########################################################################
SHELL = /bin/sh
APP_NAME := $(shell grep ^APP_NAME web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]' | tr -d "'" | awk '{print tolower($$0)}')
APP_RELEASE := $(shell grep ^APP_RELEASE web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
APP_REVISION := $(shell grep ^APP_REVISION web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
#########################################################################
# High-level targets
#########################################################################
# Include only platform-independent builds in all
all: docs pip src
all: docs pip src runtime
appbundle: docs
appbundle:
./pkg/mac/build.sh
appbundle-webkit: docs
PGADMIN4_USE_WEBKIT=1 ./pkg/mac/build.sh
install-node:
cd web && yarn install
bundle:
cd web && yarn run bundle
bundle-dev:
cd web && yarn run bundle:dev
linter:
cd web && yarn run linter
check: install-node bundle linter
cd web && yarn run karma start -- --single-run && python regression/runtests.py
check: install-node bundle linter check-pep8
cd web && yarn run karma start --single-run && python regression/runtests.py
check-python: install-node bundle
check-audit:
cd web && yarn run audit
check-auditjs:
# 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 run auditjs
cd web && yarn run auditjs --groups dependencies
check-auditjs-html:
cd web && yarn run auditjs-html
check-auditpy:
cd web && yarn run auditpy
check-pep8:
pycodestyle --config=.pycodestyle docs/
pycodestyle --config=.pycodestyle pkg/
pycodestyle --config=.pycodestyle web/
pycodestyle --config=.pycodestyle tools/
check-python:
cd web && python regression/runtests.py --exclude feature_tests
check-resql:
cd web && python regression/runtests.py --pkg resql --exclude feature_tests
check-feature: install-node bundle
cd web && python regression/runtests.py --pkg feature_tests
check-js: install-node linter
cd web && yarn run karma start -- --single-run
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
runtime:
cd runtime && qmake CONFIG+=release && make
# Include all clean sub-targets in clean
clean: clean-appbundle clean-dist clean-docs clean-pip clean-src
clean: clean-appbundle clean-debian clean-dist clean-docs clean-node clean-pip clean-redhat clean-src clean-runtime
rm -rf web/pgadmin/static/js/generated/*
rm -rf web/pgadmin/static/js/generated/.cache
rm -rf web/pgadmin/static/css/generated/*
rm -rf web/pgadmin/static/css/generated/.cache
clean-runtime:
if [ -f runtime/Makefile ]; then (cd runtime && make clean); fi;
rm -rf build-*
clean-appbundle:
rm -rf mac-build/
clean-debian:
rm -rf debian-build/
clean-dist:
rm -rf dist/
clean-docs:
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx clean
clean-node:
rm -rf web/node-modules/
clean-pip:
rm -rf pip-build/
clean-redhat:
rm -rf redhat-build/
clean-src:
rm -rf src-build/
debian:
./pkg/debian/build.sh
docker:
echo $(APP_NAME)
docker build -t ${APP_NAME} -t $(APP_NAME):latest -t $(APP_NAME):$(APP_RELEASE) -t $(APP_NAME):$(APP_RELEASE).$(APP_REVISION) .
docs:
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html
docs-pdf:
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx latexpdf
docs-epub:
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx epub
messages: msg-extract msg-update msg-compile
msg-compile:
cd web && pybabel compile -d pgadmin/translations
cd web && pybabel compile --statistics -d pgadmin/translations
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
pip: docs
./pkg/pip/build.sh
redhat:
./pkg/redhat/build.sh
src:
./pkg/src/build.sh
-326
View File
@@ -1,326 +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 browser and Python interpretor in one package which is
capable of hosting the Python application and presenting it to the user as a
desktop application.
Building the Runtime
--------------------
To build the runtime, the following packages must be installed:
- QT 4.6 or above, up to 5.5 (older versions may work, but haven't been tested,
newer versions are not yet supported as Qt Webkit has been deprecated).
- Python 2.6, 2.7 or 3.3+
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.
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.6, 2.7 or 3.3+ 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.
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 use Alt+Shift+P
to open the path 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\9.6
PYTHON_DLL=C:\Windows\System32\Python27.dll
PYTHON_HOME=C:\Python27
PYTHON_VERSION=27
QTDIR=C:\Qt\5.5\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
+279
View File
@@ -0,0 +1,279 @@
# 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:
```bash
node_modules/nw/nwjs/nw .
```
or on macOS:
```bash
node_modules/nw/nwjs/nwjs.app/Contents/MacOS/nwjs .
```
# 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. Create a virtual environment in an appropriate directory. The last argument is
the name of the environment; that can be changed as desired:
```bash
$ python3 -m venv venv
```
2. Now activate the virtual environment:
```bash
$ source venv/bin/activate
```
3. Some of the components used by pgAdmin require a very recent version of *pip*,
so update that to the latest:
```bash
$ pip install --upgrade pip
```
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:
```bash
(venv) $ 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:
```bash
(venv) $ 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:
```bash
(venv) $ python3 $PGADMIN4_SRC/web/setup.py
```
or by starting pgAdmin 4:
```bash
(venv) $ python3 $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.
# 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:
```bash
(venv) $ cd $PGADMIN4_SRC
(venv) $ make install-node
(venv) $ 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:
```bash
$ source venv/bin/activate
(venv) $ pip install Sphinx
```
The docs can then be built using the Makefile in *$PGADMIN4_SRC*, e.g.
```bash
(venv) $ 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:
```bash
(venv) $ make src
```
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
with all the required packages, and then run:
```bash
(venv) $ make pip
```
To build the macOS AppBundle, please see *pkg/mac/README*.
To build the Windows installer, please see *pkg/win32/README.txt*.
# Create Database Migrations
In order to make changes to the SQLite DB, navigate to the 'web' directory:
```bash
(venv) $ cd $PGADMIN4_SRC/web
```
Create a migration file with the following command:
```bash
(venv) $ 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.
# 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
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
echo "EXECUTING: Build docs"
echo
cd $WORKSPACE
. $WORKSPACE/pgadmin-venv/bin/activate
SPHINX_VER=""
if [ "$PYTHON_VERSION" = "2.6" -o "$PYTHON_VERSION" = "3.3" ]; then
SPHINX_VER="==1.4.9"
fi
$WORKSPACE/pgadmin-venv/bin/pip install Sphinx$SPHINX_VER || { echo 'ERROR: Failed to install Sphinx to build the docs.' ; exit 1; }
make docs || { echo 'ERROR: Failed to build the documentation.' ; exit 1; }
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
echo "EXECUTING: Build PIP wheel"
echo
cd $WORKSPACE
. $WORKSPACE/pgadmin-venv/bin/activate
SPHINX_VER=""
if [ "$PYTHON_VERSION" = "2.6" -o "$PYTHON_VERSION" = "3.3" ]; then
SPHINX_VER="==1.4.9"
fi
$WORKSPACE/pgadmin-venv/bin/pip install Sphinx$SPHINX_VER || { echo 'ERROR: Failed to install Sphinx to build the PIP wheel.' ; exit 1; }
make pip || { echo 'ERROR: Failed to build the PIP wheel.' ; exit 1; }
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
echo "EXECUTING: Build runtime - QT4"
echo
cd $WORKSPACE/runtime
make clean
PATH=/usr/local/python-$PYTHON_VERSION/bin:$PATH /bin/qmake-qt4 || { echo 'ERROR: Failed to run the QT4 qmake step.' ; exit 1; }
make all || { echo 'ERROR: Failed to build the QT4 runtime.' ; exit 1; }
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
echo "EXECUTING: Build runtime - QT5"
echo
cd $WORKSPACE/runtime
make clean
PATH=/usr/local/python-$PYTHON_VERSION/bin:$PATH /bin/qmake-qt5 DEFINES+=PGADMIN4_USE_WEBKIT || { echo 'ERROR: Failed to run the QT5 qmake step.' ; exit 1; }
make all || { echo 'ERROR: Failed to build the QT4 runtime.' ; exit 1; }
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
echo "EXECUTING: Build Tarballs"
echo
cd $WORKSPACE
. $WORKSPACE/pgadmin-venv/bin/activate
SPHINX_VER=""
if [ "$PYTHON_VERSION" = "2.6" -o "$PYTHON_VERSION" = "3.3" ]; then
SPHINX_VER="==1.4.9"
fi
$WORKSPACE/pgadmin-venv/bin/pip install Sphinx$SPHINX_VER || { echo 'ERROR: Failed to install Sphinx to build the tarballs.' ; exit 1; }
cd $WORKSPACE/
make src || { echo 'ERROR: Failed to build the tarballs.' ; exit 1; }
-11
View File
@@ -1,11 +0,0 @@
#!/bin/sh
$WORKSPACE/ci/create_config.sh || { echo 'ERROR: Failed to create the configuration.' ; exit 1; }
$WORKSPACE/ci/run_python_tests.sh || { echo 'ERROR: Error detected when running the Python tests.' ; exit 1; }
$WORKSPACE/ci/run_jasmine_tests.sh || { echo 'ERROR: Error detected when running the Jasmine tests.' ; exit 1; }
$WORKSPACE/ci/build_docs.sh || { echo 'ERROR: Failed to build the documentation.' ; exit 1; }
$WORKSPACE/ci/build_runtime_qt4.sh || { echo 'ERROR: Failed to build the QT4 runtime.' ; exit 1; }
$WORKSPACE/ci/build_runtime_qt5.sh || { echo 'ERROR: Failed to build the QT5 runtime.' ; exit 1; }
$WORKSPACE/ci/update_messages.sh || { echo 'ERROR: Failed to update translation message catalogs.' ; exit 1; }
$WORKSPACE/ci/build_pip_wheel.sh || { echo 'ERROR: Failed to build the PIP wheel.' ; exit 1; }
$WORKSPACE/ci/build_tarballs.sh || { echo 'ERROR: Failed to build the tarballs.' ; exit 1; }
-15
View File
@@ -1,15 +0,0 @@
#!/bin/sh
echo "EXECUTING: Create pgAdmin config"
echo
cd $WORKSPACE
cp $JENKINS_HOME/pgadmin-configs/config_local.py $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
echo LOG_FILE = \"$WORKSPACE/var/pgadmin4.log\" >> $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
echo SESSION_DB_PATH = \"$WORKSPACE/var/sessions\" >> $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
echo STORAGE_DIR = \"$WORKSPACE/var/storage\" >> $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
echo SQLITE_PATH = \"$WORKSPACE/var/pgadmin4.db\" >> $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
echo TEST_SQLITE_PATH = \"$WORKSPACE/var/pgadmin4.db\" >> $WORKSPACE/web/config_local.py || { echo 'ERROR: Failed to create config_local.py.' ; exit 1; }
cp $JENKINS_HOME/pgadmin-configs/test_config.json $WORKSPACE/web/regression/test_config.json || { echo 'ERROR: Failed to copy the test configuration.' ; exit 1; }
-42
View File
@@ -1,42 +0,0 @@
#!/bin/sh
echo "EXECUTING: Feature tests"
echo
echo "Starting virtual frame buffer..."
echo
Xvfb -ac :99 -screen 0 1280x1024x16 &
FB_PID=$!
export DISPLAY=:99
echo "Creating Python ${PYTHON_VERSION} virtual environment..."
echo
cd $WORKSPACE/
PYTHON_SUFFIX=""
if [[ "$PYTHON_VERSION" == 3* ]]; then
PYTHON_SUFFIX="3"
fi
/usr/bin/virtualenv -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; }
. $WORKSPACE/pgadmin-venv/bin/activate || { echo 'ERROR: Failed to activate the Python virtual environment.' ; exit 1; }
$WORKSPACE/pgadmin-venv/bin/pip install -r requirements.txt || { echo 'ERROR: Failed to install the application requirements.' ; exit 1; }
$WORKSPACE/pgadmin-venv/bin/pip install -r web/regression/requirements.txt || { echo 'ERROR: Failed to install the regression test requirements.' ; exit 1; }
cd web
/usr/bin/yarn install || { echo 'ERROR: Failed to install the required Javascript modules.' ; exit 1; }
/usr/bin/yarn run bundle || { echo 'ERROR: Failed to bundle the Javascript code.' ; exit 1; }
cd ../
echo "Running regression tests..."
echo
$WORKSPACE/pgadmin-venv/bin/python $WORKSPACE/web/regression/runtests.py --pkg feature_tests || { echo 'ERROR: Error detected when running the Feature tests.' ; exit 1; }
echo "Cleaning up..."
echo
kill $FB_PID
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
echo "EXECUTING: Jasmine tests"
echo
cd $WORKSPACE/web/
/usr/bin/yarn install || { echo 'ERROR: Failed to install the required Javascript modules.' ; exit 1; }
/usr/bin/yarn run linter || { echo 'ERROR: Failed to lint the Javascript code.' ; exit 1; }
./node_modules/.bin/karma start --single-run || { echo 'ERROR: Error detected when running the Jasmine tests.' ; exit 1; }
-26
View File
@@ -1,26 +0,0 @@
#!/bin/sh
echo "EXECUTING: Python tests"
echo
echo "Creating Python ${PYTHON_VERSION} virtual environment..."
echo
cd $WORKSPACE/
PYTHON_SUFFIX=""
if [[ "$PYTHON_VERSION" == 3* ]]; then
PYTHON_SUFFIX="3"
fi
/usr/bin/virtualenv -p /usr/local/python-$PYTHON_VERSION/bin/python$PYTHON_SUFFIX $WORKSPACE/pgadmin-venv || { echo 'ERROR: Failed to create the Python virtual environment.' ; exit 1; }
. $WORKSPACE/pgadmin-venv/bin/activate || { echo 'ERROR: Failed to activate the Python virtual environment.' ; exit 1; }
$WORKSPACE/pgadmin-venv/bin/pip install -r requirements.txt || { echo 'ERROR: Failed to install the application requirements.' ; exit 1; }
$WORKSPACE/pgadmin-venv/bin/pip install -r web/regression/requirements.txt || { echo 'ERROR: Failed to install the regression test requirements.' ; exit 1; }
echo "Running regression tests..."
echo
$WORKSPACE/pgadmin-venv/bin/python $WORKSPACE/web/regression/runtests.py --exclude feature_tests || { echo 'ERROR: Error detected when running the Python tests.' ; exit 1; }
-14
View File
@@ -1,14 +0,0 @@
#!/bin/sh
echo "EXECUTING: Compile messages"
echo
cd $WORKSPACE/web
. $WORKSPACE/pgadmin-venv/bin/activate || { echo 'ERROR: Failed to activate the Python virtual environment.' ; exit 1; }
pybabel extract -F babel.cfg -o pgadmin/messages.pot pgadmin || { echo 'ERROR: Failed to extract messages from the source code.' ; exit 1; }
pybabel update -i pgadmin/messages.pot -d pgadmin/translations || { echo 'ERROR: Failed to update message catalogs from the template.' ; exit 1; }
pybabel compile -d pgadmin/translations || { echo 'ERROR: Failed to compile the message catalogs.' ; exit 1; }
+15 -7
View File
@@ -1,17 +1,25 @@
.. _add_restore_point_dialog:
**********************************
The Add named restore point Dialog
**********************************
***************************************
`Add Named Restore Point Dialog`:index:
***************************************
Use the *Add named restore point* dialog to take a named snapshot of the state of the server for use in a recovery file. To create a named restore point, the server's postgresql.conf file must specify a *wal_level* value of *archive*, *hot_standby*, or *logical*. You must be a database superuser to create a restore point.
Use the *Add named restore point* dialog to take a named snapshot of the state
of the server for use in a recovery file. To create a named restore point, the
server's postgresql.conf file must specify a *wal_level* value of *replica*,
*logical*, or *minimal*. You must be a database superuser to create a
restore point.
.. image:: images/add_restore_point.png
:alt: Restore point dialog
:align: center
When the *Restore point name* window launches, use the field *Enter the name of the restore point to add* to provide a descriptive name for the restore point.
When the *Restore point name* window launches, use the field *Enter the name of
the restore point to add* to provide a descriptive name for the restore point.
For more information about using a restore point as a recovery target, please see the `PostgreSQL
documentation <http://www.postgresql.org/docs/9.5/static/recovery-target-settings.html#RECOVERY-TARGET-NAME>`_.
For more information about using a restore point as a recovery target, please
see the
`PostgreSQL documentation <https://www.postgresql.org/docs/current/recovery-target-settings.html#RECOVERY-TARGET-NAME>`_.
* Click the *OK* button to save the restore point.
* Click the *Cancel* button to exit without saving work.
+6 -6
View File
@@ -1,12 +1,12 @@
.. _backup_and_restore:
******************
Backup and Restore
******************
***************************
`Backup and Restore`:index:
***************************
A powerful, but user-friendly Backup and Restore tool provides an easy way to use pg_dump, pg_dumpall, and pg_restore to take backups and create copies of databases or database objects for use in a development environment.
Contents:
A powerful, but user-friendly Backup and Restore tool provides an easy way to
use pg_dump, pg_dumpall, and pg_restore to take backups and create copies of
databases or database objects for use in a development environment.
.. toctree::
+172 -57
View File
@@ -1,108 +1,223 @@
.. _backup_dialog:
*****************
The Backup Dialog
*****************
**********************
`Backup Dialog`:index:
**********************
Using the *pg_dump* utility, *pgAdmin* provides 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* utility must have read access to all database objects that you want to back up.
*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*
utility must have read access to all database objects that you want to back up.
You can backup a single table, a schema, or a complete database. Select the name of the backup source in the *pgAdmin* tree control, right click to open the context menu, and select *Backup...* to open the *Backup* dialog. The name of the object selected will appear in the dialog title bar.
You can backup a single table, a schema, or a complete database. Select the name
of the backup source in the *pgAdmin* tree control, right click to open the
context menu, and select *Backup...* to open the *Backup* dialog. The name of
the object selected will appear in the dialog title bar.
.. image:: images/backup_general.png
:alt: Backup dialog general tab
:align: center
Use the fields in the *General* tab to specify parameters for the backup:
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (...) to the right to navigate into a directory and select a file that will contain the archive.
* Use the drop-down listbox in the *Format* field to select the format that is best suited for your application. Each format has advantages and disadvantages:
* Enter the name of the backup file in the *Filename* field. Optionally, select
the *Browser* icon (...) to the right to navigate into a directory and select
a file that will contain the archive.
* Select *Custom* to create a custom archive file that you can use with *pg_restore* to create a copy of a database. Custom archive file formats must be restored with *pg_restore*. This format offers the opportunity to select which database objects to restore from the backup file. *Custom* archive format is recommended for medium to large databases as it is compressed by default.
* Use the drop-down listbox in the *Format* field to select the format that is
best suited for your application. Each format has advantages and
disadvantages:
* Select *Tar* to generate a tar archive file that you can restore with *pg_restore*. The tar format does not support compression.
* Select *Plain* to create a plain-text script file. A plain-text script file contains SQL statements and commands that you can execute at the *psql* command line to recreate the database objects and load the table data. A plain-text backup file can be edited in a text editor, if desired, before using the *psql* program to restore database objects. *Plain* format is normally recommended for smaller databases; script dumps are not recommended for blobs. The SQL commands within the script will reconstruct the database to the last saved state of the database. A plain-text script can be used to reconstruct the database on another machine, or (with modifications) on other architectures.
* Select *Directory* to generate a directory-format archive suitable for use with *pg_restore*. This file format creates a directory with one file for each table and blob being dumped, plus a *Table of Contents* file describing the dumped objects in a machine-readable format that *pg_restore* can read. This format is compressed by default.
* Select *Custom* to create a custom archive file that you can use with
*pg_restore* to create a copy of a database. Custom archive file formats
must be restored with *pg_restore*. This format offers the opportunity to
select which database objects to restore from the backup file. *Custom*
archive format is recommended for medium to large databases as it is
compressed by default.
* Use the *Compression Ratio* field to select a compression level for the backup. Specify a value of zero to mean use no compression; specify a maximum compression value of 9. Please note that tar archives do not support compression.
* Use the *Encoding* drop-down listbox to select the character encoding method that should be used for the archive.
* Use the *Number of Jobs* field (when applicable) to specify the number of tables that will be dumped simultaneously in a parallel backup.
* Use the dropdown listbox next to *Rolename* to specify the role that owns the backup.
* Select *Tar* to generate a tar archive file that you can restore with
*pg_restore*. The tar format does not support compression.
Click the *Dump options* tab to continue. Use the box fields in the *Dump options* tab to provide options for *pg_dump*.
* Select *Plain* to create a plain-text script file. A plain-text script file
contains SQL statements and commands that you can execute at the *psql*
command line to recreate the database objects and load the table data. A
plain-text backup file can be edited in a text editor, if desired, before
using the *psql* program to restore database objects. *Plain* format is
normally recommended for smaller databases; script dumps are not
recommended for blobs. The SQL commands within the script will reconstruct
the database to the last saved state of the database. A plain-text script
can be used to reconstruct the database on another machine, or (with
modifications) on other architectures.
* Select *Directory* to generate a directory-format archive suitable for use
with *pg_restore*. This file format creates a directory with one file for
each table and blob being dumped, plus a *Table of Contents* file
describing the dumped objects in a machine-readable format that
*pg_restore* can read. This format is compressed by default.
* Use the *Compression Ratio* field to select a compression level for the
backup. Specify a value of zero to mean use no compression; specify a maximum
compression value of 9. Please note that tar archives do not support
compression.
* Use the *Encoding* drop-down listbox to select the character encoding method
that should be used for the archive.
* Use the *Number of Jobs* field (when applicable) to specify the number of
tables that will be dumped simultaneously in a parallel backup.
* Use the dropdown listbox next to *Rolename* to specify the role that owns the
backup.
Click the *Data/Objects* tab to continue. Use the fields in the *Data/Objects*
tab to provide options related to data or pgAdmin objects that correspond to *pg_dump*.
.. image:: images/backup_sections.png
:alt: Sections option on backup dialog
:align: center
* Move switches in the **Sections** field box to select a portion of the object that will be backed up.
* Move switches in the **Sections** field box to select a portion of the object
that will be backed up.
* Move the switch next to *Pre-data* to the *Yes* position to include all data definition items not included in the data or post-data item lists.
* Move the switch next to *Data* to the *Yes* position to backup actual table data, large-object contents, and sequence values.
* Move the switch next to *Post-data* to the *Yes* position to include definitions of indexes, triggers, rules, and constraints other than validated check constraints.
.. image:: images/backup_objects.png
* Move the switch next to *Pre-data* towards right position to include all
data definition items not included in the data or post-data item lists.
* Move switches in the **Type of objects** field box to specify details about the type of objects that will be backed up.
* Move the switch next to *Data* towards right position to backup actual table
data, large-object contents, and sequence values.
* Move the switch next to *Only data* to the *Yes* position to limit the back up to data.
* Move the switch next to *Only schema* to limit the back up to schema-level database objects.
* Move the switch next to *Blobs* to the *No* position to exclude large objects in the backup.
* Move the switch next to *Post-data* towards right position to include
definitions of indexes, triggers, rules, and constraints other than
validated check constraints.
.. image:: images/backup_objects.png
:alt: Type of objects option on backup dialog
:align: center
* Move switches in the **Type of objects** field box to specify details about
the type of objects that will be backed up.
* Move the switch next to *Only data* towards right position to limit the back
up to data.
* Move the switch next to *Only schema* to limit the back up to schema-level
database objects.
* Move the switch next to *Blobs* towards left position to exclude large
objects in the backup.
.. image:: images/backup_do_not_save.png
:alt: Do not save option on backup dialog
:align: center
* Move switches in the **Do not save** field box to select the objects that will not be included in the backup.
* Move switches in the **Do not save** field box to select the objects that will
not be included in the backup.
* Move the switch next to *Owner* to the *Yes* position to include commands that set object ownership.
* Move the switch next to *Owner* towards right position to exclude commands
that set object ownership.
* Move the switch next to *Privilege* to the *Yes* position to include commands that create access privileges.
* Move the switch next to *Privilege* towards right position to exclude
commands that create access privileges.
* Move the switch next to *Tablespace* to the *Yes* position to include tablespaces.
* Move the switch next to *Tablespace* towards right position to exclude
tablespaces.
* Move the switch next to *Unlogged table data* to the *Yes* position to include the contents of unlogged tables.
* Move the switch next to *Unlogged table data* towards right position to
exclude the contents of unlogged tables.
* Move the switch next to *Comments* towards right position to exclude
commands that set the comments. **Note:** This option is visible only for
database server greater than or equal to 11.
Click the *Options* tab to continue. Use these additional fields to specify
options like including ddl statements, verbose message or using set session
authorization corresponding to *pg_dump* options.
.. image:: images/backup_queries.png
:alt: Queries option on backup dialog
:align: center
* Move switches in the **Queries** field box to specify the type of statements that should be included in the backup.
* Move switches in the **Queries** field box to specify the type of statements
that should be included in the backup.
* Move the switch next to *Use Column Inserts* to the *Yes* position to dump the data in the form of INSERT statements and include explicit column names. Please note: this may make restoration from backup slow.
* Move the switch next to *Use Column Inserts* towards right position to dump
the data in the form of INSERT statements and include explicit column
names. Please note: this may make restoration from backup slow.
* Move the switch next to *Use Insert commands* to the *Yes* position to dump the data in the form of INSERT statements rather than using a COPY command. Please note: this may make restoration from backup slow.
* Move the switch next to *Use Insert commands* towards right position to
dump the data in the form of INSERT statements rather than using a COPY
command. Please note: this may make restoration from backup slow.
* Move the switch next to *Include CREATE DATABASE statement* to the *Yes* position to include a command in the backup that creates a new database when restoring the backup.
* Move the switch next to *Include CREATE DATABASE statement* towards right
position to include a command in the backup that creates a new database
when restoring the backup.
* Move the switch next to *Include DROP DATABASE statement* to the *Yes* position to include a command in the backup that will drop any existing database object with the same name before recreating the object during a backup.
* Move the switch next to *Include DROP DATABASE statement* towards right
position to include a command in the backup that will drop any existing
database object with the same name before recreating the object during a
backup.
* Move the switch next to *Load Via Partition Root* towards right position,
so when dumping a COPY or INSERT statement for a partitioned table, target
the root of the partitioning hierarchy which contains it rather than the
partition itself. **Note:** This option is visible only for database server
greater than or equal to 11.
.. image:: images/backup_disable.png
:alt: Disable option on backup dialog
:align: center
* Move switches in the **Disable** field box to specify the type of statements that should be excluded from the backup.
* Move switches in the **Disable** field box to specify the type of statements
that should be excluded from the backup.
* Move the switch next to *Trigger* (active when creating a data-only backup) to the *Yes* position to include commands that will disable triggers on the target table while the data is being loaded.
* Move the switch next to *Trigger* (active when creating a data-only backup)
towards right position to include commands that will disable triggers on the
target table while the data is being loaded.
* Move the switch next to *$ quoting* towards right position to enable dollar
quoting within function bodies; if disabled, the function body will be
quoted using SQL standard string syntax.
* Move the switch next to *$ quoting* to the *Yes* position to enable dollar quoting within function bodies; if disabled, the function body will be quoted using SQL standard string syntax.
.. image:: images/backup_miscellaneous.png
:alt: Miscellaneous option on backup dialog
:align: center
* Move switches in the **Miscellaneous** field box to specify miscellaneous backup options.
* Move switches in the **Miscellaneous** field box to specify miscellaneous
backup options.
* Move the switch next to *With OIDs* to the *Yes* position to include object identifiers as part of the table data for each table.
* Move the switch next to *With OIDs* towards right position to include object
identifiers as part of the table data for each table.
* Move the switch next to *Verbose messages* to the *No* position to instruct *pg_dump* to exclude verbose messages.
* Move the switch next to *Verbose messages* towards left position to instruct
*pg_dump* to exclude verbose messages.
* Move the switch next to *Force double quotes on identifiers* to the *Yes* position to force the quoting of all identifiers.
* Move the switch next to *Force double quotes on identifiers* towards right
position to force the quoting of all identifiers.
* Move the switch next to *Use SET SESSION AUTHORIZATION* to the *Yes* position to include a statement that will use a SET SESSION AUTHORIZATION command to determine object ownership (instead of an ALTER OWNER command).
* Move the switch next to *Use SET SESSION AUTHORIZATION* towards right
position to include a statement that will use a SET SESSION AUTHORIZATION
command to determine object ownership (instead of an ALTER OWNER command).
When you’ve specified the details that will be incorporated into the pg_dump command:
When you’ve specified the details that will be incorporated into the pg_dump
command:
* Click the *Backup* button to build and execute a command that builds a backup
based on your selections on the *Backup* dialog.
* Click the *Backup* button to build and execute a command that builds a backup based on your selections on the *Backup* dialog.
* Click the *Cancel* button to exit without saving work.
.. image:: images/backup_messages.png
.. image:: images/backup_messages.png
:alt: Backup success notification popup
:align: center
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.
Use the **Stop Process** button to stop the Backup process.
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
If the backup is unsuccessful, you can review the error messages returned by the backup command on the *Process Watcher*.
: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*.
.. 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
+42 -14
View File
@@ -1,29 +1,57 @@
.. _backup_globals_dialog:
*************************
The Backup Globals Dialog
*************************
******************************
`Backup Globals Dialog`:index:
******************************
Use the *Backup Globals* dialog to create a plain-text script that recreates all of the database objects within a cluster, and the global objects that are shared by those databases. Global objects include tablespaces, roles, and object properties. You can use the pgAdmin *Query Tool* to play back a plain-text script, and recreate the objects in the backup.
Use the *Backup Globals* dialog to create a plain-text script that recreates all
of the database objects within a cluster, and the global objects that are shared
by those databases. Global objects include tablespaces, roles, and object
properties. You can use the pgAdmin *Query Tool* to play back a plain-text
script, and recreate the objects in the backup.
.. image:: images/backup_globals_general.png
:alt: Backup globals dialog
:align: center
Use the fields in the *General* tab to specify the following:
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select a file that will contain the archive.
* Use the drop-down listbox next to *Role name* to specify a role with connection privileges on the selected server. The role will be used for authentication during the backup.
* Enter the name of the backup file in the *Filename* field. Optionally, select
the *Browser* icon (ellipsis) to the right to navigate into a directory and
select a file that will contain the archive.
* Use the drop-down listbox next to *Role name* to specify a role with
connection privileges on the selected server. The role will be used for
authentication during the backup.
Move switches in the **Miscellaneous** field box to specify the type of statements that should be included in the backup.
* Move the *Verbose messages* switch to the *No* position to exclude status messages from the backup. The default is *Yes*.
* Move the *Force double quote on identifiers* switch to the *Yes* position to name identifiers without changing case. The default is *No*.
Move switches in the **Miscellaneous** field box to specify the type of
statements that should be included in the backup.
Click the *Backup* button to build and execute a command based on your selections; click the *Cancel* button to exit without saving work.
* Move the *Verbose messages* switch to the *No* position to exclude status
messages from the backup. The default is *Yes*.
* Move the *Force double quote on identifiers* switch to the *Yes* position to
name identifiers without changing case. The default is *No*.
Click the *Backup* button to build and execute a command based on your
selections; click the *Cancel* button to exit without saving work.
.. image:: images/backup_globals_messages.png
:alt: Backup globals success notification popup
:align: center
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.
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.
.. image:: images/backup_globals_process_watcher.png
If the backup is unsuccessful, review the error message returned by the *Process Watcher* to resolve any issue.
:alt: Backup globals process watcher
:align: center
If the backup is unsuccessful, review the error message returned by the
*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
+130 -14
View File
@@ -1,29 +1,145 @@
.. _backup_server_dialog:
*************************
The Backup Server Dialog
*************************
*****************************
`Backup Server Dialog`:index:
*****************************
Use the *Backup Server* dialog to create a plain-text script that will recreate the selected server. You can use the pgAdmin *Query Tool* to play back a plain-text script, and recreate the server.
Use the *Backup Server* dialog to create a plain-text script that will recreate
the selected server. You can use the pgAdmin *Query Tool* to play back a
plain-text script, and recreate the server.
.. image:: images/backup_server_general.png
:alt: Backup server dialog
:align: center
Use the fields in the *General* tab to specify the following:
* Enter the name of the backup file in the *Filename* field. Optionally, select the *Browser* icon (ellipsis) to the right to navigate into a directory and select a file that will contain the archive.
* Use the drop-down listbox next to *Role name* to specify a role with connection privileges on the selected server. The role will be used for authentication during the backup.
* Enter the name of the backup file in the *Filename* field. Optionally, select
the *Browser* icon (ellipsis) to the right to navigate into a directory and
select a file that will contain the archive.
* Use the *Encoding* drop-down listbox to select the character encoding method
that should be used for the archive. **Note:** This option is visible only for
database server greater than or equal to 11.
* Use the drop-down listbox next to *Role name* to specify a role with
connection privileges on the selected server. The role will be used for
authentication during the backup.
Move switches in the *Miscellaneous* box to specify the type of statements that should be included in the backup.
* Move the *Verbose messages* switch to the *No* position to exclude status messages from the backup. The default is *Yes*.
* Move the *Force double quote on identifiers* switch to the *Yes* position to name identifiers without changing case. The default is *No*.
.. image:: images/backup_server_objects.png
:alt: Type of objects option on backup server dialog
:align: center
Click the *Backup* button to build and execute a command based on your selections; click the *Cancel* button to exit without saving work.
Click the *Data/Objects* tab to continue. Use the fields in the *Data/Objects*
tab to provide options related to data or pgAdmin objects that correspond to *pg_dump*.
* Move switches in the **Type of objects** field box to specify details about
the type of objects that will be backed up.
* Move the switch next to *Only data* towards right position to limit the back
up to data.
* Move the switch next to *Only schema* to limit the back up to schema-level
database objects.
.. image:: images/backup_server_do_not_save.png
:alt: Do not save option on backup server dialog
:align: center
* Move switches in the **Do not save** field box to select the objects that will
not be included in the backup.
* Move the switch next to *Owner* towards right position to exclude commands
that set object ownership.
* Move the switch next to *Privilege* towards right position to exclude
commands that create access privileges.
* Move the switch next to *Tablespace* towards right position to exclude
tablespaces.
* Move the switch next to *Unlogged table data* towards right position to
exclude the contents of unlogged tables.
* Move the switch next to *Comments* towards right position to exclude
commands that set the comments. **Note:** This option is visible only for
database server greater than or equal to 11.
.. image:: images/backup_server_queries.png
:alt: Queries option on backup server dialog
:align: center
* Move switches in the **Queries** field box to specify the type of statements
that should be included in the backup.
* Move the switch next to *Use Column Inserts* towards right position to dump
the data in the form of INSERT statements and include explicit column
names. Please note: this may make restoration from backup slow.
* Move the switch next to *Use Insert commands* towards right position to dump
the data in the form of INSERT statements rather than using a COPY command.
Please note: this may make restoration from backup slow.
* Move the switch next to *Include DROP DATABASE statement* towards right
position to include a command in the backup that will drop any existing
database object with the same name before recreating the object during a
backup.
.. image:: images/backup_server_disable.png
:alt: Disable option on backup server dialog
:align: center
* Move switches in the **Disable** field box to specify the type of statements
that should be excluded from the backup.
* Move the switch next to *Trigger* (active when creating a data-only backup)
towards right position to include commands that will disable triggers on the
target table while the data is being loaded.
* Move the switch next to *$ quoting* towards right position to enable dollar
quoting within function bodies; if disabled, the function body will be
quoted using SQL standard string syntax.
.. image:: images/backup_server_miscellaneous.png
:alt: Miscellaneous option on backup server dialog
:align: center
* Move switches in the **Miscellaneous** field box to specify miscellaneous
backup options.
* Move the switch next to *With OIDs* towards right position to include object
identifiers as part of the table data for each table.
* Move the switch next to *Verbose messages* towards left position to instruct
*pg_dump* to exclude verbose messages.
* Move the switch next to *Force double quotes on identifiers* towards right
position to force the quoting of all identifiers.
* Move the switch next to *Use SET SESSION AUTHORIZATION* towards right
position to include a statement that will use a SET SESSION AUTHORIZATION
command to determine object ownership (instead of an ALTER OWNER command).
Click the *Backup* button to build and execute a command based on your
selections; click the *Cancel* button to exit without saving work.
.. image:: images/backup_server_messages.png
:alt: Backup server success notification popup
:align: center
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.
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.
.. image:: images/backup_server_process_watcher.png
If the backup is unsuccessful, review the error message returned by the *Process Watcher* to resolve any issue.
:alt: Backup server process watcher
:align: center
If the backup is unsuccessful, review the error message returned by the
*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
-39
View File
@@ -1,39 +0,0 @@
.. _browser:
********************
The pgAdmin 4 Client
********************
pgAdmin 4 supports all PostgreSQL features, from writing simple SQL queries to developing complex databases. It is designed to query an active database (in real-time), allowing you to stay current with modifications and implementations.
Features of pgAdmin 4 include:
* auto-detection and support for objects discovered at run-time
* a live SQL query tool with direct data editing
* support for administrative queries
* a syntax-highlighting SQL editor
* redesigned graphical interfaces
* powerful management dialogs and tools for common tasks
* responsive, context-sensitive behavior
* supportive error messages
* helpful hints
* online help and information about using pgAdmin dialogs and tools.
When pgAdmin opens, the interface features a menu bar and a window divided into two panes: the *Browser* tree control in the left pane, and a tabbed browser in the right pane.
.. image:: images/pgadmin_welcome.png
Select an icon from the *Quick Links* panel on the *Dashboard* tab to:
* Click the *Add New Server* button to open the :ref:`Create - Server dialog <server_dialog>` to add a new server definition.
* Click the *Configure pgAdmin* button to open the :ref:`Preferences dialog <preferences>` to customize your pgAdmin client.
Links in the *Getting Started* panel open a new browser tab that provide useful information for Postgres users:
* Click the *PostgreSQL Documentation* link to navigate to the *Documentation* page for the PostgreSQL open-source project; once at the project site, you can review the manuals for the currently supported versions of the PostgreSQL server.
* Click the *pgAdmin Website* link to navigate to the pgAdmin project website. The pgAdmin site features news about recent pgAdmin releases and other project information.
* Click the *Planet PostgreSQL* link to navigate to the blog aggregator for Postgres related blogs.
* Click the *Community Support* link to navigate to the *Community* page at the PostgreSQL open-source project site; this page provides information about obtaining support for PostgreSQL features.
+27 -19
View File
@@ -1,12 +1,16 @@
import os
import sys
import inspect
import builtins
# Ensure the global server mode is set.
builtins.SERVER_MODE = None
root = os.path.realpath(
os.path.dirname(
os.path.realpath(__file__)
) + '{0}..{0}..{0}web'.format(os.sep)
)
os.path.dirname(
os.path.realpath(__file__)
) + '{0}..{0}..{0}web'.format(os.sep)
)
if sys.path[0] != root:
sys.path.insert(0, root)
@@ -24,18 +28,19 @@ This document contains code for some of the important classes, listed as
below:\n\n""")
for m in [
'PgAdminModule', 'NodeView',
'BaseDriver', 'BaseConnection'
]:
'PgAdminModule', 'NodeView',
'BaseDriver', 'BaseConnection'
]:
target.write("* {0}_\n".format(m))
def print_code(outstream, name, module, info=None):
l = len(name)
name_len = len(name)
outstream.write("\n\n.. _{0}:\n\n{0}\n".format(name))
idx = 0
while idx < l:
while idx < name_len:
idx += 1
outstream.write("*")
@@ -52,21 +57,24 @@ def print_code(outstream, name, module, info=None):
print_code(
target, "PgAdminModule", PgAdminModule,
"""
PgAdminModule is inherted from Flask.Blueprint module.
This module defines a set of methods, properties and attributes, that every module should implement.
target, "PgAdminModule", PgAdminModule,
"""
PgAdminModule is inherited from Flask.Blueprint module.
This module defines a set of methods, properties and attributes,
that every module should implement.
""")
from pgadmin.browser.utils import NodeView
print_code(
target, "NodeView", NodeView,
"""
NodeView class helps exposing basic REST APIs for different operations used by
pgAdmin Browser. The basic idea has been taken from the `Flask's MethodView
<http://flask.pocoo.org/docs/0.10/api/#flask.views.MethodView>`_ class. Because
- we need a lot more operations (not, just CRUD), we can not use it directly.""")
target, "NodeView", NodeView,
"""
The NodeView class exposes basic REST APIs for different operations used by
the pgAdmin Browser. The basic idea has been taken from `Flask's MethodView
<http://flask.pocoo.org/docs/1.0/api/#flask.views.MethodView>`_ class. Because
we need a lot more operations (not, just CRUD), we can not use it directly.""")
from pgadmin.utils.driver.abstract import BaseDriver, BaseConnection
print_code(target, "BaseDriver", BaseDriver)
print_code(target, "BaseConnection", BaseConnection)
+37 -17
View File
@@ -1,44 +1,64 @@
.. _cast_dialog:
***************
The Cast Dialog
***************
********************
`Cast Dialog`:index:
********************
Use the *Cast* dialog to define a cast. A cast specifies how to convert a value from one data type to another.
Use the *Cast* dialog to define a cast. A cast specifies how to convert a value
from one data type to another.
The *Cast* dialog organizes the development of a cast through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Cast* dialog organizes the development of a cast through the following
dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code
generated by dialog selections.
.. image:: images/cast_general.png
:alt: Cast dialog general tab
:align: center
Use the fields in the *General* tab to identify the cast:
* The *Name* field is disabled. The name that will be displayed in the *pgAdmin* tree control is the *Source* type concatenated with the *Target* type, and is generated automatically when you make selections on the *Cast* dialog *Definition* tab.
* The *Name* field is disabled. The name that will be displayed in the
*pgAdmin* tree control is the *Source* type concatenated with the *Target*
type, and is generated automatically when you make selections on the *Cast*
dialog *Definition* tab.
* Store notes about the cast in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/cast_definition.png
:alt: Cast dialog definition tab
:align: center
Use the fields in the *Definition* tab to define parameters:
* Use the drop-down listbox next to *Source type* to select the name of the source data type of the cast.
* Use the drop-down listbox next to *Target type* to select the name of the target data type of the cast.
* Use the drop-down listbox next to *Function* to select the function used to perform the cast. The function's result data type must match the target type of the cast.
* Move the *Context* switch to the *Implicit* position if the cast is implicit. By default, a cast can be invoked only by an explicit cast request. If the cast is marked *Implicit* then it can be invoked implicitly in any context, whether by assignment or internally in an expression.
* Use the drop-down listbox next to *Source type* to select the name of the
source data type of the cast.
* Use the drop-down listbox next to *Target type* to select the name of the
target data type of the cast.
* Use the drop-down listbox next to *Function* to select the function used to
perform the cast. The function's result data type must match the target type
of the cast.
* Select *Context* toggle to *Implicit* if the cast is implicit.
By default, a cast can be invoked only by an explicit cast request. If the
cast is marked *Implicit* then it can be invoked implicitly in any context,
whether by assignment or internally in an expression.
Click the *SQL* tab to continue.
Your entries in the *Cast* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Cast* dialog generate a SQL command (see an example below).
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
SQL command.
**Example**
The following is an example of the sql command generated by user selections in the *Cast* dialog:
The following is an example of the sql command generated by user selections in
the *Cast* dialog:
.. image:: images/cast_sql.png
:alt: Cast dialog sql tab
:align: center
The cast uses a function named *int4(bigint)* to convert a biginteger data type to an integer.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+25 -11
View File
@@ -1,26 +1,40 @@
.. _change_password_dialog:
**************************
The Change Password Dialog
**************************
*******************************
`Change Password Dialog`:index:
*******************************
It is a good policy to routinely change your password to protect data, even in what you may consider a 'safe' environment. In the workplace, failure to apply an appropriate password policy could leave you in breach of Data Protection laws.
It is a good policy to routinely change your password to protect data, even in
what you may consider a 'safe' environment. In the workplace, failure to apply
an appropriate password policy could leave you in breach of Data Protection
laws.
Please consider the following guidelines when selecting a password:
Please consider the following guidelines when selecting a password:
* Ensure that your password is an adequate length; 6 characters should be the absolute minimum number of characters in the password.
* Ensure that your password is not open to dictionary attacks. Use a mixture of upper and lower case letters and numerics, and avoid words or names. Consider using the first letter from each word in a phrase that you will remember easily but is an unfamiliar acronym.
* Ensure that your password is changed regularly; at minimum, change it every ninety days.
* Ensure that your password is an adequate length; 6 characters should be the
absolute minimum number of characters in the password.
* Ensure that your password is not open to dictionary attacks. Use a mixture of
upper and lower case letters and numerics, and avoid words or names. Consider
using the first letter from each word in a phrase that you will remember
easily but is an unfamiliar acronym.
* Ensure that your password is changed regularly; at minimum, change it every
ninety days.
The above should be considered a starting point: It is not a comprehensive list and it **will not guarantee security**.
The guidelines above should be considered a starting point: They are not a
comprehensive list and they **will not guarantee security**.
.. image:: images/password.png
:alt: Change database password dialog
:align: center
Use the *Change Password* dialog to change your password:
* The name displayed in the *User* field is the role for which you are modifying the password; it is the role that is associated with the server connection that is highlighted in the tree control.
* The name displayed in the *User* field is the role for which you are modifying
the password; it is the role that is associated with the server connection
that is highlighted in the tree control.
* Enter the password associated with the role in the *Current Password* field.
* Enter the desired password for in the *New Password* field.
* Re-enter the new password in the *Confirm Password* field.
Click the *OK* button to change your password; click *Cancel* to exit the dialog without changing your password.
Click the *OK* button to change your password; click *Cancel* to exit the dialog
without changing your password.
+37
View File
@@ -0,0 +1,37 @@
.. _change_user_password:
************************************
`Change User Password Dialog`:index:
************************************
It is a good policy to routinely change your password to protect data, even in
what you may consider a 'safe' environment. In the workplace, failure to apply
an appropriate password policy could leave you in breach of Data Protection
laws.
Please consider the following guidelines when selecting a password:
* Ensure that your password is an adequate length; 6 characters should be the
absolute minimum number of characters in the password.
* Ensure that your password is not open to dictionary attacks. Use a mixture of
upper and lower case letters and numerics, and avoid words or names. Consider
using the first letter from each word in a phrase that you will remember
easily but is an unfamiliar acronym.
* Ensure that your password is changed regularly; at minimum, change it every
ninety days.
The guidelines above should be considered a starting point: They are not a
comprehensive list and they **will not guarantee security**.
.. image:: images/change_user_password.png
:alt: Change current user password dialog
:align: center
Use the *Change Password* dialog to change your password:
* Enter your existing password in the *Current Password* field.
* Enter the desired password for in the *New Password* field.
* Re-enter the new password in the *Confirm Password* field.
Click the *Change Password* button to change your password; click *Close* to
exit the dialog.
+37 -16
View File
@@ -1,44 +1,65 @@
.. _check_dialog:
****************
The Check Dialog
****************
*********************
`Check Dialog`:index:
*********************
Use the *Check* dialog to define or modify a check constraint. A check constraint specifies an expression that produces a Boolean result that new or updated rows must satisfy for an insert or update operation to succeed.
Use the *Check* dialog to define or modify a check constraint. A check
constraint specifies an expression that produces a Boolean result that new or
updated rows must satisfy for an insert or update operation to succeed.
The *Check* dialog organizes the development of a check constraint through the *General* and *Definition* tabs. The *SQL* tab displays the SQL code generated by dialog selections.
The *Check* dialog organizes the development of a check constraint through the
*General* and *Definition* tabs. The *SQL* tab displays the SQL code generated
by dialog selections.
.. image:: images/check_general.png
:alt: Check dialog general tab
:align: center
Use the fields in the *General* tab to identify the check constraint:
* Use the *Name* field to provide a descriptive name for the check constraint that will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5 forward, when a table has multiple check constraints, they will be tested for each row in alphabetical order by name and after NOT NULL constraints.
* Store notes about the check constraint in the *Comment* field.
* Use the *Name* field to provide a descriptive name for the check constraint
that will be displayed in the *pgAdmin* tree control. With PostgreSQL 9.5
forward, when a table has multiple check constraints, they will be tested for
each row in alphabetical order by name and after NOT NULL constraints.
* Store notes about the check constraint in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/check_definition.png
:alt: Check dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the check constraint:
* Provide the expression that a row must satisfy in the *Check* field.
* Move the *No Inherit?* switch to the *Yes* position to specify this constraint is automatically inherited by a table's children. The default is *No*.
* Move the *Don't validate?* switch to the *No* position to skip validation of existing data; the constraint may not hold for all rows in the table. The default is *Yes*.
* Move the *No Inherit?* switch to the *Yes* position to specify that this
constraint is not automatically inherited by a table's children. The default
is *No*, meaning that the constraint will be inherited by any children.
* Move the *Don't validate?* switch to the *No* position to skip validation of
existing data; the constraint may not hold for all rows in the table. The
default is *Yes*.
Click the *SQL* tab to continue.
Your entries in the *Check* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Check* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
The following is an example of the sql command generated by user selections in the *Check* dialog:
The following is an example of the sql command generated by user selections in
the *Check* dialog:
.. image:: images/check_sql.png
:alt: Check dialog sql tab
:align: center
The example shown demonstrates creating a check constraint named *check_price* on the *price* column of the *products* table. The constraint confirms that any values added to the column are greater than 0.
The example shown demonstrates creating a check constraint named *jobhist_date_chk*
on the *startdate* column of the *jobhist* table.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+26
View File
@@ -0,0 +1,26 @@
.. _clear_saved_passwords:
******************************
`Clear Saved Passwords`:index:
******************************
Use *Clear Saved Password* functionality to clear the saved password for the
database server.
.. image:: images/clear_saved_password.png
:align: center
*Clear Saved Password* shows in the context menu for the selected server as well
as under the *Object* menu on the top menu bar.
Use *Clear SSH Tunnel Password* functionality to clear the saved password of SSH
Tunnel to connect to the database server.
.. image:: images/clear_tunnel_password.png
:align: center
*Clear SSH Tunnel Password* shows in the context menu for the selected server as
well as under the *Object* menu on the top menu bar.
**Note:** It will be enabled/visible when the password for the selected database
server is already saved.
+87
View File
@@ -0,0 +1,87 @@
.. _cloud_deployment:
******************************
`Cloud Deployment`:index:
******************************
The PostgreSQL server can be deployed on the Amazon AWS cloud using this module.
Currently only RDS is available, but in the future more cloud options will be available.
To launch the *Cloud Deployment...* tool, right click on the *Server Group* or *Server* of the tree control, and select
*Deploy a Cloud Instance* from the *Register* menu.
.. image:: images/cloud_deployment_provider.png
:alt: Cloud Deployment Provider
:align: center
Once you launch the tool, the Amazon RDS is already selected as this is the only option currently available.
Click on the *Next* button to proceed further.
.. image:: images/cloud_deployment_credentials.png
:alt: Cloud Deployment Provider
:align: center
In the Credentials dialog, provide the region in which you want to deploy the instance along with
*AWS access key* and *AWS secret access key*.
Provide *AWS session token* only if your AWS session is temporary.
To proceed further, click on the next button. Before going further, pgAdmin will validate your credentials.
.. image:: images/cloud_deployment_instance.png
:alt: Cloud Deployment Provider
:align: center
Use the fields from the Instance Specification tab to specify the Instance details.
* Use the *Instance name* field to add an instance name for the PostgreSQL server; the name
specified will be displayed in the *Browser* tree control too.
* Use the *Public IP* field to specify the IP Address range for permitting the inbound traffic.
* Use the *Database version* field to specify the PostgreSQL version to deploy.
* Use the *Instance class* field to allocate the computational, network, and memory capacity required by planned workload of this DB instance.
* Use the *Instance type* field to select the instance type.
* Use the *Storage type* field to select the instance storage type. Three options are available. General Purpose (SSD) storage, Provisioned IOPS (SSD) and Magnetic storage.
* Use the *Allocated storage* field to specify the storage capacity in GiB.
* Use the *Provisioned IOPS* in case of Provisioned IOPS (SSD) storage type.
.. image:: images/cloud_deployment_database.png
:alt: Cloud Deployment Provider
:align: center
Use the fields from the Database Details tab to specify the Instance details.
* Use the drop-down list box in the *Server group* field to select the parent
node for the server; the server will be displayed in the *Browser* tree
control within the specified group.
* Use the *Database name* field to add the database name for the PostgreSQL server.
* Use the *Username* field to specify the name of a role that will be used when
authenticating with the server.
* Use the *Password* field to provide a password that will be supplied when
authenticating with the server.
* Use the *Confirm password* field to repeat the password.
* Enter the listener port number of the server host in the *Port* field.
.. image:: images/cloud_deployment_review.png
:alt: Cloud Deployment Provider
:align: center
At the end, review the Instance details that you provided. Click on Finish button to deploy the instance on Amazon RDS.
.. image:: images/cloud_deployment_tree.png
:alt: Cloud Deployment Provider
:align: center
Once you click on the finish, one background process will start which will deploy the instance in the cloud
and monitor the progress of the deployment. The Server will be added to the tree with the cloud uploading icon.
Once the deployment is done, the necessary server details will be updated.
+23 -22
View File
@@ -1,23 +1,23 @@
.. _code_overview:
*************
Code Overview
*************
**********************
`Code Overview`:index:
**********************
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
===============
***************
The web application forms the bulk of pgAdmin and can be found in the **/web**
directory in the source tree. The main file is **pgAdmin4.py** which can be used
@@ -25,16 +25,17 @@ to run the built-in standalone web server, or as a WSGI application for producti
use.
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
-------------
=============
When running in desktop mode, pgAdmin has a single, default user account that is
used for the desktop user. When running in server mode, there may be unlimited
@@ -57,7 +58,7 @@ The local configuration will determine how the script sets up the database,
particularly with regard to desktop vs. server mode.
pgAdmin Core
============
************
The heart of pgAdmin is the **pgadmin** package. This contains the globally
available HTML templates used by the Jinja engine, as well as any global static
@@ -68,7 +69,7 @@ is responsible for setting up logging and authentication, dynamically loading
other modules, and a few other tasks.
Modules
=======
*******
Units of functionality are added to pgAdmin through the addition of modules.
Theses are Python object instance of classes, inherits the
@@ -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:
@@ -190,7 +191,7 @@ loaded modules, but must use the defined hook points and fail gracefully in the
event that a particular module is not present.
Nodes
=====
*****
Nodes are very similar to modules, it represents an individual node or,
collection object on the browser treeview. To recognised as a node module, a
@@ -202,7 +203,7 @@ Python package (along with javascript modules) must be created. This must:
3) An instance of the class object
Front End
=========
*********
pgAdmin uses javascript extensively for the front-end implementation. It uses
require.js to allow the lazy loading (or, say load only when required),
@@ -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
look at the the javascript files node.js, browser.js, menu.js, panel.js, etc for
better understanding of the code.
database will make sense only when a server node is loaded completely.) Please
look at the javascript files node.js, browser.js, menu.js, panel.js, etc for
better understanding of the code.
+23 -20
View File
@@ -1,58 +1,61 @@
.. _code_review:
*****************
Code Review Notes
*****************
**************************
`Code Review Notes`:index:
**************************
This document lists a number of standard items that will be checked during the
review process for any patches submitted for inclusion in pgAdmin.
* Ensure all code follows the pgAdmin :doc:`coding_standards`.
* Ensure all code has unit test coverage and API/feature test coverage where
appropriate.
* Copyright years must be correct and properly formatted (to make it easy to make
bulk updates every year). The start date should always be 2013, and the end year
the current year, e.g.
Copyright (C) 2013 - 2017, The pgAdmin Development Team
Copyright (C) 2013 - 2022, 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.
+27 -72
View File
@@ -1,14 +1,14 @@
.. _coding_standards:
****************
Coding Standards
****************
*************************
`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
=======
*******
In all languages, indentations should be made with 4 spaces, and excessively long
lines wrapped where appropriate to ensure they can be read on smaller displays
@@ -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,21 +48,21 @@ 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.
Javascript
==========
**********
Client-side code is written in Javascript using jQuery and various plugins.
Whilst much of the code is rendered from static files, there is also code that
@@ -106,68 +106,23 @@ Note the use of a descriptive function name, using the underscore character to
separate words in all lower case, and short but descriptive lower case variable
names.
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;
}
.. note:: From version 3.0 onwards, new or refactored code should be written using
ES6 features and conventions.
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 - 2017, The pgAdmin Development Team
# Copyright (C) 2013 - 2022, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
@@ -182,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
+55 -22
View File
@@ -1,52 +1,85 @@
.. _collation_dialog:
********************
The Collation Dialog
********************
*************************
`Collation Dialog`:index:
*************************
Use the *Collation* dialog to define a collation. A collation is an SQL schema object that maps a SQL name to operating system locales. To create a collation, you must have a CREATE privilege on the destination schema.
Use the *Collation* dialog to define a collation. A collation is an SQL schema
object that maps a SQL name to operating system locales. To create a collation,
you must have a CREATE privilege on the destination schema.
The *Collation* dialog organizes the development of a collation through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Collation* dialog organizes the development of a collation through the
following dialog tabs: *General* and *Definition*. The *SQL* tab displays the
SQL code generated by dialog selections.
.. image:: images/collation_general.png
:alt: Collation dialog general tab
:align: center
Use the fields in the *General* tab to identify the collation:
* Use the *Name* field to provide a name for the collation. The collation name must be unique within a schema. The name will be displayed in the *pgAdmin* tree control.
* Select the name of the owner from the drop-down listbox in the *Owner* field.
* Select the name of the schema in which the collation will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to provide a name for the collation. The collation name
must be unique within a schema. The name will be displayed in the *pgAdmin*
tree control.
* Select the name of the owner from the drop-down listbox in the *Owner* field.
* Select the name of the schema in which the collation will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the collation in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/collation_definition.png
:alt: Collation dialog definition tab
:align: center
Use the fields in the *Definition* tab to specify the operating system locale settings:
Use the fields in the *Definition* tab to specify the operating system locale
settings:
* Use the drop-down listbox next to *Copy collation* to select the name of an existing collation to copy. The new collation will have the same properties as the existing one, but will be an independent object. If you choose to copy an existing collation, you cannot modify the collation properties displayed on this tab.
* Use the *Locale* field to specify a locale; a locale specifies language and language formatting characteristics. If you specify this, you cannot specify either of the following parameters. To view a list of locales supported by your Linux system use the command *locale -a*.
* Use the *LC_COLLATE* field to specify a locale with specified string sort order. The locale must be applicable to the current database encoding. (See CREATE DATABASE for details.)
* Use the *LC_CTYPE* field to specify a locale with specified character classification. The locale must be applicable to the current database encoding. (See CREATE DATABASE for details.)
* Use the drop-down listbox next to *Copy collation* to select the name of an
existing collation to copy. The new collation will have the same properties
as the existing one, but will be an independent object. If you choose to copy
an existing collation, you cannot modify the collation properties displayed on
this tab.
* Use the *Locale* field to specify a locale; a locale specifies language and
language formatting characteristics. If you specify this, you cannot specify
either of the following parameters. To view a list of locales supported by
your Linux system use the command *locale -a*.
* Use the *LC_COLLATE* field to specify a locale with specified string sort
order. The locale must be applicable to the current database encoding. (See
CREATE DATABASE for details.)
* Use the *LC_CTYPE* field to specify a locale with specified character
classification. The locale must be applicable to the current database encoding.
(See CREATE DATABASE for details.)
Click the *SQL* tab to continue.
Your entries in the *Collation* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Collation* dialog generate a SQL command (see an example b
elow). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Collation* dialog:
The following is an example of the sql command generated by user selections in
the *Collation* dialog:
.. image:: images/collation_sql.png
:alt: Collation dialog sql tab
:align: center
The example shown demonstrates creating a collation named *french* that uses the rules specified for the locale, *fr_FR.utf8. The collation is owned by *postgres*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation. For more information about setting a locale, see Chapter 22.1 Locale Support of the PostgreSQL core documentation:
The example shown demonstrates creating a collation named *french* that uses the
rules specified for the locale, *fr-BI-x-icu. The collation is owned by
*postgres*.
* Click the *Info* button (i) to access online help. For more information about
setting a locale, see Chapter 22.1 Locale Support of the PostgreSQL core
documentation:
https://www.postgresql.org/docs/current/locale.html
http://www.postgresql.org/docs/9.5/static/locale.html
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+132 -31
View File
@@ -1,71 +1,172 @@
.. _column_dialog:
*****************
The Column Dialog
*****************
**********************
`Column Dialog`:index:
**********************
Use the *Column* dialog to add a column to an existing table or modify a column definition.
Use the *Column* dialog to add a column to an existing table or modify a column
definition.
The *Column* dialog organizes the development of a column through the following
dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the
SQL code generated by dialog selections.
The *Column* dialog organizes the development of a column through the following dialog tabs: *General*, *Definition*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/column_general.png
:alt: Column dialog general tab
:align: center
Use the fields in the *General* tab to identify the column:
* Use the *Name* field to add a descriptive name for the column. The name will be displayed in the *pgAdmin* tree control. This field is required.
* Use the *Name* field to add a descriptive name for the column. The name will
be displayed in the *pgAdmin* tree control. This field is required.
* Store notes about the column in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/column_definition.png
:alt: Column dialog definition tab
:align: center
Use the fields in the *Definition* tab to add parameters for the column. (Fields are disabled if inapplicable.)
Use the fields in the *Definition* tab to add parameters for the column. (Fields
are disabled if inapplicable.)
* Use the drop-down listbox next to *Data Type* to select a data type for the
column. For more information on the data types that are supported by
PostgreSQL, refer to Chapter 8 of the Postgres core documentation. This field
is required.
* Use the *Length/Precision* and *Scale* fields to specify the maximum number of
significant digits in a numeric value, or the maximum number of characters in
a text value.
* Use the drop-down listbox next to *Collation* to apply a collation setting to
the column.
Click the *Constraints* tab to continue.
.. image:: images/column_constraints.png
:alt: Column dialog constraints tab
:align: center
Use the fields in the *Constraints* tab to specify constraints for the column.
(Fields are disabled if inapplicable.)
* Use the drop-down listbox next to *Data Type* to select a data type for the column. For more information on the data types that are supported by PostgreSQL, refer to Chapter 8 of the Postgres core documentation. This field is required.
* Use the *Length* and *Precision* fields to specify the maximum number of significant digits in a numeric value, or the maximum number of characters in a text value.
* Use the drop-down listbox next to *Collation* to apply a collation setting to the column.
* Use the *Default Value* field to specify a default data value.
* Move the *Not Null* switch to the *Yes* position to specify the column may not contain null values. The default is *No*.
* Move the *Not Null* switch to the *Yes* position to specify the column may not
contain null values. The default is *No*.
* Use the *Type* field to specify the column type (NONE/IDENTITY/GENERATED).
The default is *NONE*.
Click the *IDENTITY* type to create Identity column.
.. image:: images/column_constraint_identity.png
:alt: Column dialog constraints tab
:align: center
Use the following fields to create *IDENTITY* column. Identity columns are
applicable for PG/EPAS version 10 and above.
* Use the *Identity* field to specify ALWAYS or BY DEFAULT. This clause is
used to determine how the sequence value is given precedence over a
user-specified value in an INSERT statement.
* Use the *Increment* field to specify which value is added to the current
sequence value to create a new value.
* Provide a value in the *Start* field to specify the beginning value of the
sequence. The default starting value is MINVALUE for ascending sequences and
MAXVALUE for descending ones.
* Provide a value in the *Minimum* field to specify the minimum value a sequence
can generate. If this clause is not supplied or NO MINVALUE is specified,
then defaults will be used. The defaults are 1 and -263-1 for ascending and
descending sequences, respectively.
* Provide a value in the *Maximum* field to specify the maximum value for the
sequence. If this clause is not supplied or NO MAXVALUE is specified, then
default values will be used. The defaults are 263-1 and -1 for ascending and
descending sequences, respectively.
* Provide a value in the *Cache* field to specify how many sequence numbers are
to be preallocated and stored in memory for faster access. The minimum value
is 1 (only one value can be generated at a time, i.e., no cache), and this is
also the default.
* Move the *Cycled* switch to the *Yes* position to allow the sequence to wrap
around when the MAXVALUE or the MINVALUE has been reached by an ascending or
descending sequence respectively. If the limit is reached, the next number
generated will be the MINVALUE or MAXVALUE, respectively. The default is *No*.
Click the *GENERATED* type to create Generated column.
.. image:: images/column_constraint_generated.png
:alt: Column dialog constraints tab
:align: center
Use the following fields to create *GENERATED* column. Generated columns are
applicable for PG/EPAS version 12 and above.
* Use the *Expression* field to specify the generation expression. It can
refer to other columns in the table, but not other generated columns.
Any functions and operators used must be immutable. References to other
tables are not allowed.
Click the *Variables* tab to continue.
.. image:: images/column_variables.png
:alt: Column dialog variables tab
:align: center
Use the *Variables* tab to 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:
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:
* Select the name of the variable from the drop-down listbox in the *Name* field.
* Select *n_distinct* to specify the number of distinct values for the column.
* Select *n_distinct_inherited* to specify the number of distinct values for the table and its children.
* Select the name of the variable from the drop-down listbox in the *Name* field.
* Specify the number of distinct values in the *Value* field. For more information, see the documentation for `ALTER TABLE <http://www.postgresql.org/docs/9.6/static/sql_altertable.html>`_.
* Select *n_distinct* to specify the number of distinct values for the column.
* Select *n_distinct_inherited* to specify the number of distinct values
for the table and its children.
Click the *Add* icon (+) to specify each additional *Name*/*Value* pair; to discard a variable, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
* Specify the number of distinct values in the *Value* field. For more
information, see the documentation for
`ALTER TABLE <https://www.postgresql.org/docs/current/sql-altertable.html>`_.
Click the *Add* icon (+) to specify each additional *Name*/*Value* pair; to
discard a variable, click the trash icon to the left of the row and confirm
deletion in the *Delete Row* popup.
Click the *Security* tab to continue.
.. image:: images/column_security.png
:alt: Column dialog security tab
:align: center
Use the *Security* tab to assign attributes and define security labels. Click the *Add* icon (+) to add each security label selection:
Use the *Security* tab to assign attributes and define security labels. Click
the *Add* icon (+) to add each security label selection:
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a
given label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional security labels; to discard a
security label, click the trash icon to the left of the row and confirm deletion
in the *Delete Row* popup.
Click the *SQL* tab to continue.
Your entries in the *Column* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Column* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Column* dialog:
The following is an example of the sql command generated by user selections in
the *Column* dialog:
.. image:: images/column_sql.png
:alt: Column dialog sql tab
:align: center
The example shown demonstrates creating a column named *territory* in the table named *distributors*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a column named *sal* in the table
named *jobhist*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+83
View File
@@ -0,0 +1,83 @@
.. _compound_trigger_dialog:
********************************
`Compound Trigger Dialog`:index:
********************************
Use the *Compound Trigger* dialog to create a compound trigger or modify an
existing compound trigger. *Compound Trigger* is supported only for EPAS server
12 and above. A compound trigger executes a specified code when certain events
occur.
The *Compound Trigger* dialog organizes the development of a compound trigger
through the following dialog tabs: *General*, *Events*, and *Code*. The *SQL*
tab displays the SQL code generated by dialog selections.
.. image:: images/compound_trigger_general.png
:alt: Compound Trigger dialog general tab
:align: center
Use the fields in the *General* tab to identify the compound trigger:
* Use the *Name* field to add a descriptive name for the compound trigger. This
must be distinct from the name of any other compound trigger for the same table.
The name will be displayed in the *pgAdmin* tree control.
* Store notes about the compound trigger in the *Comment* field.
.. image:: images/compound_trigger_general_enabled.png
:alt: Trigger enabled in dialog tab
:align: center
* *Trigger enabled* field is available in compound trigger dialog once the trigger is created.
You can select one of the four options available.
Click the *Events* tab to continue.
.. image:: images/compound_trigger_events.png
:alt: Compound Trigger dialog events tab
:align: center
Use the fields in the *Events* tab to specify how and when the compound trigger fires:
* Select the type of event(s) that will invoke the compound trigger; to select
an event type, move the switch next to the event to the *YES* position.
The supported event types are *INSERT*, *UPDATE*, *DELETE* and *TRUNCATE*.
Views cannot have TRUNCATE triggers.
* Use the *When* field to provide a boolean condition that will invoke the
compound trigger.
* If defining a column-specific compound trigger, use the *Columns* field to
specify the columns or columns that are the target of the compound trigger.
Click the *Code* tab to continue.
.. image:: images/compound_trigger_code.png
:alt: Compound Trigger dialog code tab
:align: center
Use the *Code* field to specify the code for the five timing events
*BEFORE STATEMENT*, *AFTER STATEMENT*, *BEFORE EACH ROW*, *AFTER EACH ROW*,
*INSTEAD OF EACH ROW* that will be invoked when the compound trigger fires.
Basic template is provided with place holders.
Click the *SQL* tab to continue.
Your entries in the *Compound Trigger* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
Example
*******
The following is an example of the sql command generated by user selections in
the *Compound Trigger* dialog:
.. image:: images/compound_trigger_sql.png
:alt: Compound Trigger dialog sql tab
:align: center
The example demonstrates creating a compound trigger named *test_ct*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+82 -65
View File
@@ -3,7 +3,8 @@
# pgAdmin III documentation build configuration file, created by
# sphinx-quickstart on Sat Jul 9 15:58:11 2011.
#
# This file is execfile()d with the current directory set to its containing dir.
# This file is execfile()d with the current directory set to its containing
# directory.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
@@ -11,7 +12,12 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
import os
import sys
import builtins
# Ensure the global server mode is set.
builtins.SERVER_MODE = None
# Import the pgAdmin config
root = os.path.dirname(os.path.realpath(__file__))
@@ -21,15 +27,15 @@ import config
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# -- General configuration ----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
@@ -39,7 +45,7 @@ templates_path = ['_templates']
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
@@ -59,79 +65,83 @@ release = config.APP_VERSION
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# The reST default role (used for this markup: `text`) to use for all
# documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'classic'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
'collapsiblesidebar': True,
'relbarbgcolor': '#2C76B4',
'sidebarbgcolor': '#E2E2E2',
'sidebarbtncolor': '#2C76B4',
'sidebartextcolor': '#000',
'sidebarlinkcolor': '#337AB7',
'footerbgcolor': '#333',
'codebgcolor': '#D9EDF7',
'bodyfont': '"Helvetica Neue", Helvetica, Arial, sans-serif',
'headfont': '"Helvetica Neue", Helvetica, Arial, sans-serif'
}
html_theme = 'pgadmin4'
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
html_theme_path = ['./theme'] # make sphinx search for themes in current dir
# html_theme_options = {
# 'collapsiblesidebar': True,
# 'relbarbgcolor': '#326690',
# 'sidebarbgcolor': '#E2E2E2',
# 'sidebarbtncolor': '#326690',
# 'sidebartextcolor': '#222222',
# 'sidebarlinkcolor': '#326690',
# 'footerbgcolor': '#222222',
# 'codebgcolor': '#d6effc',
# 'textcolor': '#222222',
# 'headbgcolor': '#E2E2E2',
# 'headtextcolor': '#326690',
# 'bodyfont': '"Helvetica Neue", Helvetica, Arial, sans-serif',
# 'headfont': '"Helvetica Neue", Helvetica, Arial, sans-serif'
# }
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -140,30 +150,30 @@ html_static_path = ['images']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# html_sidebars = {}
html_sidebars = {
'**': ['localtoc.html', 'globaltoc.html', 'searchbox.html']
}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# html_split_index = False
# If true, links to the reST sources are added to the pages.
html_show_sourcelink = False
@@ -177,59 +187,66 @@ html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'pgadmin4'
# -- Options for LaTeX output --------------------------------------------------
# -- Options for LaTeX output -------------------------------------------------
# The paper size ('letter' or 'a4').
#latex_paper_size = 'letter'
# latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'
# latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
# (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
# the title page.
#latex_logo = None
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# latex_show_urls = False
# Additional stuff for the LaTeX preamble.
#latex_preamble = ''
# latex_preamble = ''
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# latex_domain_indices = True
# Fix the indexing for our docs. See:
# https://groups.google.com/forum/#!topic/sphinx-users/ZlQ95_QikXo
latex_elements = {
'fncychap': r'\usepackage[Sonny]{fncychap}',
}
# -- Options for manual page output --------------------------------------------
# -- Options for manual page output -------------------------------------------
# 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)
]
+57
View File
@@ -0,0 +1,57 @@
.. _config_py:
***************************
`The config.py File`:index:
***************************
There are multiple configuration files that are read at startup by pgAdmin. These
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
in one of the following files.
* ``config_distro.py``: This file is read after ``config.py`` and is intended for
packagers to change any settings that are required for their pgAdmin distribution.
This may typically include certain paths and file locations. This file is optional,
and may be created by packagers in the same directory as ``config.py`` if
needed.
* ``config_local.py``: This file is read after ``config_distro.py`` and is intended
for end users to change any default or packaging specific settings that they may
wish to adjust to meet local preferences or standards.This file is optional,
and may be created by users in the same directory as ``config.py`` if
needed.
* ``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:
.. literalinclude:: ../../web/config.py
:language: python
+44 -15
View File
@@ -1,47 +1,76 @@
.. _connect_error:
**************************
`Connection error`:index:
**************************
*************************
`Connection Error`:index:
*************************
When connecting to a PostgreSQL server, you may get an error message. If you encounter an error message, please review the message carefully; each error message attempts to incorporate the information you'll need to resolve the problem. For more details about specific errors, please locate the error message in the list below:
When connecting to a PostgreSQL server, you may get an error message. If you
encounter an error message, please review the message carefully; each error
message attempts to incorporate the information you'll need to resolve the
problem. For more details about specific errors, please locate the error
message in the list below:
**Connection to the server has been lost**
.. image:: images/ce_timeout.png
:alt: Connection to the server has been lost
:align: center
This error message indicates that the connection attempt has taken longer than the specified threshold; there may be a problem with the connection properties provided on the *Server* dialog, network connectivity issues, or the server may not be running.
This error message indicates that the connection attempt has taken longer than
the specified threshold; there may be a problem with the connection properties
provided on the *Server* dialog, network connectivity issues, or the server may
not be running.
**could not connect to Server: Connection refused**
**could not connect to Server: Connection refused**
.. image:: images/ce_not_running.png
:alt: Could not connect to server
:align: center
If pgAdmin displays this message, there are two possible reasons for this:
If pgAdmin displays this message, there are two possible reasons for this:
* the database server isn't running - simply start it.
* the server isn't configured to accept TCP/IP requests on the address shown.
For security reasons, a PostgreSQL server "out of the box" doesn't listen on TCP/IP ports. Instead, it must be enabled to listen for TCP/IP requests. This can be done by adding **tcpip = true** to the postgresql.conf file for Versions 7.3.x and 7.4.x, or **listen_addresses='*'** for Version 8.0.x and above; this will make the server accept connections on any IP interface.
For security reasons, a PostgreSQL server "out of the box" doesn't listen on
TCP/IP ports. Instead, it must be enabled to listen for TCP/IP requests. This
can be done by adding **listen_addresses='*'**; this will make the server accept
connections on any IP interface.
For further information, please refer to the PostgreSQL documentation about `runtime configuration <http://www.postgresql.org/docs/current/interactive/runtime-config.html>`_.
For further information, please refer to the PostgreSQL documentation about
`runtime configuration <https://www.postgresql.org/docs/current/runtime-config.html>`_.
**FATAL: no pg_hba.conf entry**
.. image:: images/ce_error_hba.png
:alt: No pg_hba.conf entry
:align: center
If pgAdmin displays this message when connecting, your server can be contacted correctly over the network, but is not configured to accept your connection. Your client has not been detected as a legal user for the database.
If pgAdmin displays this message when connecting, your server can be contacted
correctly over the network, but is not configured to accept your connection.
Your client has not been detected as a legal user for the database.
To connect to a server, the pg_hba.conf file on the database server must be configured to accept connections from the host of the pgAdmin client. Modify the pg_hba.conf file on the database server host, and add an entry in the form:
To connect to a server, the pg_hba.conf file on the database server must be
configured to accept connections from the host of the pgAdmin client. Modify
the pg_hba.conf file on the database server host, and add an entry in the form:
* **host template1 postgres 192.168.0.0/24 md5** for an IPV4 network
* **host template1 postgres 192.168.0.0/24 md5** for an IPV4 network
* **host template1 postgres ::ffff:192.168.0.0/120 md5** for an IPV6 network
For more information, please refer to the PostgreSQL documentation about `client authentication <http://www.postgresql.org/docs/current/interactive/client-authentication.html>`_.
For more information, please refer to the PostgreSQL documentation about
`client authentication <https://www.postgresql.org/docs/current/client-authentication.html>`_.
**FATAL: password authentication failed**
.. image:: images/ce_password_failed.png
* The *password authentication failed for user* error message indicates there may be a problem with the password you entered. Retry the password to confirm you entered it correctly. If the error message returns, make sure that you have the correct password, that you are authorized to access the server, and that the access has been correctly configured in the server's postgresql.conf configuration file.
:alt: Password authentication failed
:align: center
The *password authentication failed for user* error message indicates there
may be a problem with the password you entered. Retry the password to confirm
you entered it correctly. If the error message returns, make sure that you have
the correct password, that you are authorized to access the server, and that
the access has been correctly configured in the server's postgresql.conf
configuration file.
+38 -10
View File
@@ -1,20 +1,48 @@
.. _connect_to_server:
*****************
Connect to server
*****************
**************************
`Connect to Server`:index:
**************************
Use the *Connect to Server* dialog to authenticate with a defined server and access the objects stored on the server through the pgAdmin tree control. To access the dialog, right click on the server name in the *pgAdmin* tree control, and select *Connect Server...* from the context menu.
Use the *Connect to Server* dialog to authenticate with a defined server and
access the objects stored on the server through the pgAdmin tree control. To
access the dialog, right click on the server name in the *pgAdmin* tree control,
and select *Connect Server...* from the context menu.
.. image:: images/connect_to_server.png
:alt: Connect to server dialog
Provide authentication information for the selected server:
* Use the *Password* field to provide the password of the user that is associated with the defined server.
* Check the box next to *Save Password* to instruct the server to save the password for future connections; if you save the password, you will not be prompted when reconnecting to the database server with this server definition.
The pgAdmin client displays a message in a green status bar in the lower right corner when the server connects successfully.
* Use the *Password* field to provide the password of the user that is
associated with the defined server.
* Check the box next to *Save Password* to instruct the server to save the
password for future connections; if you save the password, you will not be
prompted when reconnecting to the database server with this server
definition.
If you receive an error message while attempting a connection, verify that your network is allowing the pgAdmin host and the host of the database server to communicate. For detailed information about a specific error message, please see the :ref:`Connection Error <connect_error>` help page.
When using SSH Tunneling, the *Connect to Server* dialog will prompt for the SSH
Tunnel and Database server passwords if not already saved.
To review or modify connection details, right-click on the name of the server, and select *Properties...* from the context menu.
.. image:: images/connect_to_tunneled_server.png
:alt: Connect to server dialog
Provide authentication information for the selected server:
* Use the *Password* field to provide the password of the user that is
associated with the defined server.
* Check the box next to respective *Save Password* to instruct the server to
save the password for future connections; if you save the password, you will
not be prompted when reconnecting to the database server with this server
definition.
The pgAdmin client displays a message in a green status bar in the lower right
corner when the server connects successfully.
If you receive an error message while attempting a connection, verify that your
network is allowing the pgAdmin host and the host of the database server to
communicate. For detailed information about a specific error message, please see
the :ref:`Connection Error <connect_error>` help page.
To review or modify connection details, right-click on the name of the server,
and select *Properties...* from the context menu.
+31 -12
View File
@@ -1,30 +1,49 @@
.. _connecting:
**********************
Connecting to a Server
**********************
*******************************
`Connecting To A Server`:index:
*******************************
Before you can use the pgAdmin client to manage the objects that reside on your Postgres server, you must define a connection to the server. You can (optionally) use the *Server Group* dialog to create server groups to organize the server connections within the tree control for easier management. To open the *Server Group* dialog, right-click on the *Servers* node of the tree control, and select *Server Group* from the *Create* menu.
Contents:
Before you can use the pgAdmin client to manage the objects that reside on your
Postgres server, you must define a connection to the server. You can
(optionally) use the *Server Group* dialog to create server groups to organize
the server connections within the tree control for easier management. To open
the *Server Group* dialog, right-click on the *Servers* node of the tree
control, and select *Server Group* from the *Create* menu.
.. toctree::
server_group_dialog
Use the fields on the *Server* dialog to define the connection properties for each new server that you wish to manage with pgAdmin. To open the *Server* dialog, right-click on the *Servers* node of the tree control, and select *Server* from the *Create* menu.
Contents:
Use the fields on the *Server* dialog to define the connection properties for
each new server that you wish to manage with pgAdmin. To open the *Server*
dialog, right-click on the *Servers* node of the tree control, and select
*Server* from the *Register* menu.
.. toctree::
server_dialog
After defining a server connection, right-click on the server name, and select *Connect to server* to authenticate with the server, and start using pgAdmin to manage objects that reside on the server.
A master password is required to secure and later unlock saved server passwords.
It is set by the user and can be disabled using config.
Contents:
.. toctree::
master_password
After defining a server connection, right-click on the server name, and select
*Connect to server* to authenticate with the server, and start using pgAdmin to
manage objects that reside on the server.
.. toctree::
connect_to_server
connect_error
connect_error
Server definitions (and their groups) can be exported to a JSON file and
re-imported to the same or a different system to enable easy pre-configuration
of pgAdmin.
.. toctree::
import_export_servers
+432
View File
@@ -0,0 +1,432 @@
.. _container_deployment:
*****************************
`Container Deployment`:index:
*****************************
pgAdmin can be deployed in a container using the image at:
https://hub.docker.com/r/dpage/pgadmin4/
PostgreSQL Utilities
********************
The PostgreSQL utilities *pg_dump*, *pg_dumpall*, *pg_restore* and *psql* are
included in the container to allow backups to be created and restored and other
maintenance functions to be executed. Multiple versions are included in the
following directories to allow use with different versions of the database
server:
* PostgreSQL 10: */usr/local/pgsql-10*
* PostgreSQL 11: */usr/local/pgsql-11*
* PostgreSQL 12: */usr/local/pgsql-12*
* PostgreSQL 13: */usr/local/pgsql-13*
* PostgreSQL 14: */usr/local/pgsql-14*
The default binary paths set in the container are as follows:
.. code-block:: bash
DEFAULT_BINARY_PATHS = {
'pg-14': '/usr/local/pgsql-14',
'pg-13': '/usr/local/pgsql-13',
'pg-12': '/usr/local/pgsql-12',
'pg-11': '/usr/local/pgsql-11',
'pg-10': '/usr/local/pgsql-10'
}
this may be changed in the :ref:`preferences`.
Environment Variables
*********************
The container will accept the following variables at startup:
**PGADMIN_DEFAULT_EMAIL**
This is the email address used when setting up the initial administrator account
to login to pgAdmin. This variable is required and must be set at launch time.
**PGADMIN_DEFAULT_PASSWORD**
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>*
If left un-set, the container will listen on port 80 for connections in plain
text. If set to any value, the container will listen on port 443 for TLS
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.cert and /certs/server.key
**PGADMIN_LISTEN_ADDRESS**
*Default: [::]*
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
0.0.0.0.
**PGADMIN_LISTEN_PORT**
*Default: 80 or 443 (if TLS is enabled)*
Allows the port that the server listens on to be set to a specific value rather
than using the default.
**PGADMIN_SERVER_JSON_FILE**
*Default: /pgadmin4/servers.json*
Override the default file path for the server definition list. See the
/pgadmin4/servers.json mapped file below for more information.
**GUNICORN_ACCESS_LOGFILE**
*Default: -* (stdout)
Specify an output file in which to store the Gunicorn access logs, instead of
sending them to stdout.
**GUNICORN_THREADS**
*Default: 25*
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_***
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
variable name from *config.py* and give the value in the format 'string value'
for strings, True/False for booleans or 123 for numbers. See below for an
example.
Settings are written to */pgadmin4/config_distro.py* within the container, which
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
****************************
The following files or directories can be mapped from the container onto the
host machine to allow configuration to be customised and shared between
instances.
.. warning:: Warning: pgAdmin runs as the *pgadmin* user (UID: 5050) in the
*pgadmin* group (GID: 5050) in the container. You must ensure that all files
are readable, and where necessary (e.g. the working/session directory)
writeable for this user on the host machine. For example:
.. code-block:: bash
sudo chown -R 5050:5050 <host_directory>
On some filesystems that do not support extended attributes, it may not be
possible to run pgAdmin without specifying a value for *PGADMIN_LISTEN_PORT*
that is greater than 1024. In such cases, specify an alternate port when
launching the container by adding the environment variable, for example:
.. code-block:: bash
-e 'PGADMIN_LISTEN_PORT=5050'
Don't forget to adjust any host-container port mapping accordingly.
**/var/lib/pgadmin**
This is the working directory in which pgAdmin stores session data, user files,
configuration files, and it's configuration database. Mapping this directory
onto the host machine gives you an easy way to maintain configuration between
invocations of the container.
**/pgadmin4/config_local.py**
This file can be used to override configuration settings in pgAdmin. Settings
found in config.py can be overridden with deployment specific values if
required. Settings in config_local.py will also override anything specified in
the container environment through *PGADMIN_CONFIG_* prefixed variables.
**/pgadmin4/servers.json**
If this file is mapped, server definitions found in it will be loaded at launch
time. This allows connection information to be pre-loaded into the instance of
pgAdmin in the container. Note that server definitions are only loaded on first
launch, i.e. when the configuration database is created, and not on subsequent
launches using the same configuration database.
**/certs/server.cert**
If TLS is enabled, this file will be used as the servers TLS certificate.
**/certs/server.key**
If TLS is enabled, this file will be used as the key file for the servers TLS
certificate.
Examples
********
Run a simple container over port 80:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run -p 80:80 \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \
-d dpage/pgadmin4
Run a simple container over port 80, setting some configuration options:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run -p 80:80 \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \
-e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' \
-e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \
-e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \
-d dpage/pgadmin4
Run a TLS secured container using a shared config/storage directory in
/private/var/lib/pgadmin on the host, and servers pre-loaded from
/tmp/servers.json on the host:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run -p 443:443 \
-v /private/var/lib/pgadmin:/var/lib/pgadmin \
-v /path/to/certificate.cert:/certs/server.cert \
-v /path/to/certificate.key:/certs/server.key \
-v /tmp/servers.json:/pgadmin4/servers.json \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \
-e 'PGADMIN_ENABLE_TLS=True' \
-d dpage/pgadmin4
Reverse Proxying
****************
Sometimes it's desirable to have users connect to pgAdmin through a reverse
proxy rather than directly to the container it's running in. The following
examples show how this can be achieved. With traditional reverse proxy servers
such as `Nginx <https://www.nginx.com/>`_, pgAdmin is running in a container on
the same host, with port 5050 on the host mapped to port 80 on the container,
for example:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run -p 5050:80 \
-e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-d dpage/pgadmin4
pgAdmin X-Forwarded-* Configuration
-----------------------------------
pgAdmin needs to understand how many proxies set each header so it knows what
values to trust. The configuration parameters for the X-Forwarded-* options
which are used for this purpose are shown below, along with their default
values.
pgAdmin is configured by default to be able to run behind a reverse proxy even
on a non-standard port and these config options don't normally need to be
changed. If you're running an unusual configuration (such as multiple reverse
proxies) you can adjust the configuration to suit.
.. code-block:: python
# Number of values to trust for X-Forwarded-For
PROXY_X_FOR_COUNT = 1
# Number of values to trust for X-Forwarded-Proto.
PROXY_X_PROTO_COUNT = 0
# Number of values to trust for X-Forwarded-Host.
PROXY_X_HOST_COUNT = 0
# Number of values to trust for X-Forwarded-Port.
PROXY_X_PORT_COUNT = 1
# Number of values to trust for X-Forwarded-Prefix.
PROXY_X_PREFIX_COUNT = 0
HTTP via Nginx
--------------
A configuration similar to the following can be used to create a simple HTTP
reverse proxy listening for all hostnames with `Nginx
<https://www.nginx.com/>`_:
.. code-block:: nginx
server {
listen 80;
server_name _;
location / {
proxy_set_header Host $host;
proxy_pass http://localhost:5050/;
proxy_redirect off;
}
}
If you wish to host pgAdmin under a subdirectory rather than on the root of the
server, you must specify the location and set the *X-Script-Name* header which
tells the pgAdmin container how to rewrite paths:
.. code-block:: nginx
server {
listen 80;
server_name _;
location /pgadmin4/ {
proxy_set_header X-Script-Name /pgadmin4;
proxy_set_header Host $host;
proxy_pass http://localhost:5050/;
proxy_redirect off;
}
}
If Nginx is also running in a container, there is no need to map the pgAdmin
port to the host, provided the two containers are running in the same Docker
network. In such a configuration, the *proxy_pass* option would be changed to
point to the pgAdmin container within the Docker network.
HTTPS via Nginx
---------------
The following configuration can be used to serve pgAdmin over HTTPS to the user
whilst the backend container is serving plain HTTP to the proxy server. In this
configuration we not only set *X-Script-Name*, but also *X-Scheme* to tell the
pgAdmin server to generate any URLs using the correct scheme. A redirect from
HTTP to HTTPS is also included. The certificate and key paths may need to be
adjusted as appropriate to the specific deployment:
.. code-block:: nginx
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name _;
ssl_certificate /etc/nginx/server.cert;
ssl_certificate_key /etc/nginx/server.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location /pgadmin4/ {
proxy_set_header X-Script-Name /pgadmin4;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host $host;
proxy_pass http://localhost:5050/;
proxy_redirect off;
}
}
Traefik
-------
Configuring `Traefik <https://traefik.io/>`_ is straightforward for either HTTP
or HTTPS when running pgAdmin in a container as it will automatically configure
itself to serve content from containers that are running on the local machine,
virtual hosting them at *<container_name>.<domain_name>*, where the domain
name is that specified in the Traefik configuration. The container is typically
launched per the example below:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run --name "pgadmin4" \
-e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-d dpage/pgadmin4
Note that the TCP/IP port has not been mapped to the host as it was in the
Nginx example, and the container name has been set to a known value as it will
be used as the hostname and may need to be added to the DNS zone file.
The following configuration will listen on ports 80 and 443, redirecting 80 to
443, using the default certificate shipped with Traefik. See the Traefik
documentation for options to use certificates from LetsEncrypt or other issuers.
.. code-block:: ini
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[docker]
domain = "domain_name"
watch = true
If you wish to host pgAdmin under a subdirectory using Traefik, the
configuration changes are typically made to the way the container is launched
and not to Traefik itself. For example, to host pgAdmin under */pgadmin4/*
instead of at the root directory, the Traefik configuration above may be used if
the container is launched like this:
.. code-block:: bash
docker pull dpage/pgadmin4
docker run --name "pgadmin4" \
-e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-e "SCRIPT_NAME=/pgadmin4" \
-l "traefik.frontend.rule=PathPrefix:/pgadmin4" \
-d dpage/pgadmin4
The *SCRIPT_NAME* environment variable has been set to tell the container it is
being hosted under a subdirectory (in the same way as the *X-Script-Name* header
is used with Nginx), and a label has been added to tell Traefik to route
requests under the subdirectory to this container.
+10 -7
View File
@@ -1,14 +1,17 @@
.. _contributions:
*****************************
pgAdmin Project Contributions
*****************************
**************************************
`pgAdmin Project Contributions`:index:
**************************************
pgAdmin is an open-source project that invites you to get involved in the development process. For more information about contributing to the pgAdmin project, contact the developers on the pgAdmin mailing list pgadmin-hackers@postgresql.org to discuss any ideas you might have for enhancements or bug fixes.
pgAdmin is an open-source project that invites you to get involved in the
development process. For more information about contributing to the pgAdmin
project, contact the developers on the pgAdmin mailing list
pgadmin-hackers@postgresql.org to discuss any ideas you might have for
enhancements or bug fixes.
In the sections listed below, you'll find detailed information about the development process used to develop, improve, and maintain the pgAdmin client.
Contents:
In the following sections, you'll find detailed information about the
development process used to develop, improve, and maintain the pgAdmin client.
.. toctree::
+88 -34
View File
@@ -1,81 +1,135 @@
.. _database_dialog:
*******************
The Database Dialog
*******************
************************
`Database Dialog`:index:
************************
Use the *Database* dialog to define or modify a database. To create a database, you must be a database superuser or have the CREATE privilege.
Use the *Database* dialog to define or modify a database. To create a database,
you must be a database superuser or have the CREATE privilege.
The *Database* dialog organizes the development of a database through the following dialog tabs: *General*, *Definition*, *Security*, and *Parameters*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Database* dialog organizes the development of a database through the
following dialog tabs: *General*, *Definition*, *Security*, and *Parameters*.
The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/database_general.png
:alt: Database dialog general tab
:align: center
Use the fields in the *General* tab to identify the database:
* Use the *Database* field to add a descriptive name for the database. The name will be displayed in the *pgAdmin* tree control.
* Select the owner of the database from the drop-down listbox in the *Owner* field.
* Store notes about the database in the *Comment* field.
* Use the *Database* field to add a descriptive name for the database. The name
will be displayed in the *pgAdmin* tree control.
* Select the owner of the database from the drop-down listbox in the *Owner*
field.
* Store notes about the database in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/database_definition.png
:alt: Database dialog definition tab
:align: center
Use the *Definition* tab to set properties for the database:
* Select a character set from the drop-down listbox in the *Encoding* field. The default is *UTF8*.
* Select a template from the drop-down listbox in the *Template* field. If you do not specify a template, the database will use template1.
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The selected tablespace will be the default tablespace used to contain database objects.
* Select a character set from the drop-down listbox in the *Encoding* field.
The default is *UTF8*.
* Select a template from the drop-down listbox in the *Template* field. If you
do not specify a template, the database will use template1.
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The
selected tablespace will be the default tablespace used to contain database
objects.
* Select the collation order from the drop-down listbox in the *Collation* field.
* Select the character classification from the drop-down listbox in the *Character Type* field. This affects the categorization of characters, e.g. lower, upper and digit. The default, or a blank field, uses the character classification of the template database.
* Specify a connection limit in the *Connection Limit* field to configure the maximum number of connection requests. The default value (*-1*) allows unlimited connections to the database.
* Select the character classification from the drop-down listbox in the
*Character Type* field. This affects the categorization of characters, e.g.
lower, upper and digit. The default, or a blank field, uses the character
classification of the template database.
* Specify a connection limit in the *Connection Limit* field to configure the
maximum number of connection requests. The default value (*-1*) allows
unlimited connections to the database.
Click the *Security* tab to continue.
.. image:: images/database_security.png
:alt: Database dialog security tab
:align: center
Use the *Security* tab to assign privileges and define security labels.
Use the *Security* tab to assign privileges and define security labels.
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
(+) to set privileges for database objects:
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the database.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click add to set additional privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click add to set additional privileges; to discard a privilege, click the trash
icon to the left of the row and confirm deletion in the *Delete Row* popup.
Use the *Security Labels* panel to define security labels applied to the database. Click the *Add* icon (+) to add each security label selection:
Use the *Security Labels* panel to define security labels applied to the
database. Click the *Add* icon (+) to add each security label selection:
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a
given label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
To discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
To discard a security label, click the trash icon to the left of the row and
confirm deletion in the *Delete Row* popup.
Click the *Parameters* tab to continue.
.. image:: images/database_parameters.png
:alt: Database dialog parameters tab
:align: center
Use the *Parameters* tab to set parameters for the database. Click the *Add* icon (+) to add each parameter:
Use the *Parameters* tab to set parameters for the database. Click the *Add*
icon (+) to add each parameter:
* Use the drop-down listbox in the *Name* field to select a parameter.
* Use the *Value* field to set a value for the parameter.
* Use the drop-down listbox next to *Role* to select a role to which the parameter setting specified will apply.
* Use the drop-down listbox next to *Role* to select a role to which the
parameter setting specified will apply.
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.
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 below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Database* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Database* dialog:
The following is an example of the sql command generated by user selections in
the *Database* dialog:
.. image:: images/database_sql.png
:alt: Database dialog sql tab
:align: center
The example creates a database named *hr* that is owned by *postgres*. It allows unlimited connections, and is available to all authenticated users.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example creates a database named *hr* that is owned by *postgres*. It
allows unlimited connections, and is available to all authenticated users.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+95 -31
View File
@@ -1,37 +1,66 @@
.. _debugger:
*************************
`pgAdmin Debugger`:index:
*************************
*****************
`Debugger`:index:
*****************
.. image:: images/debug_main.png
:alt: Debugger page
:align: center
The debugger may be used to debug PL/pgSQL functions in PostgreSQL, as well as EDB-SPL functions, stored procedures and packages in Advanced Server. The Debugger is available as an extension for your PostgreSQL installation, and is distributed as part of Advanced Server. You must have superuser privileges to use the debugger.
The debugger may be used to debug PL/pgSQL functions in PostgreSQL, as well as
EDB-SPL functions, stored procedures and packages in EDB Postgres Advanced
Server. The Debugger is available as an extension for your PostgreSQL
installation, and is distributed as part of Advanced Server. You must have
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:
Before using the debugger, you must modify the *postgresql.conf* file, adding
the server-side debugger components to the value of the
*shared_preload_libraries* parameter, for example:
shared_preload_libraries = '$libdir/*other_libraries*/plugin_debugger'
After modifying the *shared_preload_libraries* parameter, restart the server to apply the changes.
shared_preload_libraries = '$libdir/plugin_debugger'
The debugger may be used for either in-context debugging or direct debugging of a target function or procedure. When you use the debugger for in-context debugging, you set a breakpoint at the first line of a program; when a session invokes the target, control is transferred to the debugger. When using direct debugging, the debugger prompts you for any parameters required by the target, and then allows you to step through the code.
After modifying the *shared_preload_libraries* parameter, restart the server to
apply the changes.
**In-context Debugging**
The debugger may be used for either in-context debugging or direct debugging of
a target function or procedure. When you use the debugger for in-context
debugging, you set a breakpoint at the first line of a program; when a session
invokes the target, control is transferred to the debugger. When using direct
debugging, the debugger prompts you for any parameters required by the target,
and then allows you to step through the code.
To set a breakpoint at the first line of a program, right-click the name of the object you would like to debug, and select *Set breakpoint* from the *Debugging* sub-menu. The debugger window will open, waiting for another session to invoke the program.
In-context Debugging
********************
To set a breakpoint at the first line of a program, right-click the name of the
object you would like to debug, and select *Set breakpoint* from the *Debugging*
sub-menu. The debugger window will open, waiting for another session to invoke
the program.
.. image:: images/debug_set_breakpoint.png
:alt: Debugger set a breakpoint demo
:align: center
When another session invokes the target, the debugger will display the code, allowing you to add break points, or step through line-by-line. The other session is suspended until the debugging completes; then control is returned to the session.
When another session invokes the target, the debugger will display the code,
allowing you to add break points, or step through line-by-line. The other
session is suspended until the debugging completes; then control is returned
to the session.
.. image:: images/debug_ic_step_in.png
:alt: Debugger step-in demo
:align: center
Direct Debugging
****************
**Direct Debugging**
To use the debugger for direct debugging, right click on the name of the object that you wish to debug in the pgAdmin tree control and select *Debug* from the *Debugging* sub-menu. The debugger window will open, prompting you for any values required by the program:
To use the debugger for direct debugging, right click on the name of the object
that you wish to debug in the pgAdmin tree control and select *Debug* from the
*Debugging* sub-menu. The debugger window will open, prompting you for any
values required by the program:
.. image:: images/debug_params.png
:alt: Debugger parameter dialog
Use the fields on the *Debugger* dialog to provide a value for each parameter:
@@ -39,20 +68,37 @@ Use the fields on the *Debugger* dialog to provide a value for each parameter:
* The *Type* field contains the parameter data type.
* Check the *Null?* checkbox to indicate that the parameter is a NULL value.
* Check the *Expression?* checkbox if the Value field contains an expression.
* Use the *Value* field to provide the parameter value that will be passed to the program. When entering parameter values, type the value into the appropriate cell on the grid, or, leave the cell empty to represent NULL, enter '' (two single quotes) to represent an empty string, or to enter a literal string consisting of just two single quotes, enter \'\'. PostgreSQL 8.4 and above supports variadic function parameters. These may be entered as a comma-delimited list of values, quoted and/or cast as required.
* Check the *Use default?* checkbox to indicate that the program should use the value in the Default Value field.
* The *Default Value* field contains the default value of the parameter.
* Use the *Value* field to provide the parameter value that will be passed to
the program. When entering parameter values, type the value into the
appropriate cell on the grid, or, leave the cell empty to represent NULL,
enter '' (two single quotes) to represent an empty string, or to enter a
literal string consisting of just two single quotes, enter \'\'. PostgreSQL
8.4 and above supports variadic function parameters. These may be entered as
a comma-delimited list of values, quoted and/or cast as required.
* Check the *Use default?* checkbox to indicate that the program should use
the value in the Default Value field.
* The *Default Value* field contains the default value of the parameter.
Provide values required by the program, and click the *Debug* button to start stepping through the program.
Provide values required by the program, and click the *Debug* button to start
stepping through the program.
The values of the arguments provided here are saved. The values will be pre-filled
next time the dialog opens. To clear the values, use the *Clear All* button.
.. image:: images/debug_step_in.png
:alt: Debugger step-in demo
:align: center
Using the Debugger
******************
**Using the Debugger**
The main debugger window consists of two panels and a context-sensitive toolbar. Use toolbar icons to manage breakpoints and step into or through code; hover over an icon for a tooltip that identifies the option associated with the icon. The toolbar options are:
The main debugger window consists of two panels and a context-sensitive toolbar.
Use toolbar icons to manage breakpoints and step into or through code; hover
over an icon for a tooltip that identifies the option associated with the icon.
The toolbar options are:
.. image:: images/debug_toolbar.png
:alt: Debugger navigation toolbar
:align: center
+-------------------------+-----------------------------------------------------------------------------------------------------------+
| Option | Action |
@@ -72,29 +118,47 @@ The main debugger window consists of two panels and a context-sensitive toolbar.
| *Stop* | Click the *Stop* icon to halt the execution of a program. |
+-------------------------+-----------------------------------------------------------------------------------------------------------+
The top panel of the debugger window displays the program body; click in the grey margin next to a line number to add a breakpoint. The highlighted line in the top panel is the line that is about to execute.
The top panel of the debugger window displays the program body; click in the
grey margin next to a line number to add a breakpoint. The highlighted line in
the top panel is the line that is about to execute.
.. image:: images/debug_main.png
:alt: Debugger main window
:align: center
The lower panel of the debugger window provides a set of tabs that allow you to review information about the program:
The lower panel of the debugger window provides a set of tabs that allow you to
review information about the program:
* The *Parameters* tab displays the value of each parameter.
* The *Local* variables tab displays the current value of the program variables.
* The *Messages* tab displays any messages returned by the server (errors, warnings and informational messages).
* The *Messages* tab displays any messages returned by the server (errors,
warnings and informational messages).
* The *Results* tab displays the server message when the program completes.
* The *Stack* tab displays the list of functions that have been invoked, but which have not yet completed.
* The *Stack* tab displays the list of functions that have been invoked, but
which have not yet completed.
As you step through a program, the *Local variables* tab displays the current value of each variable:
As you step through a program, the *Local variables* tab displays the current
value of each variable:
.. image:: images/debug_variables.png
:alt: Debugger local variables tab
:align: center
When you step into a subroutine, the *Stack* tab displays the call stack, including the name of each caller, the parameter values for each caller (if any), and the line number within each caller:
When you step into a subroutine, the *Stack* tab displays the call stack,
including the name of each caller, the parameter values for each caller (if
any), and the line number within each caller:
.. image:: images/debug_stack.png
:alt: Debugger local stack tab
:align: center
Select a caller to change focus to that stack frame and display the state of the caller in the upper panel.
Select a caller to change focus to that stack frame and display the state of
the caller in the upper panel.
When the program completes, the *Results* tab displays the message returned by the server. If the program encounters an error, the *Messages* tab displays details:
When the program completes, the *Results* tab displays the message returned by
the server. If the program encounters an error, the *Messages* tab displays
details:
.. image:: images/debug_error_message.png
:alt: Debugger error message
:align: center
+13 -8
View File
@@ -1,15 +1,20 @@
.. _deployment:
******************
pgAdmin Deployment
******************
*******************
`Deployment`:index:
*******************
Pre-compiled and configured installation packages for pgAdmin 4 are available for a number of desktop environments; we recommend using an installer whenever possible. If you are interested in learning more about the project, or if a pgAdmin installer is not available for your environment, the pages listed below will provide detailed information about creating a custom deployment.
Contents:
Pre-compiled and configured installation packages for pgAdmin 4 are available
for a number of desktop environments; we recommend using an installer whenever
possible. If you are interested in learning more about the project, or if a
pgAdmin installer is not available for your environment, the pages listed below
will provide detailed information about creating a custom deployment.
.. toctree::
:maxdepth: 2
config_py
desktop_deployment
server_deployment
server_deployment
container_deployment
cloud_deployment
+112 -51
View File
@@ -1,78 +1,139 @@
.. _desktop_deployment:
******************
Desktop Deployment
******************
***************************
`Desktop Deployment`:index:
***************************
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 and
display the program on a supported Windows, Mac OS X or Linux installation.
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.
**Note: Pre-compiled and configured installation packages are available for
a number of platforms. These packages should be used by end-users whereever
possible - the following information is useful for the maintainers of those
packages and users interested in understanding how pgAdmin works.**
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
possible - the following information is useful for the maintainers of those
packages and users interested in understanding how pgAdmin works.
.. 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;f=README.md>`_,
but be aware that this may differ from the version included with the source code
for a specific version of pgAdmin.
Configuration
*************
In order to configure pgAdmin to run in desktop mode, it is first necessary to
configure the Python code to run in single-user mode, and then to configure the
runtime to find and execute the code.
From pgAdmin 4 v2 onwards, the default configuration mode is server, however,
this is overridden by the desktop runtime at startup. In most environments, no
Python configuration is required unless you wish to override other default
settings.
Note that there are multiple configuration files that are read at startup by
pgAdmin. These are as follows:
See :ref:`config_py` for more information on configuration settings.
* ``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
in one of the following files.
Desktop Runtime Standalone Application
======================================
* ``config_distro.py``: This file is read after ``config.py`` and is intended for
packagers to change any settings that are required for their pgAdmin distribution.
This may typically include certain paths and file locations.
The Desktop Runtime is based on `NWjs <https://nwjs.io/>`_ which integrates a
browser and the Python server creating a standalone application.
* ``config_local.py``: This file is read after ``config_distro.py`` and is intended
for end users to change any default or packaging specific settings that they may
wish to adjust to meet local preferences or standards.
.. image:: images/runtime_standalone.png
:alt: Runtime Standalone
:align: center
Python
------
Runtime Menu
------------
In order to configure the Python code, follow these steps:
.. image:: images/runtime_menu.png
:alt: Runtime Menu
:align: center
1. Ensure that any existing configuration database (``pgadmin4.db``) is moved
out of the way in the ``web/`` directory containing the pgAdmin Python code.
Use the *File Menu* to access the *Runtime Menu*:
2. Create a ``config_local.py`` file alongside the existing ``config.py`` file.
+-------------------------+---------------------------------------------------------------------------------------------------------+
| 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 + -). |
+-------------------------+---------------------------------------------------------------------------------------------------------+
3. Edit ``config_local.py`` and add the following setting:
Configuration Dialog
--------------------
.. code-block:: python
Use the *Runtime Menu* to access the *Configuration* dialog:
SERVER_MODE = False
4. Run the following command to create the configuration database:
.. image:: images/runtime_configuration.png
:alt: Runtime Configuration
:align: center
.. code-block:: bash
Following are the details of the *Fixed port number?*, *Port Number*, *Connection
Timeout*, and 'Open Documentation in Default Browser?' configuration parameters:
$ python setup.py
.. table::
:class: longtable
:widths: 2 1 4
Alternatively, you can simply run ``pgAdmin4.py`` at this point or aat a later time,
and ``pgadmin4.db`` will be created automatically at first run.
Runtime
-------
+----------------------------------------+--------------------+---------------------------------------------------------------+
| Key | Type | Purpose |
+========================================+====================+===============================================================+
| FixedPort | Boolean | Use a fixed network port number rather than a random one. |
+----------------------------------------+--------------------+---------------------------------------------------------------+
| PortNumber | Integer | The port number to use, if using a fixed port. |
+----------------------------------------+--------------------+---------------------------------------------------------------+
| ConnectionTimeout | Integer | The number of seconds to wait for application server startup. |
+----------------------------------------+--------------------+---------------------------------------------------------------+
| Open Documentation in Default Browser | Boolean | By checking this option, all documentation links will open in |
| | | the default browser instead of in a new window. |
+----------------------------------------+--------------------+---------------------------------------------------------------+
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 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:
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.
.. code-block:: bash
.. image:: images/runtime_error.png
:alt: Runtime Error
:align: center
/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/;/Users/dpage/python-libs/
The configuration settings are stored using the QSettings class in Qt, which
will use an INI file on Unix systems, a plist file on Mac OS X, and the registry
on Windows. The Python Path setting is stored in the ``PythonPath`` key.
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).
+12 -7
View File
@@ -1,14 +1,19 @@
.. _developer_tools:
***************
Developer Tools
***************
************************
`Developer Tools`:index:
************************
The pgAdmin *Tools* menu displays a list of powerful developer tools that you can use to execute and analyze complex SQL commands, manage data, and debug PL/SQL code.
Contents:
The pgAdmin *Tools* menu displays a list of powerful developer tools that you
can use to execute and analyze complex SQL commands, manage data, and debug
PL/SQL code.
.. toctree::
:maxdepth: 2
debugger
query_tool
editgrid
schema_diff
erd_tool
psql_tool
+43 -18
View File
@@ -1,45 +1,70 @@
.. _domain_constraint_dialog:
*****************************
The Domain Constraints Dialog
*****************************
**********************************
`Domain Constraints Dialog`:index:
**********************************
Use the *Domain Constraints* dialog to create or modify a domain constraint. A domain constraint confirms that the values provided for a domain meet a defined criteria. The *Domain Constraints* dialog implements options of the ALTER DOMAIN command.
Use the *Domain Constraints* dialog to create or modify a domain constraint. A
domain constraint confirms that the values provided for a domain meet a defined
criteria. The *Domain Constraints* dialog implements options of the ALTER DOMAIN
command.
The *Domain Constraints* dialog organizes the development of a domain constraint through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Domain Constraints* dialog organizes the development of a domain constraint
through the following dialog tabs: *General* and *Definition*. The *SQL* tab
displays the SQL code generated by dialog selections.
.. image:: images/domain_constraint_general.png
:alt: Domain constraint dialog general tab
:align: center
Use the fields in the *General* tab to identify the domain constraint:
* Use the *Name* field to add a descriptive name for the constraint. The name will be displayed in the *pgAdmin* tree control.
* Use the *Name* field to add a descriptive name for the constraint. The name
will be displayed in the *pgAdmin* tree control.
* Store notes about the constraint in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/domain_constraint_definition.png
:alt: Domain constraint dialog general tab
:align: center
Use the fields in the *Definition* tab to define the domain constraint:
* Use the *Check* field to provide a CHECK expression. A CHECK expression specifies a constraint that the domain must satisfy. A constraint must produce a Boolean result; include the key word VALUE to refer to the value being tested. Only those expressions that evaluate to TRUE or UNKNOWN will succeed. A CHECK expression cannot contain subqueries or refer to variables other than VALUE. If a domain has multiple CHECK constraints, they will be tested in alphabetical order.
* Move the *Validate?* switch to the *No* position to mark the constraint NOT VALID. If the constraint is marked NOT VALID, the constraint will not be applied to existing column data. The default value is *Yes*.
* Use the *Check* field to provide a CHECK expression. A CHECK expression
specifies a constraint that the domain must satisfy. A constraint must produce
a Boolean result; include the key word VALUE to refer to the value being
tested. Only those expressions that evaluate to TRUE or UNKNOWN will succeed.
A CHECK expression cannot contain subqueries or refer to variables other than
VALUE. If a domain has multiple CHECK constraints, they will be tested in
alphabetical order.
* Move the *Validate?* switch to the *No* position to mark the constraint NOT
VALID. If the constraint is marked NOT VALID, the constraint will not be
applied to existing column data. The default value is *Yes*.
Click the *SQL* tab to continue.
Your entries in the *Domain Constraints* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Domain Constraints* dialog generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Domain Constraints* dialog:
The following is an example of the sql command generated by user selections in
the *Domain Constraints* dialog:
.. image:: images/domain_constraint_sql.png
:alt: Domain constraint dialog general tab
:align: center
The example shown demonstrates creating a domain constraint on the domain *timesheets* named *weekday*. It constrains a value to equal *Friday*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a domain constraint on the domain
*timesheets* named *weekday*. It constrains a value equal to *Friday*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+78 -28
View File
@@ -1,75 +1,125 @@
.. _domain_dialog:
*****************
The Domain Dialog
*****************
**********************
`Domain Dialog`:index:
**********************
Use the *Domain* dialog to define a domain. A domain is a data type definition that may constrain permissible values. Domains are useful when you are creating multiple tables that contain comparable columns; you can create a domain that defines constraints that are common to the columns and re-use the domain definition when creating the columns, rather than individually defining each set of constraints.
Use the *Domain* dialog to define a domain. A domain is a data type definition
that may constrain permissible values. Domains are useful when you are creating
multiple tables that contain comparable columns; you can create a domain that
defines constraints that are common to the columns and re-use the domain
definition when creating the columns, rather than individually defining each
set of constraints.
The *Domain* dialog organizes the development of a domain through the following tabs: *General*, *Definition*, *Constraints*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Domain* dialog organizes the development of a domain through the following
tabs: *General*, *Definition*, *Constraints*, and *Security*. The *SQL* tab
displays the SQL code generated by dialog selections.
.. image:: images/domain_general.png
:alt: Domain dialog general tab
:align: center
Use the fields on the *General* tab to identify a domain:
* Use the *Name* field to add a descriptive name for the domain. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select a role that will own the domain.
* Select the name of the schema in which the domain will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the domain. The name will
be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select a role that will own the
domain.
* Select the name of the schema in which the domain will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the domain in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/domain_definition.png
:alt: Domain dialog definition tab
:align: center
Use the fields in the *Definition* tab to describe the domain:
* Use the drop-down listbox next to *Base type* to specify a data type.
* Use the context-sensitive *Length* field to specify a numeric length for a numeric type.
* Use the context-sensitive *Precision* field to specify the total count of significant digits for a numeric type.
* Specify a default value for the domain data type in the *Default* field. The data type of the default expression must match the data type of the domain. If no default value is specified, then the default value is the null value.
* Move the *Not Null* switch to specify the values of this domain are prevented from being null.
* Use the drop-down listbox next to *Collation* to apply a collation cast. If no collation is specified, the underlying data type's default collation is used. The underlying type must be collatable if COLLATE is specified.
* Use the context-sensitive *Length* field to specify a numeric length for a
numeric type.
* Use the context-sensitive *Precision* field to specify the total count of
significant digits for a numeric type.
* Specify a default value for the domain data type in the *Default* field. The
data type of the default expression must match the data type of the domain. If
no default value is specified, then the default value is the null value.
* Move the *Not Null* switch to specify the values of this domain are prevented
from being null.
* Use the drop-down listbox next to *Collation* to apply a collation cast. If
no collation is specified, the underlying data type's default collation is
used. The underlying type must be collatable if COLLATE is specified.
Click the *Constraints* tab to continue.
.. image:: images/domain_constraints.png
:alt: Domain dialog constraints tab
:align: center
Use the fields in the *Constraints* tab to specify rules for the domain. Click the *Add* icon (+) to set constraints:
Use the fields in the *Constraints* tab to specify rules for the domain. Click
the *Add* icon (+) to set constraints:
* Use the *Name* field to specify a name for the constraint.
* Use the *Check* field to provide an expression for the constraint.
* Use the *Validate* checkbox to determine whether the constraint will be validated. The default checkbox is checked and sets a validation requirement.
* Use the *Validate* checkbox to determine whether the constraint will be
validated. The default checkbox is checked and sets a validation requirement.
A CHECK clause specifies an integrity test which values of the domain must satisfy. Each constraint must be an expression that produces a Boolean result. Use the key word VALUE to refer to the value being tested. Expressions evaluating to TRUE or UNKNOWN succeed. If the expression produces a FALSE result, an error is reported and the value is not allowed to be converted to the domain type. A CHECK expression cannot contain subqueries nor refer to variables other than VALUE. If a domain has multiple CHECK constraints, they will be tested in alphabetical order by name.
A CHECK clause specifies an integrity test which values of the domain must
satisfy. Each constraint must be an expression that produces a Boolean result.
Use the key word VALUE to refer to the value being tested. Expressions
evaluating to TRUE or UNKNOWN succeed. If the expression produces a FALSE
result, an error is reported and the value is not allowed to be converted to
the domain type. A CHECK expression cannot contain subqueries nor refer to
variables other than VALUE. If a domain has multiple CHECK constraints, they
will be tested in alphabetical order by name.
Click the *Add* icon (+) to set additional constraints; to discard a constraint, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to set additional constraints; to discard a constraint,
click the trash icon to the left of the row and confirm deletion in the *Delete
Row* popup.
Click the *Security* tab to continue.
.. image:: images/domain_security.png
:alt: Domain dialog security tab
:align: center
Use the *Security Labels* panel to assign security labels. Click the *Add* icon (+) to add a label:
Use the *Security Labels* panel to assign security labels. Click the *Add* icon
(+) to add a label:
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a
given label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
Click the *Add* icon (+) to specify each additional label; to discard a label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional label; to discard a label,
click the trash icon to the left of the row and confirm deletion in the *Delete
Row* popup.
Click the *SQL* tab to continue.
Your entries in the *Domain* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Domain* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by selections made in the *Domain* dialog:
The following is an example of the sql command generated by selections made in
the *Domain* dialog:
.. image:: images/domain_sql.png
:alt: Domain dialog sql tab
:align: center
The example shown demonstrates creating a domain named *minimum-wage* that confirms that the value entered is greater than or equal to *7.25*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a domain named *postal_code* that
confirms that the value entered is in proper format.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+225
View File
@@ -0,0 +1,225 @@
.. _editgrid:
***********************
`View/Edit Data`:index:
***********************
To view or modify data, right click on a table or view name in the *Browser*
tree control. When the context menu opens, use the *View/Edit Data* menu to
specify the number of rows you would like to display in the editor panel.
.. image:: images/editgrid.png
:alt: Edit grid window
:align: center
To modify the content of a table, each row in the table must be uniquely
identifiable. If the table definition does not include an OID or a primary key,
the displayed data is read only. Note that views cannot be edited; updatable
views (using rules) are not supported.
The editor features a toolbar that allows quick access to frequently used
options, and a work environment divided into two panels:
* The upper panel displays the SQL command that was used to select the content
displayed in the lower panel.
* The lower panel (the Data Grid) displays the data selected from the table or
view.
The View/Edit Data Toolbar
**************************
The :ref:`Query Tool <query_tool>` and :ref:`View/Edit Data <editgrid>` tools
are actually different operating modes of the same tool. Some controls will be
disabled in either mode. Please see
:ref:`The Query Tool Toolbar <query_tool_toolbar>` for a description of the
available controls.
.. _data-grid:
The Data Grid
*************
The top row of the data grid displays the name of each column, the data type,
and if applicable, the number of characters allowed. A column that is part of
the primary key will additionally be marked with [PK].
To modify the displayed data:
* To change a numeric value within the grid, double-click the value to select
the field. Modify the content in the square in which it is displayed.
* To change a non-numeric value within the grid, double-click the content to
access the edit bubble. After modifying the contentof the edit bubble, click
the *Ok* button to display your changes in the data grid, or *Cancel* to
exit the edit bubble without saving.
To enter a newline character, click Ctrl-Enter or Shift-Enter. Newline
formatting is only displayed when the field content is accessed via an edit
bubble.
To add a new row to the table, enter data into the last (unnumbered) row of the
table. As soon as you store the data, the row is assigned a row number, and a
fresh empty line is added to the data grid.
To write a SQL NULL to the table, simply leave the field empty. When you store
the new row, the will server fill in the default value for that column. If you
store a change to an existing row, the value NULL will explicitly be written.
To write an empty string to the table, enter the special string '' (two single
quotes) in the field. If you want to write a string containing solely two single
quotes to the table, you need to escape these quotes, by typing \'\'
To delete a row, press the *Delete* toolbar button. A popup will open, asking
you to confirm the deletion.
To commit the changes to the server, select the *Save Data* toolbar button.
**Geometry Data Viewer**
If PostGIS is installed, you can view GIS objects in a map by selecting row(s)
and clicking the 'View Geometry' button in the column. If no rows are selected,
the entire data set will be rendered:
.. image:: images/geometry_viewer.png
:alt: Geometry Viewer Button
:align: center
You can adjust the layout by dragging the title of the panel. To view the
properties of the geometries directly in map, just click the specific geometry:
.. image:: images/geometry_viewer_property_table.png
:alt: Geometry Viewer Property Table
:align: center
.. note::
- *Supported data types:* The Geometry Viewer supports 2D and 3DM geometries in
EWKB format including `Point, LineString, Polygon MultiPoint, MultiLineString,
MultiPolygon and GeometryCollection`.
- *SRIDs:* If there are geometries with different SRIDs in the same column, the
viewer will render geometries with the same SRID in the map. If SRID=4326 the
OSM tile layer will be added into the map.
- *Data size:* For performance reasons, the viewer will render no more than
100000 geometries, totaling up to 20MB.
- *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
**************************
You can access *Sort/Filter options dialog* by clicking on Sort/Filter button.
This allows you to specify an SQL Filter to limit the data displayed and data
sorting options in the edit grid window:
.. image:: images/editgrid_filter_dialog.png
:alt: Edit grid filter dialog window
:align: center
* Use *SQL Filter* to provide SQL filtering criteria. These will be added to
the "WHERE" clause of the query used to retrieve the data. For example,
you might enter:
.. code-block:: sql
id > 25 AND created > '2018-01-01'
* Use *Data Sorting* to sort the data in the output grid
To add new column(s) in data sorting grid, click on the [+] icon.
* Use the drop-down *Column* to select the column you want to sort.
* Use the drop-down *Order* to select the sort order for the column.
To delete a row from the grid, click the trash icon.
* Click the *Help* button (?) to access online help.
* Click the *Ok* button to save work.
* Click the *Close* button to discard current changes and close the dialog.
.. toctree::
:maxdepth: 2
viewdata_filter
+236
View File
@@ -0,0 +1,236 @@
.. _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.
* Drag and drop tables from browser tree to the diagram.
.. 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.
+58 -24
View File
@@ -1,58 +1,92 @@
.. _event_trigger_dialog:
************************
The Event Trigger Dialog
************************
Use the *Domain Trigger* dialog to define an event trigger. Unlike regular triggers, which are attached to a single table and capture only DML events, event triggers are global to a particular database and are capable of capturing DDL events. Like regular triggers, event triggers can be written in any procedural language that includes event trigger support, or in C, but not in SQL.
*****************************
`Event Trigger Dialog`:index:
*****************************
The *Domain Trigger* dialog organizes the development of a event trigger through the following dialog tabs: *General*, *Definition*, and *Security Labels*. The *SQL* tab displays the SQL code generated by dialog selections.
Use the *Event Trigger* dialog to define an event trigger. Unlike regular
triggers, which are attached to a single table and capture only DML events,
event triggers are global to a particular database and are capable of capturing
DDL events. Like regular triggers, event triggers can be written in any
procedural language that includes event trigger support, or in C, but not in
SQL.
The *Event Trigger* dialog organizes the development of a event trigger through
the following dialog tabs: *General*, *Definition*, and *Security Labels*. The
*SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/event_trigger_general.png
:alt: Event trigger dialog general tab
:align: center
Use the fields in the *General* tab to identify the event trigger:
* Use the *Name* field to add a descriptive name for the event trigger. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to specify the owner of the event trigger.
* Use the *Name* field to add a descriptive name for the event trigger. The name
will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to specify the owner of the event
trigger.
* Store notes about the event trigger in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/event_trigger_definition.png
:alt: Event trigger dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the event trigger:
* Select a radio button in the *Enabled Status* field to specify a status for the trigger: *Enable* *Disable*, *Replica* *Always*.
* Use the drop-down listbox next to *Trigger function* to specify an existing function. A trigger function takes an empty argument list, and returns a value of type event_trigger.
* Select a radio button in the *Events* field to specify when the event trigger will fire: *DDL COMMAND START*, *DDL COMMAND END*, or *SQL DROP*.
* Use the *When* field to write a condition for the event trigger that must be satisfied before the event trigger can execute.
* Select a value from the drop down of *Trigger Enabled* field to specify a status
for the trigger: *Enable* *Disable*, *Replica* *Always*.
* Use the drop-down listbox next to *Trigger function* to specify an existing
function. A trigger function takes an empty argument list, and returns a
value of type event_trigger.
* Select a value from the drop down of *Events* field to specify when the event
trigger will fire: *DDL COMMAND START*, *DDL COMMAND END*, or *SQL DROP*.
* Use the *When TAG in* field to enter filter values for TAG for which the trigger
will be executed. The values must be in single quotes separated by comma.
Click the *Security Labels* tab to continue.
Click the *Security Labels* tab to continue.
.. image:: images/event_trigger_security.png
:alt: Event trigger dialog security tab
:align: center
Use the *Security* tab to define security labels applied to the trigger. Click the *Add* icon (+) to add each security label.
Use the *Security* tab to define security labels applied to the trigger. Click
the *Add* icon (+) to add each security label.
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a security label in the *Security Label* field. The meaning of a given
label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional security labels; to discard a
security label, click the trash icon to the left of the row and confirm deletion
in the *Delete Row* popup.
Click the *SQL* tab to continue.
Your entries in the *Domain Trigger* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Event Trigger* dialog generate a generate a SQL command.
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Domain Trigger* dialog:
The following is an example of the sql command generated by user selections in
the *Event Trigger* dialog:
.. image:: images/event_trigger_sql.png
:alt: Event trigger dialog sql tab
:align: center
The command creates an event trigger named *accounts* that invokes the procedure named *acct_due*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The command creates an event trigger named *accounts* that invokes the procedure
named *evt_tri_fun*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+72 -31
View File
@@ -1,63 +1,104 @@
.. _exclusion_constraint_dialog:
*******************************
The Exclusion constraint Dialog
*******************************
************************************
`Exclusion Constraint Dialog`:index:
************************************
Use the *Exclusion constraint* dialog to define or modify the behavior of an exclusion constraint. An exclusion constraint guarantees that if any two rows are compared on the specified column or expression (using the specified operator), at least one of the operator comparisons will return false or null.
Use the *Exclusion constraint* dialog to define or modify the behavior of an
exclusion constraint. An exclusion constraint guarantees that if any two rows
are compared on the specified column or expression (using the specified
operator), at least one of the operator comparisons will return false or null.
The *Exclusion constraint* dialog organizes the development of an exclusion
constraint through the following dialog tabs: *General*, *Definition*, and
*Columns*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Exclusion constraint* dialog organizes the development of an exclusion constraint through the following dialog tabs: *General*, *Definition*, and *Columns*. The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/exclusion_constraint_general.png
:alt: Exclusion constraint dialog general tab
:align: center
Use the fields in the *General* tab to identify the exclusion constraint:
* Use the *Name* field to provide a descriptive name for the exclusion constraint. The name will be displayed in the *pgAdmin* tree control.
* Use the *Name* field to provide a descriptive name for the exclusion
constraint. The name will be displayed in the *pgAdmin* tree control.
Click the *Definition* tab to continue.
.. image:: images/exclusion_constraint_definition.png
:alt: Exclusion constraint dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the exclusion constraint:
* Use the drop-down listbox next to *Tablespace* to select the tablespace in which the index associated with the exclude constraint will reside.
* Use the drop-down listbox next to *Access method* to specify the type of index that will be used when implementing the exclusion constraint:
* Use the drop-down listbox next to *Tablespace* to select the tablespace in
which the index associated with the exclude constraint will reside.
* Use the drop-down listbox next to *Access method* to specify the type of
index that will be used when implementing the exclusion constraint:
* Select *gist* to specify a GiST index.
* Select *spgist* to specify a space-partitioned GiST index.
* Select *btree* to specify a B-tree index.
* Select *hash* to specify a hash index.
* Use the *Fill Factor* field to specify a fill factor for the table and associated index. The fill factor is a percentage between 10 and 100. 100 (complete packing) is the default.
* Move the *Deferrable?* switch to the *Yes* position to specify that the timing of the constraint is deferrable, and can be postponed until the end of the statement. The default is *No*.
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
* Use the *Constraint* field to provide a condition that a row must satisfy to be included in the table.
* Select *gist* to specify a GiST index.
* Select *spgist* to specify a space-partitioned GiST index.
* Select *btree* to specify a B-tree index.
* Select *hash* to specify a hash index.
* Use the *Fill Factor* field to specify a fill factor for the table and
associated index. The fill factor is a percentage between 10 and 100. 100
(complete packing) is the default.
* Move the *Deferrable?* switch to the *Yes* position to specify that the
timing of the constraint is deferrable, and can be postponed until the end of
the statement. The default is *No*.
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
timing of the constraint is deferred to the end of the statement. The default
is *No*.
* Use the *Constraint* field to provide a condition that a row must satisfy to
be included in the table.
Click the *Columns* tab to continue.
.. image:: images/exclusion_constraint_columns.png
: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.
* 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 default is *ASC* which specifies an ascending sort order.
* Use the *NULLs order* column to specify the placement of NULL values (when sorted). Specify *FIRST* or *LAST*.
* Use the drop-down list next to *Operator* to specify a comparison or conditional operator.
* 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
default is *ASC* which specifies an ascending sort order.
* Use the *NULLs order* column to specify the placement of NULL values (when
sorted). Specify *FIRST* or *LAST*.
* Use the drop-down list next to *Operator* to specify a comparison or
conditional operator.
Use *Include columns* field to specify columns for *INCLUDE* clause of the
constraint. This option is available in Postgres 11 and later.
Click the *SQL* tab to continue.
Your entries in the *Exclusion Constraint* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Exclusion Constraint* dialog generate a SQL command (see
an example below). Use the *SQL* tab for review; revisit or switch tabs to make
any changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Exclusion Constraint* dialog:
The following is an example of the sql command generated by user selections in
the *Exclusion Constraint* dialog:
.. image:: images/exclusion_constraint_sql.png
:alt: Exclusion constraint dialog sql tab
:align: center
The example shown demonstrates creating an exclusion constraint named *exclude_department* that restricts additions to the dept table to those additions that are not equal to the value of the *deptno* column. The constraint uses a btree index.
The example shown demonstrates creating an exclusion constraint named
*ex_dept_no*. The constraint uses a btree index.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+37 -16
View File
@@ -1,43 +1,64 @@
.. _extension_dialog:
********************
The Extension Dialog
********************
*************************
`Extension Dialog`:index:
*************************
Use the *Extension* dialog to install a new extension into the current database. An extension is a collection of SQL objects that add targeted functionality to your Postgres installation. The *Extension* dialog adds the functionality of an extension to the current database only; you must register the extension in each database that use the extension. Before you load an extension into a database, you should confirm that any pre-requisite files are installed.
Use the *Extension* dialog to install a new extension into the current database.
An extension is a collection of SQL objects that add targeted functionality to
your Postgres installation. The *Extension* dialog adds the functionality of
an extension to the current database only; you must register the extension in
each database that use the extension. Before you load an extension into a
database, you should confirm that any pre-requisite files are installed.
The *Extension* dialog allows you to implement options of the CREATE EXTENSION command through the following dialog tabs: *General* and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Extension* dialog allows you to implement options of the CREATE EXTENSION
command through the following dialog tabs: *General* and *Definition*. The *SQL*
tab displays the SQL code generated by dialog selections.
.. image:: images/extension_general.png
:alt: Extension dialog general tab
:align: center
Use the fields in the *General* tab to identify an extension:
* Use the drop-down listbox in the *Name* field to select the extension. Each extension must have a unique name.
* Store notes about the extension in the *Comment* field.
* Use the drop-down listbox in the *Name* field to select the extension. Each
extension must have a unique name.
* Store notes about the extension in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/extension_definition.png
:alt: Extension dialog definition tab
:align: center
Use the *Definition* tab to select the *Schema* and *Version*:
* Use the drop-down listbox next to *Schema* to select the name of the schema in which to install the extension's objects.
* Use the drop-down listbox next to *Version* to select the version of the extension to install.
* Use the drop-down listbox next to *Schema* to select the name of the schema
in which to install the extension's objects.
* Use the drop-down listbox next to *Version* to select the version of the
extension to install.
Click the *SQL* tab to continue.
Your entries in the *Extension* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Extension* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Extension* dialog:
The following is an example of the sql command generated by user selections in
the *Extension* dialog:
.. image:: images/extension_sql.png
:alt: Extension dialog sql tab
:align: center
The command creates the *chkpass* extension in the *public* schema. It is version *1.0* of *chkpass*.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The command creates the *adminpack* extension in the *public* schema. It is
version *1.0* of *adminpack*.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+64 -26
View File
@@ -1,70 +1,108 @@
.. _foreign_data_wrapper_dialog:
*******************************
The Foreign Data Wrapper Dialog
*******************************
************************************
`Foreign Data Wrapper Dialog`:index:
************************************
Use the *Foreign Data Wrapper* dialog to create or modify a foreign data wrapper. A foreign data wrapper is an adapter between a Postgres database and data stored on another data source.
Use the *Foreign Data Wrapper* dialog to create or modify a foreign data
wrapper. A foreign data wrapper is an adapter between a Postgres database and
data stored on another data source.
You must be a superuser to create a foreign data wrapper.
The *Foreign Data Wrapper* dialog organizes the development of a foreign data wrapper through the following dialog tabs: *General*, *Definition*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Foreign Data Wrapper* dialog organizes the development of a foreign data
wrapper through the following dialog tabs: *General*, *Definition*, *Options*,
and *Security*. The *SQL* tab displays the SQL code generated by dialog
selections.
.. image:: images/foreign_data_wrapper_general.png
:alt: Foreign data wrapper dialog general tab
:align: center
Use the fields in the *General* tab to identify the foreign data wrapper:
Use the fields in the *General* tab to identify the foreign data wrapper:
* Use the *Name* field to add a descriptive name for the foreign data wrapper. A foreign data wrapper name must be unique within the database. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the foreign data wrapper.
* Use the *Name* field to add a descriptive name for the foreign data wrapper.
A foreign data wrapper name must be unique within the database. The name will
be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that
will own the foreign data wrapper.
* Store notes about the foreign data wrapper in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/foreign_data_wrapper_definition.png
:alt: Foreign data wrapper dialog definition tab
:align: center
Use the fields in the *Definition* tab to set parameters:
* Select the name of the handler function from the drop-down listbox in the *Handler* field. This is the name of an existing function that will be called to retrieve the execution functions for foreign tables.
* Select the name of the validator function from the drop-down listbox in the *Validator* field. This is the name of an existing function that will be called to check the generic options given to the foreign data wrapper, as well as options for foreign servers, user mappings and foreign tables using the foreign data wrapper.
* Select the name of the handler function from the drop-down listbox in the
*Handler* field. This is the name of an existing function that will be called
to retrieve the execution functions for foreign tables.
* Select the name of the validator function from the drop-down listbox in the
*Validator* field. This is the name of an existing function that will be
called to check the generic options given to the foreign data wrapper, as
well as options for foreign servers, user mappings and foreign tables using
the foreign data wrapper.
Click the *Options* tab to continue.
.. image:: images/foreign_data_wrapper_options.png
:alt: Foreign data wrapper dialog options tab
:align: center
Use the fields in the *Options* tab to specify options:
* Click the the *Add* icon (+) button to add an option/value pair for the foreign data wrapper. Supported option/value pairs will be specific to the selected foreign data wrapper.
* Specify the option name in the *Option* field and provide a corresponding value in the *Value* field.
* Click the *Add* icon (+) button to add an option/value pair for the
foreign data wrapper. Supported option/value pairs will be specific to the
selected foreign data wrapper.
* Specify the option name in the *Option* field and provide a corresponding
value in the *Value* field.
Click the *Add* icon (+) to specify each additional pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional pair; to discard an option,
click the trash icon to the left of the row and confirm deletion in the *Delete
Row* popup.
Click the *Security* tab to continue.
.. image:: images/foreign_data_wrapper_security.png
:alt: Foreign data wrapper dialog security tab
:align: center
Use the *Security* tab to assign security privileges. Click the *Add* icon (+) to assign a set of privileges.
Use the *Security* tab to assign security privileges. Click the *Add* icon (+)
to assign a set of privileges.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privileges to the specified user.
* Select the name of the role granting the privileges from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the foreign data wrapper.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click add to assign additional privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click add to assign additional privileges; to discard a privilege, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
popup.
Click the *SQL* tab to continue.
Your entries in the *Foreign Data Wrapper* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Foreign Data Wrapper* dialog generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Foreign Data Wrapper* dialog:
The following is an example of the sql command generated by user selections in
the *Foreign Data Wrapper* dialog:
.. image:: images/foreign_data_wrapper_sql.png
:alt: Foreign data wrapper dialog sql tab
:align: center
The example creates a foreign data wrapper named *libpq_debug* that uses pre-existing validator and handler functions, *dblink_fdw_validator* and *libpg_fdw_handler*. Selections on the *Options* tab set *debug* equal to *true*. The foreign data wrapper is owned by *postgres*.
* Click the *Help* button (?) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example creates a foreign data wrapper named *lib_qp_debug* that uses
pre-existing validator and handler functions, *dblink_fdw_validator* and
*libpg_fdw_handler*. Selections on the *Options* tab set *debug* equal to
*true*. The foreign data wrapper is owned by *postgres*.
* Click the *Help* button (?) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+80 -32
View File
@@ -1,60 +1,100 @@
.. _foreign_key_dialog:
**********************
The Foreign key Dialog
**********************
***************************
`Foreign key Dialog`:index:
***************************
Use the *Foreign key* dialog to specify the behavior of a foreign key constraint. A foreign key constraint maintains referential integrity between two tables. A foreign key constraint cannot be defined between a temporary table and a permanent table.
Use the *Foreign key* dialog to specify the behavior of a foreign key
constraint. A foreign key constraint maintains referential integrity between
two tables. A foreign key constraint cannot be defined between a temporary
table and a permanent table.
The *Foreign key* dialog organizes the development of a foreign key constraint through the following dialog tabs: *General*, *Definition*, *Columns*, and *Action*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Foreign key* dialog organizes the development of a foreign key constraint
through the following dialog tabs: *General*, *Definition*, *Columns*, and
*Action*. The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/foreign_key_general.png
:alt: Foreign key dialog general tab
:align: center
Use the fields in the *General* tab to identify the foreign key constraint:
* Use the *Name* field to add a descriptive name for the foreign key. The name will be displayed in the *pgAdmin* tree control.
* Use the *Name* field to add a descriptive name for the foreign key. The name
will be displayed in the *pgAdmin* tree control.
* Store notes about the foreign key constraint in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/foreign_key_definition.png
:alt: Foreign key dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the foreign key constraint:
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of the constraint is deferrable and can be postponed until the end of the statement. The default is *No*.
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the timing of the constraint is deferred to the end of the statement. The default is *No*.
* Move the *Match type* switch specify the type of matching that is enforced by the constraint:
* Move the *Deferrable?* switch to the *Yes* position to specify the timing of
the constraint is deferrable and can be postponed until the end of the
statement. The default is *No*.
* If enabled, move the *Deferred?* switch to the *Yes* position to specify the
timing of the constraint is deferred to the end of the statement. The default
is *No*.
* Move the *Match type* switch specify the type of matching that is enforced by
the constraint:
* Select *Full* to indicate that all columns of a multicolumn foreign key must be null if any column is null; if all columns are null, the row is not required to have a match in the referenced table.
* Select *Simple* to specify that a single foreign key column may be null; if any column is null, the row is not required to have a match in the referenced table.
* Move the *Validated* switch to the *Yes* position to instruct the server to validate the existing table content (against a foreign key or check constraint) when you save modifications to this dialog.
* Move the *Auto FK Index* switch to the *No* position to disable the automatic index feature.
* The field next to *Covering Index* generates the name of an index if the *Auto FK Index* switch is in the *Yes* position; or, this field is disabled.
* Select *Full* to indicate that all columns of a multicolumn foreign key
must be null if any column is null; if all columns are null, the row is
not required to have a match in the referenced table.
* Select *Simple* to specify that a single foreign key column may be null;
if any column is null, the row is not required to have a match in the
referenced table.
* Move the *Validated* switch to the *Yes* position to instruct the server to
validate the existing table content (against a foreign key or check
constraint) when you save modifications to this dialog.
* Move the *Auto FK Index* switch to the *No* position to disable the automatic
index feature.
* The field next to *Covering Index* generates the name of an index if the *Auto
FK Index* switch is in the *Yes* position; or, this field is disabled.
Click the *Columns* tab to continue.
.. image:: images/foreign_key_columns.png
:alt: Foreign key dialog columns tab
:align: center
Use the fields in the *Columns* tab to specify one or more reference column(s). A Foreign Key constraint requires that one or more columns of a table must only contain values that match values in the referenced column(s) of a row of a referenced table:
Use the fields in the *Columns* tab to specify one or more reference column(s).
A Foreign Key constraint requires that one or more columns of a table must only
contain values that match values in the referenced column(s) of a row of a
referenced table:
* Use the drop-down listbox next to *Local column* to specify the column in the current table that will be compared to the foreign table.
* Use the drop-down listbox next to *References* to specify the name of the table in which the comparison column(s) resides.
* Use the drop-down listbox next to *Referencing* to specify a column in the foreign table.
* Use the drop-down listbox next to *Local column* to specify the column in the
current table that will be compared to the foreign table.
* Use the drop-down listbox next to *References* to specify the name of the
table in which the comparison column(s) resides.
* Use the drop-down listbox next to *Referencing* to specify a column in the
foreign table.
Click the *Add* icon (+) to add a column to the list; repeat the steps above and click the *Add* icon (+) to add additional columns. To discard an entry, click the trash icon to the left of the entry and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to add a column to the list; repeat the steps above and
click the *Add* icon (+) to add additional columns. To discard an entry, click
the trash icon to the left of the entry and confirm deletion in the *Delete Row*
popup.
Click the *Action* tab to continue.
.. image:: images/foreign_key_action.png
:alt: Foreign key dialog action tab
:align: center
Use the drop-down listboxes on the *Action* tab to specify behavior related to the foreign key constraint that will be performed when data within the table is updated or deleted:
Use the drop-down listboxes on the *Action* tab to specify behavior related to
the foreign key constraint that will be performed when data within the table is
updated or deleted:
* Use the drop-down listbox next to *On update* to select an action that will be performed when data in the table is updated.
* Use the drop-down listbox next to *On delete* to select an action that will be performed when data in the table is deleted.
* Use the drop-down listbox next to *On update* to select an action that will be
performed when data in the table is updated.
* Use the drop-down listbox next to *On delete* to select an action that will be
performed when data in the table is deleted.
The supported actions are:
+-------------+------------------------------------------------------------------------------------------------------------+
| NO ACTION | Produce an error indicating that the deletion or update will create a foreign key constraint violation. |
| | If the constraint is deferred, this error will be produced at constraint check time if any referencing |
@@ -74,17 +114,25 @@ The supported actions are:
Click the *SQL* tab to continue.
Your entries in the *Foreign key* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Foreign key* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Foreign key* dialog:
The following is an example of the sql command generated by user selections in
the *Foreign key* dialog:
.. image:: images/foreign_key_sql.png
:alt: Foreign key dialog sql tab
:align: center
The example shown demonstrates creating a foreign key constraint named *territory_fkey* that matches values in the *distributors* table *territory* column with those of the *sales_territories* table *region* column.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a foreign key constraint named
*jobhist_ref_dept_fk* that matches values in the *jobhist* table *dept_no*
column with those of the *dept* table *deptno* column.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+51 -20
View File
@@ -1,24 +1,36 @@
.. _foreign_server_dialog:
*************************
The Foreign Server Dialog
*************************
******************************
`Foreign Server Dialog`:index:
******************************
Use the *Foreign Server* dialog to create a foreign server. A foreign server typically encapsulates connection information that a foreign-data wrapper uses to access an external data resource. Each foreign data wrapper may connect to a different foreign server; in the *pgAdmin* tree control, expand the node of the applicable foreign data wrapper to launch the *Foreign Server* dialog.
Use the *Foreign Server* dialog to create a foreign server. A foreign server
typically encapsulates connection information that a foreign-data wrapper uses
to access an external data resource. Each foreign data wrapper may connect to a
different foreign server; in the *pgAdmin* tree control, expand the node of the
applicable foreign data wrapper to launch the *Foreign Server* dialog.
The *Foreign Server* dialog organizes the development of a foreign server through the following dialog tabs: *General*, *Definition*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Foreign Server* dialog organizes the development of a foreign server
through the following dialog tabs: *General*, *Definition*, *Options*, and
*Security*. The *SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/foreign_server_general.png
:alt: Foreign server dialog general tab
:align: center
Use the fields in the *General* tab to identify the foreign server:
* Use the *Name* field to add a descriptive name for the foreign server. The name will be displayed in the *pgAdmin* tree control. It must be unique within the database.
* Use the *Name* field to add a descriptive name for the foreign server. The
name will be displayed in the *pgAdmin* tree control. It must be unique within
the database.
* Use the drop-down listbox next to *Owner* to select a role.
* Store notes about the foreign server in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/foreign_server_definition.png
:alt: Foreign server dialog definition tab
:align: center
Use the fields in the *Definition* tab to set parameters:
@@ -28,39 +40,58 @@ Use the fields in the *Definition* tab to set parameters:
Click the *Options* tab to continue.
.. image:: images/foreign_server_options.png
:alt: Foreign server dialog options tab
:align: center
Use the fields in the *Options* tab to specify options. Click the *Add* button to create an option clause for the foreign server.
Use the fields in the *Options* tab to specify options. Click the *Add* button
to create an option clause for the foreign server.
* Specify the option name in the *Option* field.
* Provide a corresponding value in the *Value* field.
* Provide a corresponding value in the *Value* field.
Click *Add* to create each additional clause; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click *Add* to create each additional clause; to discard an option, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
popup.
Click the *Security* tab to continue.
.. image:: images/foreign_server_security.png
:alt: Foreign server dialog security tab
:align: center
Use the *Security* tab to assign security privileges to the foreign server. Click *Add* before you assign a set of privileges.
Use the *Security* tab to assign security privileges to the foreign server.
Click *Add* before you assign a set of privileges.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privileges to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the foreign server. This is a required field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click *Add* to assign a new set of privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* dialog.
Click *Add* to assign a new set of privileges; to discard a privilege, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
dialog.
Click the *SQL* tab to continue.
Your entries in the *Foreign Server* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Foreign Server* dialog generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make
any changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Foreign Server* dialog:
The following is an example of the sql command generated by user selections in
the *Foreign Server* dialog:
.. image:: images/foreign_server_sql.png
.. image:: images/foreign_server_sql.png
:alt: Foreign server dialog sql tab
:align: center
The example shown demonstrates creating a foreign server for the foreign data wrapper *hdfs_fdw*. It has the name *hdfs_server*; its type is *hiveserver2*. Options for the foreign server include a host and a port.
The example shown demonstrates creating a foreign server for the foreign data
wrapper *hdfs_fdw*. It has the name *hdfs_server*; its type is *hiveserver2*.
Options for the foreign server include a host and a port.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+105 -42
View File
@@ -1,103 +1,166 @@
.. _foreign_table_dialog:
************************
The Foreign Table Dialog
************************
*****************************
`Foreign Table Dialog`:index:
*****************************
Use the *Foreign Table* dialog to define a foreign table in the current database. Foreign tables define the structure of an external data source that resides on a foreign server.
Use the *Foreign Table* dialog to define a foreign table in the current
database. Foreign tables define the structure of an external data source that
resides on a foreign server.
The *Foreign Table* dialog organizes the development of a foreign table through the following dialog tabs: *General*, *Definition*, *Columns*, *Constraints*, *Options*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Foreign Table* dialog organizes the development of a foreign table through
the following dialog tabs: *General*, *Definition*, *Columns*, *Constraints*,
*Options*, and *Security*. The *SQL* tab displays the SQL code generated by
dialog selections.
.. image:: images/foreign_table_general.png
:alt: Foreign table dialog general tab
:align: center
Use the fields in the *General* tab to identify the foreign table:
* Use the *Name* field to add a descriptive name for the foreign table. The name of the foreign table must be distinct from the name of any other foreign table, table, sequence, index, view, existing data type, or materialized view in the same schema. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the foreign table.
* Select the name of the schema in which the foreign table will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the foreign table. The name
of the foreign table must be distinct from the name of any other foreign
table, table, sequence, index, view, existing data type, or materialized view
in the same schema. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that
will own the foreign table.
* Select the name of the schema in which the foreign table will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the foreign table in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/foreign_table_definition.png
:alt: Foreign table dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the external data source:
* Use the drop-down listbox next to *Foreign server* to select a foreign server. This list is populated with servers defined through the *Foreign Server* dialog.
* Use the drop-down listbox next to *Inherits* to specify a parent table. The foreign table will inherit all of its columns. This field is optional.
* Use the drop-down listbox next to *Foreign server* to select a foreign server.
This list is populated with servers defined through the *Foreign Server*
dialog.
* Use the drop-down listbox next to *Inherits* to specify a parent table. The
foreign table will inherit all of its columns. This field is optional.
Click the *Columns* tab to continue.
.. image:: images/foreign_table_columns.png
:alt: Foreign table dialog columns tab
:align: center
Use the fields in the *Columns* tab to to add columns and their attributes to the table. Click the *Add* icon (+) to define a column:
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.
* Use the drop-down listbox in the *Data Type* field to select a data type for the column. This can include array specifiers. For more information on which data types are supported by PostgreSQL, refer to Chapter 8 of the core documentation.
* Use the drop-down listbox in the *Data Type* field to select a data type for
the column. This can include array specifiers. For more information on which
data types are supported by PostgreSQL, refer to Chapter 8 of the core
documentation.
Click the *Add* icon (+) to specify each additional column; to discard a column, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional column; to discard a column,
click the trash icon to the left of the row and confirm deletion in the *Delete
Row* popup.
Click the *Constraints* tab to continue.
.. image:: images/foreign_table_constraints.png
:alt: Foreign table dialog constraints tab
:align: center
Use the fields in the *Constraints* tab to apply a table constraint to the foreign table. Click the *Add* icon (+) to define a constraint:
Use the fields in the *Constraints* tab to apply a table constraint to the
foreign table. Click the *Add* icon (+) to define a constraint:
* Use the *Name* field to add a descriptive name for the constraint. If the constraint is violated, the constraint name is present in error messages, so constraint names like *col must be positive* can be used to communicate helpful information.
* Use the *Check* field to write a check expression producing a Boolean result. Each row in the foreign table is expected to satisfy the check expression.
* Check the *No Inherit* checkbox to specify that the constraint will not propagate to child tables.
* Uncheck the *Validate* checkbox to disable validation. The database will not assume that the constraint holds for all rows in the table.
* Use the *Name* field to add a descriptive name for the constraint. If the
constraint is violated, the constraint name is present in error messages, so
constraint names like *col must be positive* can be used to communicate
helpful information.
* Use the *Check* field to write a check expression producing a Boolean result.
Each row in the foreign table is expected to satisfy the check expression.
* Check the *No Inherit* checkbox to specify that the constraint will not
propagate to child tables.
* Uncheck the *Validate* checkbox to disable validation. The database will not
assume that the constraint holds for all rows in the table.
Click the *Add* icon (+) to specify each additional constraint; to discard a constraint, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional constraint; to discard a
constraint, click the trash icon to the left of the row and confirm deletion in
he *Delete Row* popup.
Click the *Options* tab to continue.
.. image:: images/foreign_table_options.png
:alt: Foreign table dialog options tab
:align: center
Use the fields in the *Options* tab to specify options to be associated with the new foreign table or one of its columns; the accepted option names and values are specific to the foreign data wrapper associated with the foreign server. Click the *Add* icon (+) to add an option/value pair.
Use the fields in the *Options* tab to specify options to be associated with
the new foreign table or one of its columns; the accepted option names and
values are specific to the foreign data wrapper associated with the foreign
server. Click the *Add* icon (+) to add an option/value pair.
* Specify the option name in the *Option* field. Duplicate option names are not allowed.
* Provide a corresponding value in the *Value* field.
* Specify the option name in the *Option* field. Duplicate option names are not
allowed.
* Provide a corresponding value in the *Value* field.
Click the *Add* icon (+) to specify each additional option/value pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional option/value pair; to
discard an option, click the trash icon to the left of the row and confirm
deletion in the *Delete Row* popup.
Click the *Security* tab to continue.
.. image:: images/foreign_table_security.png
:alt: Foreign table dialog security tab
:align: center
Use the *Security* tab to assign privileges and define security labels.
Use the *Security* tab to assign privileges and define security labels.
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon (+) to set privileges for database objects:
Use the *Privileges* panel to assign privileges to a role. Click the *Add* icon
(+) to set privileges for database objects:
* Select the name of the role to which privileges will be assigned from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privilege to the specified user.
* Select the name of the role that owns the foreign table from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the database.
* Select the name of the role to which privileges will be assigned from the
drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
the *Delete Row* popup.
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
Use the *Security Labels* panel to define security labels applied to the
function. Click the *Add* icon (+) to add each security label selection:
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a
given label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional security labels; to discard a
security label, click the trash icon to the left of the row and confirm deletion
in the *Delete Row* popup.
Click the *SQL* tab to continue.
Your entries in the *Foreign Table* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Foreign Table* dialog generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make
any changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Foreign Table* dialog:
The following is an example of the sql command generated by user selections in
the *Foreign Table* dialog:
.. image:: images/foreign_table_sql.png
:alt: Foreign table dialog sql tab
:align: center
The example shown demonstrates creating a foreign table *weblogs* with multiple columns and two options.
The example shown demonstrates creating a foreign table *weblogs* with multiple
columns.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+44 -21
View File
@@ -1,60 +1,83 @@
.. _fts_configuration_dialog:
****************************
The FTS Configuration dialog
****************************
Use the *FTS Configuration* dialog to configure a full text search. A text search configuration specifies a text search parser that can divide a string into tokens, along with dictionaries that can identify searchable tokens.
*********************************
`FTS Configuration Dialog`:index:
*********************************
Use the *FTS Configuration* dialog to configure a full text search. A text
search configuration specifies a text search parser that can divide a string
into tokens, along with dictionaries that can identify searchable tokens.
The *FTS Configuration* dialog organizes the development of a FTS configuration
through the following dialog tabs: "*General*, *Definition*, and *Tokens*. The
*SQL* tab displays the SQL code generated by dialog selections.
The *FTS Configuration* dialog organizes the development of a FTS configuration through the following dialog tabs: "*General*, *Definition*, and *Tokens*. The *SQL* tab displays the SQL code generated by dialog selections.
Click the *General* tab to begin.
.. image:: images/fts_configuration_general.png
:alt: FTS configuration dialog general tab
:align: center
Use the fields in the *General* tab to identify a FTS configuration:
* Use the *Name* field to add a descriptive name for the FTS configuration. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to specify the role that will own the configuration.
* Select the name of the schema in which the FTS configuration will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the FTS configuration. The
name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to specify the role that will own
the configuration.
* Select the name of the schema in which the FTS configuration will reside from
the drop-down listbox in the *Schema* field.
* Store notes about the FTS configuration in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/fts_configuration_definition.png
:alt: FTS configuration dialog definition tab
:align: center
Use the fields in the *Definition* tab to define parameters:
* Select the name of the text search parser from the drop-down listbox in the *Parser* field.
* Select the name of the text search parser from the drop-down listbox in the
*Parser* field.
* Select a language from the drop-down listbox in the *Copy Config* field.
Click the *Tokens* tab to continue.
.. image:: images/fts_configuration_tokens.png
:alt: FTS configuration dialog tokens tab
:align: center
Use the fields in the *Tokens* tab to add a token:
* Use the *Tokens* field to specify the name of a token.
* Click the *Add* icon (+) to create a token.
* Use the *Dictionaries* field to specify a dictionary.
* Click the *Add* button to create a token.
* Use the *Dictionaries* field to specify a dictionary.
Repeat these steps to add additional tokens; to discard a token, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Repeat these steps to add additional tokens; to discard a token, click the
trash icon to the left of the row and confirm deletion in the *Delete Row*
popup.
Click the *SQL* tab to continue.
Your entries in the *FTS Configuration* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *FTS Configuration* dialog generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make
any changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *FTS Configuration* dialog:
The following is an example of the sql command generated by user selections in
the *FTS Configuration* dialog:
.. image:: images/fts_configuration_sql.png
:alt: FTS configuration dialog sql tab
:align: center
The example shown demonstrates creating a FTS configuration named *meme_phrases*. It uses the *default* parser.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a FTS configuration named
*english_phrases*. It uses the *default* parser.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+81 -27
View File
@@ -1,60 +1,114 @@
.. _fts_dictionary_dialog:
*************************
The FTS Dictionary Dialog
*************************
******************************
`FTS Dictionary Dialog`:index:
******************************
Use the *FTS Dictionary* dialog to create a full text search dictionary. You can use a predefined templates or create a new dictionary with custom parameters.
Use the *FTS Dictionary* dialog to create a full text search dictionary. You
can use a predefined templates or create a new dictionary with custom
parameters.
The *FTS Dictionary* dialog organizes the development of a FTS dictionary through the following dialog tabs: *General*, *Definition*, and *Options*. The *SQL* tab displays the SQL code generated by dialog selections.
The *FTS Dictionary* dialog organizes the development of a FTS dictionary
through the following dialog tabs: *General*, *Definition*, and *Options*. The
*SQL* tab displays the SQL code generated by dialog selections.
.. image:: images/fts_dictionary_general.png
:alt: FTS dictionary dialog general tab
:align: center
Use the fields in the *General* tab to identify the dictionary:
* Use the *Name* field to add a descriptive name for the dictionary. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the role that will own the FTS Dictionary.
* Select the name of the schema in which the dictionary will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the dictionary. The name
will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the role that will own the
FTS Dictionary.
* Select the name of the schema in which the dictionary will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the dictionary in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/fts_dictionary_definition.png
Use the field in the *Definition* tab to choose a template from the drop-down listbox:
:alt: FTS dictionary dialog definition tab
:align: center
*Select *ispell* to select the Ispell template. The Ispell dictionary template supports morphological dictionaries, which can normalize many different linguistic forms of a word into the same lexeme. For example, an English Ispell dictionary can match all declensions and conjugations of the search term bank, e.g., banking, banked, banks, banks', and bank's. Ispell dictionaries usually recognize a limited set of words, so they should be followed by another broader dictionary; for example, a Snowball dictionary, which recognizes everything.
*Select *simple* to select the simple template. The simple dictionary template operates by converting the input token to lower case and checking it against a file of stop words. If it is found in the file then an empty array is returned, causing the token to be discarded. If not, the lower-cased form of the word is returned as the normalized lexeme. Alternatively, the dictionary can be configured to report non-stop-words as unrecognized, allowing them to be passed on to the next dictionary in the list.
*Select *snowball* to select the Snowball template. The Snowball dictionary template is based on a project by Martin Porter, inventor of the popular Porter's stemming algorithm for the English language. Snowball now provides stemming algorithms for many languages (see the Snowball site for more information). Each algorithm understands how to reduce common variant forms of words to a base, or stem, spelling within its language. A Snowball dictionary recognizes everything, whether or not it is able to simplify the word, so it should be placed at the end of the dictionary list. It is useless to have it before any other dictionary because a token will never pass through it to the next dictionary.
*Select *synonym* to select the synonym template. This dictionary template is used to create dictionaries that replace a word with a synonym. Phrases are not supported (use the thesaurus template (Section 12.6.4) for that). A synonym dictionary can be used to overcome linguistic problems, for example, to prevent an English stemmer dictionary from reducing the word Paris to pari.
*Select *thesaurus* to select the thesaurus template. A thesaurus dictionary replaces all non-preferred terms by one preferred term and, optionally, preserves the original terms for indexing as well. PostgreSQL's current implementation of the thesaurus dictionary is an extension of the synonym dictionary with added phrase support.
Use the field in the *Definition* tab to choose a template from the drop-down
listbox:
* Select *ispell* to select the Ispell template. The Ispell dictionary template
supports morphological dictionaries, which can normalize many different
linguistic forms of a word into the same lexeme. For example, an English
Ispell dictionary can match all declensions and conjugations of the search
term bank, e.g., banking, banked, banks, banks', and bank's. Ispell
dictionaries usually recognize a limited set of words, so they should be
followed by another broader dictionary; for example, a Snowball dictionary,
which recognizes everything.
* Select *simple* to select the simple template. The simple dictionary template
operates by converting the input token to lower case and checking it against
a file of stop words. If it is found in the file then an empty array is
returned, causing the token to be discarded. If not, the lower-cased form of
the word is returned as the normalized lexeme. Alternatively, the dictionary
can be configured to report non-stop-words as unrecognized, allowing them to
be passed on to the next dictionary in the list.
* Select *snowball* to select the Snowball template. The Snowball dictionary
template is based on a project by Martin Porter, inventor of the popular
Porter's stemming algorithm for the English language. Snowball now provides
stemming algorithms for many languages (see the Snowball site for more
information). Each algorithm understands how to reduce common variant forms of
words to a base, or stem, spelling within its language. A Snowball dictionary
recognizes everything, whether or not it is able to simplify the word, so it
should be placed at the end of the dictionary list. It is useless to have it
before any other dictionary because a token will never pass through it to the
next dictionary.
* Select *synonym* to select the synonym template. This dictionary template is
used to create dictionaries that replace a word with a synonym. Phrases are not
supported (use the thesaurus template (Section 12.6.4) for that). A synonym
dictionary can be used to overcome linguistic problems, for example, to prevent
an English stemmer dictionary from reducing the word Paris to pari.
* Select *thesaurus* to select the thesaurus template. A thesaurus dictionary
replaces all non-preferred terms by one preferred term and, optionally,
preserves the original terms for indexing as well. PostgreSQL's current
implementation of the thesaurus dictionary is an extension of the synonym
dictionary with added phrase support.
Click the *Options* tab to continue.
.. image:: images/fts_dictionary_options.png
Use the fields in the *Options* tab to provide template-specific options. Click the *Add* icon (+) to add an option clause:
:alt: FTS dictionary dialog options tab
:align: center
Use the fields in the *Options* tab to provide template-specific options. Click
the *Add* icon (+) to add an option clause:
* Specify the name of an option in the *Option* field
* Provide a value for the option in the *Value* field.
Click the *Add* icon (+) to specify each additional option/value pair; to discard an option, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to specify each additional option/value pair; to
discard an option, click the trash icon to the left of the row and confirm
deletion in the *Delete Row* popup.
Click the *SQL* tab to continue.
Your entries in the *FTS Dictionary* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
**Example**
Your entries in the *FTS Dictionary* dialog generate a generate a SQL command.
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
SQL command.
The following is an example of the sql command generated by user selections in the *FTS Dictionary* dialog:
Example
*******
The following is an example of the sql command generated by user selections in
the *FTS Dictionary* dialog:
.. image:: images/fts_dictionary_sql.png
:alt: FTS dictionary dialog sql tab
:align: center
The example shown demonstrates creating a custom dictionary named *more_stopwords* which is based on the simple template and is configured to use standard English.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a custom dictionary named
*more_stopwords* which is based on the simple template and is configured to use standard English.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+38 -16
View File
@@ -1,42 +1,64 @@
.. _fts_parser_dialog:
*********************
The FTS Parser Dialog
*********************
**************************
`FTS Parser Dialog`:index:
**************************
Use the *FTS Parser* dialog to create a new text search parser. A text search parser defines a method for splitting a text string into tokens and assigning types (categories) to the tokens.
Use the *FTS Parser* dialog to create a new text search parser. A text search
parser defines a method for splitting a text string into tokens and assigning
types (categories) to the tokens.
The *FTS Parser* dialog organizes the development of a text search parser through the following dialog tabs: *General*, and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *FTS Parser* dialog organizes the development of a text search parser
through the following dialog tabs: *General*, and *Definition*. The *SQL* tab
displays the SQL code generated by dialog selections.
.. image:: images/fts_parser_general.png
:alt: FTS parser dialog general tab
:align: center
Use the fields in the *General* tab to identify a text search parser:
* Use the *Name* field to add a descriptive name for the parser. The name will be displayed in the *pgAdmin* tree control.
* Select the name of the schema in which the parser will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the parser. The name will
be displayed in the *pgAdmin* tree control.
* Select the name of the schema in which the parser will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the domain in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/fts_parser_definition.png
:alt: FTS parser dialog definition tab
:align: center
Use the fields in the *Definition* tab to define parameters:
* Use the drop-down listbox next to *Start function* to select the name of the function that will initialize the parser.
* Use the drop-down listbox next to *Get next token function* to select the name of the function that will return the next token.
* Use the drop-down listbox next to *End function* to select the name of the function that is called when the parser is finished.
* Use the drop-down listbox next to *Lextypes function* to select the name of the lextypes function for the parser. The lextypes function returns an array that contains the id, alias, and a description of the tokens used by the parser.
* Use the drop-down listbox next to *Headline function* to select the name of the headline function for the parser. The headline function returns an excerpt from the document in which the terms of the query are highlighted.
* Use the drop-down listbox next to *Start function* to select the name of the
function that will initialize the parser.
* Use the drop-down listbox next to *Get next token function* to select the
name of the function that will return the next token.
* Use the drop-down listbox next to *End function* to select the name of the
function that is called when the parser is finished.
* Use the drop-down listbox next to *Lextypes function* to select the name of
the lextypes function for the parser. The lextypes function returns an array
that contains the id, alias, and a description of the tokens used by the
parser.
* Use the drop-down listbox next to *Headline function* to select the name of
the headline function for the parser. The headline function returns an excerpt
from the document in which the terms of the query are highlighted.
Click the *SQL* tab to continue.
.. image:: images/fts_parser_sql.png
:alt: FTS parser dialog sql tab
:align: center
Your entries in the *FTS Parser* dialog generate a generate a SQL command. Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
Your entries in the *FTS Parser* dialog generate a generate a SQL command. Use
the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL
command.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+34 -16
View File
@@ -1,45 +1,63 @@
.. _fts_template_dialog:
***********************
The FTS Template Dialog
***********************
****************************
`FTS Template Dialog`:index:
****************************
Use the *FTS Template* dialog to create a new text search template. A text search template defines the functions that implement text search dictionaries.
Use the *FTS Template* dialog to create a new text search template. A text
search template defines the functions that implement text search dictionaries.
The *FTS Template* dialog organizes the development of a text search Template through the following dialog tabs: *General*, and *Definition*. The *SQL* tab displays the SQL code generated by dialog selections.
The *FTS Template* dialog organizes the development of a text search Template
through the following dialog tabs: *General*, and *Definition*. The *SQL* tab
displays the SQL code generated by dialog selections.
.. image:: images/fts_template_general.png
:alt: FTS template dialog general tab
:align: center
Use the fields in the *General* tab to identify a template:
* Use the *Name* field to add a descriptive name for the template. The name will be displayed in the *pgAdmin* tree control.
* Select the name of the schema in which the template will reside from the drop-down listbox in the *Schema* field.
* Use the *Name* field to add a descriptive name for the template. The name will
be displayed in the *pgAdmin* tree control.
* Select the name of the schema in which the template will reside from the
drop-down listbox in the *Schema* field.
* Store notes about the template in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/fts_template_definition.png
:alt: FTS template dialog definition tab
:align: center
Use the fields in the *Definition* tab to define function parameters:
* Use the drop-down listbox next to *Init function* to select the name of the init function for the template. The init function is optional.
* Use the drop-down listbox next to *Lexize function* to select the name of the lexize function for the template. The lexize function is required.
* Use the drop-down listbox next to *Init function* to select the name of the
init function for the template. The init function is optional.
* Use the drop-down listbox next to *Lexize function* to select the name of the
lexize function for the template. The lexize function is required.
Click the *SQL* tab to continue.
Your entries in the *FTS Template* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *FTS Template* dialog generate a SQL command (see an example
below). Use the *SQL* tab for review; revisit or switch tabs to make any changes
to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *FTS Template* dialog:
The following is an example of the sql command generated by user selections in
the *FTS Template* dialog:
.. image:: images/fts_template_sql.png
:alt: FTS template dialog sql tab
:align: center
The example shown demonstrates creating a fts template named *ru_template* that uses the ispell dictionary.
* Click the *Info* button (i) to access online help. View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example shown demonstrates creating a fts template named *eng.template* that
uses the ispell dictionary.
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+130 -59
View File
@@ -1,114 +1,185 @@
.. _function_dialog:
*******************
The Function Dialog
*******************
************************
`Function Dialog`:index:
************************
Use the *Function* dialog to define a function. If you drop and then recreate a function, the new function is not the same entity as the old; you must drop existing rules, views, triggers, etc. that refer to the old function.
Use the *Function* dialog to define a function. If you drop and then recreate
a function, the new function is not the same entity as the old; you must drop
existing rules, views, triggers, etc. that refer to the old function.
The *Function* dialog organizes the development of a function through the following dialog tabs: *General*, *Definition*, *Options*, *Arguments*, *Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by dialog selections.
The *Function* dialog organizes the development of a function through the
following dialog tabs: *General*, *Definition*, *Code*, *Options*,
*Parameters*, and *Security*. The *SQL* tab displays the SQL code generated by
dialog selections.
.. image:: images/function_general.png
:alt: Function dialog general tab
:align: center
Use the fields in the *General* tab to identify a function:
* Use the *Name* field to add a descriptive name for the function. The name will be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that will own the function.
* Use the drop-down listbox next to *Schema* to select the schema in which the function will be created.
* Use the *Name* field to add a descriptive name for the function. The name will
be displayed in the *pgAdmin* tree control.
* Use the drop-down listbox next to *Owner* to select the name of the role that
will own the function.
* Use the drop-down listbox next to *Schema* to select the schema in which the
function will be created.
* Store notes about the function in the *Comment* field.
Click the *Definition* tab to continue.
.. image:: images/function_definition.png
:alt: Function dialog definition tab
:align: center
Use the fields in the *Definition* tab to define the function:
* Use the drop-down listbox next to *Return type* to select the data type returned by the function, if any.
* Use the drop-down listbox next to *Language* to select the implementation language. The default is *sql*.
* Use the *Code* field to write the code that will execute when the function is called.
* Use the drop-down listbox next to *Return type* to select the data type
returned by the function, if any.
* Use the drop-down listbox next to *Language* to select the implementation
language. The default is *sql*.
* Use the fields in the *Arguments* to define an argument. Click the *Add*
icon (+) to set parameters and values for the argument:
* Use the drop-down listbox in the *Data type* field to select a data type.
* Use the drop-down listbox in the *Mode* field to select a mode. Select *IN*
for an input parameter; select *OUT* for an output parameter; select *INOUT*
for both an input and an output parameter; or, select *VARIADIC* to specify a
VARIADIC parameter.
* Provide a name for the argument in the *Argument Name* field.
* Specify a default value for the argument in the *Default Value* field.
Click the *Add* icon (+) to define another argument; to discard an argument,
click the trash icon to the left of the row and confirm deletion in the *Delete
Row* popup.
Click the *Code* tab to continue.
.. image:: images/function_code.png
:alt: Function dialog code tab
:align: center
* Use the *Code* field to write the code that will execute when the function
is called.
Click the *Options* tab to continue.
.. image:: images/function_options.png
:alt: Function dialog options tab
:align: center
Use the fields in the *Options* tab to describe or modify the action of the function:
Use the fields in the *Options* tab to describe or modify the action of the
function:
* Use the drop-down listbox next to *Volatility* to select one of the following. *VOLATILE* is the default value.
* Use the drop-down listbox next to *Volatility* to select one of the following.
*VOLATILE* is the default value.
* *VOLATILE* indicates that the function value can change even within a single table scan, so no optimizations can be made.
* *STABLE* indicates that the function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values.
* *IMMUTABLE* indicates that the function cannot modify the database and always returns the same result when given the same argument values.
* Move the *Returns a Set?* switch to indicate if the function returns a set that includes multiple rows. The default is *No*.
* Move the *Strict?* switch to indicate if the function always returns NULL whenever any of its arguments are NULL. If *Yes*, the function is not executed when there are NULL arguments; instead a NULL result is assumed automatically. The default is *No*.
* Move the *Security of definer?* switch to specify that the function is to be executed with the privileges of the user that created it. The default is *No*.
* Move the *Window?* switch to indicate that the function is a window function rather than a plain function. The default is *No*. This is currently only useful for functions written in C. The WINDOW attribute cannot be changed when replacing an existing function definition. For more information about the CREATE FUNCTION command, see the PostgreSQL core documentation available at:
* *VOLATILE* indicates that the function value can change even within a
single table scan, so no optimizations can be made.
* *STABLE* indicates that the function cannot modify the database, and that
within a single table scan it will consistently return the same result for
the same argument values.
* *IMMUTABLE* indicates that the function cannot modify the database and
always returns the same result when given the same argument values.
http://www.postgresql.org/docs/9.5/static/functions-window.html
* Use the *Estimated cost* field to specify a positive number representing the estimated execution cost for the function, in units of cpu_operator_cost. If the function returns a set, this is the cost per returned row.
* Use the *Estimated rows* field to specify a positive number giving the estimated number of rows that the query planner should expect the function to return. This is only allowed when the function is declared to return a set. The default assumption is 1000 rows.
* Move the *Leak proof?* switch to indicate whether the function has side effects. The default is *No*. This option can only be set by the superuser.
* Move the *Returns a Set?* switch to indicate if the function returns a set
that includes multiple rows. The default is *No*.
* Move the *Strict?* switch to indicate if the function always returns NULL
whenever any of its arguments are NULL. If *Yes*, the function is not executed
when there are NULL arguments; instead a NULL result is assumed
automatically. The default is *No*.
* Move the *Security of definer?* switch to specify that the function is to be
executed with the privileges of the user that created it. The default is *No*.
* Move the *Window?* switch to indicate that the function is a window function
rather than a plain function. The default is *No*. This is currently only
useful for functions written in C. The WINDOW attribute cannot be changed when
replacing an existing function definition. For more information about the
CREATE FUNCTION command, see the PostgreSQL core documentation available at:
Click the *Arguments* tab to continue.
https://www.postgresql.org/docs/current/functions-window.html
.. image:: images/function_arguments.png
Use the fields in the *Arguments* tab to define an argument. Click the *Add* icon (+) to set parameters and values for the argument:
* Use the drop-down listbox in the *Data type* field to select a data type.
* Use the drop-down listbox in the *Mode* field to select a mode. Select *IN* for an input parameter; select *OUT* for an output parameter; select *INOUT* for both an input and an output parameter; or, select *VARIADIC* to specify a VARIADIC parameter.
* Provide a name for the argument in the *Argument Name* field.
* Specify a default value for the argument in the *Default Value* field.
Click the *Add* icon (+) to define another argument; to discard an argument, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
* Use the *Estimated cost* field to specify a positive number representing the
estimated execution cost for the function, in units of cpu_operator_cost. If
the function returns a set, this is the cost per returned row.
* Use the *Estimated rows* field to specify a positive number giving the
estimated number of rows that the query planner should expect the function to
return. This is only allowed when the function is declared to return a set.
The default assumption is 1000 rows.
* Move the *Leak proof?* switch to indicate whether the function has side
effects. The default is *No*. This option can only be set by the superuser.
* Use the *Support function* field to specify a planner support function to
use for the function.
Click the *Parameters* tab to continue.
.. image:: images/function_parameters.png
:alt: Function dialog parameters tab
:align: center
Use the fields in the *Parameters* tab to specify settings that will be applied when the function is invoked. Click the *Add* icon (+) to add a *Name*/*Value* field in the table.
Use the fields in the *Parameters* tab to specify settings that will be applied
when the function is invoked. Click the *Add* icon (+) to add a *Name*/*Value*
field in the table.
* Use the drop-down listbox in the *Name* column in the *Parameters* panel to select a parameter.
* Use the *Value* field to specify the value that will be associated with the selected variable. This field is context-sensitive.
* Use the drop-down listbox in the *Name* column in the *Parameters* panel to
select a parameter.
* Use the *Value* field to specify the value that will be associated with the
selected variable. This field is context-sensitive.
Click the *Security* tab to continue.
.. image:: images/function_security.png
:alt: Function dialog security tab
:align: center
Use the *Security* tab to assign privileges and define security labels.
Use the *Security* tab to assign privileges and define security labels.
Use the *Privileges* panel to assign usage privileges for the function to a role.
Use the *Privileges* panel to assign usage privileges for the function to a
role.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privilege to the specified user.
* Select the name of the role from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the database.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privilege to the specified user.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
Click the *Add* icon (+) to assign additional privileges; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional privileges; to discard a
privilege, click the trash icon to the left of the row and confirm deletion in
the *Delete Row* popup.
Use the *Security Labels* panel to define security labels applied to the function. Click the *Add* icon (+) to add each security label selection:
Use the *Security Labels* panel to define security labels applied to the
function. Click the *Add* icon (+) to add each security label selection:
* Specify a security label provider in the *Provider* field. The named provider must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a given label is at the discretion of the label provider. PostgreSQL places no restrictions on whether or how a label provider must interpret security labels; it merely provides a mechanism for storing them.
* Specify a security label provider in the *Provider* field. The named provider
must be loaded and must consent to the proposed labeling operation.
* Specify a a security label in the *Security Label* field. The meaning of a
given label is at the discretion of the label provider. PostgreSQL places no
restrictions on whether or how a label provider must interpret security
labels; it merely provides a mechanism for storing them.
Click the *Add* icon (+) to assign additional security labels; to discard a security label, click the trash icon to the left of the row and confirm deletion in the *Delete Row* popup.
Click the *Add* icon (+) to assign additional security labels; to discard a
security label, click the trash icon to the left of the row and confirm deletion
in the *Delete Row* popup.
Click the *SQL* tab to continue.
Your entries in the *Function* dialog generate a generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command.
Your entries in the *Function* dialog generate a generate a SQL command (see an
example below). Use the *SQL* tab for review; revisit or switch tabs to make any
changes to the SQL command.
**Example**
Example
*******
The following is an example of the sql command generated by selections made in the *Function* dialog:
The following is an example of the sql command generated by selections made in
the *Function* dialog:
.. image:: images/function_sql.png
:alt: Function dialog sql tab
:align: center
The example demonstrates creating an *edbspl* function named *emp_comp*. The function adds two columns (p_sal and p_comm), and then uses the result to compute a yearly salary, returning a NUMERIC value.
* Click the *Info* button (i) to access online help.View context-sensitive help in the *Tabbed browser*, where a new tab displays the PostgreSQL core documentation.
The example demonstrates creating an *plpgsql* function named *hire_salesmen*. The
function have three columns (p_ename, p_sal and p_comm).
* Click the *Info* button (i) to access online help.
* Click the *Save* button to save work.
* Click the *Cancel* button to exit without saving work.
* Click the *Close* button to exit without saving work.
* Click the *Reset* button to restore configuration parameters.
+68 -35
View File
@@ -1,56 +1,89 @@
.. _getting_started:
***************
Getting Started
***************
************************
`Getting Started`:index:
************************
Pre-compiled and configured installation packages for pgAdmin 4 are available for a number of desktop environments; we recommend using an installer whenever possible. A standard installation using the pgAdmin installer is a server deployment.
Pre-compiled and configured installation packages for pgAdmin 4 are available
for a number of desktop environments; we recommend using an installer
whenever possible.
In a Server Deployment, the pgAdmin application is deployed behind a webserver or with the WSGI interface.
If you install pgAdmin in server mode, you will be prompted to provide a role name and pgAdmin password when you initially connect to pgAdmin. The first role registered with pgAdmin will be an administrative user; the administrative role can use the pgAdmin *User Management* dialog to create and manage additional pgAdmin user accounts. When a user authenticates with pgAdmin, the pgAdmin tree control displays the server definitions associated with that login role.
In a *Server Deployment*, the pgAdmin application is deployed behind a webserver
or with the WSGI interface.
If you install pgAdmin in server mode, you will be prompted to provide a role
name and pgAdmin password when you initially connect to pgAdmin. The first
role registered with pgAdmin will be an administrative user; the
administrative role can use the pgAdmin *User Management* dialog to create
and manage additional pgAdmin user accounts. When a user authenticates
with pgAdmin, the pgAdmin tree control displays the server definitions
associated with that login role.
Contents:
In a *Desktop Deployment*, the pgAdmin application is configured to use the
desktop runtime environment to host the program on a supported platform.
Typically, users will install a pre-built package to run pgAdmin in desktop
mode, but a manual desktop deployment can be installed and though it is more
difficult to setup, it may be useful for developers interested in understanding
how pgAdmin works.
.. toctree::
server_deployment
pgadmin_login
pgadmin_user
In a Desktop Deployment, the pgAdmin application is configured to use the desktop runtime environment to host and display the program on a supported platform. Typically, users will install a pre-built package to run pgAdmin in desktop mode, but a manual desktop deployment can be installed and though it is more difficult to setup, it may be useful for developers interested in understanding how pgAdmin works.
Contents:
It is also possible to use a *Container Deployment* of pgAdmin, in which Server
Mode is pre-configured for security.
.. toctree::
:maxdepth: 2
desktop_deployment
The pgAdmin 4 client features a highly-customizable display that features drag-and-drop panels that you can arrange to make the best use of your desktop environment.
deployment
login
mfa
user_management
change_user_password
restore_locked_user
ldap
kerberos
oauth2
webserver
The tree control provides an elegant overview of the managed servers, and the objects that reside on each server. Right-click on a node within the tree control to access context-sensitive menus that provide quick access to management tasks for the selected object.
The tabbed browser provide quick access to statistical information about each object in the tree control, and pgAdmin tools and utilities (such as the Query tool and the debugger). pgAdmin opens additional feature tabs each time you access the extended functionality offered by pgAdmin tools; you can open, close, and re-arrange feature tabs as needed.
.. note:: Pre-compiled and configured installation packages are available for
a number of platforms. These packages should be used by end-users whereever
possible - the following information is useful for the maintainers of those
packages and users interested in understanding how pgAdmin works.
Use the *Preferences* dialog to customize the content and colors of the pgAdmin display. To open the *Preferences* dialog, select *Preferences* from the *File* menu.
The pgAdmin 4 client features a highly-customizable display that features
drag-and-drop panels that you can arrange to make the best use of your desktop
environment.
*Help* buttons in the lower-left corner of each dialog will open the online help for the dialog. You can access additional Postgres help by navigating through the *Help* menu, and selecting the name of the resource that you wish to open.
The tree control provides an elegant overview of the managed servers, and the
objects that reside on each server. Right-click on a node within the tree control
to access context-sensitive menus that provide quick access to management tasks
for the selected object.
Contents:
The tabbed browser provide quick access to statistical information about each
object in the tree control, and pgAdmin tools and utilities (such as the Query
tool and the debugger). pgAdmin opens additional feature tabs each time you
access the extended functionality offered by pgAdmin tools; you can open, close,
and re-arrange feature tabs as needed.
Use the *Preferences* dialog to customize the content and behaviour of the pgAdmin
display. To open the *Preferences* dialog, select *Preferences* from the *File* menu.
*Help* buttons in the lower-left corner of each dialog will open the online help
for the dialog. You can access additional Postgres help by navigating through
the *Help* menu, and selecting the name of the resource that you wish to open.
You can search for objects in the database using the :ref:`Search objects <search_objects>`
.. toctree::
:maxdepth: 2
browser
pgadmin_menu_bar
pgadmin_tabbed_browser
pgadmin_tree_control
user_interface
menu_bar
toolbar
tabbed_browser
tree_control
preferences
keyboard_shortcuts
Before using pgAdmin to manage objects that reside on a server, you must define a connection to the server; for more information please see *Connecting to a Server*:
Contents:
search_objects
.. toctree::
connecting
Before using pgAdmin to manage objects that reside on a server, you must define a
connection to the server; for more information please see *Connecting to a Server*
in the next section.
+60 -25
View File
@@ -1,51 +1,86 @@
.. _grant_wizard:
************
Grant Wizard
************
*********************
`Grant Wizard`:index:
*********************
The *Grant Wizard* tool is a graphical interface that allows you to manage the privileges of one or more database objects in a point-and-click environment. A search box, dropdown lists, and checkboxes facilitate quick selections of database objects, roles and privileges.
The *Grant Wizard* tool is a graphical interface that allows you to manage the
privileges of one or more database objects in a point-and-click environment. A
search box, dropdown lists, and checkboxes facilitate quick selections of
database objects, roles and privileges.
The wizard organizes privilege management through a sequence of windows: *Object Selection (step 1 of 3)*, *Privileges Selection (step 2 of 3)* and *Final (Review Selection) (step 3 of 3)*. The *Final (Review Selection)* window displays the SQL code generated by wizard selections.
To launch the *Grant Wizard* tool, select a database object in the *pgAdmin* tree control, then navigate through *Tools* on the menu bar to click on the *Grant Wizard* option.
The wizard organizes privilege management through a sequence of windows:
*Object Selection*, *Privileges Selection* and
*Review Selection*. The *Review Selection* window
displays the SQL code generated by wizard selections.
To launch the *Grant Wizard* tool, select a database object in the *pgAdmin*
tree control, then navigate through *Tools* on the menu bar to click on the
*Grant Wizard* option.
.. image:: images/grant_wizard_step1.png
:alt: Grant wizard step one page
:align: center
Use the fields in the *Object Selection (step 1 of 3)* window to select the object or objects on which you are modifying privileges. Use the *Search by object type or name* field to locate a database object, or use the scrollbar to scroll through the list of all accessible objects.
Use the fields in the *Object Selection* window to select the
object or objects on which you are modifying privileges. Use the *Search by
object type or name* field to locate a database object, or use the scrollbar
to scroll through the list of all accessible objects.
* Each row in the table lists object identifiers; check the checkbox in the left column to include an object as a target of the Grant Wizard. The table displays:
* Each row in the table lists object identifiers; check the checkbox in the left
column to include an object as a target of the Grant Wizard. The table
displays:
* The object type in the *Object Type* field
* The schema in which the object resides in the *Schema* field
* The object name in the *Name* field.
* The object name in the *Name* field.
Click the *Next* button to continue, or the *Cancel* button to close the wizard without modifying privileges.
Click the *Next* button to continue, or the *X* button to close the wizard
without modifying privileges.
.. image:: images/grant_wizard_step2.png
:alt: Grant wizard step two page
:align: center
Use the fields in the *Privileges Selection (step 2 of 3)* window to grant privileges. If you grant a privilege WITH GRANT OPTION, the Grantee will have the right to grant privileges on the object to others. If WITH GRANT OPTION is subsequently revoked, any role who received access to that object from that Grantee (directly or through a chain of grants) will lose thier privileges on the object.
Use the fields in the *Privileges Selection* window to grant
privileges. If you grant a privilege WITH GRANT OPTION, the Grantee will have
the right to grant privileges on the object to others. If WITH GRANT OPTION is
subsequently revoked, any role who received access to that object from that
Grantee (directly or through a chain of grants) will lose thier privileges on
the object.
* Click the *Add* icon (+) to assign a set of privileges.
* Select the name of the role from the drop-down listbox in the *Grantee* field.
* Click inside the *Privileges* field. Check the boxes to the left of one or more privileges to grant the selected privileges to the specified user. If privileges have previously been granted on a database object, unchecking a privilege for a group or user will result in revoking that privilege.
* If enabled, select the name of the role from the drop-down listbox in the *Grantor* field. The default grantor is the owner of the database.
* Click the *Add* icon (+) to assign a set of privileges to another role; to discard a privilege, click the trash icon to the left of the row and confirm deletion in the *Delete Row* dialog.
* Click inside the *Privileges* field. Check the boxes to the left of one or
more privileges to grant the selected privileges to the specified user. If
privileges have previously been granted on a database object, unchecking a
privilege for a group or user will result in revoking that privilege.
* The current user, who is the default grantor for granting the privilege, is displayed in the *Grantor* field.
* Click the *Add* icon (+) to assign a set of privileges to another role; to
discard a privilege, click the trash icon to the left of the row and confirm
deletion in the *Delete Row* dialog.
For more information about granting privileges on database objects, see the `PostgreSQL core documentation <http://www.postgresql.org/docs/9.5/static/sql-grant.html>`_.
For more information about granting privileges on database objects, see the
`PostgreSQL core documentation <https://www.postgresql.org/docs/current/sql-grant.html>`_.
Click the *Next* button to continue, the *Back* button to select or deselect additional database objects, or the *Cancel* button to close the wizard without modifying privileges.
Click the *Next* button to continue, the *Back* button to select or deselect
additional database objects, or the *X* button to close the wizard without
modifying privileges.
Your entries in the *Grant Wizard* tool generate a SQL command; you can review the command in the *Final (Review Selection) (step 3 of 3)* window (see an example below).
Your entries in the *Grant Wizard* tool generate a SQL command; you can review
the command in the *Review Selection* window (see an
example below).
**Example**
Example
*******
The following is an example of the sql command generated by user selections in the *Grant Wizard* tool:
The following is an example of the sql command generated by user selections in
the *Grant Wizard* tool:
.. image:: images/grant_wizard_step3.png
:alt: Grant wizard step three page
:align: center
The commands displayed assign a role named *Bob* *INSERT* and *UPDATE* privileges *WITH GRANT OPTION* on the *sales_meetings* and the *sales_territories* tables.
* Click the *Back* button to select or deselect additional database objects, roles and privileges.
* Click the *Cancel* button to exit without saving work.
* Click the *Finish* button to save selections and exit the wizard.
* Click the *Back* button to select or deselect additional database objects,
roles and privileges.
* Click the *Finish* button to save selections and exit the wizard.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 54 KiB

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