Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Aditya Toshniwal a68f0702e2 Re-fix database name unescaping the query tool title bar. 2019-09-02 16:57:28 +01:00
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
Aditya Toshniwal 47f26cc377 Fix exception in query history for python 2.7. Fixes #4663 2019-08-30 09:07:03 +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
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
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
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
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
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
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
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
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
Aditya Toshniwal 4067d65a30 Improve test messages 2019-08-07 10:17:34 +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
Aditya Toshniwal b5c8c85c90 Ensure triggers should be updated properly for EPAS server. Fixes #4559 2019-08-05 12:49:33 +05:30
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
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
Aditya Toshniwal bcb1392a1a Ensure type names are properly encoded in the results grid. Fixes #4401 2019-08-01 13:17:00 +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
Aditya Toshniwal ba32c98241 Add Reverse Engineered SQL tests for FDWs. Fixes #4441 2019-07-05 11:24:54 +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
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
Aditya Toshniwal 24ec882f45 Properly escape dragged node text. Fixes #4139 2019-06-28 08:17:04 -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
Aditya Toshniwal 0d42f8026c Fix SSH tunnel password decryption. Fixes #4320 2019-06-25 07:06:04 -04:00
Aditya Toshniwal c39d257bf6 Fix an XSS issue when username contains XSS vulnerable text. Fixes #4386 2019-06-24 16:06:03 +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
Aditya Toshniwal 78d55c7cc0 Fix regression tests. 2019-06-20 13:26:06 +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
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
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
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
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
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
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
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
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
Aditya Toshniwal 91075cc3f5 Disable the master password in test mode (for now). 2019-05-31 10:19:04 -04:00
Aditya Toshniwal 2185ea302d Omit the geometry viewer in the Query Tool from layout saving. Fixes #4169 2019-05-30 15:15:37 -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
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
Aditya Toshniwal 361f7077fd Update the UI logo. Artwork by Chethana Kumar. Fixes #4208 2019-05-23 16:39:10 +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
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
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
Aditya Toshniwal 3fef078ec8 Remove some unecessary React libraries. 2019-04-24 09:29:01 +01:00
Aditya Toshniwal 05ae330030 Improvement for 'beforeunload' event, bind the event only from where it is required. 2019-04-22 11:30:33 +05:30
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
Aditya Toshniwal d96f453e7f Fixed 'Location cannot be empty' error when open Tablespace properties. Fixes #4134 2019-04-18 12:31:35 +05:30
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
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
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
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
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
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
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
Aditya Toshniwal 6aae9d6e20 Handle resultsets with zero columns correctly in the Query Tool. Fixes #4054 2019-03-07 15:22:45 +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
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
Aditya Toshniwal e6e7cf0f69 Fix support for bigint's in JSONB data. Fixes #3587 2019-02-27 13:39:47 +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
Aditya Toshniwal 98bfbcff8f Fix dashboard test cases. 2019-02-25 12:27:15 +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
Aditya Toshniwal 292ac32db5 Fix editing of table data with a JSON primary key. Fixes #3912 2019-02-20 11:15:39 +00:00