Commit Graph

1036 Commits

Author SHA1 Message Date
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
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
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
Akshay Joshi
98492e7718 Modified RESQL test cases for Foreign Tables to fix the build failures. 2020-03-22 16:26:23 +05:30
Murtuza Zabuawala
a7ba446703 Fixed Unicode character issue causing error on Python2 environment. Fixes #5279 2020-03-20 15:17:45 +05:30
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
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
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
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
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
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
Akshay Joshi
641701ca16 Added missing imports and remove unused imports from schema diff. 2020-02-03 15:30:57 +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
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
Akshay Joshi
b4b54d6b94 Fixed API test cases for missing language pack and jasmin test case. 2020-01-20 16:14:12 +05:30
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
Yogesh Mahajan
4ab3bbeb82 Improve code coverage and API test cases for the CAST module. Fixes #5049. 2020-01-16 14:34:51 +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
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
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
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
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
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
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
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
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
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
Karan Takalkar
53f418b9a2 Added more information to the 'Database connected/disconnected' message. Fixes #4943. 2019-12-12 11:12:18 +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
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
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
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
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
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
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
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
Rahul Shirsat
1a39dedc62 Add Reverse Engineered and Modified SQL tests for Materialized Views. Fixes #4696. 2019-11-25 11:11:09 +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
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
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
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
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
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
02642628b0 Added encrypted password in reverse engineered SQL for roles. Fixes #1974. 2019-10-23 13:16:36 +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
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
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
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
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
Akshay Joshi
c54017eac5 Add Reverse Engineered and Modified SQL tests for Synonyms. Fixes #4472 2019-09-24 18:33:07 +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
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
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
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
Akshay Joshi
7944e75695 Ensure sequence with negative value should be created. Fixes #4726 2019-09-12 14:18:30 +05:30
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
Nagesh Dhope
db06dd0275 Add msql tests for FTS Dictionaries 2019-09-06 16:00:33 +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
Akshay Joshi
5e54f20578 Add Reverse Engineered and Modified SQL tests for Foreign Tables. Fixes #4618. 2019-09-04 18:33:07 +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
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
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
Neel Patel
0ca65d7cfe Added MSQL test cases for Domain. 2019-09-02 11:52:19 +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
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
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