public inbox for [email protected]
help / color / mirror / Atom feedFrom: Surinder Kumar <[email protected]>
To: Harshal Dhumal <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: [PATCH] Tables node (pgAdmin4)
Date: Tue, 17 May 2016 11:48:13 +0530
Message-ID: <CAM5-9D_nJjALb9xvgf8pZtm7RLa86VOxf_6UQF1rh-YAxFk7ew@mail.gmail.com> (raw)
In-Reply-To: <CAFiP3vz9=gtNuoGEt+oxt+UYfE=7=dTUQZpCxgGkVWUhS=Kafw@mail.gmail.com>
References: <CAKKotZRCf07F_SGHi4KawBtLHPSeKz5Uvzwu6ddQ=bKc1FDRRw@mail.gmail.com>
<CAFiP3vw61T0n--F4vYXALdtrkBKznBegBPq5Ds=6uZrg02vWXQ@mail.gmail.com>
<CAFOhELea6nCtX_T78o_3mNKJC0_emirXKGm3nq8d6mvSZV57pg@mail.gmail.com>
<CAFiP3vypf7KEmToKsBqn1--qf_PzMV+p-d9bsMj04eoYnj5_tQ@mail.gmail.com>
<CAKKotZQumWW_cvhvgyFc7_1Lvs8npkPW57FgVN_+wPPSurBDOw@mail.gmail.com>
<CAKKotZQMR5zsbDAiAhUEQ46yhNE51BONu0DYjEY1WFSJbBqK+w@mail.gmail.com>
<CAFiP3vwBUX5Ez51Fk_s+t67hRW-uZ6ViMcuTg4e+oPf+k5KqTg@mail.gmail.com>
<CAFOhELdg9-TB=fdpGDLNkjYve9vBxYttE_PzmahsrNMQv4nn4Q@mail.gmail.com>
<CAFiP3vxO9tej3WXYeLjZk6MgQYR0C-hp9UUWmog1E7iDvvqFmQ@mail.gmail.com>
<CAFOhELd=_vuqwR0eGLL=KhxGaQCP6n9mcXP1GijcWh1ecCpegw@mail.gmail.com>
<CAFiP3vw5nx2Wdt9ci-MNRV+H+dO-x9KUSZtk16EZKjdox+KRxg@mail.gmail.com>
<CAFiP3vz9=gtNuoGEt+oxt+UYfE=7=dTUQZpCxgGkVWUhS=Kafw@mail.gmail.com>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgadmin-hackers>
Hi,
Please find attached add-on patch for table's subnode rule.
Apply this patch at end after applying previous patches in email thread.
*Issue fixed*: "Do Instead" on Rule node under View/M-View node not working
in properties mode. Unable to generate proper SQL.
On Mon, May 16, 2016 at 7:02 PM, Harshal Dhumal <
[email protected]> wrote:
> Hi,
>
> PFA add-on patch for table and it's child node. (please apply this patch
> on version 6 patch)
>
> Murtuza and I fixed following issues:
>
> 1. SQL formatting
> 2. Vacuum grid should not be editable in properties mode.
> 3. Column datatype does not get displayed in the properties and edit mode.
> 4. Do not allow to add another primary key if one already exist.
>
> And another minor enhancements.
>
>
> --
> *Harshal Dhumal*
> *Software Engineer *
>
>
>
> EenterpriseDB <http://www.enterprisedb.com;
>
> On Sat, May 14, 2016 at 2:03 AM, Harshal Dhumal <
> [email protected]> wrote:
>
>>
>> Hi,
>>
>>
>> PFA updated patches (version: 6) for table and it's child nodes.
>>
>> --
>> *Harshal Dhumal*
>> *Software Engineer *
>>
>>
>>
>> EenterpriseDB <http://www.enterprisedb.com;
>>
>> On Fri, May 13, 2016 at 6:55 PM, Khushboo Vashi <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> Review Comments:
>>>
>>> - Please replace 'can not' with 'cannot' in all the validation messages.
>>> - PG 9.1+ Inheritance issue as below:
>>>
>>> CREATE TABLE public.table1
>>> (
>>> )
>>> (
>>> )
>>> INHERITS (a)
>>> WITH (
>>> OIDS = FALSE
>>> )
>>> TABLESPACE pg_default;
>>> ALTER TABLE public.table1
>>> OWNER to postgres;
>>>
>>>
>>> brackets are coming twice.
>>>
>> Fixed
>>
>>
>>>
>>> - Please maintain one line spacing between SQL queries In the SQL Tab.
>>>
>> TODO
>>
>>
>>> - Foreign Key Grid in Table css issue: Grid columns expands on the
>>> selection of the cell
>>>
>> Fixed
>>
>>
>>> - Check Constraint: Validated? option should be True by default
>>>
>> Not sure about this. I cross checked in pgadmin3.
>>
>>
>>
>>> - pg 9.4: Exclude constraint does not render in SQL tab
>>>
>> Fixed
>>
>>
>>> - Missing Security validation
>>>
>> Fixed
>>
>>
>>> - Vacuum grid should not be editable in properties mode.
>>>
>> TODO (It's editable but one cannot save it on server from here as there
>> is no save button.)
>>
>>
>>> - Edit mode, Fill Factor can be allowed to be null.
>>>
>> TODO (This is generic issue in Integer and Numeric controls. This issue
>> is covered in this partial patch
>> <http://www.postgresql.org/message-id/[email protected]....;
>> )
>>
>>
>>> - While dropping inheritance, related table columns drop SQL are also
>>> populated in the SQL Tab
>>>
>>> ALTER TABLE public."Tbl"
>>> NO INHERIT b;
>>> ALTER TABLE public."Tbl" DROP COLUMN id;
>>> ALTER TABLE public."Tbl" DROP COLUMN name;
>>>
>>>
>> Fixed
>>
>>
>>
>>>
>>> And also render error while clicking on the save button.
>>>
>>> ERROR: syntax error at or near "["
>>> LINE 2: INHERIT [;
>>>
>>> ^
>>>
>>> Fixed
>>
>>
>>> - in a Reverse Engineering SQL tab, schema_name.tablename should be
>>> there, currently only table_name displays.
>>>
>> Fixed
>>
>>
>>
>>> - Column SQL is showing below text with HTML
>>>
>>>
>>> <html><head></head><body>-- Column: id -- ALTER TABLE public.a DROIP
>>> COLUMN id; ALTER TABLE public.a ADD COLUMN id integer;</body></html>
>>>
>>>
>> I was not able to reproduce exact issue but still I have fixed other
>> issue which I found related to column SQL. Hopefully that will fix this
>> issue as well.
>>
>>
>>> - The column datatype dependency does not get cleared upon selection of
>>> another datatype.
>>>
>> For example, if I select numeric and gives the length and precision.
>>> After that I change the dat-type then, dependent fields should be get
>>> cleared.
>>>
>> Fixed.
>>
>>
>>>
>>> - The column datatype does not get displayed in the properties and edit
>>> mode if the length and precision are given while creating a column.
>>>
>>
>> TODO ( I cannot fix this blindly as this might introduce another issue(s)
>> in column node. I will need Murtuza's help as he has worked on column node)
>>
>>
>>>
>>> - Statistics is showing null value even after having value.
>>>
>> Fixed
>>
>>
>>>
>>> - if the check constraints are not validated then put proper icon in
>>> tree and also it should be validated in edit mode.
>>>
>> Not reproducible.
>>
>>
>>>
>>> NOTE: I have not checked the Indexes, Triggers and Rules nodes as I do
>>> not have much knowledge about it.
>>>
>>>
>>
>>
>>> Thanks,
>>> Khushboo
>>>
>>> On Fri, May 13, 2016 at 5:24 PM, Harshal Dhumal <
>>> [email protected]> wrote:
>>>
>>>> Hi
>>>>
>>>> PFA attached patches for table and it's child nodes with python 2.7
>>>> compatibility.
>>>>
>>>>
>>
>
>
> --
> Sent via pgadmin-hackers mailing list ([email protected])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>
>
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Attachments:
[application/octet-stream] rules_add_on.patch (4.2K, 3-rules_add_on.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
index 29022a6..b8e15c9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/templates/rules/js/rules.js
@@ -45,7 +45,7 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
hasDepends: true,
canDrop: function(itemData, item, data){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]);
- if(itemData.label === '_RETURN')
+ if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false;
else {
return true;
@@ -53,7 +53,7 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
},
canDropCascade: function(itemData, item, data){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]);
- if(itemData.label === '_RETURN')
+ if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false;
else {
return true;
@@ -136,9 +136,6 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
}
},
{
- id: 'comment', label:'{{ _("Comment") }}', cell: 'string', type: 'multiline'
- },
- {
id: 'event', label:'{{ _("Event") }}', control: 'select2',
group: '{{ _("Definition") }}', type: 'text',
select2: {
@@ -172,6 +169,9 @@ function($, _, S, pgAdmin, pgBrowser, CodeMirror) {
{
id: 'enabled', label:'{{ _("Enabled?") }}',
type: 'switch', mode: ['properties']
+ },
+ {
+ id: 'comment', label:'{{ _("Comment") }}', cell: 'string', type: 'multiline'
}
],
validate: function() {
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/create.sql
index 1e9c361..be79941 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/create.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/create.sql
@@ -11,7 +11,7 @@ CREATE OR REPLACE RULE {{ conn|qtIdent(data.name) }} AS
{% if data.condition %}
WHERE {{ data.condition }}
{% endif %}
- DO{% if data.is_instead == True %}
+ DO{% if data.do_instead in ['true', True] %}
{{ ' INSTEAD' }}
{% else %}
{{ '' }}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/update.sql
index 852818f..50b5434 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/rules/sql/update.sql
@@ -1,5 +1,4 @@
{# ===== Update Rule ===== #}
-{% if data.event or data.do_instead or data.condition %}
CREATE OR REPLACE RULE {{ conn|qtIdent(o_data.name) }} AS
ON {% if data.event and data.event != o_data.event %}{{ data.event|upper }}{% else %}{{ o_data.event|upper }}{% endif %}
TO {{ conn|qtIdent(o_data.schema, o_data.view) }}
@@ -8,7 +7,7 @@ CREATE OR REPLACE RULE {{ conn|qtIdent(o_data.name) }} AS
{% elif data.condition is not defined and o_data.condition %}
WHERE {{ o_data.condition }}
{% endif %}
- DO {% if data.do_instead in ['true', True] %}{{ 'INSTEAD' }}{% endif %}
+ DO {% if (('do_instead' not in data and o_data.do_instead in ['true', True]) or (data.do_instead in ['true', True])) %}{{ 'INSTEAD' }}{% endif %}
{% if data.statements and data.statements != o_data.statements %}
{{ data.statements.rstrip(';') }};
@@ -19,6 +18,5 @@ CREATE OR REPLACE RULE {{ conn|qtIdent(o_data.name) }} AS
NOTHING;
{% endif %}
-{% endif %}
{% if data.comment is defined and data.comment != o_data.comment %}
COMMENT ON RULE {{ conn|qtIdent(o_data.name) }} ON {{ conn|qtIdent(o_data.schema, o_data.view) }} IS {{ data.comment|qtLiteral }};{% endif %}
view thread (49+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: [PATCH] Tables node (pgAdmin4)
In-Reply-To: <CAM5-9D_nJjALb9xvgf8pZtm7RLa86VOxf_6UQF1rh-YAxFk7ew@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox