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.
'static' directory from 'templates' in the respective module directory:
- Server Group
- Server
- Database
- Schema
- Cast
- Event trigger
- Extension
- Foreign data wrapper
- Language
- Catalog Object
- Collation
- Domain Constraint
- Domain
- Foreign server
- FTS Configuration
- FTS Dictionary
- FTS Parser
- FTS Template
- Function
- Procedure
- Trigger Function
- Package
- Sequence
- Catalog
- Schema
- Synonym
- Table
- Type
- Materialized View
- View
- pgAgent Modules
+ Job (pga_job)
+ Schedule (pga_schedule)
+ Steps (pga_jobstep)
Added new dynanic modules for listing the supported server types, and
current user information.
NOTE: We've not yet moved the javascripts for the children of the table
module.
algorithm.
This patch takes care of:
* Consistent behaviour during create, update operation on any node.
- It should return the node data during creating a new object, or
updating the existing one.
* Now that - we have consistent behaviour during these operations, we
can consistently move, update the tree item based the node data from
the server.
* Implemented the methods for each node to get the information about
that particular node only.
* Using the above changes to implement the 'refresh' operation on tree
node properly.
I must thank Surinder, and Harshal for helping me implement the 'node'
method, and also changed the behaviour of create & update methods to
return the node data for most of the nodes.
Fixes#1244
Made backend changes for:
* Taking care of the connection status in the psycopg2 driver. And, when
the connection is lost, it throws a exception with 503 http status
message, and connection lost information in it.
* Allowing the flask application to propagate the exceptions even in the
release mode.
* Utilising the existing password (while reconnection, if not
disconnected explicitly).
* Introduced a new ajax response message 'service_unavailable' (http
status code: 503), which suggests temporary service unavailable.
Client (front-end) changes:
* To handle the connection lost of a database server for different
operations by generating proper events, and handle them properly.
Removed the connection status check code from different nodes, so that
- it generates the proper exception, when accessing the non-alive
connection.
Fixes#1387
called while initialing the CollectionNodeModule, as
super(..).__init__(..) does not call __init__ function of all parent
classes. Please refer to method resolution order (MRO) in python for
more information.
This patch also includes some typo resolution in PGNdoeModule. Also,
removed the AddAttr(..) at the moment, because - it is not going
anywhere at the moment.
Also - includes:
* Added 'parent_id' in the 'generate_browser_node' function of the Nodes
to allow them to move around the parents objects (specially through
update/save functionality).
* Handles the issue related to adding the older object back to the
collection (DataModel).
Author: Ashesh Vashi
Reviewed by: Neel Patel, and Akshay Joshi.
- Renamed the URL 'nodes' to 'children', because - we'll return the
children for the current node.
- Using the URL 'nodes' to fetch all nodes of its type, when not
specified the node-id, otherwise regenerate that node info using the
node-id (it will be used by the refresh function).
- Added the URL 'msql' for fetching modified SQL for the modified
objects.
- Separated the URL 'deps' (GET/POST methods) to 'dependency' and
'dependent', because - it will be used to fetch the properties of the
object, not manipulate it. (as suggested by Dave).
This commit includes the changes related to it in the specific nodes.
(i.e. server-group, and server).
Also, includes a javascript change to ask the user (if they really want
to leave the page, and it is not an accidental navigation by keyboard
shortcuts).
- Allow to release connection using the database OID (did).
- Generate correct url for the collection nodes.
- Removed the server-type from the collection node module, from the
generate_browser_collection_node(...) function.
- Show version string, and not version integer in the server properties
(when connected).
connect to the database server. Also, added modified the way, we do
check the node is supported by the server.
Instead of creating separate blueprint for the server types, they will
be independently works. In order to add different variant of the
PostgreSQL, we need to extend the ServerType class, and override the
'instanceOf' function for identification using version string. Please
take a look at the ppas.py for the example.
During checking the back-end support for the node, we will also check
the server type (variant) along with the version within the range of
maximum and minimum version for the node. And, the same support added
for the schema attributes in front-end (JavaScript).
Really thankful to Khushboo Vashi for her initial work in front-end. I
took it further from there.