Commit Graph

307 Commits

Author SHA1 Message Date
Dave Page
680339ff20 Fix node type label 2016-04-07 20:57:45 +01:00
Dave Page
441a29f59c String tweaks. 2016-04-07 20:51:31 +01:00
Sanket Mehta
95566ed5e1 FTS Template support. 2016-04-07 15:01:56 +01:00
Murtuza Zabuawala
ca277bc8b6 Type support 2016-04-07 12:27:33 +01:00
Khushboo Vashi
2add0155a3 Add support for domains. 2016-04-05 16:32:36 +01:00
Surinder Kumar
d1eb3fd9d5 Utility functions for trigger and rule nodes, centralised because they're also utilised by the view node. 2016-04-05 16:19:55 +01:00
Khushboo Vashi
5ed7015ebc Add support for functions and procedures. 2016-04-05 16:14:10 +01:00
Ashesh Vashi
40165f2d1e Honour the 'show_system_object' flag when generating the list of schema nodes. 2016-04-05 16:37:54 +05:30
Dave Page
1ac16cbc0f We have defaults for switch display now, so no need to set the options explicitly. 2016-03-23 11:53:07 +00:00
Dave Page
258c7f3589 Don't display packages as schemas. 2016-03-23 11:52:11 +00:00
Murtuza Zabuawala
3432481f9a Properly name the dbo and sys catalogs in PPAS. 2016-03-18 15:16:18 +00:00
Ashesh Vashi
611c9c4ae7 Disable the menu to create database and tablespace, if:
* Database server is not connected.
* Do not have adequate permission to create.
2016-03-18 10:31:57 +05:30
Sanket Mehta
71badac203 Support "show system objects" in casts. 2016-03-17 11:49:11 +00:00
Neel Patel
3969e91563 Add support for Foreign data wrappers, servers and user mappings. 2016-03-17 11:39:38 +00:00
Dave Page
41805d40b5 Sort all nodes when loading. 2016-03-16 10:31:20 +00:00
Khushboo Vashi
a18553bd8c Add a data type reader utility. 2016-03-16 09:54:30 +00:00
Arun Kollan
c814698328 Fix security label sizing. 2016-03-15 15:07:40 +00:00
Arun Kollan
cdd7a1f637 Subnode collection layout improvements, with additional tweaks from me. 2016-03-15 12:30:01 +00:00
Dave Page
fd05dec29c Default owner for new event triggers. 2016-03-11 16:58:46 +00:00
Murtuza Zabuawala
b6f7202448 Add support for collations. 2016-03-11 13:40:28 +00:00
Dave Page
c0086b092f Fix a number of minor issues with catalog objects:
- Remove unnecessary columns from collection property lists.
- Standardise property names and groupings.
- pg_attribute doesn't have an OID column, so use attnum instead (of atttypid!?!)
2016-03-11 10:09:23 +00:00
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