- 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.
- Refactor functions to not always return the same value.
- Rename "cls" to "self" or add the missing "self" parameter.
- Remove useless assignment to variables.
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.
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.
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.
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
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)
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
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".
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.
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
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
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
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
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.
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
- 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.
- 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
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.
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
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.
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
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
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.
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
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.
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.
Currently supported objects are Table, View, Materialized View, Function and Procedure.
Backend comparison of two schemas implemented by: Akshay Joshi
Fixes#3452.
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.
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.
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.
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.
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
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.