Thread: [pgadmin4] Creating a new Node in ACI Tree
Hello Hackers,
Need some pointers while creating new node on ACI Tree.
In GreenPlum there is a concept of External Tables that are more or less similar to Foreign Wrappers, but different. So we started implementing a new node for it.
We copied the Foreign Wrappers node and started it playing with it. The current status:
We can see the External Tables node, when we open it we see the External Tables.
The problem that we are facing now is when we select a table and then press the tabs 'SQL' or Properties nothing happens. What do we need to do in order for this to work?
Maybe the choice of foreign Wrappers was not the best to start off, but we would appreciate some help to make this work.
Attached you can find the code that I currently have.
Thanks
Joao
Attachment
Hi Joao,
Just like 'nodes' & 'children' operation, You have to implement several other methods,
'obj' - To create, update, delete & properties for External Tables
Ref: ../foreign_tables/__init__.py: 193
Which will call associated methods, def create(..), def update(...), def delete(...) & def properties(...)
'sql' - Displays reversed engineered sql on SQL panel
Which will call to method def sql(...) method
'msql' - Displays reversed engineered sql on Create/Properties dialog
Which will call to method def msql(...) method
'stats' -Displays object statistics sql on Statistics panel
Which will call to method def statistics(...) method
'dependency' - Displays object dependencies on Dependencies panel
Which will call to method def dependencies(...) method
'dependent' - Displays object dependents on SQL panel
Which will call to method def dependents(...) method
Hope that helps.
--
Regards,
On Fri, Feb 23, 2018 at 9:08 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hello Hackers,Need some pointers while creating new node on ACI Tree.In GreenPlum there is a concept of External Tables that are more or less similar to Foreign Wrappers, but different. So we started implementing a new node for it.We copied the Foreign Wrappers node and started it playing with it. The current status:We can see the External Tables node, when we open it we see the External Tables.The problem that we are facing now is when we select a table and then press the tabs 'SQL' or Properties nothing happens. What do we need to do in order for this to work?Maybe the choice of foreign Wrappers was not the best to start off, but we would appreciate some help to make this work.Attached you can find the code that I currently have.ThanksJoao
Hello Murtuza,
Do we have to have that present in python in order for it to work in the javascript?
I am asking this because we didn't saw any request to the backend trying to fetch this information.
Thanks
Joao
On Fri, Feb 23, 2018 at 11:12 AM Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:
Hi Joao,Just like 'nodes' & 'children' operation, You have to implement several other methods,'obj' - To create, update, delete & properties for External TablesRef: ../foreign_tables/__init__.py: 193Which will call associated methods, def create(..), def update(...), def delete(...) & def properties(...)'sql' - Displays reversed engineered sql on SQL panelWhich will call to method def sql(...) method'msql' - Displays reversed engineered sql on Create/Properties dialogWhich will call to method def msql(...) method'stats' -Displays object statistics sql on Statistics panelWhich will call to method def statistics(...) method'dependency' - Displays object dependencies on Dependencies panelWhich will call to method def dependencies(...) method'dependent' - Displays object dependents on SQL panelWhich will call to method def dependents(...) methodHope that helps.--Regards,On Fri, Feb 23, 2018 at 9:08 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:Hello Hackers,Need some pointers while creating new node on ACI Tree.In GreenPlum there is a concept of External Tables that are more or less similar to Foreign Wrappers, but different. So we started implementing a new node for it.We copied the Foreign Wrappers node and started it playing with it. The current status:We can see the External Tables node, when we open it we see the External Tables.The problem that we are facing now is when we select a table and then press the tabs 'SQL' or Properties nothing happens. What do we need to do in order for this to work?Maybe the choice of foreign Wrappers was not the best to start off, but we would appreciate some help to make this work.Attached you can find the code that I currently have.ThanksJoao
Hi Joao,
On Fri, Feb 23, 2018 at 11:23 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hello Murtuza,Do we have to have that present in python in order for it to work in the javascript?
No, Just create a node modal in JS with sample fields like Name/Comment etc.
There are two flags in node modal,
one of which responsible for displaying reversed engineered sql (flag: hasSQL), other is responsible for displaying Dependancies and Dependants of the node on their respective Panel (flag:
hasDepends)-- Murtuza
I am asking this because we didn't saw any request to the backend trying to fetch this information.ThanksJoaoOn Fri, Feb 23, 2018 at 11:12 AM Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote: Hi Joao,Just like 'nodes' & 'children' operation, You have to implement several other methods,'obj' - To create, update, delete & properties for External TablesRef: ../foreign_tables/__init__.py: 193Which will call associated methods, def create(..), def update(...), def delete(...) & def properties(...)'sql' - Displays reversed engineered sql on SQL panelWhich will call to method def sql(...) method'msql' - Displays reversed engineered sql on Create/Properties dialogWhich will call to method def msql(...) method'stats' -Displays object statistics sql on Statistics panelWhich will call to method def statistics(...) method'dependency' - Displays object dependencies on Dependencies panelWhich will call to method def dependencies(...) method'dependent' - Displays object dependents on SQL panelWhich will call to method def dependents(...) methodHope that helps.--Regards,On Fri, Feb 23, 2018 at 9:08 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:Hello Hackers,Need some pointers while creating new node on ACI Tree.In GreenPlum there is a concept of External Tables that are more or less similar to Foreign Wrappers, but different. So we started implementing a new node for it.We copied the Foreign Wrappers node and started it playing with it. The current status:We can see the External Tables node, when we open it we see the External Tables.The problem that we are facing now is when we select a table and then press the tabs 'SQL' or Properties nothing happens. What do we need to do in order for this to work?Maybe the choice of foreign Wrappers was not the best to start off, but we would appreciate some help to make this work.Attached you can find the code that I currently have.ThanksJoao
Thanks for the stearing, I finally found out the problem. I was missing an 's' in the end of one of the names
Joao
On Fri, Feb 23, 2018 at 10:19 PM Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:
Hi Joao,On Fri, Feb 23, 2018 at 11:23 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:Hello Murtuza,Do we have to have that present in python in order for it to work in the javascript?No, Just create a node modal in JS with sample fields like Name/Comment etc.There are two flags in node modal,one of which responsible for displaying reversed engineered sql (flag: hasSQL), other is responsible for displaying Dependancies and Dependants of the node on their respective Panel (flag:hasDepends)-- MurtuzaI am asking this because we didn't saw any request to the backend trying to fetch this information.ThanksJoaoOn Fri, Feb 23, 2018 at 11:12 AM Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:Hi Joao,Just like 'nodes' & 'children' operation, You have to implement several other methods,'obj' - To create, update, delete & properties for External TablesRef: ../foreign_tables/__init__.py: 193Which will call associated methods, def create(..), def update(...), def delete(...) & def properties(...)'sql' - Displays reversed engineered sql on SQL panelWhich will call to method def sql(...) method'msql' - Displays reversed engineered sql on Create/Properties dialogWhich will call to method def msql(...) method'stats' -Displays object statistics sql on Statistics panelWhich will call to method def statistics(...) method'dependency' - Displays object dependencies on Dependencies panelWhich will call to method def dependencies(...) method'dependent' - Displays object dependents on SQL panelWhich will call to method def dependents(...) methodHope that helps.--Regards,On Fri, Feb 23, 2018 at 9:08 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:Hello Hackers,Need some pointers while creating new node on ACI Tree.In GreenPlum there is a concept of External Tables that are more or less similar to Foreign Wrappers, but different. So we started implementing a new node for it.We copied the Foreign Wrappers node and started it playing with it. The current status:We can see the External Tables node, when we open it we see the External Tables.The problem that we are facing now is when we select a table and then press the tabs 'SQL' or Properties nothing happens. What do we need to do in order for this to work?Maybe the choice of foreign Wrappers was not the best to start off, but we would appreciate some help to make this work.Attached you can find the code that I currently have.ThanksJoao