Commit Graph

236 Commits

Author SHA1 Message Date
Dave Page
470881ac46 Fix cast SQL formatting. 2016-03-11 09:45:43 +00:00
Murtuza Zabuawala
5347bdb886 Added support for the catalog objects under special catalogs. (also,
added support for columns under it).
2016-03-11 01:09:06 +05:30
Ashesh Vashi
87623cb997 Resolved few typos, comments, and also some query correction in the SQL
templates for different nodes.
2016-03-11 01:02:25 +05:30
Dave Page
b7f6df34ab Fixup some SQL formatting, per Khushboo 2016-03-10 17:23:59 +00:00
Dave Page
649b719845 Variables should have their own tab on dialogues. 2016-03-10 17:15:58 +00:00
Dave Page
83a662f798 Fix all manner of inconsistencies in object properties display:
- Don't display the OID on Edit dialogues
- Use the ACL summary display in the properties panel, not the subnode editor.
- s/Oid/OID/g
- Ensure all security properties are displayed in the Security group
- Ensure all object definition values are stored in the Definition (or a more precise) group, not General.
- Fix the ordering of General properties so the comment is always show last.
2016-03-10 17:08:27 +00:00
Dave Page
62537429d1 Show the ACL summary on the properties panel for databases. 2016-03-10 16:21:17 +00:00
Dave Page
2b6c8dff0b Fix various inconsistencies with databases and tablespaces:
- Display the ACL string in properties, not the subnode panel.
- Offer default values for the owner of new objects.
- Add missing context menu option to create a tablespace from a server node.
2016-03-10 16:14:26 +00:00
Harshal Dhumal
def1a30251 Add support for Sequences. 2016-03-10 15:23:04 +00:00
Harshal Dhumal
986375d60e Add support for Event Triggers. 2016-03-10 13:38:31 +00:00
Khushboo Vashi
d32e861a47 Updated Privileges macros under Schema node.
The changes are required due to previous commit (8a7ec6b452) regarding "parse_priv_to_db" function.
2016-03-10 12:01:13 +00:00
Ashesh Vashi
77ae220f1e Resolved typos in SQL templates for PPAS
Thanks Khushboo Vashi for reporting.
2016-03-10 14:56:46 +05:30
Dave Page
a92d4841d1 Add support for Schemas and Catalogs.
Initial patch by Murtuza Zabuawala with further hacking by Ashesh Vashi and I.
2016-03-08 15:48:11 +00:00
Dave Page
5ea822f33e Preferences dialogue. Patch by Ashesh and Khushboo Vashi. 2016-03-07 11:48:53 +00:00
Ashesh Vashi
cc08708f23 Allow to specify special type - 'group' in schema for the browser node,
which allows to determine certain group to hide/show the whole
tab/fieldset control in the properties, and create dialog.

Using this functionality in the database for the
'default privileges - types', which is not allowed before PG < 9.2 using
the version check.
2016-03-06 18:50:10 +05:30
Sanket Mehta
a4e819c68c Fix an error retrieving dependents and dependencies for casts. 2016-03-04 11:03:30 +00:00
Harshal Dhumal
d2e372114b Security Label and ACL template macros:
Way to use in template:

1) Security labels:

SECLABLE.SET(conn, object_type, object_name, provider, security_label,
object.schema)

SECLABLE.UNSET(conn, object_type, object_name, provider, object.schema)

2) Privileges:

PRIVILEGE.SET(conn, object_type, grantee, object_name,
privileges_without_grant, privileges_with_grant,
            object.schema)

PRIVILEGE.UNSETALL(conn, object_type, grantee, object_name, schema)

privileges_without_grant = comma separated string of privileges.
privileges_with_grant = comma separated string of privileges.
2016-03-03 15:12:37 +00:00
Khushboo Vashi
3ff06da772 Security Labels, Privileges and Variables macros for the functions modules.
Usage of the macros:

Security labels:

SECLABLE.SET(conn, 'FUNCTION', func_name, provider, security_label, func_schema, func_args)

SECLABLE.UNSET(conn, 'FUNCTION', func_name, provider, func_schema, func_args)

Privileges:

PRIVILEGE.SET(conn, 'FUNCTION', grantee, func_name, privileges_without_grant, privileges_with_grant, func_schema, func_args)

PRIVILEGE.UNSETALL(conn, 'FUNCTION', grantee, func_name, func_schema, func_args)

Variables:

VARIABLES.SET(conn, 'FUNCTION', func_name, options, func_schema, func_args)

