Commit Graph

294 Commits

Author SHA1 Message Date
aelgn
a62fc2fbff
Added support for IAM token based authentication for AWS RDS or Azure DB. #3491 2022-10-15 14:49:04 +05:30
Yogesh Mahajan
869b90121c
Ensure that the correct value should be returned if an exception occurs while decoding the password. #5367 2022-09-30 15:08:03 +05:30
Akshay Joshi
0b6b2e733a 1) Remove Python's 'Six' package completely. #5357
2) Replace deprecated @abstractproperty with @property, @abstractmethod.
2022-09-26 12:47:31 +05:30
Nikhil Mohite
d967d5046d Fixed 'Remove the unused function parameter' code smell. 2022-09-09 18:36:51 +05:30
Akshay Joshi
084203debc Fixed Securtiy Hotspot reported by SonarQube. 2022-08-12 17:10:26 +05:30
Aditya Toshniwal
cb635f6706 Removing dynamic module loading and replacing it with static loading. Fixes #7492
Gets rid of all occurrences and usage of get_own_javascripts since it is no longer used.
2022-06-30 11:06:50 +05:30
Akshay Joshi
93bc1f3c57 Added support for visualise the graph using a Line chart in the query tool. Fixes #7485 2022-06-22 17:18:51 +05:30
Akshay Joshi
b36004b702 The following are the initial fixes for PG15:
1) From PG 15 onward, the datlastsysoid has been removed from the table pg_database.
    We have added the constant _DATABASE_LAST_SYSTEM_OID = 16383, all the objects below
    this value are considered to be system objects. Modified the pgAdmin logic accordingly.

 2) Concatenation operator '||' needs a specific typecast to be applied to query variables. Modified SQL's accordingly.

Fixes #7283
2022-05-17 20:32:17 +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
1013d7ccdd Fixed code smell reported by SonarQube. 2022-01-20 16:58: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
Akshay Joshi
2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +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
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
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
Akshay Joshi
accc941818 Fixed no attribute '_asdict' error when connecting the database server. Fixes #6663 2021-08-20 13:47:31 +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
Ashesh Vashi
9574f43f87 Refactor the registry class logic and remove duplicate code for the same functionality. 2021-06-24 11:30:11 +05:30
Pradip Parkale
3d685ef96c Updated variable name as per review comments. 2021-06-14 16:42:27 +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
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
Khushboo Vashi
72f3730c34 Added support to connect PostgreSQL servers via Kerberos authentication. Fixes #6158 2021-05-03 16:10:45 +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
Pradip Parkale
5894001eb2 Fixed an issue where CSV download quotes the numeric columns. Fixes #6341 2021-04-22 17:35:51 +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
Rahul Shirsat
9d8360641f Use schema qualification while accessing the catalog objects.
refs #3976
2021-03-12 11:17:25 +05:30
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
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
Nikhil Mohite
d4a3e4d92c Fixed issues reported by SonarQube. 2021-01-18 13:02:19 +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
b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +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
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
Rahul Shirsat
6475a70514 Ensure that the macro query result should be download properly. Fixes #5965 2020-12-14 11:58:53 +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
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
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
Pradip Parkale
b562ab7681 Added shared server support for admin users. Fixes #4979 2020-09-03 12:59:28 +05:30
Aditya Toshniwal
8f3bdf1cf3 Fixed cognitive complexity issues reported by SonarQube. 2020-09-02 14:39:54 +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
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
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
d6400bbcae Replace the generic exception class with a more specific one. 2020-08-07 12:37:00 +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
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
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
Cyril Jouve
f93cfe8c4c Remove old Python 2 compatibility code. Fixes #5700 2020-07-27 11:03:13 +01:00
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
Aditya Toshniwal
357a9179b1 Fixed convention related issues reported by SonarQube. 2020-07-09 18:55:33 +05:30
Yogesh Mahajan
3c08e618bd Fixed an issue where CSV download quotes numeric columns. Fixes #5463 2020-07-09 18:11:46 +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
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
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
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
Aditya Toshniwal
641f7bbe9d Some clumsy coding related fixes reported by SonarQube. 2020-06-15 16:50:07 +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
Satish V
d22e276586 Ensure that proper error should be displayed for the deleted node. Fixes #3669 2020-06-03 11:26:26 +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
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
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
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
Khushboo Vashi
d68e6bd892 Remove Python2 modules.
refs #5443
2020-05-08 12:28:21 +05:30
Dave Page
04d6d4e2cc Remove support for Python 2. Fixes #5443 2020-05-04 14:58:49 +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
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
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
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
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
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
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
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
776884860e Ensure parameter values are quoted when needed when editing roles. Fixes #4393 2019-07-04 15:00:29 +01:00
Aditya Toshniwal
0d42f8026c Fix SSH tunnel password decryption. Fixes #4320 2019-06-25 07:06:04 -04: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
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
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
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
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
c21ea3c342 Ensure that pgAdmin4 should work properly with psycopg2 v2.8. Fixes #4143 2019-04-08 17:49:50 +05:30
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
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Khushboo Vashi
efeb9d6d20 Fix regression issue caused due to encoding fixes. 2019-03-04 16:11:20 +05:30
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
Aditya Toshniwal
e6e7cf0f69 Fix support for bigint's in JSONB data. Fixes #3587 2019-02-27 13:39:47 +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
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
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
Murtuza Zabuawala
d9fc9fdc4d Ensure object names in external process dialogues are properly escaped. Fixes #3872 2019-01-24 16:34:18 +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
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
Murtuza Zabuawala
e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Akshay Joshi
41c028f944 Ensure that null values handled properly in CSV download. Fixes #3780 2019-01-01 15:15:36 +05:30
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