VARIABLES.UNSET(conn, 'FUNCTION', func_name, options, func_schema, func_args)
2016-03-03 14:08:28 +00:00
Ashesh Vashi
b41066a6b6 [Reversed Engineered SQL] Security Labels is not available for PostgreSQL <= 9.1 2016-03-01 15:36:52 +05:30
Ashesh Vashi
cf170821cb Security Labels is not available for PostgreSQL <= 9.1 2016-03-01 11:06:31 +05:30
Ashesh Vashi
1cb2a054ff Showing consitent reversed engineered SQL for the database node. 2016-03-01 10:42:04 +05:30
Ashesh Vashi
54edb4b482 Resolved a typo in variable name in the database/utils.py 2016-02-29 10:44:57 +05:30
Khushboo Vashi
d4a13eaafa Security Labels and the Variables are used in many modules under the Database Node.
Provide functions in the database node to handle them.
2016-02-26 15:21:55 +00:00
Dave Page
3b2ef2961b Correct error message to match the field name. 2016-02-25 16:47:07 +00:00
Dave Page
af25a11dde Correct spelling of SECLABEL 2016-02-25 16:41:11 +00:00
Dave Page
de9e122a91 Fix typo 2016-02-25 10:39:04 +00:00
Surinder Kumar
c950683fa1 Add support for extensions. 2016-02-24 16:45:35 +00:00
Sanket Mehta
f466e0169a Add support for casts. 2016-02-24 16:44:37 +00:00
Ashesh Vashi
f4ae7cd210 Resolved a typo in the node creation SQL template for PostgreSQL 9.2. 2016-02-24 15:00:25 +05:30
Akshay Joshi
7ffbb8c039 Add support for viewing/editing procedural languages. 2016-02-23 10:07:14 +00:00
Akshay Joshi
c153032e3b Add support for displaying dependency and dependents info. 2016-02-22 13:07:16 +00:00
Ashesh Vashi
d5da26876b Resolved few issues (with some improvements) with existing nodes.
This commit takes care of the following issues/improvements.
* Adding missing imports for unauthorised in database module
* Node under Servers Nodes (i.e. Databases, tablespaces, roles nodes)
  need to be inherited from PGChildNodeView (and, not from NodeView) for
  adding server version check for their children.
* Adding statistics for database, and tablespaces in its node (not, yet
  in UI)
* Renaming the camel case methods with proper name.
  (i.e. getSQL -> get_sql, getNewSQL -> get_new_sql, etc.)
* Fixed the functions going beyond the text limit (column: 80) in
  Databases, Roles & Tablespaces modules.
* Fixed the node method of Database module, which was not tested ever.
* We do not need separate SQL template for fetching the name (i.e.
  get_name.sql), using the 'nodes.sql' for the same.
* Optimise the query for fetching ACLs for the database node, we didn't
  require to join certain tables, while fetching only the ACLs.
* Introduced the list of the ACLs (regular and default ACLs for
  different type) supported by each version [Databases Module].
* Renamed the templates 'get_nodes.sql' to' nodes.sql' to make it
  consistent with other modules.
* Removed the checks for the authentication table use, as we don't need
  to expose the password to the users (even the encrypted MD5). Using
  the pg_roles view always for fetching roles/users information now.
* Resolved some typos in unreachable (specially the exceptions
  catchment area.)
* Logging the exception in the application.
* Using qtLiteral, qtIdent properly in the templates (do not assume
  about the types of data.)
* Using tsid as identifier instead of did for the tablespaces.
* Using nodes method of tablespace view for fetching individual node
  information.
* Removing the hardcoded node information from the 'parse_priv_to_db'
  function, and pass on allowed ACLs by the caller nodes.
* Using 'nodes.sql' to fetch name of the template instead of writing
  that in the delete.sql template, which is definitely wrong place to
  fetch the name of the object. [Tablespace Module]
2016-02-22 11:44:24 +05:30
Harshal Dhumal
a3d23a65bb Disconnect the database connection only once not every time before
running the offline queries i.e. renaming of the database, using
different tablespce for the database, etc.
2016-02-18 17:08:24 +05:30
Dave Page
131043d7cb Don't ask before connecting to servers or databases, just do it like pgAdmin 3. 2016-02-12 16:46:56 +00:00
Ashesh Vashi
712f47987f Resolving an error related to not able to generate the reversed
engineered SQL from the database when no ACL is defined.
2016-02-05 17:29:04 +05:30
Ashesh Vashi
657f14997b Adding the Database node.
We know that current implemenation have some limitations:
i.e.
* We should not show the template0 in the browser tree.
* Should not connect to the database which does not have permission to connect the server by the current user.
* Show default previlige for PUBLIC in creation mode.
* Allow to create/database database only if current user have sufficient permission.
* Do not show reversed engineered SQL in all supported version.
* Do not showing system database or not.

Author: Khushboo Vashi, Harshal Dhumal, Murtuza Zabuawala
Reviewed by: Neel Patel, Akshay Joshi
2016-02-05 13:06:50 +05:30